voteban

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

voteban

Post by laimiukas3 »

ar galima kazkaip padaryti kad steamed zaideju negalima butu votebanint :) paciam nelabai gaunasi

Code: Select all

#include <amxmodx>#include <amxmisc>#include <colorchat> #define MAX_players 32#define MAX_menudata 1024 new ga_PlayerName[MAX_players][32]new ga_PlayerAuthID[MAX_players][35]new ga_PlayerID[MAX_players]new ga_PlayerIP[MAX_players][16]new ga_MenuData[MAX_menudata]new ga_Choice[2]new gi_VoteStarternew gi_MenuPositionnew gi_Sellectionnew gi_TotalPlayersnew gi_SysTimeOffset = 0new i//pcvarsnew gi_LastTimenew gi_DelayTimenew gf_Rationew gf_MinVotersnew gf_BF_Rationew gi_BanTimenew gi_Disablenew gi_BanTypenew gi_BanReasonnew banReasonCvar[32]  public plugin_init(){  register_plugin("voteban menu","1.2","hjvl")  register_clcmd("say /vtb","SayIt" )  register_clcmd("say /voteban","SayIt" )  register_clcmd("say voteban","SayIt" )  register_clcmd("say_team /voteban","SayIt" )  register_clcmd("say_tam voteban","SayIt" )  register_menucmd(register_menuid("ChoosePlayer"), 1023, "ChooseMenu")  register_menucmd(register_menuid("VoteMenu"), 1023, "CountVotes")   gi_LastTime=register_cvar("amx_voteban_lasttime","0")  gi_DelayTime=register_cvar("amxx_voteban_delaytime","600")  gf_Ratio=register_cvar("amxx_voteban_ratio","0.50")  gf_MinVoters=register_cvar("amxx_voteban_minvoters","0.0")  gf_BF_Ratio=register_cvar("amxx_voteban_bf_ratio","0.0")  gi_BanTime=register_cvar("amxx_voteban_bantime","30")  gi_Disable=register_cvar("amxx_voteban_disable","0")  gi_BanType=register_cvar("amxx_voteban_type","2")  gi_BanReason=register_cvar("amxx_voteban_reason","VoteBan")}  public SayIt(id){  if(get_pcvar_num(gi_Disable))  {    ColorChat(id, RED, "^x01[^x04AMXX^x01] ^x03 amx_votaban disabled!")    return 0  }  /* Čia mano įdėtas kodas */  if(YraAdmin())  {    ColorChat(id, RED, "^x01[^x04AMXX^x01] ^x03 There is an admin online!")    return 0  }   new Elapsed=get_systime(gi_SysTimeOffset) - get_pcvar_num(gi_LastTime)  new Delay=get_pcvar_num(gi_DelayTime)   if( (Delay > Elapsed) && !is_user_admin(id) )  {    new seconds = Delay - Elapsed    ColorChat(id, RED, "^x01[^x04AMXX^x01] ^x01 You have to wait ^x03 %d seconds ^x01 before a new voteban can be started!", seconds)    return 0  }   get_players( ga_PlayerID, gi_TotalPlayers )  /* Šitas for ciklas man neaiškus, ištryniau tą nereikalingą tikrinimą, o toliau biški patingėsiu gilintis, ar reikia trinti */  for(i=0; i<gi_TotalPlayers; i++)  {    new TempID = ga_PlayerID[i]     if(TempID == id)      gi_VoteStarter=TempID     get_user_name( TempID, ga_PlayerName[i], 31 )    get_user_authid( TempID, ga_PlayerAuthID[i], 34 )    get_user_ip( TempID, ga_PlayerIP[i], 15, 1 )  }   gi_MenuPosition = 0  ShowPlayerMenu(id)  return 0}stock YraAdmin() {    new players[32], num    get_players(players, num)    if(num > 0)    {        for(new i; i < num; i++) {            if(get_user_flags(players[i]) & ADMIN_BAN) // Flagą gali pasikeisti, nežinau kokio reikia                return true;        }    }    return false;} public ShowPlayerMenu(id){    new arrayloc = 0    new keys = (1<<9)     arrayloc = format(ga_MenuData,(MAX_menudata-1),"VoteBan Menu ^n")    for(i=0;i<8;i++)     if( gi_TotalPlayers>(gi_MenuPosition+i))   {     new addmin = get_user_index(ga_PlayerName[gi_MenuPosition+i])     if(is_user_admin(addmin))     {     arrayloc += format(ga_MenuData[arrayloc],(MAX_menudata-1-arrayloc),"\y%d.\w%s \y[\wVIP\y]^n",i+1,ga_PlayerName[gi_MenuPosition+i])     keys |= (1<<i)    }     else     {     arrayloc += format(ga_MenuData[arrayloc],(MAX_menudata-1-arrayloc),"\y%d.\w%s^n",i+1,ga_PlayerName[gi_MenuPosition+i])     keys |= (1<<i)   }  }    if( gi_TotalPlayers>(gi_MenuPosition+8))  {    arrayloc += format(ga_MenuData[arrayloc],(MAX_menudata-1-arrayloc),"^n9. More")    keys |= (1<<8)   }    arrayloc += format(ga_MenuData[arrayloc],(MAX_menudata-1-arrayloc),"^n0. Back/Exit")     show_menu(id,keys,ga_MenuData,20,"ChoosePlayer")    return PLUGIN_HANDLED} public ChooseMenu(id,key){  switch(key)  {    case 8:    {      gi_MenuPosition=gi_MenuPosition+8      ShowPlayerMenu(id)    }    case 9:    {      if(gi_MenuPosition>=8)      {        gi_MenuPosition=gi_MenuPosition-8        ShowPlayerMenu(id)      }      else        return 0    }    default:    {      gi_Sellection=gi_MenuPosition+key      new admin = get_user_index(ga_PlayerName[gi_Sellection])            if(is_user_steam(admin))      {        ColorChat(id, RED, "[VOTEBAN] ^x04%s ^x03Player steamed!", ga_PlayerName[gi_Sellection])      }else if(get_user_flags(admin) & ADMIN_LEVEL_H){        ColorChat(id, RED, "[VOTEBAN] ^x04%s ^x03ADMIN!", ga_PlayerName[gi_Sellection])        run_vote()      return 0    }  }  return PLUGIN_HANDLED} public run_vote(){  log_amx("Vote ban started by %s for %s %s", ga_PlayerName[gi_VoteStarter], ga_PlayerName[gi_Sellection], ga_PlayerAuthID[gi_Sellection])  format(ga_MenuData,(MAX_menudata-1),"Ban %s For %d Minutes?^n1. Yes^n2. No",ga_PlayerName[gi_Sellection], get_pcvar_num(gi_BanTime))  ga_Choice[0] = 0  ga_Choice[1] = 0  show_menu( 0, (1<<0)|(1<<1), ga_MenuData, 15, "VoteMenu" )  set_task(15.0,"outcom")  return 0} public CountVotes(id, key){  ++ga_Choice[key]  return PLUGIN_HANDLED} public outcom(){  new TotalVotes = ga_Choice[0] + ga_Choice[1]  new Float:result = (float(ga_Choice[0]) / float(TotalVotes))   if( get_pcvar_float(gf_MinVoters) >= ( float(TotalVotes) / float(gi_TotalPlayers) ) )  {    ColorChat(0, RED, "^x01[^x04AMXX^x01] ^x01 Not enough voters to ban ^x04 %s!", ga_PlayerName[gi_Sellection])    return 0  }  else  {    if( result < get_pcvar_float(gf_BF_Ratio) )    {      ColorChat(0, RED, "^x01[^x04AMXX^x01] ^x01 The vote back fired ^x04 at! %s ^x01 he is banned for ^x04 %d minutes!^x01", ga_PlayerName[gi_VoteStarter], get_pcvar_num(gi_BanTime))      ActualBan(gi_VoteStarter)      log_amx("[AMXX] The vote back fired at %s, he is banned for %d minutes", ga_PlayerName[gi_VoteStarter], get_pcvar_num(gi_BanTime))    }     if( result >= get_pcvar_float(gf_Ratio) )    {      ColorChat(0, RED, "^x01[^x04AMXX^x01] ^x01 The vote succeeded, ^x04 at! %s ^x01 is banned for ^x04 %d minutes!^x01", ga_PlayerName[gi_Sellection], get_pcvar_num(gi_BanTime))      log_amx("[AMXX] The vote succeeded: %s is banned for %d minutes", ga_PlayerAuthID[gi_Sellection], get_pcvar_num(gi_BanTime))      ActualBan(gi_Sellection)    }    else    {      ColorChat(0, RED, "^x01[^x04AMXX^x01] ^x03 The vote did not succeeded!")      log_amx("[AMXX] The voteban dit not sucseed.")    }  }  ColorChat(0, RED, "^x01[^x04AMXX^x01] ^x01 A total of: ^x04 %d players, ^x04 %d ^x01 voted yes. ^x03 uz!", gi_TotalPlayers, ga_Choice[0])   return 0} public ActualBan(Selected){  new Type = get_pcvar_num(gi_BanType)  switch(Type)  {    case 1:      server_cmd("addip %d %s", get_pcvar_num(gi_BanTime), ga_PlayerIP[Selected])    case 2:      server_cmd("amx_ban %d %s voteban", get_pcvar_num(gi_BanTime), ga_PlayerAuthID[Selected])    case 3: {      get_pcvar_string(gi_BanReason, banReasonCvar, charsmax(banReasonCvar))      server_cmd("amx_bancs ^"%s^" %d ^"%s^"", ga_PlayerName[Selected], get_pcvar_num(gi_BanTime), banReasonCvar)    }    default:      server_cmd("banid %d %s kick", get_pcvar_num(gi_BanTime), ga_PlayerAuthID[Selected])  }  return 0} stock bool:is_user_steam(id){    static dp_pointer;       if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))    {        server_cmd("dp_clientinfo %d", id);        server_exec();        return (get_pcvar_num(dp_pointer) == 2) ? true : false;    }       new szAuthid[34];    get_user_authid(id, szAuthid, charsmax(szAuthid));       return (containi(szAuthid, "LAN") < 0);}  
Attachments
voteban[1].sma
SMA KURIO DAR NESUGADINES
(6.88 KiB) Downloaded 614 times
Image
Image
Image

User avatar
ArtHa123
Flooderis arba specialistas
Posts: 738
Joined: 2014 Feb 19 18:40

Re: voteban

Post by ArtHa123 »

Code: Select all

#include <amxmodx>#include <amxmisc> #define PLUGIN "Vote Ban"#define VERSION "1.0"#define AUTHOR "Alka" #define MAX_PLAYERS 33 #define MENU_KEYS (1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6 | 1<<7 | 1<<8 | 1<<9)#define MENU_SLOTS 8 new g_iMenuPage[MAX_PLAYERS];new g_iVotedPlayers[MAX_PLAYERS];new g_iVotes[MAX_PLAYERS];new g_szVoteReason[MAX_PLAYERS][64]; new g_iPlayers[MAX_PLAYERS - 1];new g_iNum;new bool:steam[33] enum{    CVAR_PERCENT = 0,    CVAR_BANTYPE,    CVAR_BANTIME}; new g_szCvarName[][] ={    "voteban_percent",    "voteban_type",    "voteban_time"};new g_szCvarValue[][] ={    "60",    "1",    "100"}; new g_iPcvar[3];new g_szLogFile[64]; public plugin_init(){    register_plugin(PLUGIN, VERSION, AUTHOR);     register_saycmd("voteban", "Cmd_VoteBan", -1, "");    register_clcmd("_voteban_reason", "Cmd_VoteBanReason", -1, "");     register_menucmd(register_menuid("\dVO\yTE\rBANP"), MENU_KEYS, "Menu_VoteBan");     for(new i = 0 ; i < 3 ; i++)    {        g_iPcvar[i] = register_cvar(g_szCvarName[i], g_szCvarValue[i]);    }     new szLogInfo[] = "amx_logdir";    get_localinfo(szLogInfo, g_szLogFile, charsmax(g_szLogFile));    add(g_szLogFile, charsmax(g_szLogFile), "/voteban");     if(!dir_exists(g_szLogFile))        mkdir(g_szLogFile);     new szTime[32];    get_time("%d-%m-%Y", szTime, charsmax(szTime));    format(g_szLogFile, charsmax(g_szLogFile), "%s/%s.log", g_szLogFile, szTime);} public client_disconnect(id){    if(g_iVotedPlayers[id])    {        get_players(g_iPlayers, g_iNum, "h");         for(new i = 0 ; i < g_iNum ; i++)        {            if(g_iVotedPlayers[id] & (1 << g_iPlayers[i]))            {                g_iVotes[g_iPlayers[i]]--;            }        }        g_iVotedPlayers[id] = 0;    }} public Cmd_VoteBan(id){    get_players(g_iPlayers, g_iNum, "h");     if(g_iNum < 3)    {        ChatColor(id, "^1[^4.::VOTEBAN::.^1]^3 Komanda negalima, reikia bent^4 3^3 zaideju.");        return PLUGIN_HANDLED;    }    ShowBanMenu(id, g_iMenuPage[id] = 0);    return PLUGIN_CONTINUE;} public ShowBanMenu(id, iPos){    static i, iPlayer, szName[32];    static szMenu[256], iCurrPos; iCurrPos = 0;    static iStart, iEnd; iStart = iPos * MENU_SLOTS;    static iKeys;     get_players(g_iPlayers, g_iNum, "h");     if(iStart >= g_iNum)    {        iStart = iPos = g_iMenuPage[id] = 0;    }     static iLen;    iLen = formatex(szMenu, charsmax(szMenu), "\dVO\yTE\rBAN:^n^n");     iEnd = iStart + MENU_SLOTS;    iKeys = MENU_KEY_0;     if(iEnd > g_iNum)    {        iEnd = g_iNum;    }     for(i = iStart ; i < iEnd ; i++)    {        iPlayer = g_iPlayers[i];        get_user_name(iPlayer, szName, charsmax(szName));         iKeys |= (1 << iCurrPos++);        iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r%d\w.%s \d(\r%d%%\d)^n", iCurrPos, szName, get_percent(g_iVotes[iPlayer], g_iNum));    }     if(iEnd != g_iNum)    {        formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r9\w.Kitas ^n\r0\w.%s", iPos ? "Toliau" : "Isejimas");        iKeys |= MENU_KEY_9;    }    else    {        formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r0\w.%s", iPos ? "Toliau" : "Isejimas");    }    show_menu(id, iKeys, szMenu, -1, "");    return PLUGIN_HANDLED;} public Menu_VoteBan(id, key){    switch(key)    {        case 8:        {            ShowBanMenu(id, ++g_iMenuPage[id]);        }        case 9:        {            if(!g_iMenuPage[id])                return PLUGIN_HANDLED;             ShowBanMenu(id, --g_iMenuPage[id]);        }        default:        {            static iPlayer;            iPlayer = g_iPlayers[g_iMenuPage[id] * MENU_SLOTS + key];             if(!is_user_connected(iPlayer))            {                ShowBanMenu(id, g_iMenuPage[id]);                return PLUGIN_HANDLED;            }                        if(YraAdmin())            {                ChatColor(id, "^1[^4.::VOTEBAN::.^1]^3 Siuo metu serveryje yra^4 ADMIN");                return PLUGIN_HANDLED;            }             steam[iPlayer] = (is_user_steam(iPlayer))             if(steam[iPlayer])            {                ChatColor(id, "^1[^4.::VOTEBAN::.^1]^3 Sis zaidejas yra^4 STEAM.");                ShowBanMenu(id, g_iMenuPage[id]);                return PLUGIN_HANDLED;            }             if(iPlayer == id)            {                ChatColor(id, "^1[^4.::VOTEBAN::.^1]^3 Komanda negalima, balsuoti uz save - draudziama.");                ShowBanMenu(id, g_iMenuPage[id]);                 return PLUGIN_HANDLED;            }                        if(g_iVotedPlayers[id] & (1 << iPlayer))            {                ChatColor(id, "^1[^4.::VOTEBAN::.^1]^3 Uz si zaideja jus jau balsavote.");                ShowBanMenu(id, g_iMenuPage[id]);                return PLUGIN_HANDLED;            }                        g_iVotes[iPlayer]++;            g_iVotedPlayers[id] |= (1 << iPlayer);             static szName[2][32];            get_user_name(id, szName[0], charsmax(szName[]));            get_user_name(iPlayer, szName[1], charsmax(szName[]));                        ChatColor(0, "^1[^4.::VOTEBAN::.^1]^3 Zaidejas^1 %s^3 siulo uzbaninti^1 %s", szName[0], szName[1]);                        CheckVotes(iPlayer, id);            client_cmd(id, "messagemode _voteban_reason");                        ShowBanMenu(id, g_iMenuPage[id]);        }    }    return PLUGIN_HANDLED;} public Cmd_VoteBanReason(id){    if(!g_iVotedPlayers[id])        return PLUGIN_HANDLED;     new szArgs[64];    read_argv(1, szArgs, charsmax(szArgs));        if(szArgs[0])    {        formatex(g_szVoteReason[id], charsmax(g_szVoteReason[]), szArgs);    }    return PLUGIN_HANDLED;} public CheckVotes(id, voter){    get_players(g_iPlayers, g_iNum, "h");    new iPercent = get_percent(g_iVotes[id], g_iNum);     if(iPercent >= get_pcvar_num(g_iPcvar[CVAR_PERCENT]))    {        switch(get_pcvar_num(g_iPcvar[CVAR_BANTYPE]))        {            case 1:            {                // AMXBANS                new szName[32];                get_user_name(id, szName, charsmax(szName));                server_cmd("amx_ban %d ^"%s^" ^"Uzbanintas serverio zaideju. Voteban.^"", get_pcvar_num(g_iPcvar[CVAR_BANTIME]), szName);            }                        case 2:            {                // DEFAULT                new szName[32];                get_user_name(id, szName, charsmax(szName));                server_cmd("amx_ban ^"%s^" ^"%d^" ^"Uzbanintas serverio zaideju. Voteban.^"", szName, get_pcvar_num(g_iPcvar[CVAR_BANTIME]));            }        }                g_iVotes[id] = 0;         new szName[2][32];        get_user_name(id, szName[0], charsmax(szName[]));        get_user_name(id, szName[1], charsmax(szName[]));        ChatColor(0, "^1[^4.::VOTEBAN::.^1]^3 Zaidejas^1 %s^3 buvo uzbanintas^4 %d^3 minutems.", szName[0], get_pcvar_num(g_iPcvar[CVAR_BANTIME]));        log_to_file(g_szLogFile, "Zaidejas '%s' balsavo del ban ant '%s' priezastis: %s", szName[1], szName[0], g_szVoteReason[voter]);    }} stock get_percent(value, tvalue){         return floatround(floatmul(float(value) / float(tvalue) , 100.0));} stock register_saycmd(saycommand[], function[], flags = -1, info[]){    static szTemp[64];    formatex(szTemp, charsmax(szTemp), "say %s", saycommand);    register_clcmd(szTemp, function, flags, info);    formatex(szTemp, charsmax(szTemp), "say_team %s", saycommand);    register_clcmd(szTemp, function, flags, info);    formatex(szTemp, charsmax(szTemp), "say /%s", saycommand);    register_clcmd(szTemp, function, flags, info);    formatex(szTemp, charsmax(szTemp), "say .%s", saycommand);    register_clcmd(szTemp, function, flags, info);    formatex(szTemp, charsmax(szTemp), "say_team /%s", saycommand);    register_clcmd(szTemp, function, flags, info);    formatex(szTemp, charsmax(szTemp), "say_team .%s", saycommand);    register_clcmd(szTemp, function, flags, info);} stock bool:is_user_steam(id){    static dp_pointer;     if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))    {        server_cmd("dp_clientinfo %d", id);        server_exec();        return (get_pcvar_num(dp_pointer) == 2) ? true : false;    }     return false;} stock ChatColor(const id, const input[], any:...){    new count = 1, players[32]    static msg[192]    vformat(msg, 191, input, 3)       replace_all(msg, 191, "!g", "^4") // Green Color    replace_all(msg, 191, "!y", "^1") // Default Color    replace_all(msg, 191, "!t", "^3") // Team Color       if (id) players[0] = id; else get_players(players, count, "ch")    {        for (new i = 0; i < count; i++)        {            if (is_user_connected(players[i]))            {                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])                write_byte(players[i]);                write_string(msg);                message_end();            }        }    }} stock YraAdmin(){    new players[32], num    get_players(players, num)    if(num > 0)    {        for(new i; i < num; i++)        {            if(get_user_flags(players[i]) & ADMIN_BAN) // Flagą gali pasikeisti, nežinau kokio reikia                return true;        }    }    return false;}
Šitame atrodo padariau. :bag:
Last edited by ArtHa123 on 2015 Jun 28 08:53, edited 1 time in total.
Image

User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

Re: voteban

Post by laimiukas3 »

ArtHa123 ismeta tik meniu nieko nebanina isvis :) steam ar non gal pavyktu tam kur sma priseges padaryti InvIs2 ten man del admin pataises neblogas pluginas butu gal kam dar praverstu )
Image
Image
Image

User avatar
ArtHa123
Flooderis arba specialistas
Posts: 738
Joined: 2014 Feb 19 18:40

Re: voteban

Post by ArtHa123 »

laimiukas3 wrote:ArtHa123 ismeta tik meniu nieko nebanina isvis :) steam ar non gal pavyktu tam kur sma priseges padaryti InvIs2 ten man del admin pataises neblogas pluginas butu gal kam dar praverstu )
Atnaujinau pranešimą, įdėjau ta ADMIN patikrinimą, bandyk dabar.
Image

User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

Re: voteban

Post by laimiukas3 »

parasius /voteban ismeta meniu pasirinkus ka ban nieko nevyksta
ir meniu leidzia atidaryti kai admin online
Image
Image
Image

User avatar
ArtHa123
Flooderis arba specialistas
Posts: 738
Joined: 2014 Feb 19 18:40

Re: voteban

Post by ArtHa123 »

laimiukas3 wrote:parasius /voteban ismeta meniu pasirinkus ka ban nieko nevyksta
ir meniu leidzia atidaryti kai admin online
Pasirinkus viskas vyksta, tačiau reikia surinkti 60% balsų, kad banas būtų uždėtas. Meniu atidaryti leidžia, tačiau balsuoti už ban'ą - ne.
Image

User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

Re: voteban

Post by laimiukas3 »

o gal galetum padaryti kad meniu rodytu taip pvz

VOTEBAN MENIU
1. JONAS
2. JONO BROLIS [steam]
3. JOBAS BALVONAS [imun]
Attachments
voteban_new.sma
(9.85 KiB) Downloaded 625 times
Image
Image
Image

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: voteban

Post by psychical »

1. Tai kodėl tu neblokuoji Cmd_VoteBan, kad neatidarytų meniu, kai yra adminas?
2. Kodėl naudojamas get_players(g_iPlayers, g_iNum, "h"); vietoj get_playersnum()?
Ir dar daug kitų klausimų... Bet tingiu vardint...

P.S. Negaliu pažadėt, kad veiks kaip nori, bet bandyk ar iš vis veikia
Attachments
voteban_new.sma
(10.25 KiB) Downloaded 614 times

User avatar
ArtHa123
Flooderis arba specialistas
Posts: 738
Joined: 2014 Feb 19 18:40

Re: voteban

Post by ArtHa123 »

2. Kodėl naudojamas get_players(g_iPlayers, g_iNum, "h"); vietoj get_playersnum()?
Ir dar daug kitų klausimų... Bet tingiu vardint...
Ne mano pluginas, tingėjau viską tyrinėti, tiesiog būdamas stadijoj kažką padariau (nepamenu net ką ten keičiau).
Image

User avatar
laimiukas3
Moderatorius
Posts: 4569
Joined: 2012 Aug 03 01:12
Skype: laimiukas3
Location: Vilnius
Contact:

Re: voteban

Post by laimiukas3 »

gaila kad tie kas turi sugebejimu nelabai turi laiko ir noro padaryti normalu voteban plugina su daug patogiu funkcijiu ir nustatimu :)
Image
Image
Image

Post Reply

Who is online

Users browsing this forum: No registered users and 47 guests