CS魔兽插件等级修改教程
其实不会太难的,本文转WC3.MOD论坛有改动在 constants.inl 查找
代码:选择全部
#define MAX_LEVELS 10这里就是等级,改成你想要的等级- -该太多你看完后面你会后悔的。。。
在 war3ft.inl 查找
代码:选择全部
// User is under level 10
else if ( p_data < 10 )
{
pos += formatex( szRaceInfo, 255, "%s %L: %d XP: %d/%d ", szShortRaceName, id, "WORD_LEVEL", p_data, p_data, XP_GetByLevel( p_data+1) );
formatex( szXPInfo, 31, "%L: %d XP: %d/%d", id, "WORD_LEVEL", p_data, p_data, XP_GetByLevel( p_data+1 ) );
}
替换为
代码:选择全部
// User is under level 10
else if ( p_data < MAX_LEVELS )
{
pos += formatex( szRaceInfo, 255, "%s %L: %d XP: %d/%d ", szShortRaceName, id, "WORD_LEVEL", p_data, p_data, XP_GetByLevel( p_data+1) );
formatex( szXPInfo, 31, "%L: %d XP: %d/%d", id, "WORD_LEVEL", p_data, p_data, XP_GetByLevel( p_data+1 ) );
}
然后在同一文件中找到
代码:选择全部
// User is under level 10
else if ( p_data < 10 )
{
pos += formatex( szRaceInfo, 255, "%s %L: %d^nXP: %d/%d^n", szShortRaceName, id, "WORD_LEVEL", p_data, p_data, XP_GetByLevel( p_data+1) );
}
替换为
代码:选择全部
// User is under level 10
else if ( p_data < MAX_LEVELS )
{
pos += formatex( szRaceInfo, 255, "%s %L: %d^nXP: %d/%d^n", szShortRaceName, id, "WORD_LEVEL", p_data, p_data, XP_GetByLevel( p_data+1) );
}
在相同的文件查找
代码:选择全部
// User is under level 10
else if ( p_data < 10 )
{
iMsgPos += formatex( szMsg, 511, "%s %L: %d XP: %d/%d", szRaceName, id, "WORD_LEVEL", p_data, p_data, XP_GetByLevel( p_data+1 ) );
}
替换为
代码:选择全部
// User is under level 10
else if ( p_data < MAX_LEVELS-1 )
{
iMsgPos += formatex( szMsg, 511, "%s %L: %d XP: %d/%d", szRaceName, id, "WORD_LEVEL", p_data, p_data, XP_GetByLevel( p_data+1 ) );
}
在相同的文件查找
代码:选择全部
// Do we need to give this user XP?
new iStartLevel = get_pcvar_num( CVAR_wc3_start_level );
if ( p_data < XP_GetByLevel( iStartLevel ) && iStartLevel > 0 && iStartLevel <= 10 )
{
替换为
代码:选择全部
// Do we need to give this user XP?
new iStartLevel = get_pcvar_num( CVAR_wc3_start_level );
if ( p_data < XP_GetByLevel( iStartLevel ) && iStartLevel > 0 && iStartLevel <= MAX_LEVELS )
{
在相同的文件查找
代码:选择全部
// Store level sprite names
for ( i = 0; i < 11; i++ )
{
formatex( g_szLevelSprites, 63, "sprites/warcraft3/level/a_level_%d.spr", i );
}
替换为
代码:选择全部
// Store level sprite names
for ( i = 0; i < MAX_LEVELS+1; i++ )
{
formatex( g_szLevelSprites, 63, "sprites/warcraft3/level/a_level_%d.spr", i );
}
然后在 xp.inl 中找到
代码:选择全部
new Float:iLevelMultiplier = ( fCurrentLevel / 10.0 ) + 1.0;
替换为
代码:选择全部
new Float:iLevelMultiplier = ( fCurrentLevel / float(MAX_LEVELS) ) + 1.0;
在相同的文件查找
代码:选择全部
XP_GetByLevel( iLevel )
{
if ( iLevel < 0 || iLevel > 10 )
{
return 0;
}
替换为
代码:选择全部
XP_GetByLevel( iLevel )
{
if ( iLevel < 0 || iLevel > MAX_LEVELS )
{
return 0;
}
在相同的文件查找
代码:选择全部
XP_GivenByLevel( iLevel )
{
if ( iLevel < 0 || iLevel > 10 )
{
return 0;
}
替换为
代码:选择全部
XP_GivenByLevel( iLevel )
{
if ( iLevel < 0 || iLevel > MAX_LEVELS )
{
return 0;
}
在 admin.inl 查找
代码:选择全部
new iLevel = str_to_num( szArg2 );
if ( iLevel < 0 || iLevel >= 11 )
{
ADMIN_Print( id, "%s Error, level must be in between (or equal to) 0 and 17", g_MODclient );
return PLUGIN_HANDLED;
}
替换为
代码:选择全部
new iLevel = str_to_num( szArg2 );
if ( iLevel < 0 || iLevel >= MAX_LEVELS+1 )
{
ADMIN_Print( id, "%s Error, level must be in between (or equal to) 0 and 17", g_MODclient );
return PLUGIN_HANDLED;
}
这些只是改了等级罢了,经验。技能等级那些还没改到得,请看下面- -
在 xp.h 查找
代码:选择全部
// Amount of XP needed to gain a level
new iXPLevelShortTerm = {0,150,300,600,1000,1500,2100,2800,3400,4500,5500};
new iXPLevelSaved = {0,100,200,400,800,1600,3200,6400,12800,25600,51200};
// Amount of XP awarded when killing a user of this level
new iXPGivenShortTerm = {10,15,25,35,40,50,60,70,80,90,95};
new iXPGivenSaved = {6,8,10,12,14,16,18,20,24,28,32};
并将其更改为
代码:选择全部
// Amount of XP needed to gain a level
new iXPLevelShortTerm = {0,150,300,600,1000,1500,2100,2800,3400,4500,5500};
new iXPLevelSaved = {0,100,200,400,800,1600,3200,6400,12800,25600,51200};
// Amount of XP awarded when killing a user of this level
new iXPGivenShortTerm = {10,15,25,35,40,50,60,70,80,90,95};
new iXPGivenSaved = {6,8,10,12,14,16,18,20,24,28,32};
解说下怎么自定义修改:
// XP 的金额需要获得一个级别
new iXPLevelShortTerm = {0,150,300,600,1000,1500,2100,2800,3400,4500,5500} ;<<<不保存 xp 他们需要每个级别的 new iXPLevelSaved = {0,100,200,400,800,1600,3200,6400,12800,25600,51200} ;<< 保存他们需要为每个级别的 xp 的 xp
// XP 时批出的量杀这一级别的用户
new iXPGivenShortTerm = {10,15,25,35,40,50,60,70,80,90,95} ;<< 多少给 xp 如果不是储蓄 xp
new iXPGivenSaved = {6,8,10,12,14,16,18,20,24,28,32} ;<< 如果保存 xp 给多少 xp
如何读取这现在是
代码:选择全部
new iXPLevelSaved = {0,100,200,400,800,1600,3200,6400,12800,25600,51200};
0 级有 xp 是 0
级别 1 有 xp 是 100
对第 2 级有 xp 是 200
3 级别有 xp 是 400 等 … …注意:0代表0等级,不是1等级哦
0,100,200,400,800,1600,3200,6400,12800,25600,51200 这里的数值有10等级,当你修改20等级后面自己添加经验- -很麻烦。后面更麻烦的
如果您添加 x 金额水平,然后 51200 后,您将需要添加的级别,例如添加量 x
代码:选择全部
new iXPLevelSaved = {0,100,200,400,800,1600,3200,6400,12800,25600,51200,60000,70000,80000};
这是一个示范,我改了13个等级。。
这个是经验修改
在 constants.inl 查找
代码:选择全部
#define MAX_SKILL_LEVEL
这是修改技能等级的。找到文件 skill_manager.inl,并找到
代码:选择全部
// Technically we shouldn't have a skill level EVER greater than 3 right?
if ( iLevel > 3 )
{
WC3_Log( false, "Setting skill %d to %d wtf?? (%d)", skill_id, iLevel, iDebugID );
log_error( AMX_ERR_NATIVE, "Setting skill %d to %d wtf?? (%d)", skill_id, iLevel, iDebugID );
return;
}
并将其更改为
代码:选择全部
// Technically we shouldn't have a skill level EVER greater than 3 right?
if ( iLevel > MAX_SKILL_LEVEL )
{
WC3_Log( false, "Setting skill %d to %d wtf?? (%d)", skill_id, iLevel, iDebugID );
log_error( AMX_ERR_NATIVE, "Setting skill %d to %d wtf?? (%d)", skill_id, iLevel, iDebugID );
return;
}
这个是技能等级
这个大意都是转WC3论坛,但是我修改编译成功无法游戏,我研究了下,解决方法找到了。。
首先,是因为缺少等级的SPR
打开SPR的warcraft3/level/
这里面我们分别看到0等级到10等级的SPR,所以说,你打开看看就知道了,然后你修改了20等级自己做多10个SPR放进去就解决了。。。
当然,文件名要跟着循环,类似a_level_0.spr这个是0等级的,你做好11等级的SPR改名为a_level_11.spr,一直循环下去你懂得。。
申精啊。。我要升级,,汉化+修改哈哈~~
还有什么不懂得可以找我,别加我Q,我邮箱留言即可 178480849@qq.com 顶起!支持LZ 呵呵,顶起把,哈哈。。
Village 发表于 2012-2-18 19:53 static/image/common/back.gif
顶起!支持LZ
你的魔兽论坛不错,。。。
哈哈!是在讽刺我吧? 支持高手。。 好东西就是要拿出来分享。
学习中……
看看吧 怎么样 。。 上面我看了。。 技能等级修改了。。 技能的效果呢。。 例如不死族 吸血。。 那个百分比也要像经验那样来添加?
借号发的帖。。 lanmao 发表于 2012-10-26 13:24 static/image/common/back.gif
。。 上面我看了。。 技能等级修改了。。 技能的效果呢。。 例如不死族 吸血。。 那个百分比也要像经验那样 ...
比如你设定技能为19个 加大觉
那么可以这么设定
第一个技能 9级
第二个 5级
第三个 4级
外加大决1级
必须是19级
然后就修改升级的百分比
9级就必须设定9次
5级就5次
比如吸血
1级0.1
2级 0.12
同上 到9级 0.9都可以
页:
[1]
2