Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Voteban turkce
#1
Nicomedia'nin paylastıgı voteban plugini;
/voteban yazdiginda oyundakı userlerın oldugu menu gelıyo her vote'de oyuncuya %25 oy verılıyo ama daha sonra Reason(acıklama) yazmak zorundasın ben bu reasonun kaldırılmasını ve bu %25'lık oranın %20'ye dusurulmesını ıstıyorum ve yapabılırsenız bu menuyu turkceye cevrılmesını ıstıyorum. hem menunun hemde Saydan gecen yazıların turkce olmasını ıstıyorum 5 kısı aynı adama oy verırse her userın verdıgı %20lık oy toplamda %100 yapar ve oyuncu ban yer boyle olmasını ıstıyorum



PHP Code:
#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 
g_iMsgidSayText;

enum {
    
CVAR_PERCENT 0,
    
CVAR_BANTYPE,
    
CVAR_BANTIME
};
new 
g_szCvarName[][] = {
    
"voteban_percent",
    
"voteban_type",
    
"voteban_time"
};
new 
g_szCvarValue[][] = {
    
"80",
    
"1",
    
"100"
};
new 
g_iPcvar[3];
new 
g_szLogFile[64];

public 
plugin_init() {
    
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
register_saycmd("voteban""Cmd_VoteBan", -1"");
    
register_clcmd("_voteban_reason""Cmd_VoteBanReason", -1"");
    
    
register_menucmd(register_menuid("\rVOTEBAN \yMenu:"), MENU_KEYS"Menu_VoteBan");
    
    for(new 
i++)
    {
        
g_iPcvar[i] = register_cvar(g_szCvarNameg_szCvarValue);
    }
    
g_iMsgidSayText get_user_msgid("SayText");
    
    new 
szLogInfo[] = "amx_logdir";
    
get_localinfo(szLogInfog_szLogFilecharsmax(g_szLogFile));
    
add(g_szLogFilecharsmax(g_szLogFile), "/voteban");
    
    if(!
dir_exists(g_szLogFile))
        
mkdir(g_szLogFile);
        
    new 
szTime[32];
    
get_time("%d-%m-%Y"szTimecharsmax(szTime));
    
format(g_szLogFilecharsmax(g_szLogFile), "%s/%s.log"g_szLogFileszTime);
}

public 
client_disconnect(id)
{
    if(
g_iVotedPlayers[id])
    {
        
get_players(g_iPlayersg_iNum"h");
        
        for(new 
g_iNum i++)
        {
            if(
g_iVotedPlayers[id] & (<< g_iPlayers))
            {
                
g_iVotes[g_iPlayers]--;
            }
        }
        
g_iVotedPlayers[id] = 0;
    }
}

public 
Cmd_VoteBan(id)
{
    
get_players(g_iPlayersg_iNum"h");
    
    if(
g_iNum 3)
    {
        
client_printc(id"\g> \dThis command is unavailable! Need at least 3 players.");
        return 
PLUGIN_HANDLED;
    }
    
ShowBanMenu(idg_iMenuPage[id] = 0);
    return 
PLUGIN_CONTINUE;
}

public 
ShowBanMenu(idiPos)
{
    static 
iiPlayerszName[32];
    static 
szMenu[256], iCurrPosiCurrPos 0;
    static 
iStartiEndiStart iPos MENU_SLOTS;
    static 
iKeys;
    
    
get_players(g_iPlayersg_iNum"h");
    
    if(
iStart >= g_iNum)
    {
        
iStart iPos g_iMenuPage[id] = 0;
    }
    
    static 
iLen;
    
iLen formatex(szMenucharsmax(szMenu), "\rVOTEBAN \yMenu:^n^n");
    
    
iEnd iStart MENU_SLOTS;
    
iKeys MENU_KEY_0;
    
    if(
iEnd g_iNum)
    {
        
iEnd g_iNum;
    }
    
    for(
iStart iEnd i++)
    {
        
iPlayer g_iPlayers;
        
get_user_name(iPlayerszNamecharsmax(szName));
        
        
iKeys |= (<< iCurrPos++);
        
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen"\r%d\w.%s \d(\r%d%%\d)^n"iCurrPosszNameget_percent(g_iVotes[iPlayer], g_iNum));
    }
    
    if(
iEnd != g_iNum)
    {
        
formatex(szMenu[iLen], charsmax(szMenu) - iLen"^n\r9\w.Next ^n\r0\w.%s"iPos "Back" "Exit");
        
iKeys |= MENU_KEY_9;
    }
    else
    {
        
formatex(szMenu[iLen], charsmax(szMenu) - iLen"^n\r0\w.%s"iPos "Back" "Exit");
    }
    
show_menu(idiKeysszMenu, -1"");
    return 
PLUGIN_HANDLED;
}

public 
Menu_VoteBan(idkey)
{
    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(idg_iMenuPage[id]);
                return 
PLUGIN_HANDLED;
            }
            if(
iPlayer == id)
            {
                
client_print(idprint_center"*You cannot voteban yourself!*");
                
ShowBanMenu(idg_iMenuPage[id]);
                
                return 
PLUGIN_HANDLED;
            }
            if(
g_iVotedPlayers[id] & (<< iPlayer))
            {
                
client_print(idprint_center"*You already votebanned this player!*");
                
ShowBanMenu(idg_iMenuPage[id]);
                
                return 
PLUGIN_HANDLED;
            }
            
g_iVotes[iPlayer]++;
            
g_iVotedPlayers[id] |= (<< iPlayer);
            
            static 
szName[2][32];
            
get_user_name(idszName[0], charsmax(szName[]));
            
get_user_name(iPlayerszName[1], charsmax(szName[]));
            
            
client_printc(0"\g> \dPlayer \t%s \dvotebanned \t%s\d!"szName[0], szName[1]);
            
            
CheckVotes(iPlayerid);
            
client_cmd(id"messagemode _voteban_reason");
            
            
ShowBanMenu(idg_iMenuPage[id]);
        }
    }
    return 
PLUGIN_HANDLED;
}

public 
Cmd_VoteBanReason(id)
{
    if(!
g_iVotedPlayers[id])
        return 
PLUGIN_HANDLED;
    
    new 
szArgs[64];
    
read_argv(1szArgscharsmax(szArgs));
    
    if(
szArgs[0])
    {
        
formatex(g_szVoteReason[id], charsmax(g_szVoteReason[]), szArgs);
    }
    return 
PLUGIN_HANDLED;
}

public 
CheckVotes(idvoter)
{
    
get_players(g_iPlayersg_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:
            {
                new 
szAuthid[32];
                
get_user_authid(idszAuthidcharsmax(szAuthid));
                
server_cmd("kick #%d;wait;wait;wait;banid %d ^"%s^";wait;wait;wait;writeid"get_user_userid(id), get_pcvar_num(g_iPcvar[CVAR_BANTIME]), szAuthid);
            }
            case 
2:
            {
                new 
szIp[32];
                
get_user_ip(idszIpcharsmax(szIp), 1);
                
server_cmd("kick #%d;wait;wait;wait;addip %d ^"%s^";wait;wait;wait;writeip"get_user_userid(id), get_pcvar_num(g_iPcvar[CVAR_BANTIME]), szIp);
            }
        }
        
g_iVotes[id] = 0;
        
        new 
szName[2][32];
        
get_user_name(idszName[0], charsmax(szName[]));
        
get_user_name(idszName[1], charsmax(szName[]));
        
client_printc(0"\g> \dPlayer \t%s \dhas been banned for \g%d\dmin. due voteban!"szName[0], get_pcvar_num(g_iPcvar[CVAR_BANTIME]));
        
        
log_to_file(g_szLogFile"Player '%s' voted for banning '%s' for: %s"szName[1], szName[0], g_szVoteReason[voter]);
    }
}

stock get_percent(valuetvalue)
{     
    return 
floatround(floatmul(float(value) / float(tvalue) , 100.0));
}

stock register_saycmd(saycommand[], function[], flags = -1info[])
{
    static 
szTemp[64];
    
formatex(szTempcharsmax(szTemp), "say %s"saycommand);
    
register_clcmd(szTemp, function, flagsinfo);
    
formatex(szTempcharsmax(szTemp), "say_team %s"saycommand);
    
register_clcmd(szTemp, function, flagsinfo);
    
formatex(szTempcharsmax(szTemp), "say /%s"saycommand);
    
register_clcmd(szTemp, function, flagsinfo);
    
formatex(szTempcharsmax(szTemp), "say .%s"saycommand);
    
register_clcmd(szTemp, function, flagsinfo);
    
formatex(szTempcharsmax(szTemp), "say_team /%s"saycommand);
    
register_clcmd(szTemp, function, flagsinfo);
    
formatex(szTempcharsmax(szTemp), "say_team .%s"saycommand);
    
register_clcmd(szTemp, function, flagsinfo);
}

stock client_printc(id, const text[], any:...)
{
    
    new 
szMsg[191], iPlayers[32], iCount 1;
    
vformat(szMsgcharsmax(szMsg), text3);
    
    
replace_all(szMsgcharsmax(szMsg), "\g","^x04");
    
replace_all(szMsgcharsmax(szMsg), "\d","^x01");
    
replace_all(szMsgcharsmax(szMsg), "\t","^x03");
    
    if(
id)
        
iPlayers[0] = id;
    else
        
get_players(iPlayersiCount"ch");
    
    for(new 
iCount i++)
    {
        if(!
is_user_connected(iPlayers))
            continue;
        
        
message_begin(MSG_ONE_UNRELIABLEg_iMsgidSayText_iPlayers);
        
write_byte(iPlayers);
        
write_string(szMsg);
        
message_end();
    }

[/i][/i][/i][/i][/i][/i][/i][/i][/i]
RESPECT SURF ARENA
46.20.15.92
https://www.Facebook.com/Groups/RespectCS
Reply
#2
say yazılarını düzeltmek için
client_print

lerdeki yazıların türkçe karşılığını yazacaksın.
örnek :
client_print(id, print_center, "*You cannot voteban yourself!*"); yerine
client_print(id, print_center, "*Kendinize voteban atamazsınız*");
yaparsan artık say dan "You cannot voteban yourself!" yerine "Kendinize voteban atamazsınız" yazısı çıkar.
Reply
#3
tamam sagol oranları ve diger isteklerımıde yapabılırmısın
RESPECT SURF ARENA
46.20.15.92
https://www.Facebook.com/Groups/RespectCS
Reply
#4
Şuan biraz meşgulüm yarın yapmaya çalışacağım
Reply
#5
ve bir istegim daha var bi user 1 map boyunca sadece 1 kere voteban kullanabilsin
RESPECT SURF ARENA
46.20.15.92
https://www.Facebook.com/Groups/RespectCS
Reply
#6
cevap beklıorum wolf
RESPECT SURF ARENA
46.20.15.92
https://www.Facebook.com/Groups/RespectCS
Reply
#7
Uğraşıyorum daha :S yapamadım
Reply
#8
Tamam yapabılırsen paylasırsın cevabını beklıyorum
RESPECT SURF ARENA
46.20.15.92
https://www.Facebook.com/Groups/RespectCS
Reply
#9
Paylaşmam olur mu yapabilirsem koyarım.
Reply
#10
tamam
RESPECT SURF ARENA
46.20.15.92
https://www.Facebook.com/Groups/RespectCS
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Türkçe Karakter batuopoz0770 7 4,336 10-05-14, 21:55
Last Post: lovbattery rh
  CSF Anti hile plugini [Turkce] smt287 2 9,233 18-02-13, 23:21
Last Post: kuzey
  Tam türkçe yakalama mod pluginci 4 2,916 02-01-12, 22:17
Last Post: NiCoMeDiA
  Amx Super Full Turkce + Renkli İstek Amx Super Full Turkce + Renkli İstek TagaL 2 3,101 26-12-11, 02:55
Last Post: NiCoMeDiA

Foruma Atla:


Users browsing this thread: 1 Guest(s)