决战私服 发布决战 发布家族 家族联盟 广告联系 更多私服 技术资料 设为首页
所有私服
电信
网通
双线
百  度 新 浪 腾 讯 搜 狐 网 易 凤 凰 网 央 视 网
新 华 网 人 民 网 中国移动 中国政府网 校 内 网 湖南卫视 开 心 网
私服推荐 决战私服 私服发布网 私服发布网 私服发布网 私服发布网 决战私服
决战私服帝王端源代码分析
文章作者:搞决战 文章来源:搞决战私服发布网 更新时间:2014/9/7 7:33:44 

帝王端源代码被泄漏出来了,可好多代码看不懂,经过高手的指点,本人将以下所获给大家分享,希望达达们能够好好的研究。
1、物品改数及成功率。
A、改数:Define.h 中 #define MAX_ITEM_UPGRADE_COUNT 20 后面20就是改


B、成功率:user.cpp 中
int g_ItemAttUpgrade[] = {9800, 8200, 8000, 7800, 7500, 7200,

7000, 6800, 65000, 6200, 6000, 5800, 5500, 5200, 5000, 4800, 4500,

4300, 4000, 100};//酒捞袍 诀弊饭捞靛 犬伏
int g_ItemDefUpgrade[] = {9800, 8500, 8000, 7800, 7500, 7200,

7000, 6800, 65000, 6200, 6000, 5800, 5500, 5200, 5000, 4800, 4500,

4300, 4000, 100};
int g_ItemAccessoriUpgrade[] = {10000, 9500, 8500};
int g_ItemBlessingUpgrade[] = {8000, 9500, 10000};
int g_ItemNormalDownUpgrade[] = {6000, 1000};
第一行int是武器,后面的数字就是每一改的成功率,第二行是装备,第三

行估计是首饰6、7、8改的成功率,第四行是石头的成功率,最后一行应该失败

率吧。如果要想20改,必须在一、二行机率后面增加余下10改的机率。

2、物品消失时间

Define.h中 #define MAX_THROW_ITEM 30000 把它改

成100就是最大允许地面上有100件物品或钱,如果超过的话就从掉的最早的物品

开始自动作消失处理。当然如果你的服务器人数多的话建议设置大一点,不然消

失得很快。

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

效?

4、基本武器换战斗经验
服务器端文件的MAP文件夹中,文件1.EVT的EVENT103 ~EVENT106四个分别对

应四个职业的基本武器换战斗经验
EVENT 103
A LEVEL 5 10000
A CLASS 3
A EXIST_ITEM 10 1
E ROB_ITEM 10 1
E XP_UP 50000 这里就是战斗经验
E GIVE_DN 1000000000 这里是送钱,想送物品可以写上E GIVE_ITEM 加物品

代码。
E ADD_EVENT 116
E SAY 60
E RETURN
END
5、110级后不能升级可修改User.cpp文件
if(m_sLevel >= 200) { m_sLevel = 200; return; }// 饭骇力茄 120


CheckMaxValue((DWORD &)dwExp, (DWORD)iNpcExp);// Overflow牢瘤

八荤

while(dwExp >= dwExpNext)

// Level UP
{
if(sLevel == 200) { dwExp = dwExpNext; break; }
if(sLevel < 200)
所有200的地方原来为110。

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

// 歹窍芭唱 哗芭唱
if(iNum <= 0 || iNum > 200) return;

// 0~100 荤捞父
m_sSTR = iNum; m_sPA -= 1;
break;

case USER_CON:
iNum = m_sCON;
iNum += iPlusMinus;
if(iNum <= 0 || iNum > 200) return;
m_sCON = iNum; m_sPA -= 1;
break;

case USER_DEX:
iNum = m_sDEX;
iNum += iPlusMinus;
if(iNum <= 0 || iNum > 200) return;
m_sDEX = iNum; m_sPA -= 1;
break;

case USER_VOL:
iNum = m_sVOL;
iNum += iPlusMinus;
if(iNum <= 0 || iNum > 200) return;
m_sVOL = iNum; m_sPA -= 1;
break;

case USER_WIS:
iNum = m_sWIS;
iNum += iPlusMinus;
if(iNum <= 0 || iNum > 200) return;
m_sWIS = iNum; m_sPA -= 1;
break;

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

7、每级基本点数修改 User.cpp中

if((sLevel - m_sLevel) > 0)

// 饭骇诀老 版快
{
BYTE tType = 2;
sTempLevel = m_sLevel;

m_dwExp = dwExp;

// 泅犁 版氰摹
m_dwExpNext = dwExpNext;

// 促澜 饭骇 夸备版氰摹
m_sLevel = sLevel;

// 饭骇诀

while(sTempLevel < sLevel)

// 穿利摹甫 霖促.
{
sTempLevel++;
CheckMaxValue((short &)m_sPA, (short)2);
最后的一个(short)2 即为每级基本点数为2。

弄了几天还是弄不明白白蓝黄装备控制的部份,Boss只爆蓝装备,怪物不爆锆石等。
有知道的朋友贴出来吧。
8、只爆4属性黄金装备(吃幸运药的情况下)

int CNpc::IsMagicItem(COM* pCom, ItemList *pItem, int iTable)
{
int i = 0, j;
int iMagicTemp = 1 , iRareTemp = 1;
int iRandom = myrand( 1, 10000 );

int iMagicCount = 0, iCount = 0;
int nLoop = 0, iType = 0;
int nEventMoon = 0;
int nEventSongpeon = 0;
int nEventBox = 0;

USER* pUser = NULL;

/* SYSTEMTIME gTime; //@@@@@@@@@@@@@@@ Event Code 扁埃悼救 老矫利栏肺 疵

妨霖促.
GetLocalTime(&gTime);
if(gTime.wMonth < 7) { iMagicTemp = 10; iRareTemp = 2; }
else if(gTime.wMonth == 7)
{
if(gTime.wDay <= 7) { iMagicTemp = 10; iRareTemp = 2; }
}
*/
if(m_sEvent == NPC_EVENT_MOP) // 泅犁 候遣,凝,胶妮乔坷
{
iMagicTemp = NPC_EVENT_CHANCE;
iRareTemp = NPC_EVENT_CHANCE;
}
else if(m_sEvent == NPC_EVENT_GREATE_MOP) // 竣胶府柯
{
iMagicTemp = 60; //70
iRareTemp = 70; //75
}

if(m_lKillUid >= 0)
{
pUser = GetUser(pCom, m_lKillUid);
if(pUser != NULL && pUser->m_state == STATE_GAMESTARTED)
{
if(pUser->m_dwMagicFindTime != 0) // 概流 颇牢歹甫 冈篮 惑怕捞搁
{
if(iMagicTemp < 40)
{
iMagicTemp *= 10; //幸运药机率增加
iRareTemp *= 10;
}
if(iMagicTemp >= 40 && iMagicTemp < 70)
{
iMagicTemp *= 10; //幸运机率增加
iRareTemp *= 10;
}
// 70 捞惑捞搁 概流颇牢歹狼 康氢阑 罐瘤 臼档废 茄促.
}
}
}

nEventMoon = NPC_RARE_ITEM * iRareTemp + (NPC_EVENT_MOON - NPC_RARE_ITEM);
nEventSongpeon = nEventMoon + (NPC_EVENT_SONGPEON - NPC_EVENT_MOON);
nEventBox = nEventSongpeon + (NPC_EVENT_BOX - NPC_EVENT_SONGPEON);

if(iRandom <= NPC_MAGIC_ITEM * iMagicTemp) // 概流
{
nLoop = 4; //此处由原来的蓝装备改为黄装备
iType = RARE_ITEM; //此处由原来的蓝装备改为黄装备
}
else if(iRandom > NPC_MAGIC_ITEM * iMagicTemp && iRandom <= NPC_RARE_ITEM * iRareTemp) // 饭绢
{
// if(m_sEvent == NPC_EVENT_GREATE_MOP) nLoop = 10; // more greater
// else nLoop = 2; //此处由原来的黄装备改为蓝装备

nLoop = 2; //此处由原来的黄装备改为蓝装备
iType = MAGIC_ITEM; //此处由原来的黄装备改为蓝装备

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

9、修正百级技能超过120级后还往上加的问题。打开User2.cpp(查找over100 即可到达接近以下语句的位置)

int backupskill = m_UserSkill[emptyskillslot].sSid;
int backupskilllevel = m_UserSkill[emptyskillslot].tLevel;

m_UserSkill[emptyskillslot].sSid = selectedskill;

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

if( m_sLevel >= 120) //此处控制120级后,固定技能点为20
{
m_UserSkill[emptyskillslot].tLevel = (BYTE)(20);
}
加入以上等级限制语句即可实现,120级后变为20,不再往上加。以上是升级一般情况下的修正。

如果使用圣药或重生需增加User2.cpp以下地方的修改,(查找第二处over100 即可到达接近以下语句的位置)
if( sLevel <= 99 ) // 父距 99乏栏肺 悸泼窍扼绊 甸绢坷搁
{
m_UserSkill[emptyskillslot].sSid = emptyskillslot; // 扁粮 100乏 胶懦 沥焊甫 瘤款促
m_UserSkill[emptyskillslot].tLevel = 0;

return;
}
else
{
if( skillsid < 0 || skillsid >= g_arSkillTable.GetSize() ) return;

if( g_arSkillTable[skillsid]->m_sSid == -1 ) return;
if( sLevel > 99 || sLevel < 120) //此处控制100~120的技能点
{
m_UserSkill[emptyskillslot].tLevel = (BYTE)((sLevel % 100) + 1);
}
if( sLevel >= 120) //此处控制120级后,固定技能点为20
{
m_UserSkill[emptyskillslot].tLevel = (BYTE)(20);
}
}

怎么样?看不懂吧,没关系,这不是一般人做的,都是达达们干的!

浏览次数:877
最新文章
· 《决战经典版》游戏平台升级优化公告...
· 《决战经典版》4月30日维护公告...
· 《决战经典版》4月2日维护公告...
· 《决战》春暖花开·艾梦祝福...
· 《决战》星河之恋·冲级即送5544...
· 《决战》“星河之恋”2月14日等你来战...
· 《决战》星盟助力·欧皇大比拼...
· 《决战》11月29日更新维护公告...
· 《决战》近期更新预告...
· 《决战》战区延迟开放补偿说明...
热门文章
· 决战SF架设教程...
· 真正决战外挂...
· 决战4.0架设教程...
· 决战私服务GM召唤怪物命令...
· neo免费助手...
· 决战阳光8.0GM刷物品命令...
· 决战GEOv1.60...
· 修改机械成功率的方法...
· 9月1日决战NEO版本新服开服公告...
· 统域阳光决战8.0架设教程...

Copyright 2009-2020 www.JzSffbw.com All rights reserved.
本站只为免费宣传决战,拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 ,所有信息均由网友自行发布,玩家请仔细辨别避免上,请支持决战正版官方
网站备案登记号:渝ICP备09064072号
(站长QQ:2643312220 )