Проблем с Ranks-Admin prefix - плъгин

В този раздел можете да задавате всякакви въпроси свързани със самата игра или сървъри за нея в случай, че въпросът ви не се отнася за AMXX.
Правила на форума
ВАЖНО

В този раздел се пускат теми само и единствено свързани с играта или сървъри за нея в случай, че темата не се отнася за AMXX. Ако темата ви е свързана с AMXX или плъгини за AMXX, пуснете я в този раздел.
Аватар
LuciFeR
Извън линия
Потребител
Потребител
Мнения: 154
Регистриран на: 03 Яну 2017, 11:47
Се отблагодари: 3 пъти
Получена благодарност: 2 пъти

Проблем с Ranks-Admin prefix - плъгин

Мнение от LuciFeR » 17 Окт 2017, 21:18

Ползвам този плъгин .. но нещо не ми тръгва ето снимка:
https://imgur.com/0EEnFLs - На REHLDS съм. Моля помогнете ми :tnx:

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

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

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

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] = 
{
    0,
    15, 
    30, 
    50, 
    100, 
    200, 
    300, 
    400,
    550,
    600, 
    750,
    850,
    950,
    1000,
    1100,
    1200,
    1300,
    1400,
    1600
}

new const Prefix[MaxLevels][] =
{
    "[Jumper #3]", 
    "[Jumper #2]",
    "[Jumper #1]", 
    "[Great Jumper]",
    "[Runner]", 
    "[Perfect]",
    "[LJ Master]",
    "[GS Master]", 
    "[Bhopper]", 
    "[Great Bhopper]",
    "[Maniac]", 
    "[Unstoppable]",
    "[Monster]", 
    "[Godlike]",
    "[Animal]",
    "[Ninja]",
    "[HNS]",
    "[HNS MANIAC]",
    "[Machine]"
}


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", "4")     // Êîëêî ÕÐ äà äàâà çà óáèéñòâî ñ íîæ.
    he_xp = register_cvar("he_xp", "1")        // Êîëêî ÕÐ äà äàâà çà óáèéñòâî ñ Granata (HE).
    hs_xp = register_cvar("hs_xp", "3")        // Êîëêî ÕÐ äà äàâà çà óáèéñòâî ñ Headshot.
    kill_xp = register_cvar("kill_xp", "1")        // Êîëêî ÕÐ äà äàâà çà íîðìàëíî óáèéñòâî.    
    kill_msg = register_cvar("kill_msg", "1")    // Äàëè äà ïîêàçâà êîé ñòå óáèëè è êîëêî ÕÐ ñòå ïîëó÷èëè. Âêëþ÷åíî 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
 
    format(szArgs, 191, "^x04[^x03%s^x04] ^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;
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1251\\ deff0\\ deflang1026{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/ 
We are Anonymous
We are Legion
We Fight Corruption
We Fight for The Truth
We Fight for Freedom
We Do NOT Forgive
We Do NOT Forget

EXPECT US!

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Проблем с Ranks-Admin prefix - плъгин

Мнение от OciXCrom » 17 Окт 2017, 21:22

При стартиране на сървъра ще покаже защо не е тръгнал, тъй че копирай тази грешка. Ако не си го компилирал локално - това е проблемът.

Аватар
LuciFeR
Извън линия
Потребител
Потребител
Мнения: 154
Регистриран на: 03 Яну 2017, 11:47
Се отблагодари: 3 пъти
Получена благодарност: 2 пъти

Проблем с Ranks-Admin prefix - плъгин

Мнение от LuciFeR » 17 Окт 2017, 21:26

Когато стартирам сървъра не ми излиза никаква грешка ... Компилирах плъгина в един сайт и ми го къмпилира без грешки но сега се пробвах да го компилирам локално и ето го резултата :huh:

Изображение
We are Anonymous
We are Legion
We Fight Corruption
We Fight for The Truth
We Fight for Freedom
We Do NOT Forgive
We Do NOT Forget

EXPECT US!

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Проблем с Ranks-Admin prefix - плъгин

Мнение от OciXCrom » 17 Окт 2017, 21:35

Затова не се компилира в сайтове, а локално. В сайта даже не изкарва, че има проблем, и ти дава неработещ плъгин. Прочети тази тема (текстът в червеното квадратче).

Аватар
LuciFeR
Извън линия
Потребител
Потребител
Мнения: 154
Регистриран на: 03 Яну 2017, 11:47
Се отблагодари: 3 пъти
Получена благодарност: 2 пъти

Проблем с Ranks-Admin prefix - плъгин

Мнение от LuciFeR » 17 Окт 2017, 21:42

Всички библиотеки ги имам:

amxmodx
amxmisc
cstrike
chatcolor
fvault

И пак ми дава тази грешка :headbang:

Изображение
We are Anonymous
We are Legion
We Fight Corruption
We Fight for The Truth
We Fight for Freedom
We Do NOT Forgive
We Do NOT Forget

EXPECT US!

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Проблем с Ranks-Admin prefix - плъгин

Мнение от OciXCrom » 17 Окт 2017, 21:56

Грешката ти казва, че файлът "chatcolor.inc" не е добавен в "scripting/include". Няма как да показва това ако файлът е там. Провери внимателно. Предостави и снимка, на която се вижда файлът в папката ако искаш.

Аватар
LuciFeR
Извън линия
Потребител
Потребител
Мнения: 154
Регистриран на: 03 Яну 2017, 11:47
Се отблагодари: 3 пъти
Получена благодарност: 2 пъти

Проблем с Ranks-Admin prefix - плъгин

Мнение от LuciFeR » 17 Окт 2017, 22:01

Смених библиотеката и сега ми излиза друга грешка:

Изображение
We are Anonymous
We are Legion
We Fight Corruption
We Fight for The Truth
We Fight for Freedom
We Do NOT Forgive
We Do NOT Forget

EXPECT US!

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Проблем с Ranks-Admin prefix - плъгин

Мнение от OciXCrom » 17 Окт 2017, 22:09

Няма да стане с тази библиотека. Редактирах го с cromchat.

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

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

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

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] = 
{
    0,
    15, 
    30, 
    50, 
    100, 
    200, 
    300, 
    400,
    550,
    600, 
    750,
    850,
    950,
    1000,
    1100,
    1200,
    1300,
    1400,
    1600
}

new const Prefix[MaxLevels][] =
{
    "[Jumper #3]", 
    "[Jumper #2]",
    "[Jumper #1]", 
    "[Great Jumper]",
    "[Runner]", 
    "[Perfect]",
    "[LJ Master]",
    "[GS Master]", 
    "[Bhopper]", 
    "[Great Bhopper]",
    "[Maniac]", 
    "[Unstoppable]",
    "[Monster]", 
    "[Godlike]",
    "[Animal]",
    "[Ninja]",
    "[HNS]",
    "[HNS MANIAC]",
    "[Machine]"
}


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", "4")     // Êîëêî ÕÐ äà äàâà çà óáèéñòâî ñ íîæ.
    he_xp = register_cvar("he_xp", "1")        // Êîëêî ÕÐ äà äàâà çà óáèéñòâî ñ Granata (HE).
    hs_xp = register_cvar("hs_xp", "3")        // Êîëêî ÕÐ äà äàâà çà óáèéñòâî ñ Headshot.
    kill_xp = register_cvar("kill_xp", "1")        // Êîëêî ÕÐ äà äàâà çà íîðìàëíî óáèéñòâî.    
    kill_msg = register_cvar("kill_msg", "1")    // Äàëè äà ïîêàçâà êîé ñòå óáèëè è êîëêî ÕÐ ñòå ïîëó÷èëè. Âêëþ÷åíî 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)
                    CC_SendMessage(killer, "&x04[Ranks]&x01 poluchihte&x04 %d XP&x01 poradi ubiistwoto s&x04 HE&x01 na &x03%s&x01.", 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)
                    CC_SendMessage(killer, "&x04[Ranks]&x01 poluchihte&x04 %d XP&x01 poradi ubiistwoto s&x04 noj&x01 na &x03%s&x01.", 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)
                CC_SendMessage(killer, "&x04[Ranks]&x01 poluchihte&x04 2 XP&x01 poradi ubiistwoto s&x04 HS&x01 na &x03%s&x01.",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)
                CC_SendMessage(killer, "&x04[Ranks]&x01 poluchihte&x04 1 XP&x01 poradi ubiistwoto na &x03%s&x01.", 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)
        CC_SendMessage(id, "&x04[Ranks]&x01 Yspeshno nulirani washite&x04 XP&x01 i &x04Level&x01.")
    }
    else
        CC_SendMessage(id, "&x04[Ranks]&x01 Washite&x04 XP&x01 i &x04Level&x01 weche sa nulirani.")
}
        
public cmdRank(id)
{
    if(is_user_connected(id))
        CC_SendMessage(id, "&x04[Ranks]&x01 Rank:&x04 %s&x01 | XP:&x04 %d&x01 | Level:&x04 %d&x01.", 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)
            CC_SendMessage(0, "&x04[Ranks]&x01 &x03%s&x01 dade&x03 %i&x01 XP na vsichki &x03igrachi&x01!", 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)
            CC_SendMessage(0, "&x04[Ranks]&x01 &x03%s&x01 dade&x03 %i&x01 XP na vsichki &x03 Teroristi&x01.", 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)
            CC_SendMessage(0, "&x04[Ranks]&x01 &x03%s&x01 dade&x03 %i&x01 XP na wsichki &x03 Kontra-Teroristi&x01!", AdminName, XPtoGive)
        }
    }
    else
    {
        new iTarget = cmd_target(iPlayer, arg, 3)
        get_user_name (iTarget, TargetName, charsmax (TargetName))
        
        if(iTarget)
        {
            eXP[iTarget] += XPtoGive
            
            CheckLevel(iTarget)
            CC_SendMessage(0, "&x04[Ranks]&x01 &x03%s&x01 dade&x03 %i&x01 XP na&x03 %s&x01.", 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
 
    format(szArgs, 191, "^x04[^x03%s^x04] ^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;
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1251\\ deff0\\ deflang1026{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/ 

Аватар
LuciFeR
Извън линия
Потребител
Потребител
Мнения: 154
Регистриран на: 03 Яну 2017, 11:47
Се отблагодари: 3 пъти
Получена благодарност: 2 пъти

Проблем с Ranks-Admin prefix - плъгин

Мнение от LuciFeR » 17 Окт 2017, 22:18

Сега плъгина работи но чата в сървъра ми стана двоен

Изображение
We are Anonymous
We are Legion
We Fight Corruption
We Fight for The Truth
We Fight for Freedom
We Do NOT Forgive
We Do NOT Forget

EXPECT US!

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Проблем с Ranks-Admin prefix - плъгин

Мнение от OciXCrom » 17 Окт 2017, 22:30

Много ясно, щом ползваш два различни плъгина за чата.

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

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

Кой е на линия

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