关灯
开启左侧

[端游] 决战服务端(帝王端)源代码说明

[复制链接]
admin实名认证 发表于 2018-10-18 10:16:43 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
   内容介绍

决战服务端(帝王端)源代码说明

1、物品改数及成功率。
A、改数:Define.h 中 #define MAX_ITEM_UPGRADE_COUNT 20 后面20就是改数。
B、成功率:user.cpp 中
  1. int g_ItemAttUpgrade[] = {9800, 8200, 8000, 7800, 7500, 7200,7000, 6800, 65000, 6200, 6000, 5800, 5500, 5200, 5000, 4800, 4500,4300, 4000, 100};
  2. int g_ItemDefUpgrade[] = {9800, 8500, 8000, 7800, 7500, 7200,7000, 6800, 65000, 6200, 6000, 5800, 5500, 5200, 5000, 4800, 4500,4300, 4000, 100};
  3. int g_ItemAccessoriUpgrade[] = {10000, 9500, 8500};
  4. int g_ItemBlessingUpgrade[] = {8000, 9500, 10000};
  5. int g_ItemNormalDownUpgrade[] = {6000, 1000};
复制代码

第一行int是武器,后面的数字就是每一改的成功率,第二行是装备,第三行估计是首饰6、7、8改的成功率,第四行是石头的成功率,最后一行应该失败率吧。如果要想20改,必须在一、二行机率后面增加余下10改的机率。

2、物品消失时间
Define.h中
  1. #define MAX_THROW_ITEM 30000
复制代码
把它改成100就是最大允许地面上有100件物品或钱,如果超过的话就从掉的最早的物品开始自动作消失处理。当然如果你的服务器人数多的话建议设置大一点,不然消失得很快。

3、人物初始点数
user.cpp
  1. if(SumPoint > 65)
  2. nRemain = 65 - nSum 65
复制代码
这两句应该是控制总的分配点数。此处没怎么测试。

4、基本武器换战斗经验
服务器端文件的MAP文件夹中,文件1.EVT的EVENT103 ~EVENT106四个分别对
应四个职业的基本武器换战斗经验。
  1. EVENT 103
  2. A LEVEL 5 10000
  3. A CLASS 3
  4. A EXIST_ITEM 10 1
  5. E ROB_ITEM 10 1
  6. E XP_UP 50000 这里就是战斗经验
  7. E GIVE_DN 1000000000 这里是送钱,想送物品可以写上E GIVE_ITEM 加物品代码。
  8. E ADD_EVENT 116
  9. E SAY 60
  10. E RETURN
  11. END
复制代码


5、110级后不能升级可修改User.cpp文件
  1. if(m_sLevel >= 200) { m_sLevel = 200; return; }
  2. CheckMaxValue((DWORD &)dwExp, (DWORD)iNpcExp);
  3. while(dwExp >= dwExpNext)
  4. // Level UP
  5. {
  6. if(sLevel == 200) { dwExp = dwExpNext; break; }
  7. if(sLevel < 200)
复制代码

所有200的地方原来为110。


6、每项属性超过100点的修改方法:打开User.cpp
  1. case USER_STR:
  2. iNum = m_sSTR;
  3. iNum += iPlusMinus;

  4. if(iNum <= 0 || iNum > 200) return;
  5. m_sSTR = iNum; m_sPA -= 1;
  6. break;

  7. case USER_CON:
  8. iNum = m_sCON;
  9. iNum += iPlusMinus;
  10. if(iNum <= 0 || iNum > 200) return;
  11. m_sCON = iNum; m_sPA -= 1;
  12. break;

  13. case USER_DEX:
  14. iNum = m_sDEX;
  15. iNum += iPlusMinus;
  16. if(iNum <= 0 || iNum > 200) return;
  17. m_sDEX = iNum; m_sPA -= 1;
  18. break;

  19. case USER_VOL:
  20. iNum = m_sVOL;
  21. iNum += iPlusMinus;
  22. if(iNum <= 0 || iNum > 200) return;
  23. m_sVOL = iNum; m_sPA -= 1;
  24. break;

  25. case USER_WIS:
  26. iNum = m_sWIS;
  27. iNum += iPlusMinus;
  28. if(iNum <= 0 || iNum > 200) return;
  29. m_sWIS = iNum; m_sPA -= 1;
  30. break;
复制代码

以上iNum > 200即属性点最多不超过200点。具体数字由你决定!

7、每级基本点数修改 User.cpp中
  1. if((sLevel - m_sLevel) > 0)

  2. {
  3. BYTE tType = 2;
  4. sTempLevel = m_sLevel;
  5. m_dwExp = dwExp;
  6. m_dwExpNext = dwExpNext;
  7. m_sLevel = sLevel;

  8. while(sTempLevel < sLevel)
  9. {
  10. sTempLevel++;
  11. CheckMaxValue((short &)m_sPA, (short)2);
复制代码

最后的一个(short)2 即为每级基本点数为2。
弄了几天还是弄不明白白蓝黄装备控制的部份,Boss只爆蓝装备,怪物不爆锆石等。


8、只爆4属性黄金装备(吃幸运药的情况下)
  1. int CNpc::IsMagicItem(COM* pCom, ItemList *pItem, int iTable)
  2. {
  3. int i = 0, j;
  4. int iMagicTemp = 1 , iRareTemp = 1;
  5. int iRandom = myrand( 1, 10000 );

  6. int iMagicCount = 0, iCount = 0;
  7. int nLoop = 0, iType = 0;
  8. int nEventMoon = 0;
  9. int nEventSongpeon = 0;
  10. int nEventBox = 0;

  11. USER* pUser = NULL;

  12. /* SYSTEMTIME gTime; //@@@@@@@@@@@@@@@ Event Code
  13. GetLocalTime(&gTime);
  14. if(gTime.wMonth < 7) { iMagicTemp = 10; iRareTemp = 2; }
  15. else if(gTime.wMonth == 7)
  16. {
  17. if(gTime.wDay <= 7) { iMagicTemp = 10; iRareTemp = 2; }
  18. }
  19. */
  20. if(m_sEvent == NPC_EVENT_MOP)
  21. {
  22. iMagicTemp = NPC_EVENT_CHANCE;
  23. iRareTemp = NPC_EVENT_CHANCE;
  24. }
  25. else if(m_sEvent == NPC_EVENT_GREATE_MOP)
  26. {
  27. iMagicTemp = 60; //70
  28. iRareTemp = 70; //75
  29. }

  30. if(m_lKillUid >= 0)
  31. {
  32. pUser = GetUser(pCom, m_lKillUid);
  33. if(pUser != NULL && pUser->m_state == STATE_GAMESTARTED)
  34. {
  35. if(pUser->m_dwMagicFindTime != 0)
  36. {
  37. if(iMagicTemp < 40)
  38. {
  39. iMagicTemp *= 10; //幸运药机率增加
  40. iRareTemp *= 10;
  41. }
  42. if(iMagicTemp >= 40 && iMagicTemp < 70)
  43. {
  44. iMagicTemp *= 10; //幸运机率增加
  45. iRareTemp *= 10;
  46. }
  47. }
  48. }
  49. }

  50. nEventMoon = NPC_RARE_ITEM * iRareTemp + (NPC_EVENT_MOON - NPC_RARE_ITEM);
  51. nEventSongpeon = nEventMoon + (NPC_EVENT_SONGPEON - NPC_EVENT_MOON);
  52. nEventBox = nEventSongpeon + (NPC_EVENT_BOX - NPC_EVENT_SONGPEON);

  53. if(iRandom <= NPC_MAGIC_ITEM * iMagicTemp)
  54. {
  55. nLoop = 4; //此处由原来的蓝装备改为黄装备
  56. iType = RARE_ITEM; //此处由原来的蓝装备改为黄装备
  57. }
  58. else if(iRandom > NPC_MAGIC_ITEM * iMagicTemp && iRandom <= NPC_RARE_ITEM * iRareTemp) // 饭绢
  59. {
  60. // if(m_sEvent == NPC_EVENT_GREATE_MOP) nLoop = 10; // more greater
  61. // else nLoop = 2; //此处由原来的黄装备改为蓝装备

  62. nLoop = 2; //此处由原来的黄装备改为蓝装备
  63. iType = MAGIC_ITEM; //此处由原来的黄装备改为蓝装备
复制代码

只要将数据库中怪物物品掉率调低一点就可以全爆四属性黄金装备。

9、修正百级技能超过120级后还往上加的问题。打开User2.cpp(查找over100 即可到达接近以下语句的位置)
  1. int backupskill = m_UserSkill[emptyskillslot].sSid;
  2. int backupskilllevel = m_UserSkill[emptyskillslot].tLevel;

  3. m_UserSkill[emptyskillslot].sSid = selectedskill;

  4. if( m_sLevel > 99 || m_sLevel < 120) //此处控制100~120的技能点
  5. {
  6. m_UserSkill[emptyskillslot].tLevel = (BYTE)((m_sLevel % 100) + 1);
  7. }

  8. if( m_sLevel >= 120) //此处控制120级后,固定技能点为20
  9. {
  10. m_UserSkill[emptyskillslot].tLevel = (BYTE)(20);
  11. }
复制代码

游客,如果您要查看本帖隐藏内容请回复




 

精彩评论8

倒序浏览
xtgds123 发表于 2023-3-24 11:05:56 | 显示全部楼层
 
好好学习,天天向上
 
bctjahee 发表于 2022-11-22 08:48:30 | 显示全部楼层
 
看下学习一下,谢谢
 
190570111 发表于 2022-10-21 02:01:14 | 显示全部楼层
 
谢谢分享。。
 
s83100431 发表于 2022-8-29 12:59:01 | 显示全部楼层
 
支持 支持支持
 
请勿大大 发表于 2022-5-31 18:28:01 | 显示全部楼层
 
能下载服务端吗?
 
qqgnoe466263 发表于 2021-3-2 02:19:38 | 显示全部楼层
 
感謝 分享 對我很有幫助
 
德古 发表于 2021-2-6 09:11:31 | 显示全部楼层
 
哈哈哈学习一下
 
huai121 发表于 2021-1-19 10:41:10 | 显示全部楼层
 
嘻嘻嘻
 
VIP介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 最佳新人

    注册账号后积极发帖的会员
  • 活跃会员

    经常参与各类话题的讨论,发帖内容较有主见
  • 热心会员

    经常帮助其他会员答疑
  • 推广达人

    积极宣传本站,为本站带来更多注册会员
  • 宣传达人

    积极宣传本站,为本站带来更多的用户访问量
  • 灌水之王

    经常在论坛发帖,且发帖量较大
  • 突出贡献

    长期对论坛的繁荣而不断努力,或多次提出建设性意见
  • 优秀版主

    活跃且尽责职守的版主
  • 荣誉管理

    曾经为论坛做出突出贡献目前已离职的版主
  • 论坛元老

    为论坛做出突出贡献的会员

0关注

5粉丝

3326帖子

排行榜
作者专栏

QQ交流群&&微信订阅号

QQ交流群

微信订阅号

吾爱尚玩资源基地永久域名:

Www.523Play.Com

在线管理员QQ:1589479632

邮箱:Email@523play.com

QQ交流群:558936238

Copyright   ©2015-2116  吾爱尚玩资源基地|523play.comPowered by©523Pplay.Com技术支持:吾爱尚玩资源基地