[源码]杀人升级加血等级插件
杀人加血插件,源码* Description: For each kill you gain experience为 points (xp).
* After reaching a certain amount of xp, you level up.
* With each level you get more HP (Healthpoints) at
* the beginning of a round. You start at level 0 with 100 HP.
*
* Level: HP:
* 0 100
* 1 120
* 2 135
* 3 145
* 4 150
*
* You will get a bonus for difficult kills:
*
* Sort of kill: XP you gain:
* 为normal kill 10
* 为Headshot 15
* 为grenade kill 25
* 为knifekill 40
*
* I think that's all you need to know and I hope you'll enjoy it.
*
* Amok
*
*
**************************************************************************************************/
#include <amxmodx>
#include <fun>
// =============================================
new xp
new level
// =============================================
public event_deathmsg() // Event called when a deathmessage is displayed
{
new killer = read_data(1)
new victim = read_data(2)
new wpn
read_data(4,wpn,31)
// Don't do anything if it's a suicide or TK
if ( !killer || killer==victim || get_user_team(killer)==get_user_team(victim) )
{
return PLUGIN_CONTINUE
}
// Do the following if it's a normal kill
else
{
if (killer)
{
set_hudmessage(255,255,255,0.3, 0.53, 0, 3.0, 6.0, 0.5, 0.15, 3)
// Xp Bonus
if ( equal(wpn,"knife") )
{
xp += 40
}
else if ( equal(wpn,"grenade") )
{
xp += 25
}
else if (read_data(3))
{
xp += 15
}
else
{
xp += 10
}
// End of the xp bonus
if (xp <= 49)
{
level = 0
show_hudmessage(killer," 司令部: %d / 50 ^n 等级: %d ^n 您目前为士兵,血值: 100" , xp , level )
}
else if ( (xp > 49) && (xp < 100) )
{
level = 1
show_hudmessage(killer," 司令部: %d / 100 ^n 等级: %d ^n 恭喜您晋升为班长,血值: 120" , xp , level )
}
else if ( (xp > 99) && (xp < 150) )
{
level = 2
show_hudmessage(killer," 司令部: %d / 150 ^n 等级: %d ^n 恭喜您晋升为排长,血值: 135" , xp , level )
}
else if ( (xp > 149) && (xp < 200) )
{
level = 3
show_hudmessage(killer," 司令部: %d / 200 ^n 等级: %d ^n 恭喜您晋升为连长,血值: 145" , xp , level )
}
else if ( (xp > 199) && (xp < 250) )
{
level = 4
show_hudmessage(killer," 司令部: %d / 250 ^n 等级: %d ^n 恭喜您晋升为营长,血值: 165" , xp , level )
}
else if ( (xp > 249) && (xp < 300) )
{
level = 5
show_hudmessage(killer," 司令部: %d / 300 ^n 等级: %d ^n 恭喜您晋升为团长,血值: 195" , xp , level )
}
else if ( (xp > 299) && (xp < 350) )
{
level = 6
show_hudmessage(killer," 司令部: %d / 350 ^n 等级: %d ^n 恭喜您晋升为旅长,血值: 205" , xp , level )
}
else if ( (xp > 349) && (xp < 400) )
{
level = 7
show_hudmessage(killer," 司令部: %d / 400 ^n 等级: %d ^n 恭喜您晋升为师长,血值: 235" , xp , level )
}
else if ( (xp > 449) && (xp < 500) )
{
level = 8
show_hudmessage(killer," 司令部: %d / 500 ^n 等级: %d ^n 恭喜您晋升为军长,血值: 265" , xp , level )
}
else if (xp > 499)
{
level = 9
show_hudmessage(killer," 您杀敌无数,万众爱戴,成为了将军!. ^n 司令部: %d ^n 你的终极血值为: 1000" , xp )
}
}
}
return PLUGIN_CONTINUE
}
// =============================================
public eNewRound(id)
{
set_hudmessage(255,255,255,0.3, 0.53, 0, 3.0, 6.0, 0.5, 0.15, 3)
if (level == 0)
{
show_hudmessage(id," 司令部: %d / 50 ^n 您的等级为 士兵: %d ^n 您目前为士兵,还没有杀敌,血值: 100" , xp , level )
set_user_health(id, 100)
}
else if (level == 1)
{
show_hudmessage(id," 司令部: %d / 100 ^n 您的等级为 班长: %d ^n 您当前血值: 120" , xp , level )
set_user_health(id, 120)
}
else if (level == 2)
{
show_hudmessage(id," 司令部: %d / 150 ^n 您的等级为 排长: %d ^n 您当前血值: 135" , xp , level )
set_user_health(id, 135)
}
else if (level == 3)
{
show_hudmessage(id," 司令部: %d / 200 ^n 您的等级为 连长: %d ^n 您当前血值: 145" , xp , level )
set_user_health(id, 145)
}
else if (level == 4)
{
show_hudmessage(id," 司令部: %d / 250 ^n 您的等级为 营长: %d ^n 您当前血值: 165" , xp , level )
set_user_health(id, 165)
}
else if (level == 5)
{
show_hudmessage(id," 司令部: %d / 300 ^n 您的等级为 团长: %d ^n 您当前血值: 195" , xp , level )
set_user_health(id, 195)
}
else if (level == 6)
{
show_hudmessage(id," 司令部: %d / 350 ^n 您的等级为 旅长: %d ^n 您当前血值: 205" , xp , level )
set_user_health(id, 205)
}
else if (level == 7)
{
show_hudmessage(id," 司令部: %d / 400 ^n 您的等级为 师长: %d ^n 您当前血值: 235" , xp , level )
set_user_health(id, 235)
}
else if (level == 8)
{
show_hudmessage(id," 司令部: %d / 500 ^n 您的等级为 军长: %d ^n 您当前血值: 265" , xp , level )
set_user_health(id, 265)
}
else if (level == 9)
{
show_hudmessage(id,"您现为司令部司令: %d^n您已成为将军,获得终极血值1000" , xp)
set_user_health(id, 1000)
}
}
// =============================================
public plugin_init()
{
register_plugin("earn_health_mod","1.0","amok为 微波炉汉化增强版为 by lai为 xiwan")
register_event("DeathMsg","event_deathmsg","a")
register_event("RoundTime", "eNewRound", "bc")
}
该原码经测试能成功编译,只是没有数据保存功能,换图后就得重新开始升级
哪位高手若能将用户注册和数据记录代码加上去就尽乎完美了,成功了不妨拿出来分享一下! 编译不成功...我编译器的过??? :(我看不懂无法帮你啊!!! 参照魔兽插件 感谢楼主分享~~ 求楼主编译器... 编译器软件叫Uedit,自己到百度去搜索下载
4楼的说“参照魔兽插件”,我不大懂,能请阁下帮我弄一下吗?我借用lanclub的原代码就不能编译成功,能花钱买你的时间指教一下吗? 本帖最后由 fhzcnsdiv 于 2010-5-21 15:10 编辑
这年代~~如果是C++的话~可以使用SQLite~~
话说~这语法怎么越看越晕啊
发现了问题~~为什么每一行代码后面没有用分号隔开?这因该是违反C++编译的规范的~~ 语法规范与否,但我是确定该代码是可以编译成amxx的,看一下我修改的代码,什么都不用改,你直接编译就行了,只是没有数据库代码而己,你帮我添上去吧 看不懂,不贵我也想学学!
页:
[1]
2