[源码]共享多功能注册升级插件,额外请教!
本帖最后由 247140593 于 2009-7-20 15:17 编辑谈不上原创,但我感觉这个插件还不错(注意:此插件不是用于幽灵模式)
集合了:HP升级+等级 这两大功能都还行,有兴趣的可以研究一下
********************************************************************
* 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")
}
==========================================
不足之处就在于没有注册登陆功能,因此我特别在国外网站上找了一个有注册登陆的插件源代码,在附件里,有兴趣的可以看一下,如果有兴趣研究的话,我很希望有人能把这两个插件结合到一个插件中来,就是
注册登陆+HP升级+等级及经验保存
相信不失为一个好插件.如果有人能将此二插件合二为一就甚妙了!期待之! 当然,那个附件里的注册登陆插件可能不是很好,如果能做出比这更好的注册功能的插件当然更好了!最好是不用在控制输入命令,而是玩家进入游戏后根据提示操作输入注册或验证更好! 楼上的朋友好啊,你有这样的插件太好了.请加我QQ247140593详谈吧,谢谢哦! 111222333 能共享源码吗? 你没看到这就是源码啊 我估计111222333 那里的不是源码,只是一套插件! 1000HP肉盾。。这个玩幽灵不好吧~ 要想升到1000血,恐怕要一年时间,并且要经常玩才行!大家都一样的嘛,有什么肉盾不肉盾的呢 DDDDDDDDDDDDD