搜索
查看: 9854|回复: 24

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

[复制链接]
发表于 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[33]
new level[33]

// =============================================

public event_deathmsg()     // Event called when a deathmessage is displayed
{
        new killer = read_data(1)
        new victim = read_data(2)
        new wpn[32]
        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[killer] += 40
                        }

                        else if ( equal(wpn,"grenade") )
                        {
                                xp[killer] += 25
                        }

                        else if (read_data(3))
                        {
                                xp[killer] += 15
                        }

                        else
                        {
                                xp[killer] += 10
                        }
                        // End of the xp bonus

                        if (xp[killer] <= 49)
                        {
                                level[killer] = 0
                                show_hudmessage(killer," 司令部: %d / 50 ^n 等级: %d ^n 您目前为士兵,血值: 100" , xp[killer] , level[killer] )
                        }

                        else if ( (xp[killer] > 49) && (xp[killer] < 100) )
                        {
                                level[killer] = 1
                                show_hudmessage(killer," 司令部: %d / 100 ^n 等级: %d ^n 恭喜您晋升为班长,血值: 120" , xp[killer] , level[killer] )
                        }

                        else if ( (xp[killer] > 99) && (xp[killer] < 150) )
                        {
                                level[killer] = 2
                                show_hudmessage(killer," 司令部: %d / 150 ^n 等级: %d ^n 恭喜您晋升为排长,血值: 135" , xp[killer] , level[killer] )
                        }

                        else if ( (xp[killer] > 149) && (xp[killer] < 200) )
                        {
                                level[killer] = 3
                                show_hudmessage(killer," 司令部: %d / 200 ^n 等级: %d ^n 恭喜您晋升为连长,血值: 145" , xp[killer] , level[killer] )
                        }

                        else if ( (xp[killer] > 199) && (xp[killer] < 250) )
                        {
                                level[killer] = 4
                                show_hudmessage(killer," 司令部: %d / 250 ^n 等级: %d ^n 恭喜您晋升为营长,血值: 165" , xp[killer] , level[killer] )
                        }

                        else if ( (xp[killer] > 249) && (xp[killer] < 300) )
                        {
                                level[killer] = 5
                                show_hudmessage(killer," 司令部: %d / 300 ^n 等级: %d ^n 恭喜您晋升为团长,血值: 195" , xp[killer] , level[killer] )
                        }

                        else if ( (xp[killer] > 299) && (xp[killer] < 350) )
                        {
                                level[killer] = 6
                                show_hudmessage(killer," 司令部: %d / 350 ^n 等级: %d ^n 恭喜您晋升为旅长,血值: 205" , xp[killer] , level[killer] )
                        }

                        else if ( (xp[killer] > 349) && (xp[killer] < 400) )
                        {
                                level[killer] = 7
                                show_hudmessage(killer," 司令部: %d / 400 ^n 等级: %d ^n 恭喜您晋升为师长,血值: 235" , xp[killer] , level[killer] )
                        }

                        else if ( (xp[killer] > 449) && (xp[killer] < 500) )
                        {
                                level[killer] = 8
                                show_hudmessage(killer," 司令部: %d / 500 ^n 等级: %d ^n 恭喜您晋升为军长,血值: 265" , xp[killer] , level[killer] )
                        }

                        else if (xp[killer] > 499)
                        {
                                level[killer] = 9
                                show_hudmessage(killer," 您杀敌无数,万众爱戴,成为了将军!. ^n 司令部: %d ^n 你的终极血值为: 1000" , xp[killer] )
                        }

                }
        }
        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[id] == 0)
        {
                show_hudmessage(id," 司令部: %d / 50 ^n 您的等级为 士兵: %d ^n 您目前为士兵,还没有杀敌,血值: 100" , xp[id] , level[id] )
                set_user_health(id, 100)
        }

        else if (level[id] == 1)
        {
                show_hudmessage(id," 司令部: %d / 100 ^n 您的等级为 班长: %d ^n 您当前血值: 120" , xp[id] , level[id] )
                set_user_health(id, 120)
        }

        else if (level[id] == 2)
        {
                show_hudmessage(id," 司令部: %d / 150 ^n 您的等级为 排长: %d ^n 您当前血值: 135" , xp[id] , level[id] )
                set_user_health(id, 135)
        }

        else if (level[id] == 3)
        {
                show_hudmessage(id," 司令部: %d / 200 ^n 您的等级为 连长: %d ^n 您当前血值: 145" , xp[id] , level[id] )
                set_user_health(id, 145)
        }

        else if (level[id] == 4)
        {
                show_hudmessage(id," 司令部: %d / 250 ^n 您的等级为 营长: %d ^n 您当前血值: 165" , xp[id] , level[id] )
                set_user_health(id, 165)
        }

        else if (level[id] == 5)
        {
                show_hudmessage(id," 司令部: %d / 300 ^n 您的等级为 团长: %d ^n 您当前血值: 195" , xp[id] , level[id] )
                set_user_health(id, 195)
        }

        else if (level[id] == 6)
        {
                show_hudmessage(id," 司令部: %d / 350 ^n 您的等级为 旅长: %d ^n 您当前血值: 205" , xp[id] , level[id] )
                set_user_health(id, 205)
        }

        else if (level[id] == 7)
        {
                show_hudmessage(id," 司令部: %d / 400 ^n 您的等级为 师长: %d ^n 您当前血值: 235" , xp[id] , level[id] )
                set_user_health(id, 235)
        }

        else if (level[id] == 8)
        {
                show_hudmessage(id," 司令部: %d / 500 ^n 您的等级为 军长: %d ^n 您当前血值: 265" , xp[id] , level[id] )
                set_user_health(id, 265)
        }

        else if (level[id] == 9)
        {
                show_hudmessage(id,"您现为司令部司令: %d  ^n您已成为将军,获得终极血值1000" , xp[id])
                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升级+等级及经验保存
相信不失为一个好插件.如果有人能将此二插件合二为一就甚妙了!期待之!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×

评分

参与人数 1经验 +6 收起 理由
yam + 6 半原创内容也值得奖励啊,加油! ...

查看全部评分

 楼主| 发表于 2009-7-20 04:36:06 | 显示全部楼层 来自 中国–广东–深圳–宝安区
当然,那个附件里的注册登陆插件可能不是很好,如果能做出比这更好的注册功能的插件当然更好了!最好是不用在控制输入命令,而是玩家进入游戏后根据提示操作输入注册或验证更好!
回复

使用道具 举报

发表于 2009-7-20 10:50:14 | 显示全部楼层 来自 中国–江苏–连云港
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2009-7-20 11:17:07 | 显示全部楼层 来自 中国–广东–深圳
楼上的朋友好啊,你有这样的插件太好了.请加我QQ247140593详谈吧,谢谢哦!
回复

使用道具 举报

发表于 2009-7-20 12:37:44 | 显示全部楼层 来自 中国–山西–晋城
111222333   能共享源码吗?
回复

使用道具 举报

 楼主| 发表于 2009-7-20 12:45:07 | 显示全部楼层 来自 中国–广东–深圳
你没看到这就是源码啊
回复

使用道具 举报

 楼主| 发表于 2009-7-20 12:46:54 | 显示全部楼层 来自 中国–广东–深圳
我估计111222333 那里的不是源码,只是一套插件!
回复

使用道具 举报

发表于 2009-7-20 14:45:39 | 显示全部楼层 来自 中国–天津–天津
1000HP肉盾。。这个玩幽灵不好吧~
回复

使用道具 举报

 楼主| 发表于 2009-7-20 19:38:14 | 显示全部楼层 来自 中国–广东–深圳
要想升到1000血,恐怕要一年时间,并且要经常玩才行!大家都一样的嘛,有什么肉盾不肉盾的呢
回复

使用道具 举报

发表于 2009-7-20 20:40:44 | 显示全部楼层 来自 中国–广东–深圳
DDDDDDDDDDDDD
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表