247140593 发表于 2009-7-20 04:33:33

[源码]共享多功能注册升级插件,额外请教!

本帖最后由 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升级+等级及经验保存
相信不失为一个好插件.如果有人能将此二插件合二为一就甚妙了!期待之!

247140593 发表于 2009-7-20 04:36:06

当然,那个附件里的注册登陆插件可能不是很好,如果能做出比这更好的注册功能的插件当然更好了!最好是不用在控制输入命令,而是玩家进入游戏后根据提示操作输入注册或验证更好!

111222333 发表于 2009-7-20 10:50:14

247140593 发表于 2009-7-20 11:17:07

楼上的朋友好啊,你有这样的插件太好了.请加我QQ247140593详谈吧,谢谢哦!

小白 发表于 2009-7-20 12:37:44

111222333   能共享源码吗?

247140593 发表于 2009-7-20 12:45:07

你没看到这就是源码啊

247140593 发表于 2009-7-20 12:46:54

我估计111222333 那里的不是源码,只是一套插件!

never0cry 发表于 2009-7-20 14:45:39

1000HP肉盾。。这个玩幽灵不好吧~

247140593 发表于 2009-7-20 19:38:14

要想升到1000血,恐怕要一年时间,并且要经常玩才行!大家都一样的嘛,有什么肉盾不肉盾的呢

543658883 发表于 2009-7-20 20:40:44

DDDDDDDDDDDDD
页: [1] 2 3
查看完整版本: [源码]共享多功能注册升级插件,额外请教!