Гршка при компилиране

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
deadlylord
Извън линия
Потребител
Потребител
Мнения: 572
Регистриран на: 04 Апр 2017, 16:35
Местоположение: Бургас, България
Получена благодарност: 2 пъти
Обратна връзка:

Гршка при компилиране

Мнение от deadlylord » 12 Апр 2017, 06:25

Код за потвърждение: Избери целия код

    #include <amxmodx>
    #include <amxmisc>  
    #include <cstrike>
    #include <chatcolor>
    #include <fvault>

    #define MaxLevels 31
    #define IsPlayer(%1) (1 <= %1 <=  g_iMaxPlayers)

    #define ADMIN1 "Server Owner"
    #define ADMIN1_ACCESS ADMIN_LEVEL_A

    #define ADMIN2 "Globalen Admin"
    #define ADMIN2_ACCESS ADMIN_LEVEL_B

    #define ADMIN3 "Globalen Admin"
    #define ADMIN3_ACCESS ADMIN_LEVEL_C

    #define ADMIN4 "Admin"
    #define ADMIN4_ACCESS ADMIN_LEVEL_D

    #define ADMIN5 "SMS Admin"
    #define ADMIN5_ACCESS ADMIN_LEVEL_E

    #define ADMIN6 "V.I.P+"
    #define ADMIN6_ACCESS ADMIN_LEVEL_F

    #define ADMIN7 "V.I.P"
    #define ADMIN7_ACCESS ADMIN_LEVEL_G

    new gMaxPlayers, gMsgSayText, syncObj, Level[33], eXP[33]
    new ranks_hud, knife_xp, he_xp, hs_xp, kill_xp, kill_msg

    new const g_vault_name[] = "levelsz";

    new const Levels[MaxLevels] = 
    {
        50,
        100, 
        150, 
        200, 
        250, 
        350,
        450,
        550,
        650,
        850,
		1050,
		2250,
		2500,
		2750,
		3000,
		3250,
		3500,
		3750,
		4000,
		4250,
		4500,
		4750,
		5000,
		5500,
		6000,
		6500,
		7000,
		7500,
		8000,
		9000,
		10000
    }

    new const Prefix[MaxLevels +1][] =
    {
        "Novak", 
        "Rednik",
        "Efreitor", 
        "Matros",
        "Starshi Matros", 
        "Mladshi Serjant",
        "Serjant",
        "Starshi Serjant", 
        "Starshina III", 
        "Starshina II",
        "Starshina I",
		"Glaven Starshina", 
        "Mladshi Leitenant",
        "Leitenant", 
        "Starshi leitenant",
        "Kapitan III", 
        "Kapitan II",
        "Kapitan I",
        "Podpolkovnik", 
        "Polkovnik", 
        "Brigaden General",
        "Major",
		"General Major", 
        "General-Leitenant",
        "General", 
        "Kontraadmiral",
        "Viceadmiral", 
        "Admiral",
        "Hitler",
        "Supreme Master", 
        "The Global Elite"
    }

    public plugin_init() 
    {
        register_plugin("Ranks & XP mod", "1.0", "alt.nick")
        
        register_event("DeathMsg","client_death","a") 
        register_clcmd("say", "hook_say")
        register_clcmd("say_team", "hook_say")
        
        register_clcmd("say /rank", "cmdRank")
        register_clcmd("say_team /rank", "cmdRank")
        
        register_clcmd("say /reset", "reset_xp")
        register_clcmd("say_team /reset", "reset_xp")
        
        ranks_hud = register_cvar("ranks_hud", "1")     // Дали да се появява хъд при влизане в сървъра. Включено 1/0 Изключено
        knife_xp = register_cvar("knife_xp", "5")     // Колко ХР да дава за убийство с нож.
        he_xp = register_cvar("he_xp", "5")        // Колко ХР да дава за убийство с Granata (HE).
        hs_xp = register_cvar("hs_xp", "2")        // Колко ХР да дава за убийство с Headshot.
        kill_xp = register_cvar("kill_xp", "1")        // Колко ХР да дава за нормално убийство.    
        kill_msg = register_cvar("kill_msg", "0")    // Дали да показва кой сте убили и колко ХР сте получили. Включено 1/0 Изключено
        
        register_concmd ("amx_give_xp", "CmdAddXP", ADMIN_LEVEL_A, "<nick | ct | t | @all> <xp>")
        
        gMaxPlayers = get_maxplayers()
        gMsgSayText = get_user_msgid("SayText")

        syncObj     = CreateHudSyncObj()
        
        fvault_load(g_vault_name)
    }

    public ShowHud(id) 
    {
        set_hudmessage(142, 239, 39, -1.0, 0.01, 0, 6.0, 1.0, 0.0, 0.0, -1)
        ShowSyncHudMsg(id, syncObj,"Rank: %s ^nXP: %i ^nLevel: %i", Prefix[Level[id]], eXP[id], Level[id])
    }

    public client_putinserver(id)
    {
        if(get_pcvar_num(ranks_hud) == 1)
            set_task(1.0, "ShowHud", id, _, _, "b")
            
        if(Level[id] < MaxLevels-1)
            while(eXP[id] >= Levels[Level[id]])
                Level[id] += 1 
    }

    public client_death(killer, victim, weapon, hitgroup, TK)
    {        
        if(killer == victim)
            return PLUGIN_HANDLED
            
        new Name[20]
        get_user_name(victim, Name, 19)
        new headshot = (hitgroup == HIT_HEAD) ? 1 : 0
        
        if(get_user_team(killer) == 2 && killer != victim)
        {
            switch(weapon) 
            {
                case CSW_HEGRENADE:
                {
                    eXP[killer] += get_pcvar_num(he_xp)
                    CheckLevel(killer)
                    SaveData(killer)
                    if(get_pcvar_num(kill_msg) == 1)
                        client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 %d XP^1 poradi ubiistwoto s^4 HE^1 na ^3%s^1.", get_pcvar_num(he_xp), Name)
                } 
                
                case CSW_KNIFE:
                {
                    eXP[killer] += get_pcvar_num(knife_xp)
                    CheckLevel(killer)
                    SaveData(killer)
                    if(get_pcvar_num(kill_msg) == 1)
                        client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 %d XP^1 poradi ubiistwoto s^4 noj^1 na ^3%s^1.", get_pcvar_num(knife_xp) , Name)
                } 
            }
            
            if(headshot)
            {
                eXP[killer] += get_pcvar_num(hs_xp)
                CheckLevel(killer)
                SaveData(killer)
                if(get_pcvar_num(kill_msg) == 1)
                    client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 2 XP^1 poradi ubiistwoto s^4 HS^1 na ^3%s^1.",get_pcvar_num(hs_xp),  Name)
            }
            else
            {
                eXP[killer] += get_pcvar_num(kill_xp)
                CheckLevel(killer)
                SaveData(killer)
                if(get_pcvar_num(kill_msg) == 1)
                    client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 1 XP^1 poradi ubiistwoto na ^3%s^1.", get_pcvar_num(kill_xp), Name)
            }
        }
        CheckLevel(killer)
        SaveData(killer)
        return PLUGIN_CONTINUE
    }

    public CheckLevel(id)
    {
        if(Level[id] < MaxLevels-1)
            while(eXP[id] >= Levels[Level[id]])
                Level[id] += 1 
    }

    public client_connect(id)
    {
        LoadData(id)
    }


    public client_disconnect(id)
    {
        SaveData(id)
        eXP[id] = 0
        Level[id] = 0
        remove_task(id)
    }
            
    public reset_xp(id)
    {
        if(eXP[id] != 0)
        {
            Level[id] = 0
            eXP[id] = 0
            CheckLevel(id)
            client_print_color(id, print_chat, "^4[Ranks]^1 Yspeshno nulirani washite^4 XP^1 i ^4Level^1.")
        }
        else
            client_print_color(id, print_chat, "^4[Ranks]^1 Washite^4 XP^1 i ^4Level^1 weche sa nulirani.")
    }
            
    public cmdRank(id)
    {
        if(is_user_connected(id))
            client_print_color(id, print_chat, "^4[Ranks]^1 Rank:^4 %s^1 | XP:^4 %d^1 | Level:^4 %d^1.", Prefix[Level[id]], eXP[id], Level[id])
    }
            
    public CmdAddXP (iPlayer, level, cid)
    {
        if(!cmd_access(iPlayer, level, cid, 3)) return PLUGIN_HANDLED;
            
        new arg [32]
        read_argv (1, arg, 31) 
     
        new AddXP [32]
        read_argv (2, AddXP, charsmax (AddXP))
     
        new XPtoGive = str_to_num (AddXP)
            
        new AdminName [32]
        new TargetName [32]
        get_user_name (iPlayer, AdminName, charsmax (AdminName))
            
        if(arg[0]=='@')
        { 
            if(equali(arg[1],"All") || equali(arg[1],"ALL"))
            {
                new players[32], totalplayers, All
                get_players(players, totalplayers)
                 
                for (new i = 0; i < totalplayers; i++)
                {
                    All = players[i]
                            
                    eXP[All] += XPtoGive
                }
                
                CheckLevel(All)
                client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na vsichki ^3igrachi^1!", AdminName, XPtoGive)
            }
            else if(equali(arg[1],"T") || equali(arg[1],"t"))
            {
                new players[32], totalplayers, T
                get_players(players, totalplayers)
                 
                for (new i = 0; i < totalplayers; i++)
                {
                    if (get_user_team(players[i]) == 1)
                    {
                        T = players[i]
                                
                        eXP[T] += XPtoGive
                    }
                }
                
                CheckLevel(T)
                client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na vsichki ^3 Teroristi^1.", AdminName, XPtoGive)
            }
            else if(equali(arg[1],"CT") || equali(arg[1],"ct"))
            {
                new players[32], totalplayers, CT
                get_players(players, totalplayers)
                 
                for(new i = 0; i < totalplayers; i++)
                {
                    if(get_user_team(players[i]) == 2)
                    {
                        CT = players[i]
                                
                        eXP[CT] += XPtoGive
                    }
                }
                
                CheckLevel(CT)
                client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na wsichki ^3 Kontra-Teroristi^1!", AdminName, XPtoGive)
            }
        }
        else
        {
            new iTarget = cmd_target(iPlayer, arg, 3)
            get_user_name (iTarget, TargetName, charsmax (TargetName))
            
            if(iTarget)
            {
                eXP[iTarget] += XPtoGive
                
                CheckLevel(iTarget)
                client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na^3 %s^1.", AdminName, XPtoGive, TargetName)
            }
        }
        return PLUGIN_HANDLED
    }

    bool:IsValidMessage( szMessage[ ], iLen )
    {
        read_args( szMessage, iLen )
        remove_quotes( szMessage )
       
        new iPos, cChar
        while( 0 <= ( cChar = szMessage[ iPos++ ] ) <= 255 )
        {
            if( cChar != ' ' && cChar != '%' )
            {
                return true
            }
        }
       
        return false
    }

    public hook_say(id)
    {
        if(!is_user_connected(id)) 
            return PLUGIN_HANDLED_MAIN
        
        new szArgs[192]
        
        if( !IsValidMessage(szArgs, charsmax(szArgs))) 
            return PLUGIN_HANDLED_MAIN

        if(equal(szArgs,"")) return PLUGIN_HANDLED_MAIN

        
        new szName[32]
        get_user_name(id, szName, sizeof szName-1)

        new alive = is_user_alive(id)

        if(contain(szArgs,"@") >= 0) 
        return  PLUGIN_HANDLED_MAIN
     
        if(get_user_flags(id) & ADMIN1_ACCESS) 
        format(szArgs, 191,"^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN1, Prefix[Level[id]], szName, szArgs)
        
        else if(get_user_flags(id) & ADMIN2_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN2, Prefix[Level[id]], szName, szArgs)
        
        else if(get_user_flags(id) & ADMIN3_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN3, Prefix[Level[id]], szName, szArgs)
        
        else if(get_user_flags(id) & ADMIN4_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN4, Prefix[Level[id]], szName, szArgs)

        else if(get_user_flags(id) & ADMIN5_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN5, Prefix[Level[id]], szName, szArgs)
        
        else if(get_user_flags(id) & ADMIN6_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN6, Prefix[Level[id]], szName, szArgs)

        else if(get_user_flags(id) & ADMIN7_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN7, Prefix[Level[id]], szName, szArgs)
        
        else 
        format(szArgs, 191, "^x04[%s] ^x03%s^x01 :  %s",  Prefix[Level[id]], szName, szArgs)

        for(new i = 1; i <= gMaxPlayers; i++)
        {
            if(!is_user_connected(i))
                continue
        
            if(alive && is_user_alive(i))
            {
                message_begin(MSG_ONE, gMsgSayText, {0, 0, 0}, i)
                write_byte(id)
                write_string(szArgs)
                message_end()
            } 
            else if(!alive && !is_user_alive(i)) 
            {
                new format[192]
                formatex(format,191,"^x01* DEAD %s",szArgs)
                message_begin(MSG_ONE, gMsgSayText, {0, 0, 0}, i)
                write_byte(id)
                write_string(format)
                message_end()
            }
        }
            
        return PLUGIN_HANDLED_MAIN
    }

    public SaveData(id)
    {
        new name[32];
        get_user_name(id,name,31);
        new vaultkey[64],vaultdata[256];
        
        format(vaultkey,63,"%s", name);
        format(vaultdata,255,"%i#%i#",eXP[id],Level[id]);
        fvault_set_data(g_vault_name,vaultkey,vaultdata);
        
        return PLUGIN_CONTINUE;
    }
    public LoadData(id)
    {
        new name[32];
        get_user_name(id,name,31);
        new vaultkey[64],vaultdata[256];
        
        format(vaultkey,63,"%s",name);
        format(vaultdata,255,"%i#%i#",eXP[id],Level[id]);
        fvault_get_data(g_vault_name,vaultkey,vaultdata,charsmax(vaultdata));
        
        replace_all(vaultdata, 255, "#", " ");
        new playerxp[32], playerlevel[32];
        parse(vaultdata, playerxp, 31, playerlevel, 31);
        
        eXP[id] = str_to_num(playerxp);
        Level[id] = str_to_num(playerlevel);
        
        return PLUGIN_CONTINUE;
    }
     

Когато компилирам ми излиза
http://i.imgur.com/4rDM1gj.png
Някой да знае от какво е ?

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Re: Гршка при компилиране

Мнение от TheRedShoko » 12 Апр 2017, 09:57

Ако си премахнал рангове и не си променлил MaxLevels. Компилатора изисква същият брой ранкове, който си посочил. Промени MaxLevels, на колкото ранга имаш и няма да има проблем.

Аватар
deadlylord
Извън линия
Потребител
Потребител
Мнения: 572
Регистриран на: 04 Апр 2017, 16:35
Местоположение: Бургас, България
Получена благодарност: 2 пъти
Обратна връзка:

Re: Гршка при компилиране

Мнение от deadlylord » 12 Апр 2017, 10:32

Както виждаш съм го променил, проблема е в нещо друго

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Re: Гршка при компилиране

Мнение от TheRedShoko » 12 Апр 2017, 11:22

Имената на рангове трябва да са с 1 повече. И не мога да седя и да броя ранковете, за да разбера дали си го променил...

Аватар
deadlylord
Извън линия
Потребител
Потребител
Мнения: 572
Регистриран на: 04 Апр 2017, 16:35
Местоположение: Бургас, България
Получена благодарност: 2 пъти
Обратна връзка:

Re: Гршка при компилиране

Мнение от deadlylord » 12 Апр 2017, 12:38

30 -> http://imgur.com/a/30dOb
31 -> http://imgur.com/a/qWhnV

Да няма случайно някакъв максимум този код?
В момента ползвам на betterplay имам дори повече ранкове и си работи, но не ми харесва, че админите нямат нормалния префикс

Аватар
<GOSH>
Извън линия
Потребител
Потребител
Мнения: 66
Регистриран на: 11 Окт 2016, 00:19
Се отблагодари: 1 път
Получена благодарност: 2 пъти
Обратна връзка:

Re: Гршка при компилиране

Мнение от <GOSH> » 12 Апр 2017, 14:00

Код за потвърждение: Избери целия код

    #include <amxmodx>
    #include <amxmisc>  
    #include <cstrike>
    #include <chatcolor>
    #include <fvault>

    #define MaxLevels 13
    #define IsPlayer(%1) (1 <= %1 <=  g_iMaxPlayers)

    #define ADMIN1 "Server Owner"
    #define ADMIN1_ACCESS ADMIN_LEVEL_A

    #define ADMIN2 "Globalen Admin"
    #define ADMIN2_ACCESS ADMIN_LEVEL_B

    #define ADMIN3 "Globalen Admin"
    #define ADMIN3_ACCESS ADMIN_LEVEL_C

    #define ADMIN4 "Admin"
    #define ADMIN4_ACCESS ADMIN_LEVEL_D

    #define ADMIN5 "SMS Admin"
    #define ADMIN5_ACCESS ADMIN_LEVEL_E

    #define ADMIN6 "V.I.P+"
    #define ADMIN6_ACCESS ADMIN_LEVEL_F

    #define ADMIN7 "V.I.P"
    #define ADMIN7_ACCESS ADMIN_LEVEL_G

    new gMaxPlayers, gMsgSayText, syncObj, Level[33], eXP[33]
    new ranks_hud, knife_xp, he_xp, hs_xp, kill_xp, kill_msg

    new const g_vault_name[] = "levelsz";

new const Levels[MaxLevels] = 
{
    25,
    50, 
    75, 
    100, 
    150, 
    200, 
    250, 
    300,
    400,
    500, 
    600,
    700,
    800
}

new const Prefix[MaxLevels +1][] =
{
    "NEW", 
    "Soldier",
    "Kniffer", 
    "Top Kniffer",
    "Real Kniffer", 
    "Pro Kniffer",
    "The Good Killer",
    "Striker", 
    "God Of War", 
    "Officer",
    "Danger Killer", 
    "HNS Pro",
    "UNDEAD", 
    "VIP"
}

    public plugin_init() 
    {
        register_plugin("Ranks & XP mod", "1.0", "alt.nick")
        
        register_event("DeathMsg","client_death","a") 
        register_clcmd("say", "hook_say")
        register_clcmd("say_team", "hook_say")
        
        register_clcmd("say /rank", "cmdRank")
        register_clcmd("say_team /rank", "cmdRank")
        
        register_clcmd("say /reset", "reset_xp")
        register_clcmd("say_team /reset", "reset_xp")
        
        ranks_hud = register_cvar("ranks_hud", "1")     // Дали да се появява хъд при влизане в сървъра. Включено 1/0 Изключено
        knife_xp = register_cvar("knife_xp", "5")     // Колко ХР да дава за убийство с нож.
        he_xp = register_cvar("he_xp", "5")        // Колко ХР да дава за убийство с Granata (HE).
        hs_xp = register_cvar("hs_xp", "2")        // Колко ХР да дава за убийство с Headshot.
        kill_xp = register_cvar("kill_xp", "1")        // Колко ХР да дава за нормално убийство.    
        kill_msg = register_cvar("kill_msg", "0")    // Дали да показва кой сте убили и колко ХР сте получили. Включено 1/0 Изключено
        
        register_concmd ("amx_give_xp", "CmdAddXP", ADMIN_LEVEL_A, "<nick | ct | t | @all> <xp>")
        
        gMaxPlayers = get_maxplayers()
        gMsgSayText = get_user_msgid("SayText")

        syncObj     = CreateHudSyncObj()
        
        fvault_load(g_vault_name)
    }

    public ShowHud(id) 
    {
        set_hudmessage(142, 239, 39, -1.0, 0.01, 0, 6.0, 1.0, 0.0, 0.0, -1)
        ShowSyncHudMsg(id, syncObj,"Rank: %s ^nXP: %i ^nLevel: %i", Prefix[Level[id]], eXP[id], Level[id])
    }

    public client_putinserver(id)
    {
        if(get_pcvar_num(ranks_hud) == 1)
            set_task(1.0, "ShowHud", id, _, _, "b")
            
        if(Level[id] < MaxLevels-1)
            while(eXP[id] >= Levels[Level[id]])
                Level[id] += 1 
    }

    public client_death(killer, victim, weapon, hitgroup, TK)
    {        
        if(killer == victim)
            return PLUGIN_HANDLED
            
        new Name[20]
        get_user_name(victim, Name, 19)
        new headshot = (hitgroup == HIT_HEAD) ? 1 : 0
        
        if(get_user_team(killer) == 2 && killer != victim)
        {
            switch(weapon) 
            {
                case CSW_HEGRENADE:
                {
                    eXP[killer] += get_pcvar_num(he_xp)
                    CheckLevel(killer)
                    SaveData(killer)
                    if(get_pcvar_num(kill_msg) == 1)
                        client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 %d XP^1 poradi ubiistwoto s^4 HE^1 na ^3%s^1.", get_pcvar_num(he_xp), Name)
                } 
                
                case CSW_KNIFE:
                {
                    eXP[killer] += get_pcvar_num(knife_xp)
                    CheckLevel(killer)
                    SaveData(killer)
                    if(get_pcvar_num(kill_msg) == 1)
                        client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 %d XP^1 poradi ubiistwoto s^4 noj^1 na ^3%s^1.", get_pcvar_num(knife_xp) , Name)
                } 
            }
            
            if(headshot)
            {
                eXP[killer] += get_pcvar_num(hs_xp)
                CheckLevel(killer)
                SaveData(killer)
                if(get_pcvar_num(kill_msg) == 1)
                    client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 2 XP^1 poradi ubiistwoto s^4 HS^1 na ^3%s^1.",get_pcvar_num(hs_xp),  Name)
            }
            else
            {
                eXP[killer] += get_pcvar_num(kill_xp)
                CheckLevel(killer)
                SaveData(killer)
                if(get_pcvar_num(kill_msg) == 1)
                    client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 1 XP^1 poradi ubiistwoto na ^3%s^1.", get_pcvar_num(kill_xp), Name)
            }
        }
        CheckLevel(killer)
        SaveData(killer)
        return PLUGIN_CONTINUE
    }

    public CheckLevel(id)
    {
        if(Level[id] < MaxLevels-1)
            while(eXP[id] >= Levels[Level[id]])
                Level[id] += 1 
    }

    public client_connect(id)
    {
        LoadData(id)
    }


    public client_disconnect(id)
    {
        SaveData(id)
        eXP[id] = 0
        Level[id] = 0
        remove_task(id)
    }
            
    public reset_xp(id)
    {
        if(eXP[id] != 0)
        {
            Level[id] = 0
            eXP[id] = 0
            CheckLevel(id)
            client_print_color(id, print_chat, "^4[Ranks]^1 Yspeshno nulirani washite^4 XP^1 i ^4Level^1.")
        }
        else
            client_print_color(id, print_chat, "^4[Ranks]^1 Washite^4 XP^1 i ^4Level^1 weche sa nulirani.")
    }
            
    public cmdRank(id)
    {
        if(is_user_connected(id))
            client_print_color(id, print_chat, "^4[Ranks]^1 Rank:^4 %s^1 | XP:^4 %d^1 | Level:^4 %d^1.", Prefix[Level[id]], eXP[id], Level[id])
    }
            
    public CmdAddXP (iPlayer, level, cid)
    {
        if(!cmd_access(iPlayer, level, cid, 3)) return PLUGIN_HANDLED;
            
        new arg [32]
        read_argv (1, arg, 31) 
     
        new AddXP [32]
        read_argv (2, AddXP, charsmax (AddXP))
     
        new XPtoGive = str_to_num (AddXP)
            
        new AdminName [32]
        new TargetName [32]
        get_user_name (iPlayer, AdminName, charsmax (AdminName))
            
        if(arg[0]=='@')
        { 
            if(equali(arg[1],"All") || equali(arg[1],"ALL"))
            {
                new players[32], totalplayers, All
                get_players(players, totalplayers)
                 
                for (new i = 0; i < totalplayers; i++)
                {
                    All = players[i]
                            
                    eXP[All] += XPtoGive
                }
                
                CheckLevel(All)
                client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na vsichki ^3igrachi^1!", AdminName, XPtoGive)
            }
            else if(equali(arg[1],"T") || equali(arg[1],"t"))
            {
                new players[32], totalplayers, T
                get_players(players, totalplayers)
                 
                for (new i = 0; i < totalplayers; i++)
                {
                    if (get_user_team(players[i]) == 1)
                    {
                        T = players[i]
                                
                        eXP[T] += XPtoGive
                    }
                }
                
                CheckLevel(T)
                client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na vsichki ^3 Teroristi^1.", AdminName, XPtoGive)
            }
            else if(equali(arg[1],"CT") || equali(arg[1],"ct"))
            {
                new players[32], totalplayers, CT
                get_players(players, totalplayers)
                 
                for(new i = 0; i < totalplayers; i++)
                {
                    if(get_user_team(players[i]) == 2)
                    {
                        CT = players[i]
                                
                        eXP[CT] += XPtoGive
                    }
                }
                
                CheckLevel(CT)
                client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na wsichki ^3 Kontra-Teroristi^1!", AdminName, XPtoGive)
            }
        }
        else
        {
            new iTarget = cmd_target(iPlayer, arg, 3)
            get_user_name (iTarget, TargetName, charsmax (TargetName))
            
            if(iTarget)
            {
                eXP[iTarget] += XPtoGive
                
                CheckLevel(iTarget)
                client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na^3 %s^1.", AdminName, XPtoGive, TargetName)
            }
        }
        return PLUGIN_HANDLED
    }

    bool:IsValidMessage( szMessage[ ], iLen )
    {
        read_args( szMessage, iLen )
        remove_quotes( szMessage )
       
        new iPos, cChar
        while( 0 <= ( cChar = szMessage[ iPos++ ] ) <= 255 )
        {
            if( cChar != ' ' && cChar != '%' )
            {
                return true
            }
        }
       
        return false
    }

    public hook_say(id)
    {
        if(!is_user_connected(id)) 
            return PLUGIN_HANDLED_MAIN
        
        new szArgs[192]
        
        if( !IsValidMessage(szArgs, charsmax(szArgs))) 
            return PLUGIN_HANDLED_MAIN

        if(equal(szArgs,"")) return PLUGIN_HANDLED_MAIN

        
        new szName[32]
        get_user_name(id, szName, sizeof szName-1)

        new alive = is_user_alive(id)

        if(contain(szArgs,"@") >= 0) 
        return  PLUGIN_HANDLED_MAIN
     
        if(get_user_flags(id) & ADMIN1_ACCESS) 
        format(szArgs, 191,"^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN1, Prefix[Level[id]], szName, szArgs)
        
        else if(get_user_flags(id) & ADMIN2_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN2, Prefix[Level[id]], szName, szArgs)
        
        else if(get_user_flags(id) & ADMIN3_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN3, Prefix[Level[id]], szName, szArgs)
        
        else if(get_user_flags(id) & ADMIN4_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN4, Prefix[Level[id]], szName, szArgs)

        else if(get_user_flags(id) & ADMIN5_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN5, Prefix[Level[id]], szName, szArgs)
        
        else if(get_user_flags(id) & ADMIN6_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN6, Prefix[Level[id]], szName, szArgs)

        else if(get_user_flags(id) & ADMIN7_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN7, Prefix[Level[id]], szName, szArgs)
        
        else 
        format(szArgs, 191, "^x04[%s] ^x03%s^x01 :  %s",  Prefix[Level[id]], szName, szArgs)

        for(new i = 1; i <= gMaxPlayers; i++)
        {
            if(!is_user_connected(i))
                continue
        
            if(alive && is_user_alive(i))
            {
                message_begin(MSG_ONE, gMsgSayText, {0, 0, 0}, i)
                write_byte(id)
                write_string(szArgs)
                message_end()
            } 
            else if(!alive && !is_user_alive(i)) 
            {
                new format[192]
                formatex(format,191,"^x01* DEAD %s",szArgs)
                message_begin(MSG_ONE, gMsgSayText, {0, 0, 0}, i)
                write_byte(id)
                write_string(format)
                message_end()
            }
        }
            
        return PLUGIN_HANDLED_MAIN
    }

    public SaveData(id)
    {
        new name[32];
        get_user_name(id,name,31);
        new vaultkey[64],vaultdata[256];
        
        format(vaultkey,63,"%s", name);
        format(vaultdata,255,"%i#%i#",eXP[id],Level[id]);
        fvault_set_data(g_vault_name,vaultkey,vaultdata);
        
        return PLUGIN_CONTINUE;
    }
    public LoadData(id)
    {
        new name[32];
        get_user_name(id,name,31);
        new vaultkey[64],vaultdata[256];
        
        format(vaultkey,63,"%s",name);
        format(vaultdata,255,"%i#%i#",eXP[id],Level[id]);
        fvault_get_data(g_vault_name,vaultkey,vaultdata,charsmax(vaultdata));
        
        replace_all(vaultdata, 255, "#", " ");
        new playerxp[32], playerlevel[32];
        parse(vaultdata, playerxp, 31, playerlevel, 31);
        
        eXP[id] = str_to_num(playerxp);
        Level[id] = str_to_num(playerlevel);
        
        return PLUGIN_CONTINUE;
    }
Готов
Последно промяна от <GOSH> на 12 Апр 2017, 14:27, променено общо 3 пъти.
Special thanks to OciXCrom & NiTriX

Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Re: Гршка при компилиране

Мнение от TheRedShoko » 12 Апр 2017, 14:23

Имената на ранговете трябва да са с 1 повече от XP. 31 XP - 32 ranks.

Аватар
deadlylord
Извън линия
Потребител
Потребител
Мнения: 572
Регистриран на: 04 Апр 2017, 16:35
Местоположение: Бургас, България
Получена благодарност: 2 пъти
Обратна връзка:

Re: Гршка при компилиране

Мнение от deadlylord » 13 Апр 2017, 06:47

Дали ХР ще е 29 30 31 или 1000 не може да се компилира, по-добре, си напиши кода и виж сам

Аватар
Ant1Lamer
Извън линия
Потребител
Потребител
Мнения: 217
Регистриран на: 08 Окт 2016, 00:03
Се отблагодари: 18 пъти
Получена благодарност: 3 пъти

Re: Гршка при компилиране

Мнение от Ant1Lamer » 13 Апр 2017, 10:02

Как все при вас не се компилира ? Човека е написал имената на ранговете трябва да са с 1 повече при мен как се компилира като го направя просто добави тука още един ранк само тука добавяш още едно име другаде не пипаш и ще се компилира

Код за потвърждение: Избери целия код

new const Prefix[MaxLevels +1][] =
    {
        "Novak",
        "Rednik",
        "Efreitor",
        "Matros",
        "Starshi Matros",
        "Mladshi Serjant",
        "Serjant",
        "Starshi Serjant",
        "Starshina III",
        "Starshina II",
        "Starshina I",
        "Glaven Starshina",
        "Mladshi Leitenant",
        "Leitenant",
        "Starshi leitenant",
        "Kapitan III",
        "Kapitan II",
        "Kapitan I",
        "Podpolkovnik",
        "Polkovnik",
        "Brigaden General",
        "Major",
        "General Major",
        "General-Leitenant",
        "General",
        "Kontraadmiral",
        "Viceadmiral",
        "Admiral",
        "Hitler",
        "Supreme Master",
        "The Global Elite"
    }
НАУЧИ ПРАВИЛАТА, ЗА ДА ЗНАЕШ КАК ПОРЯДЪЧНО ДА ГИ НАРУШАВАШ!!!

Аватар
<GOSH>
Извън линия
Потребител
Потребител
Мнения: 66
Регистриран на: 11 Окт 2016, 00:19
Се отблагодари: 1 път
Получена благодарност: 2 пъти
Обратна връзка:

Re: Гршка при компилиране

Мнение от <GOSH> » 13 Апр 2017, 10:05

Защо не може?
Опитай се малко или погледни от тук.

Код за потвърждение: Избери целия код

    #include <amxmodx>
    #include <amxmisc>  
    #include <cstrike>
    #include <chatcolor>
    #include <fvault>

    #define MaxLevels 21
    #define IsPlayer(%1) (1 <= %1 <=  g_iMaxPlayers)

    #define ADMIN1 "Server Owner"
    #define ADMIN1_ACCESS ADMIN_LEVEL_A

    #define ADMIN2 "Globalen Admin"
    #define ADMIN2_ACCESS ADMIN_LEVEL_B

    #define ADMIN3 "Globalen Admin"
    #define ADMIN3_ACCESS ADMIN_LEVEL_C

    #define ADMIN4 "Admin"
    #define ADMIN4_ACCESS ADMIN_LEVEL_D

    #define ADMIN5 "SMS Admin"
    #define ADMIN5_ACCESS ADMIN_LEVEL_E

    #define ADMIN6 "V.I.P+"
    #define ADMIN6_ACCESS ADMIN_LEVEL_F

    #define ADMIN7 "V.I.P"
    #define ADMIN7_ACCESS ADMIN_LEVEL_G

    new gMaxPlayers, gMsgSayText, syncObj, Level[33], eXP[33]
    new ranks_hud, knife_xp, he_xp, hs_xp, kill_xp, kill_msg

    new const g_vault_name[] = "levelsz";

    new const Levels[MaxLevels] = 
    {
		25, 
		50, 
		70,	
		100, 
		130,
		160,
		190,
		220,
		250,
		300,
		350,
		400,
		450,
		500,
		600,
		700,
		800,
		900,
		1000,
		1100,
		1200
    }

    new const Prefix[MaxLevels +1][] =
    {
		"Bronze I", 
		"Bronze II", 
		"Bronze III",	
		"SILVER I", 
		"SILVER II",
		"SILVER III",
		"GOLD I",
		"GOLD II",
		"GOLD III",
		"CRYSTAL I",
		"CRYSTAL II",
		"CRYSTAL III",
		"MASTER I",
		"MASTER II",
		"MASTER III",
		"CHAMPION I",
		"CHAMPION II",
		"CHAMPION III",
		"TITAN I",
		"TITAN II",
		"TITAN III",
		"LEGEND"
    }

    public plugin_init() 
    {
        register_plugin("Ranks & XP mod", "1.0", "alt.nick")
        
        register_event("DeathMsg","client_death","a") 
        register_clcmd("say", "hook_say")
        register_clcmd("say_team", "hook_say")
        
        register_clcmd("say /rank", "cmdRank")
        register_clcmd("say_team /rank", "cmdRank")
        
        register_clcmd("say /reset", "reset_xp")
        register_clcmd("say_team /reset", "reset_xp")
        
        ranks_hud = register_cvar("ranks_hud", "1")     // Дали да се появява хъд при влизане в сървъра. Включено 1/0 Изключено
        knife_xp = register_cvar("knife_xp", "5")     // Колко ХР да дава за убийство с нож.
        he_xp = register_cvar("he_xp", "5")        // Колко ХР да дава за убийство с Granata (HE).
        hs_xp = register_cvar("hs_xp", "2")        // Колко ХР да дава за убийство с Headshot.
        kill_xp = register_cvar("kill_xp", "1")        // Колко ХР да дава за нормално убийство.    
        kill_msg = register_cvar("kill_msg", "0")    // Дали да показва кой сте убили и колко ХР сте получили. Включено 1/0 Изключено
        
        register_concmd ("amx_give_xp", "CmdAddXP", ADMIN_LEVEL_A, "<nick | ct | t | @all> <xp>")
        
        gMaxPlayers = get_maxplayers()
        gMsgSayText = get_user_msgid("SayText")

        syncObj     = CreateHudSyncObj()
        
        fvault_load(g_vault_name)
    }

    public ShowHud(id) 
    {
        set_hudmessage(142, 239, 39, -1.0, 0.01, 0, 6.0, 1.0, 0.0, 0.0, -1)
        ShowSyncHudMsg(id, syncObj,"Rank: %s ^nXP: %i ^nLevel: %i", Prefix[Level[id]], eXP[id], Level[id])
    }

    public client_putinserver(id)
    {
        if(get_pcvar_num(ranks_hud) == 1)
            set_task(1.0, "ShowHud", id, _, _, "b")
            
        if(Level[id] < MaxLevels-1)
            while(eXP[id] >= Levels[Level[id]])
                Level[id] += 1 
    }

    public client_death(killer, victim, weapon, hitgroup, TK)
    {        
        if(killer == victim)
            return PLUGIN_HANDLED
            
        new Name[20]
        get_user_name(victim, Name, 19)
        new headshot = (hitgroup == HIT_HEAD) ? 1 : 0
        
        if(get_user_team(killer) == 2 && killer != victim)
        {
            switch(weapon) 
            {
                case CSW_HEGRENADE:
                {
                    eXP[killer] += get_pcvar_num(he_xp)
                    CheckLevel(killer)
                    SaveData(killer)
                    if(get_pcvar_num(kill_msg) == 1)
                        client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 %d XP^1 poradi ubiistwoto s^4 HE^1 na ^3%s^1.", get_pcvar_num(he_xp), Name)
                } 
                
                case CSW_KNIFE:
                {
                    eXP[killer] += get_pcvar_num(knife_xp)
                    CheckLevel(killer)
                    SaveData(killer)
                    if(get_pcvar_num(kill_msg) == 1)
                        client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 %d XP^1 poradi ubiistwoto s^4 noj^1 na ^3%s^1.", get_pcvar_num(knife_xp) , Name)
                } 
            }
            
            if(headshot)
            {
                eXP[killer] += get_pcvar_num(hs_xp)
                CheckLevel(killer)
                SaveData(killer)
                if(get_pcvar_num(kill_msg) == 1)
                    client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 2 XP^1 poradi ubiistwoto s^4 HS^1 na ^3%s^1.",get_pcvar_num(hs_xp),  Name)
            }
            else
            {
                eXP[killer] += get_pcvar_num(kill_xp)
                CheckLevel(killer)
                SaveData(killer)
                if(get_pcvar_num(kill_msg) == 1)
                    client_print_color(killer, print_chat, "^4[Ranks]^1 poluchihte^4 1 XP^1 poradi ubiistwoto na ^3%s^1.", get_pcvar_num(kill_xp), Name)
            }
        }
        CheckLevel(killer)
        SaveData(killer)
        return PLUGIN_CONTINUE
    }

    public CheckLevel(id)
    {
        if(Level[id] < MaxLevels-1)
            while(eXP[id] >= Levels[Level[id]])
                Level[id] += 1 
    }

    public client_connect(id)
    {
        LoadData(id)
    }


    public client_disconnect(id)
    {
        SaveData(id)
        eXP[id] = 0
        Level[id] = 0
        remove_task(id)
    }
            
    public reset_xp(id)
    {
        if(eXP[id] != 0)
        {
            Level[id] = 0
            eXP[id] = 0
            CheckLevel(id)
            client_print_color(id, print_chat, "^4[Ranks]^1 Yspeshno nulirani washite^4 XP^1 i ^4Level^1.")
        }
        else
            client_print_color(id, print_chat, "^4[Ranks]^1 Washite^4 XP^1 i ^4Level^1 weche sa nulirani.")
    }
            
    public cmdRank(id)
    {
        if(is_user_connected(id))
            client_print_color(id, print_chat, "^4[Ranks]^1 Rank:^4 %s^1 | XP:^4 %d^1 | Level:^4 %d^1.", Prefix[Level[id]], eXP[id], Level[id])
    }
            
    public CmdAddXP (iPlayer, level, cid)
    {
        if(!cmd_access(iPlayer, level, cid, 3)) return PLUGIN_HANDLED;
            
        new arg [32]
        read_argv (1, arg, 31) 
     
        new AddXP [32]
        read_argv (2, AddXP, charsmax (AddXP))
     
        new XPtoGive = str_to_num (AddXP)
            
        new AdminName [32]
        new TargetName [32]
        get_user_name (iPlayer, AdminName, charsmax (AdminName))
            
        if(arg[0]=='@')
        { 
            if(equali(arg[1],"All") || equali(arg[1],"ALL"))
            {
                new players[32], totalplayers, All
                get_players(players, totalplayers)
                 
                for (new i = 0; i < totalplayers; i++)
                {
                    All = players[i]
                            
                    eXP[All] += XPtoGive
                }
                
                CheckLevel(All)
                client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na vsichki ^3igrachi^1!", AdminName, XPtoGive)
            }
            else if(equali(arg[1],"T") || equali(arg[1],"t"))
            {
                new players[32], totalplayers, T
                get_players(players, totalplayers)
                 
                for (new i = 0; i < totalplayers; i++)
                {
                    if (get_user_team(players[i]) == 1)
                    {
                        T = players[i]
                                
                        eXP[T] += XPtoGive
                    }
                }
                
                CheckLevel(T)
                client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na vsichki ^3 Teroristi^1.", AdminName, XPtoGive)
            }
            else if(equali(arg[1],"CT") || equali(arg[1],"ct"))
            {
                new players[32], totalplayers, CT
                get_players(players, totalplayers)
                 
                for(new i = 0; i < totalplayers; i++)
                {
                    if(get_user_team(players[i]) == 2)
                    {
                        CT = players[i]
                                
                        eXP[CT] += XPtoGive
                    }
                }
                
                CheckLevel(CT)
                client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na wsichki ^3 Kontra-Teroristi^1!", AdminName, XPtoGive)
            }
        }
        else
        {
            new iTarget = cmd_target(iPlayer, arg, 3)
            get_user_name (iTarget, TargetName, charsmax (TargetName))
            
            if(iTarget)
            {
                eXP[iTarget] += XPtoGive
                
                CheckLevel(iTarget)
                client_print_color(0, print_chat, "^4[Ranks]^1 ^3%s^1 dade^3 %i^1 XP na^3 %s^1.", AdminName, XPtoGive, TargetName)
            }
        }
        return PLUGIN_HANDLED
    }

    bool:IsValidMessage( szMessage[ ], iLen )
    {
        read_args( szMessage, iLen )
        remove_quotes( szMessage )
       
        new iPos, cChar
        while( 0 <= ( cChar = szMessage[ iPos++ ] ) <= 255 )
        {
            if( cChar != ' ' && cChar != '%' )
            {
                return true
            }
        }
       
        return false
    }

    public hook_say(id)
    {
        if(!is_user_connected(id)) 
            return PLUGIN_HANDLED_MAIN
        
        new szArgs[192]
        
        if( !IsValidMessage(szArgs, charsmax(szArgs))) 
            return PLUGIN_HANDLED_MAIN

        if(equal(szArgs,"")) return PLUGIN_HANDLED_MAIN

        
        new szName[32]
        get_user_name(id, szName, sizeof szName-1)

        new alive = is_user_alive(id)

        if(contain(szArgs,"@") >= 0) 
        return  PLUGIN_HANDLED_MAIN
     
        if(get_user_flags(id) & ADMIN1_ACCESS) 
        format(szArgs, 191,"^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN1, Prefix[Level[id]], szName, szArgs)
        
        else if(get_user_flags(id) & ADMIN2_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN2, Prefix[Level[id]], szName, szArgs)
        
        else if(get_user_flags(id) & ADMIN3_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN3, Prefix[Level[id]], szName, szArgs)
        
        else if(get_user_flags(id) & ADMIN4_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN4, Prefix[Level[id]], szName, szArgs)

        else if(get_user_flags(id) & ADMIN5_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN5, Prefix[Level[id]], szName, szArgs)
        
        else if(get_user_flags(id) & ADMIN6_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN6, Prefix[Level[id]], szName, szArgs)

        else if(get_user_flags(id) & ADMIN7_ACCESS) 
        format(szArgs, 191, "^x04[%s] [%s] ^x03%s^x01 :^x04  %s", ADMIN7, Prefix[Level[id]], szName, szArgs)
        
        else 
        format(szArgs, 191, "^x04[%s] ^x03%s^x01 :  %s",  Prefix[Level[id]], szName, szArgs)

        for(new i = 1; i <= gMaxPlayers; i++)
        {
            if(!is_user_connected(i))
                continue
        
            if(alive && is_user_alive(i))
            {
                message_begin(MSG_ONE, gMsgSayText, {0, 0, 0}, i)
                write_byte(id)
                write_string(szArgs)
                message_end()
            } 
            else if(!alive && !is_user_alive(i)) 
            {
                new format[192]
                formatex(format,191,"^x01* DEAD %s",szArgs)
                message_begin(MSG_ONE, gMsgSayText, {0, 0, 0}, i)
                write_byte(id)
                write_string(format)
                message_end()
            }
        }
            
        return PLUGIN_HANDLED_MAIN
    }

    public SaveData(id)
    {
        new name[32];
        get_user_name(id,name,31);
        new vaultkey[64],vaultdata[256];
        
        format(vaultkey,63,"%s", name);
        format(vaultdata,255,"%i#%i#",eXP[id],Level[id]);
        fvault_set_data(g_vault_name,vaultkey,vaultdata);
        
        return PLUGIN_CONTINUE;
    }
    public LoadData(id)
    {
        new name[32];
        get_user_name(id,name,31);
        new vaultkey[64],vaultdata[256];
        
        format(vaultkey,63,"%s",name);
        format(vaultdata,255,"%i#%i#",eXP[id],Level[id]);
        fvault_get_data(g_vault_name,vaultkey,vaultdata,charsmax(vaultdata));
        
        replace_all(vaultdata, 255, "#", " ");
        new playerxp[32], playerlevel[32];
        parse(vaultdata, playerxp, 31, playerlevel, 31);
        
        eXP[id] = str_to_num(playerxp);
        Level[id] = str_to_num(playerlevel);
        
        return PLUGIN_CONTINUE;
    }
Този е със 21-левел.
Special thanks to OciXCrom & NiTriX

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Помощ в скриптирането”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 10 госта