搜索
查看: 2310|回复: 2

[AMXX 带源码] 重金请Amxx高手帮忙合成这几个源代码,谢谢!

[复制链接]
发表于 2010-5-16 17:57:09 | 显示全部楼层 |阅读模式 来自 中国–广东–深圳
请下载贴子附件原码插件!这些代码转amxx有错误,请高手帮忙纠正一下,谢谢
结合下面几种插件,我希望能做出一个具有注册保存功能的HP等级升级插件,希望对各位有帮助!
当然如果与我分享当然感谢万分了!

//==========================储存数据

//这里是关于玩家连接服务器的相关函数
//我们可以用这个函数定义
//当玩家进入服务器时,读取玩家的经验,等级等等相关数据

public client_connect(id)
{
    // 如果是保存经验,才会读取数据
    if(get_pcvar_num(SaveXP) == 1)
    {
        // 读取玩家的数据
        LoadData(id)
    }

//这个是玩家离开了服务器的相关函数

public SaveData(id)
{
    // 获取玩家的steam ID,我们将要用steam ID来记录数据
    new AuthID[35] get_user_authid(id,AuthID,34)
    new vaultkey[64],vaultdata[256]
    // 设计当进行本模式时候的vault文件
    format(vaultkey,63,"%s-Mod",AuthID)
    format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
    // 保存数据
    nvault_set(g_vault,vaultkey,vaultdata)
    return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
// 当保存经验开启的时候
     if(get_pcvar_num(SaveXP) == 1)
     {
          // 保存经验
          SaveData(id)
     }
}

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

public LoadData(id)
{
    new AuthID[35] get_user_authid(id,AuthID,34)
    new vaultkey[64],vaultdata[256]
    // 查找玩家的数据
    format(vaultkey,63,"%s-Mod",AuthID)
    format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
    // 读取数据
    nvault_get(g_vault,vaultkey,vaultdata,255)
    replace_all(vaultdata, 255, "#", " ")
    new playerxp[32], playerlevel[32]
    parse(vaultdata, playerxp, 31, playerlevel, 31)
    PlayerXP[id] = str_to_num(playerxp)
    PlayerLevel[id] = str_to_num(playerlevel)
    return PLUGIN_CONTINUE


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

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")
}

public ChangeClass(id)
{
    new menu = menu_create("Class Menu" , "Class_Handle");
    menu_additem(menu ,"Dog", "1" , 0);
    menu_additem(menu ,"Cat", "2" , 0);
    menu_additem(menu ,"Horse", "3" , 0);
    menu_additem(menu ,"Cow", "4" , 0);
    menu_setprop(menu , MPROP_EXIT , MEXIT_ALL);
    menu_display(id , menu , 0);
    return PLUGIN_CONTINUE;
}

public Class_Handle(id , menu , item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
    }
    new szCommand[6] , szName[64]; new access , callback;
    menu_item_getinfo(menu , item , access , szCommand , 5 , szName , 63 , callback);
    new i = str_to_num(szCommand)
    if(PlayerClass[id] != i)
    {
        PlayerClass[id] = i client_print(id,print_chat,"You are now a %s",CLASSES)
    }
    else
    {
        client_print(id,print_chat,"You are alredy a %s",CLASSES)
    }
    menu_destroy(menu);
    return PLUGIN_CONTINUE
}
//这里是关于玩家连接服务器的相关函数
//我们可以用这个函数定义
//当玩家进入服务器时,读取玩家的经验,等级等等相关数据

public client_connect(id)
{
    // 如果是保存经验,才会读取数据
    if(get_pcvar_num(SaveXP) == 1)
    {
        // 读取玩家的数据
        LoadData(id)
    }
}

//=============================
这里是显示HUD的函数
这里是用来显示等级,经验,种类的...

public ShowHud(id)
{
    set_hudmessage(255, 0, 0, 0.75, 0.01, 0, 6.0, 15.0)
    show_hudmessage(id, "Level: %i^nXP: %i^nClass: %s",PlayerLevel[id],PlayerXP[id],CLASSES[PlayerClass[id]])
}

本帖子中包含更多资源

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

×
发表于 2010-5-16 20:32:57 | 显示全部楼层 来自 中国–山东–济南
看看什么东西
回复

使用道具 举报

发表于 2010-6-2 10:43:02 | 显示全部楼层 来自 中国–甘肃–兰州
学习下保存经验的方法~
回复

使用道具 举报

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

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