pataisyti
- laimiukas3
- Moderatorius
- Posts: 4569
- Joined: 2012 Aug 03 01:12
- Skype: laimiukas3
- Location: Vilnius
- Contact:
pataisyti
gal kas galetu pataisyti plugina kai admin online vistiek veikia voteban komanda o neturetu taip buti
Last edited by laimiukas3 on 2015 Jun 26 14:25, edited 2 times in total.
Re: pataisyti
Code: Select all
SayIt(id) {// Pradžioj dadėk tikrinimą, ar nėra adminųif(YraAdmin()) return 0; /* .... likęs kodas ..... */ } 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; } } else return false;}
- laimiukas3
- Moderatorius
- Posts: 4569
- Joined: 2012 Aug 03 01:12
- Skype: laimiukas3
- Location: Vilnius
- Contact:
Re: pataisyti
InvIs2 dekingas bet kai padarau tavo pasiulitus pataisymus man ne compiliuoja plugino gal galetum tu prisegti visa pataisyta jaigu nesunku 

Re: pataisyti
Žiūrint kuri vieta meta klaidą. Ir šiaip nežinau kurias vietas pats darašei, kurios jau buvo. Tai mėginu laimę.
Pilnas, be errorų ir warningų. Tik ta pati vieta lieka neaišku, na bet pasibandyk:
Code: Select all
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}
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) ) { arrayloc += format(ga_MenuData[arrayloc],(MAX_menudata-1-arrayloc),"%d. %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 Now=get_systime(gi_SysTimeOffset) set_pcvar_num(gi_LastTime, Now) 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 ЗА!", 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", 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}
Last edited by InvIs2 on 2015 Jun 17 23:01, edited 1 time in total.
- laimiukas3
- Moderatorius
- Posts: 4569
- Joined: 2012 Aug 03 01:12
- Skype: laimiukas3
- Location: Vilnius
- Contact:
Who is online
Users browsing this forum: No registered users and 3 guests