Peršokti į turinį

Ieskau Pluginu ir Pagalbos!


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4340 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki,

Ieskau /votekick [skirta tik vipams]

/voteban [uza turintiems zaidejams]

Gal atsirastu zmogus kuris galetu pritaikyt /votekick VIP'ams, /voteban Uzams

votekick siustis http://www.cesas.lt/Vote_Kick,s5332&siustis

voteban siustis http://forums.alliedmods.net/showthread.php?t=56488

+R3P kas pades.

arba galit rasyt skype; mazvis15

Nuoroda į komentarą
Dalintis per kitą puslapį

ši koda pridek prie votekick

#define ADMINACCESS ADMIN_LEVEL_H

o prie voteban

#define ACCESS_LEVEL ADMIN_CHAT

#define ADMIN_LISTEN ADMIN_BAN

mano manimu turėru veikti

o čia votekick voteban neradau...

#include 
#include 
#define Keyschooseplayer (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)
#define Keysyousure (1<<0)|(1<<1) // Keys: 12
#define Keysallvote (1<<0)|(1<<1)|(1<<3)|(1<<5) // Keys: 1246
#define ADMINACCESS ADMIN_LEVEL_H

#define VaultKey "VoteKick_%s"
#define VaultKeyTime "VoteKickTime_%s"

new MenuPoschooseplayer
new MenuPlayerschooseplayer[32]

new votes[2]
new bool:canvote
new votekicking[33]
new votekickids[2][32]
new votekickreason[28]

public plugin_init() {
register_plugin("/VoteKick","1.1","NL)Ramon(NL")
register_clcmd("say /votekick","Showchooseplayer")
register_menucmd(register_menuid("allvote"), Keysallvote, "Pressedallvote")
register_menucmd(register_menuid("yousure"), Keysyousure, "Pressedyousure")
register_menucmd(register_menuid("chooseplayer"), Keyschooseplayer, "Pressedchooseplayer")
register_concmd("amx_blockvotekick","blockvotekick", ADMIN_BAN,"")
register_concmd("amx_allowvotekick","allowvotekick", ADMIN_BAN,"")
register_concmd("amx_blockvotekickid","blockvotekickid", ADMIN_BAN,"SteamID")
register_concmd("amx_allowvotekickid","allowvotekickid", ADMIN_BAN,"SteamID")
register_concmd("vote_kick_reason","reasonenter")
}

public reasonenter(id) {
if(!votekicking[id]) return PLUGIN_HANDLED
read_args(votekickreason,27)
remove_quotes(votekickreason)
if(!votekickreason[4]) {
	client_print(id,print_chat,"Reason to short. Please try again.")
	client_cmd(id,"messagemode vote_kick_reason")
	set_hudmessage(255, 0, 0, 0.0, 0.1, 0, 6.0, 12.0)
	show_hudmessage(id, "Please type a valid votekick reason and press enter.^nAny invalid reason may^nresult in a votekick block!!!")	
	return PLUGIN_HANDLED
}
if(votekickreason[23]) { // else it wont fit on menu :S
	client_print(id,print_chat,"Reason to long(max 23 characters). Please try again.")
	client_cmd(id,"messagemode vote_kick_reason")
	set_hudmessage(255, 0, 0, 0.0, 0.1, 0, 6.0, 12.0)
	show_hudmessage(id, "Please type a valid votekick reason and press enter.^nAny invalid reason may^nresult in a votekick block!!!")	

	return PLUGIN_HANDLED
}
startvotekick(id)
return PLUGIN_HANDLED
}

public get_vaultkey(key[41],id) {
new Authid[32]
get_user_authid(id,Authid,31)
format(key,40,VaultKey,Authid)		
}

public get_vaultkeytime(key[41],id) {
new Authid[32]
get_user_authid(id,Authid,31)
format(key,40,VaultKeyTime,Authid)		
}

public blockvotekickid(id,level,cid) {
if (!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED
new arg[32]
read_argv(1, arg, 31)
if(!arg[8]) {
	client_print(id,print_console,"Not a valid SteamID")
	return PLUGIN_HANDLED
}
new key[41]
new blocktime
new arg2[32]
read_argv(2, arg2, 31)
if(str_to_num(arg2) <= 0) {
	arg2 = "PERMANENT"
	format(key,40,VaultKey,arg)
	set_vaultdata(key,"1")
}
else {

	blocktime = str_to_num(arg2)
	suspendvotekick(arg,(blocktime * 60),1)
	format(key,40,VaultKey,arg)
	set_vaultdata(key,"0")
}
new message[200]
new nowtime[32]
new authid[32]
new name[32]
get_user_name(id,name,31)
get_user_authid(id,authid,31)
get_time("%x %X",nowtime,31)
write_file("addons/amxmodx/logs/votekick.log","")
format(message,199,"%s: %s %s Blocked votekick rights of %s for %s minutes",nowtime,name,authid,arg,arg2)
write_file("addons/amxmodx/logs/votekick.log",message)
client_print(id,print_chat,"Player with ID: %s votekick right changed sucessfully for %s minutes",arg,arg2)
return PLUGIN_HANDLED
}

public blockvotekick(id,level,cid) {
if (!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED
new arg[32]
read_argv(1, arg, 31)
new player = cmd_target(id, arg, 11)
if(is_user_connected(player)) {
	new key[41]
	new blocktime
	new arg2[32]
	read_argv(2, arg2, 31)
	new authid2[32]
	get_user_authid(player,authid2,31)
	if(str_to_num(arg2) <= 0) {
		arg2 = "PERMANENT"
		format(key,40,VaultKey,authid2)
		set_vaultdata(key,"1")
		client_print(player,print_chat,"Your right to votekick has been removed by an admin")
	}
	else {
		blocktime = str_to_num(arg2)
		suspendvotekick(authid2,(blocktime * 60),1)
		format(key,40,VaultKey,authid2)
		set_vaultdata(key,"0")
		client_print(player,print_chat,"Your right to votekick has been temporary removed by an admin")
	}
	new message[200]
	new nowtime[32]
	new authid[32]
	new name[32]
	new name2[32]
	get_user_name(id,name,31)
	get_user_authid(id,authid,31)
	get_user_name(player,name2,31)
	get_user_authid(player,authid2,31)
	get_time("%x %X",nowtime,31)
	write_file("addons/amxmodx/logs/votekick.log","")
	format(message,199,"%s: %s %s Blocked votekick rights of %s %s for %s minutes",nowtime,name,authid,name2,authid2,arg2)
	write_file("addons/amxmodx/logs/votekick.log",message)
	client_print(id,print_chat,"Player %s's votekick right changed sucessfully",name2)
}
return PLUGIN_HANDLED
}

public allowvotekickid(id,level,cid) {
if (!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED
new arg[32]
read_argv(1, arg, 31)
if(!arg[8]) {
	client_print(id,print_console,"Not a valid SteamID")
	return PLUGIN_HANDLED
}
new key[41]
format(key,40,VaultKey,arg)
new message[200]
new nowtime[32]
new authid[32]
new name[32]
get_user_name(id,name,31)
get_user_authid(id,authid,31)
get_time("%x %X",nowtime,31)
write_file("addons/amxmodx/logs/votekick.log","")
format(message,199,"%s: %s %s Restored votekick rights of %s",nowtime,name,authid,arg)
write_file("addons/amxmodx/logs/votekick.log",message)
set_vaultdata(key,"0")
suspendvotekick(arg,0,1)
client_print(id,print_chat,"Player with ID: %s votekick right changed sucessfully",arg)
return PLUGIN_HANDLED
}

public allowvotekick(id,level,cid) {
if (!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED
new arg[32]
read_argv(1, arg, 31)
new player = cmd_target(id, arg, 11)
if(is_user_connected(player)) {
	new key[41]
	get_vaultkey(key,player)
	new message[200]
	new nowtime[32]
	new authid[32]
	new name[32]
	new name2[32]
	new authid2[32]
	get_user_name(id,name,31)
	get_user_authid(id,authid,31)
	get_user_name(player,name2,31)
	get_user_authid(player,authid2,31)
	get_time("%x %X",nowtime,31)
	write_file("addons/amxmodx/logs/votekick.log","")
	format(message,199,"%s: %s %s Restored votekick rights of %s %s",nowtime,name,authid,name2,authid2)
	write_file("addons/amxmodx/logs/votekick.log",message)
	set_vaultdata(key,"0")
	suspendvotekick(authid2,0,1)
	client_print(id,print_chat,"Player %s's votekick right changed sucessfully",name2)
	client_print(player,print_chat,"Your right to votekick has been restored by an admin",name)
}
return PLUGIN_HANDLED
}

public Showchooseplayer(id) {
new authid[32]
get_user_authid(id,authid,31)
if(equal(authid,"STEAM_ID_PENDING")) {
	client_print(id,print_chat,"You can't votekick right after u connect.")
	return PLUGIN_HANDLED
}
new key[41]
if(get_playersnum() < 3) {
	client_print(id,print_chat,"Minimum of 3 players needed to votekick")
	return PLUGIN_HANDLED
}
get_vaultkey(key,id)
new allowed = get_vaultdata(key)
//new allowed = str_to_num(AuthidAndData)
if(allowed) {
	client_print(id,print_chat,"Your votekick rights has been removed by an admin due to abuse, you cant votekick anymore")
	return PLUGIN_HANDLED
}
get_vaultkeytime(key,id)
if(get_vaultdata(key) > get_systime()) {
	client_print(id,print_chat,"Your votekick rights has been temporary disabled.")
	return PLUGIN_HANDLED
}
if(!canvote) {
	ShowMenuchooseplayer(id, MenuPoschooseplayer = 0)
}
else {
	client_print(id,print_chat,"Another vote kick is in progress or has just ended, please wait")
}
return PLUGIN_CONTINUE
}

public client_authorized(id) {
new key[41]
get_vaultkey(key,id)
if(!vaultdata_exists(key)) {
	set_vaultdata(key,"0")
}
}

public ShowMenuchooseplayer(id, position) {
// Menu stuff //
if (position < 0) { return 0; }

new i, k
new MenuBody[255]
new CurrentKey = 0
new Start = position * 7
new Num
new UserName[32]

get_players(MenuPlayerschooseplayer, Num)
if (Start >= Num) { Start = position = MenuPoschooseplayer = 0; }
new Len = format(MenuBody, 255, "VoteKick player%d/%d^n^n", position+1, (Num / 7 + ((Num % 7) ? 1 : 0 )) )
new End = Start + 7
new Keys = (1<<9)
if (End > Num) { End = Num; }

for(i=Start;i		k = MenuPlayerschooseplayer[i]
	get_user_name(k, UserName, 31)
	Keys |= (1<		Len += format(MenuBody[Len], (255-Len), "%i. %s^n", CurrentKey, UserName)
}
if (End != Num) {
	format(MenuBody[Len], (255-Len), "^n9. Next^n%s", position ? "0. Back" : "0. Exit")
	Keys |= (1<<8)
}
else {
	format(MenuBody[Len], (255-Len), "^n%s", position ? "0. Back" : "0. Exit")
}
show_menu(id, Keys, MenuBody, -1, "chooseplayer")
return 0
}

public Pressedchooseplayer(id, key) {
switch (key) {
	case 8: ShowMenuchooseplayer(id, ++MenuPoschooseplayer) // More Option
		case 9: ShowMenuchooseplayer(id, --MenuPoschooseplayer) // Back Option
		default: {
		// Get User ID and Username
		Showyousure(id,MenuPlayerschooseplayer[MenuPoschooseplayer * 7 + key])
	}
}
return PLUGIN_HANDLED
}

public Showyousure(id,tokick) {
if(canvote) {
	client_print(id,print_chat,"Another vote kick is in progress or has just ended, please wait")
	return PLUGIN_HANDLED
}
if(id == tokick) {
	server_cmd("kick #%d ^"Because you want to votekick yourself! (noob)^"", get_user_userid(id))
	return PLUGIN_HANDLED
}
if(is_user_admin(tokick)) {
	client_print(id,print_chat,"You CANT votekick an admin, if you have problems with this admin, contact another admin.")
	new name[32]
	get_user_name(id,name,31)
	client_print(tokick,print_chat,"%s tryed to votekick you, votekick blocked, also your actions are LOGGED!")
	write_file("addons/amxmodx/logs/votekick.log","")
	new message[200]
	new authid[32]
	new name2[32]
	new authid2[32]
	new nowtime[32]
	get_time("%x %X",nowtime,31)
	get_user_authid(id,authid,31)
	get_user_name(tokick,name2,31)
	get_user_authid(tokick,authid2,31)
	format(message,199,"%s: %s %s wanted to start a votekick against admin %s %s, votekick BLOCKED",nowtime,name,authid,name2,authid2)
	write_file("addons/amxmodx/logs/votekick.log",message)
	return PLUGIN_HANDLED
}
votekicking[id] = tokick
new menu[256]
new name[32]
get_user_name(tokick,name,31)
format(menu,255,"Are you sure you want to votekick:^n%s?^nIf less then 40 procent votes yes^nyou will be banned for 10 minutes^nif more than 60 procent votes yes^n%s will be^nbanned for 10 minutes^n^n1. YES (READ THE ABOVE)^n2. NO^n",name,name)
show_menu(id, Keysyousure, menu, 30, "yousure") // Display menu
return PLUGIN_CONTINUE
}

public Pressedyousure(id, key) {
if(canvote) {
	client_print(0,print_chat,"Another vote kick is in progress or has just ended, please wait")
	return PLUGIN_HANDLED
}
if(key == 0) {
	client_cmd(id,"messagemode vote_kick_reason")
	set_hudmessage(255, 0, 0, 0.0, 0.1, 0, 6.0, 12.0)
	show_hudmessage(id, "Please type a valid votekick reason and press enter.^nAny invalid reason may^nresult in a votekick block!!!")	
}
return PLUGIN_CONTINUE
}

public startvotekick(id) {
if(canvote) {
	client_print(id,print_chat,"Another vote kick is in progress or has just ended, please wait")
	return PLUGIN_HANDLED
}
new name[32]
new authid[32]
new name2[32]
new authid2[32]
get_user_name(id,name,31)
get_user_authid(id,authid,31)
get_user_name(votekicking[id],name2,31)
get_user_authid(votekicking[id],authid2,31)
new message[200]
new nowtime[32]
get_time("%x %X",nowtime,31)
format(message,199,"%s: %s %s started a votekick against %s %s Reason to votekick:",nowtime,name,authid,name2,authid2)
write_file("addons/amxmodx/logs/votekick.log","")
write_file("addons/amxmodx/logs/votekick.log",message)
write_file("addons/amxmodx/logs/votekick.log",votekickreason)
votekick(id)
return PLUGIN_CONTINUE
}

public votekick(id) {
get_user_authid(id,votekickids[0],31)
get_user_authid(votekicking[id],votekickids[1],31)
new menu[256]
new name1[32],name2[32]
get_user_name(id,name1,31)
get_user_name(votekicking[id],name2,31)
format(menu,255,"%s started a votekick^nDo you want to votekick %s?^nReason:^n^n%s^n^n1. Yes ^n2. No^n^n4. Vote yes anonymously^n^n6. None.",name1,name2,votekickreason)
show_menu(0, Keysallvote, menu, 30, "allvote") // Display menu
set_task(30.0,"voteend",id)
set_task(180.0,"allowvote",id)
canvote = true
client_print(0,print_chat,"%s started a votekick against %s.",name1,name2)
client_print(0,print_chat,"REASON: %s",votekickreason)
votekicking[id] = 0
suspendvotekick(votekickids[0],600,0)
}

public Pressedallvote(id, key) {
switch (key) {
	case 0: { // 1
		++votes[0]
		new name[32]
		get_user_name(id,name,31)
		client_print(0,print_chat,"%s voted yes",name)
	}
	case 1: { // 2
		++votes[1]
		new name[32]
		get_user_name(id,name,31)
		client_print(0,print_chat,"%s voted no",name)
	}
	case 3: { //4
		++votes[0]
	}
}
}

public voteend(id) {
new Float:totalvotes = float(votes[0] + votes[1])

new Float:percent = (votes[0] / totalvotes * 100.0)
if(percent <= 40) {
	client_print(0,print_chat,"Votekick results: less than 40 procent voted yes. Votekicker banned for 10 minutes")
	new authid[32]
	write_file("addons/amxmodx/logs/votekick.log","Vote failed, votekicker kicked")
	new players[32], pnum, player
	get_players(players, pnum)

	for( new i=0; i			player = players[i]
		get_user_authid(player,authid,31)
		if(equal(authid,votekickids[0])) {
			server_cmd("kick #%d ^"Votekicked by failed vote, 10 mintes ban^"", get_user_userid(player))
			server_cmd("banid ^"10^" ^"%s^";wait;writeid", authid)
			suspendvotekick(authid,86400,0)
			return PLUGIN_HANDLED
		}
	}
	server_cmd("banid ^"10^" ^"%s^";wait;writeid", votekickids[0])
	set_task(10.0,"checkifuserison",0,votekickids[0],31)
	set_task(30.0,"checkifuserison",0,votekickids[0],31)
	set_task(60.0,"checkifuserison",0,votekickids[0],31)
	checkifuserison(votekickids[1])
	suspendvotekick(votekickids[0],86400,0)

}
else if(percent >= 60) {
	client_print(0,print_chat,"Votekick results: more than 60 procent voted yes. User banned for 10 minutes.")
	new authid[32]
	write_file("addons/amxmodx/logs/votekick.log","Vote succeeded, user kicked")
	new players[32], pnum, player
	get_players(players, pnum)

	for( new i=0; i			player = players[i]
		get_user_authid(player,authid,31)
		if(equal(authid,votekickids[1])) {
			server_cmd("kick #%d ^"Votekicked by 60 procent or more, 10 minutes ban^"", get_user_userid(player))
			server_cmd("banid ^"10^" ^"%s^";wait;writeid", authid)
			suspendvotekick(authid,86400,0)
			return PLUGIN_HANDLED
		}
	}
	server_cmd("banid ^"10^" ^"%s^";wait;writeid", votekickids[1])
	set_task(10.0,"checkifuserison",0,votekickids[1],31)
	set_task(30.0,"checkifuserison",0,votekickids[1],31)
	set_task(60.0,"checkifuserison",0,votekickids[1],31)
	checkifuserison(votekickids[1])
	suspendvotekick(votekickids[1],86400,0)

}
else {
	write_file("addons/amxmodx/logs/votekick.log","Vote failed, no results")
	client_print(0,print_chat,"Votekick results: Between 40 and 60 procent. No actions taken")
}
return PLUGIN_CONTINUE
}

public checkifuserison(steamid[]) {
new authid[32]
new players[32], pnum, player
get_players(players, pnum)
for( new i=0; i		player = players[i]
	get_user_authid(player,authid,31)
	if(equal(authid,votekickids[1])) {
		server_cmd("kick #%d ^"Votekicked/Failed votekick, no recconect allowed. ^"", get_user_userid(player))
		return PLUGIN_CONTINUE
	}
}
return PLUGIN_CONTINUE
}

public suspendvotekick(authid[32],seconds,force) {
new key[41]
format(key,40,VaultKeyTime,authid)
new data[20]
get_vaultdata(key,data)
if(!force && str_to_num(data) > get_systime() + seconds) return PLUGIN_CONTINUE
num_to_str(get_systime() + seconds,data,19)
set_vaultdata(key,data)
return PLUGIN_CONTINUE
}

public allowvote() canvote = false

-- Papildyta --

Padėjau +R3P

Nuoroda į komentarą
Dalintis per kitą puslapį

uzdejau +rep. :) bet man nepadejo, galetum perdaryt siuos kodus.

kad komanda /voteban tik uzams ir zaidejai jos nematytu ir negaletu naudot.

/voteban

#include

#include

#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_VoteStarter

new gi_MenuPosition

new gi_Sellection

new gi_TotalPlayers

new gi_SysTimeOffset = 0

new i

//pcvars

new gi_LastTime

new gi_DelayTime

new gf_Ratio

new gf_MinVoters

new gf_BF_Ratio

new gi_BanTime

new gi_Disable

new gi_BanType

public plugin_init()

{

register_plugin("voteban menu","1.2","hjvl")

register_clcmd("say /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","1")

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","5")

gi_Disable=register_cvar("amxx_voteban_disable","0")

gi_BanType=register_cvar("amxx_voteban_type","0")

}

public SayIt(id)

{

if(get_pcvar_num(gi_Disable))

{

client_print(id,print_chat,"[AMXX]amx_votaban disabled")

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

client_print(id,print_chat,"[AMXX] You have to wait %d seconds before a new voteban can be started", seconds)

return 0

}

get_players( ga_PlayerID, gi_TotalPlayers )

for(i=0; i

{

new TempID = ga_PlayerID

if( is_user_admin(TempID))

{

if(!is_user_admin(id))

{

client_print(id,print_chat,"There is an admin on the server, voting is disabled!")

return 0

}

}

if(TempID == id)

gi_VoteStarter=i

get_user_name( TempID, ga_PlayerName, 31 )

get_user_authid( TempID, ga_PlayerAuthID, 34 )

get_user_ip( TempID, ga_PlayerIP, 15, 1 )

}

gi_MenuPosition = 0

ShowPlayerMenu(id)

return 0

}

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<

}

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),"Baninti %s , %d minutem?^n1. Taip^n2. Ne",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) ) )

{

client_print(0,print_chat,"[AMXX] Nepakako balsu isbaninimui %s!", ga_PlayerName[gi_Sellection])

return 0

}

else

{

if( result < get_pcvar_float(gf_BF_Ratio) )

{

client_print(0,print_chat,"[AMXX] Isbanintas %s, %d minutem", ga_PlayerName[gi_VoteStarter], get_pcvar_num(gi_BanTime))

ActualBan(gi_VoteStarter)

log_amx("[AMXX] Isbanintas %s, %d minutem", ga_PlayerName[gi_VoteStarter], get_pcvar_num(gi_BanTime))

}

if( result >= get_pcvar_float(gf_Ratio) )

{

client_print(0,print_chat,"[AMXX] Balsavimas pavyko: %s isbanintas %d minutem", ga_PlayerName[gi_Sellection], get_pcvar_num(gi_BanTime))

log_amx("[AMXX] Balsavimas pavyko: %s isbanintas %d minutem", ga_PlayerAuthID[gi_Sellection], get_pcvar_num(gi_BanTime))

ActualBan(gi_Sellection)

}

else

{

client_print(0,print_chat,"[AMXX] Balsavimas nepavyko!")

log_amx("[AMXX] Balsavimas nepavyko.")

}

}

client_print(0,print_chat,"Is viso %d zaidejai, %d balsavo Taip.", 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])

default:

server_cmd("banid %d %s kick", get_pcvar_num(gi_BanTime), ga_PlayerAuthID[selected])

}

return 0

}

-- Papildyta --

nepadejai nieko... :|

Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 2 mėnesių...

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4340 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...