Offline |
 |
 |
Csatlakozott:2011.12.28. 00:35 Hozzászólások:2736 Megköszönt másnak: 56 alkalommal Megköszönték neki: 275 alkalommal
|
Hali. Valaki lebírná fordítani?? PLS ez 2 plugin mit csinál? Slay_kase #include <amxmodx> #include <amxmisc> #include <colorchat> #include <nvault> #define PLUGIN "SayKlase" #define VERSION "1.2" #define AUTHOR "BS" #define ADMIN_FLAG ADMIN_BAN new const haha[] = "addons/amxmodx/configs/SayKlasePodesavanja.cfg" enum Cvarovi { HUD_INFO, PRVA_PREFIX, PRVA_MAX, DRUGA_PREFIX, DRUGA_MIN, DRUGA_MAX, TRECA_PREFIX, TRECA_MIN, TRECA_MAX, CETVRTA_PREFIX, CETVRTA_MIN, CETVRTA_MAX, PETA_PREFIX, PETA_MIN, PETA_MAX, SESTA_PREFIX, SESTA_MIN, SESTA_MAX, SEDMA_PREFIX, SEDMA_MIN, SEDMA_MAX, OSMA_PREFIX, OSMA_MIN, OSMA_MAX, DEVETA_PREFIX, DEVETA_MIN, DEVETA_MAX, DESETA_PREFIX, DESETA_MIN, DESETA_ADMIN } new const g_ImenaCvarova[ Cvarovi ][] = { "hud_info", "prva_prefix", "prva_max", "druga_prefix", "druga_min", "druga_max","treca_prefix", "treca_min", "treca_max", "cetvrta_prefix", "cetvrta_min", "cetvrta_max", "peta_prefix", "peta_min", "peta_max", "sesta_prefix", "sesta_min", "sesta_max", "sedma_prefix", "sedma_min", "sedma_max", "osma_prefix", "osma_min", "osma_max", "deveta_prefix", "deveta_min", "deveta_max", "deseta_prefix", "deseta_min", "deseta_admin" }; new const g_DefaultVrednost[ Cvarovi ][] = { "1", "Botina", "40", "Bot", "41", "80", "Pocetnik", "81", "150", "Nov igrac", "151", "350", "Not Bad", "351", "500", "Iskusan", "501", "600", "Pro", "601", "700", "Supermen", "701", "850", "Godlike", "851", "1000", "Legend of", "1001", "1" }; new g_SviCvarovi[ Cvarovi ]; new ubistva, prefix[33], koja[33] = 1 new steam[32], ip[33], killovi[33] static HostName[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_cvar("sayklase","1",(FCVAR_SERVER|FCVAR_SPONLY)) server_cmd("exec %s", haha) ubistva = nvault_open("ubistva") register_event("DeathMsg", "Death", "a") for ( new Cvarovi:i = HUD_INFO ; i < Cvarovi ; i++ ) g_SviCvarovi[ i ] = register_cvar( g_ImenaCvarova[ i ] , g_DefaultVrednost[ i ] ); register_concmd("amx_reset_klasu","resetuj",ADMIN_FLAG,"<nick> - Resetuje igracevu klasu") register_clcmd("say","kazi") } public plugin_precache() { if(!file_exists(haha)) { write_file(haha,"U ovom fajlu nalaze se podesavanja klasa na Say komandi") write_file(haha,"==========================================================") write_file(haha," ") write_file(haha,"hud_info ^"1^" // Da li ce igracima pisati hud porukom klasa i broj ubistava") write_file(haha," ") write_file(haha,"prva_prefix ^"Botina^" // Prefiks klase") write_file(haha,"prva_max ^"40^" // Najvise ubistava za ovu klasu") write_file(haha," ") write_file(haha,"druga_prefix ^"Bot^" // Prefiks klase") write_file(haha,"druga_min ^"41^" // Najmanje ubistava za ovu klasu") write_file(haha,"druga_max ^"80^" // Najvise ubistava za ovu klasu") write_file(haha," ") write_file(haha,"treca_prefix ^"Pocetnik^" // Prefiks klase") write_file(haha,"treca_min ^"81^" // Najmanje ubistava za ovu klasu") write_file(haha,"treca_max ^"150^" // Najvise ubistava za ovu klasu") write_file(haha," ") write_file(haha,"cetvrta_prefix ^"Nov Igrac^" // Prefiks klase") write_file(haha,"cetvrta_min ^"151^" // Najmanje ubistava za ovu klasu") write_file(haha,"cetvrta_max ^"350^" // Najvise ubistava za ovu klasu") write_file(haha," ") write_file(haha,"peta_prefix ^"Not Bad^" // Prefiks klase") write_file(haha,"peta_min ^"351^" // Najmanje ubistava za ovu klasu") write_file(haha,"peta_max ^"500^" // Najvise ubistava za ovu klasu") write_file(haha," ") write_file(haha,"sesta_prefix ^"Iskusan^" // Prefiks klase") write_file(haha,"sesta_min ^"501^" // Najmanje ubistava za ovu klasu") write_file(haha,"sesta_max ^"600^" // Najvise ubistava za ovu klasu") write_file(haha," ") write_file(haha,"sedma_prefix ^"Pro^" // Prefiks klase") write_file(haha,"sedma_min ^"601^" // Najmanje ubistava za ovu klasu") write_file(haha,"sedma_max ^"700^" // Najvise ubistava za ovu klasu") write_file(haha," ") write_file(haha,"osma_prefix ^"Supermen^" // Prefiks klase") write_file(haha,"osma_min ^"701^" // Najmanje ubistava za ovu klasu") write_file(haha,"osma_max ^"850^" // Najvise ubistava za ovu klasu") write_file(haha," ") write_file(haha,"deveta_prefix ^"Godlike^" // Prefiks klase") write_file(haha,"deveta_min ^"851^" // Najmanje ubistava za ovu klasu") write_file(haha,"deveta_max ^"1000^" // Najvise ubistava za ovu klasu") write_file(haha," ") write_file(haha,"deseta_prefix ^"Legend of^" // Prefiks klase") write_file(haha,"deseta_min ^"1001^" // Najmanje ubistava za ovu klasu") write_file(haha,"deseta_admin ^"1^" // Da li ce igraci ove (najbolje) klase imati Zeleni Say, 1 = ON | 0 = OFF") } } public client_disconnect(id) { get_user_authid(id,steam,charsmax(steam)) if(equali(steam, "VALVE_ID_LAN")) { get_user_ip(id,ip,charsmax(ip)) nvault_set(ubistva,ip,killovi[id]) } else nvault_set(ubistva,steam,killovi[id]) koja[id] = 0 killovi[id] = 0 } public Death() { new attacker = read_data(1) if(attacker > get_maxplayers()) return; killovi[attacker]++ } public client_putinserver(id) { set_task(10.0,"reklamaa",id) get_user_authid(id,steam,charsmax(steam)) if(equali(steam, "VALVE_ID_LAN")) { get_user_ip(id,ip,charsmax(ip)) nvault_get(ubistva,ip,killovi[id],31) } else nvault_get(ubistva,steam,killovi[id],31) if(killovi[id] <= get_pcvar_num( g_SviCvarovi[ PRVA_MAX ] )) koja[id] = 1 else if(get_pcvar_num( g_SviCvarovi[ DRUGA_MIN ] ) <= killovi[id] < get_pcvar_num( g_SviCvarovi[ DRUGA_MAX ] )) koja[id] = 2 else if(get_pcvar_num( g_SviCvarovi[ TRECA_MIN ] ) <= killovi[id] < get_pcvar_num( g_SviCvarovi[ TRECA_MAX ] )) koja[id] = 3 else if(get_pcvar_num( g_SviCvarovi[ CETVRTA_MIN ] ) <= killovi[id] < get_pcvar_num( g_SviCvarovi[ CETVRTA_MAX ] )) koja[id] = 4 else if(get_pcvar_num( g_SviCvarovi[ PETA_MIN ] ) <= killovi[id] < get_pcvar_num( g_SviCvarovi[ PETA_MAX ] )) koja[id] = 5 else if(get_pcvar_num( g_SviCvarovi[ SESTA_MIN ] ) <= killovi[id] < get_pcvar_num( g_SviCvarovi[ SESTA_MAX ] )) koja[id] = 6 else if(get_pcvar_num( g_SviCvarovi[ SEDMA_MIN ] ) <= killovi[id] < get_pcvar_num( g_SviCvarovi[ SEDMA_MAX ] )) koja[id] = 7 else if(get_pcvar_num( g_SviCvarovi[ OSMA_MIN ] ) <= killovi[id] < get_pcvar_num( g_SviCvarovi[ OSMA_MAX ] )) koja[id] = 8 else if(get_pcvar_num( g_SviCvarovi[ DEVETA_MIN ] ) <= killovi[id] < get_pcvar_num( g_SviCvarovi[ DEVETA_MAX ] )) koja[id] = 9 else if(killovi[id] >= get_pcvar_num( g_SviCvarovi[ DESETA_MIN ] )) koja[id] = 10 if(get_pcvar_num( g_SviCvarovi[ HUD_INFO ] ) == 1) set_task(5.0,"hud",id) } public hud(id) { if(!is_user_connected(id)) return PLUGIN_HANDLED set_hudmessage(0, 255, 0, 0.02, 0.19, 0, 6.0, 12.0) switch(koja[id]) { case 1: { get_pcvar_string(g_SviCvarovi[ PRVA_PREFIX ], prefix,charsmax(prefix)) show_hudmessage(id, "Klasa: [%s] ^n1 / 10^n[%s]: 0 - %i ^nUbistava: [%i]",prefix,prefix,get_pcvar_num( g_SviCvarovi[ PRVA_MAX ] ),killovi[id]) } case 2: { get_pcvar_string(g_SviCvarovi[ DRUGA_PREFIX ],prefix,charsmax(prefix)) show_hudmessage(id, "Klasa: [%s] ^n2 / 10^n[%s]: %i - %i ^nUbistava: [%i]",prefix,prefix,get_pcvar_num( g_SviCvarovi[ DRUGA_MIN ] ),get_cvar_num( g_SviCvarovi[ DRUGA_MAX ] ),killovi[id]) } case 3: { get_cvar_string(g_SviCvarovi[ TRECA_PREFIX ],prefix,charsmax(prefix)) show_hudmessage(id, "Klasa: [%s] ^n3 / 10^n[%s]: %i - %i ^nUbistava: [%i]",prefix,prefix,get_pcvar_num( g_SviCvarovi[ TRECA_MIN ] ),get_cvar_num( g_SviCvarovi[ TRECA_MAX ] ),killovi[id]) } case 4: { get_pcvar_string(g_SviCvarovi[ CETVRTA_PREFIX ],prefix,charsmax(prefix)) show_hudmessage(id, "Klasa: [%s] ^n4 / 10^n[%s]: %i - %i ^nUbistava: [%i]",prefix,prefix,get_pcvar_num( g_SviCvarovi[ CETVRTA_MIN ] ),get_cvar_num( g_SviCvarovi[ CETVRTA_MAX ] ),killovi[id]) } case 5: { get_pcvar_string(g_SviCvarovi[ PETA_PREFIX ],prefix,charsmax(prefix)) show_hudmessage(id, "Klasa: [%s] ^n5 / 10^n[%s]: %i - %i ^nUbistava: [%i]",prefix,prefix,get_pcvar_num( g_SviCvarovi[ PETA_MIN ] ),get_cvar_num( g_SviCvarovi[ PETA_MAX ] ),killovi[id]) } case 6: { get_pcvar_string(g_SviCvarovi[ SESTA_PREFIX ],prefix,charsmax(prefix)) show_hudmessage(id, "Klasa: [%s] ^n6 / 10^n[%s]: %i - %i ^nUbistava: [%i]",prefix,prefix,get_pcvar_num( g_SviCvarovi[ SESTA_MIN ] ),get_cvar_num( g_SviCvarovi[ SESTA_MAX ] ),killovi[id]) } case 7: { get_pcvar_string(g_SviCvarovi[ SEDMA_PREFIX ],prefix,charsmax(prefix)) show_hudmessage(id, "Klasa: [%s] ^n7 / 10^n[%s]: %i - %i ^nUbistava: [%i]",prefix,prefix,get_pcvar_num( g_SviCvarovi[ SEDMA_MIN ] ),get_cvar_num( g_SviCvarovi[ SEDMA_MAX ] ),killovi[id]) } case 8: { get_pcvar_string(g_SviCvarovi[ OSMA_PREFIX ],prefix,charsmax(prefix)) show_hudmessage(id, "Klasa: [%s] ^n8 / 10^n[%s]: %i - %i ^nUbistava: [%i]",prefix,prefix,get_pcvar_num( g_SviCvarovi[ OSMA_MIN ] ),get_cvar_num( g_SviCvarovi[ OSMA_MAX ] ),killovi[id]) } case 9: { get_pcvar_string(g_SviCvarovi[ DEVETA_PREFIX ],prefix,charsmax(prefix)) show_hudmessage(id, "Klasa: [%s] ^n9 / 10^n[%s]: %i - %i ^nUbistava: [%i]",prefix,prefix,get_pcvar_num( g_SviCvarovi[ DEVETA_MIN ] ),get_cvar_num( g_SviCvarovi[ DEVETA_MAX ] ),killovi[id]) } case 10: { get_cvar_string("hostname",HostName,charsmax(HostName)) get_pcvar_string(g_SviCvarovi[ DESETA_PREFIX ],prefix,charsmax(prefix)) show_hudmessage(id, "Klasa: [%s %s] ^n10 / 10^n[%s %s]: %i - Besk. ^nUbistava: [%i]",prefix,HostName,prefix,HostName,get_pcvar_num( g_SviCvarovi[ DESETA_MIN ] ),killovi[id]) } } set_task(5.0,"hud",id) return PLUGIN_CONTINUE; } public kazi(id) { new kaze[191],ime[33] read_args(kaze,charsmax(kaze)) remove_quotes(kaze) get_user_name(id,ime,charsmax(ime)) switch(koja[id]) { case 1: get_pcvar_string(g_SviCvarovi[ PRVA_PREFIX ], prefix,charsmax(prefix)) case 2: get_pcvar_string(g_SviCvarovi[ DRUGA_PREFIX ],prefix,charsmax(prefix)) case 3: get_pcvar_string(g_SviCvarovi[ TRECA_PREFIX ],prefix,charsmax(prefix)) case 4: get_pcvar_string(g_SviCvarovi[ CETVRTA_PREFIX ],prefix,charsmax(prefix)) case 5: get_pcvar_string(g_SviCvarovi[ PETA_PREFIX ],prefix,charsmax(prefix)) case 6: get_pcvar_string(g_SviCvarovi[ SESTA_PREFIX ],prefix,charsmax(prefix)) case 7: get_pcvar_string(g_SviCvarovi[ SEDMA_PREFIX ],prefix,charsmax(prefix)) case 8: get_pcvar_string(g_SviCvarovi[ OSMA_PREFIX ],prefix,charsmax(prefix)) case 9: get_pcvar_string(g_SviCvarovi[ DEVETA_PREFIX ],prefix,charsmax(prefix)) case 10: get_pcvar_string(g_SviCvarovi[ DESETA_PREFIX ],prefix,charsmax(prefix)) } switch(koja[id]) { case 1..9: ColorChat(0,TEAM_COLOR,"^4[%s]^3 %s^1 : %s",prefix,ime,kaze) case 10: { get_cvar_string("hostname",HostName,charsmax(HostName)) if(get_pcvar_num( g_SviCvarovi[ DESETA_ADMIN ] ) == 1) ColorChat(0,TEAM_COLOR,"^4[%s %s]^3 %s^1 :^4 %s",prefix,HostName,ime,kaze) else ColorChat(0,TEAM_COLOR,"^4[%s %s]^3 %s^1 : %s",prefix,HostName,ime,kaze) } } return PLUGIN_HANDLED } public resetuj(id,level,cid) { if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED new arg[32] read_argv(1, arg, charsmax(arg)) new igrac = cmd_target(id, arg, CMDTARGET_NO_BOTS | CMDTARGET_ALLOW_SELF | CMDTARGET_OBEY_IMMUNITY) if(!is_user_connected(igrac)) return PLUGIN_HANDLED new name[28], admin[28] get_user_name(id, admin, charsmax(admin)) get_user_name(igrac, name, charsmax(name)) ColorChat(0,TEAM_COLOR,"^4[Klase]^1 Admin^3 %s^1 je resetovao klasu^3 %s",admin,name) killovi[igrac] = 0 koja[id] = 1 return PLUGIN_HANDLED } public reklamaa(id) ColorChat(id,TEAM_COLOR,"^4[Klase]^1 Ovaj server koristi^4 Say Klase Plugin^1 By:^3 BS")
amx_warn <-- ez mitől másabb ban menu mint az alap? #define SQLON 0 // 1 = Use SQL | 0 = Use file #include <amxmodx> #include <amxmisc> #if SQLON #include <dbi> #endif #if SQLON new Sql:dbc new Result:result #else new filepath[251] #endif new g_MsgScreenFade new playerwarnings[32] new swarnlevel[33] new warned[33][33] public plugin_init() { register_plugin("AMX Warn","1.71","twistedeuphoria") register_concmd("amx_warn","swarn",ADMIN_BAN,"<username>") register_concmd("amx_unwarn","unswarn",ADMIN_BAN,"<username>") register_concmd("warn","playerwarn",ADMIN_USER,"<username> If enough players warn a player that player's warning level will be increased.") register_cvar("amx_warn_lvl1","0") // 0 = message 1 = slap 2 = slay 3 = kick 4 = temp ban 5 = perma ban register_cvar("amx_warn_lvl2","1") register_cvar("amx_warn_lvl3","2") register_cvar("amx_warn_lvl4","3") register_cvar("amx_warn_lvl5","4") register_cvar("amx_slap_lvl1dmg","5") register_cvar("amx_slap_lvl2dmg","5") register_cvar("amx_slap_lvl3dmg","5") register_cvar("amx_slap_lvl4dmg","5") register_cvar("amx_slap_lvl5dmg","5") register_cvar("amx_tempban_lvl1time","5") register_cvar("amx_tempban_lvl2time","5") register_cvar("amx_tempban_lvl3time","5") register_cvar("amx_tempban_lvl4time","5") register_cvar("amx_tempban_lvl5time","5") register_cvar("amx_warn_flash","1") // 1 = Red 2 = White 3 = Random register_cvar("amx_playerwarn_ratio","0.5") register_cvar("amx_playerwarn_allow","1") register_cvar("amx_savewarns","1") #if SQLON set_task(3.0,"sqlinit") #else new directory[201] get_datadir(directory,200) format(filepath,251,"%s/warned.txt",directory) if(!file_exists(filepath)) { new writestr[51] format(writestr,50,"Warns will be saved in here.") write_file(filepath,writestr) } #endif } #if SQLON public sqlinit() { new error[32],sqlhostname[35],sqluser[35],sqlpass[35],sqldbname[35] get_cvar_string("amx_sql_host",sqlhostname,34) get_cvar_string("amx_sql_user",sqluser,34) get_cvar_string("amx_sql_pass",sqlpass,34) get_cvar_string("amx_sql_db",sqldbname,34) dbc = dbi_connect(sqlhostname,sqluser,sqlpass,sqldbname,error,31) if(dbc == SQL_FAILED) { server_print("[AMX Warn]Could not connect to database.") return PLUGIN_HANDLED } result = dbi_query(dbc,"CREATE TABLE IF NOT EXISTS `amxwarn` (`authid` VARCHAR(35), `warnlevel` TINYINT)") dbi_free_result(result) return PLUGIN_HANDLED } #endif public swarn(id,level,cid) { if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED new target[32],tid,suid,name[32] read_args(target,31) tid = cmd_target(id,target,1) if(!tid) return PLUGIN_HANDLED suid = get_user_userid(tid) get_user_name(tid,name,31) flash(tid) swarnlevel[tid]++ switch(swarnlevel[tid]) { case 1: { new punishment punishment = get_cvar_num("amx_warn_lvl1") switch(punishment) { case 0: client_print(tid,print_center,"You have been warned by an admin. Do not continue your actions.") case 1: { new slapdmg = get_cvar_num("amx_slap_lvl1dmg") user_slap(tid,slapdmg) client_print(tid,print_center,"You have been warned by an admin. Do not continue your actions.") } case 2: { user_kill(tid) client_print(tid,print_center,"You have been warned by an admin. Do not continue your actions.") } case 3: server_cmd("kick #%d",suid) case 4: { new banlength banlength = get_cvar_num("amx_tempban_lvl1time") server_cmd("banid %d #%d kick",banlength,suid) } case 5: server_cmd("banid 0 #%d kick",suid) } } case 2: { new punishment punishment = get_cvar_num("amx_warn_lvl2") switch(punishment) { case 0: client_print(tid,print_center,"You have been warned twice by an admin. Do not continue your actions.") case 1: { new slapdmg = get_cvar_num("amx_slap_lvl2dmg") user_slap(tid,slapdmg) client_print(tid,print_center,"You have been warned twice by an admin. Do not continue your actions.") } case 2: { user_kill(tid) client_print(tid,print_center,"You have been warned twice by an admin. Do not continue your actions.") } case 3: server_cmd("kick #%d",suid) case 4: { new banlength banlength = get_cvar_num("amx_tempban_lvl2time") server_cmd("banid %d #%d kick",banlength,suid) } case 5: server_cmd("banid 0 #%d kick",suid) } } case 3: { new punishment punishment = get_cvar_num("amx_warn_lvl3") switch(punishment) { case 0: client_print(tid,print_center,"You have been warned three times by an admin. Do not continue your actions.") case 1: { new slapdmg = get_cvar_num("amx_slap_lvl3dmg") user_slap(tid,slapdmg) client_print(tid,print_center,"You have been warned three times by an admin. Do not continue your actions.") } case 2: { user_kill(tid) client_print(tid,print_center,"You have been warned three times by an admin. Do not continue your actions.") } case 3: server_cmd("kick #%d",suid) case 4: { new banlength banlength = get_cvar_num("amx_tempban_lvl3time") server_cmd("banid %d #%d kick",banlength,suid) } case 5: server_cmd("banid 0 #%d kick",suid) } } case 4: { new punishment punishment = get_cvar_num("amx_warn_lvl4") switch(punishment) { case 0: client_print(tid,print_center,"You have been warned four times by an admin. Do not continue your actions.") case 1: { new slapdmg = get_cvar_num("amx_slap_lvl4dmg") user_slap(tid,slapdmg) client_print(tid,print_center,"You have been warned four times by an admin. Do not continue your actions.") } case 2: { user_kill(tid) client_print(tid,print_center,"You have been warned four times by an admin. Do not continue your actions.") } case 3: server_cmd("kick #%d",suid) case 4: { new banlength banlength = get_cvar_num("amx_tempban_lvl4time") server_cmd("banid %d #%d kick",banlength,suid) } case 5: server_cmd("banid 0 #%d kick",suid) } } default: { new punishment punishment = get_cvar_num("amx_warn_lvl5") switch(punishment) { case 0: client_print(tid,print_center,"You have been warned five times by an admin. Do not continue your actions.") case 1: { new slapdmg = get_cvar_num("amx_slap_lvl5dmg") user_slap(tid,slapdmg) client_print(tid,print_center,"You have been warned five times by an admin. Do not continue your actions.") } case 2: { user_kill(tid) client_print(tid,print_center,"You have been warned five times by an admin. Do not continue your actions.") } case 3: server_cmd("kick #%d",suid) case 4: { new banlength banlength = get_cvar_num("amx_tempban_lvl5time") server_cmd("banid %d #%d kick",banlength,suid) } case 5: server_cmd("banid 0 #%d kick",suid) } } } console_print(id,"%s has been successfully warned.",name) new authid[35] get_user_authid(tid,authid,34) if(containi(authid,"ID_LAN") != -1) get_user_ip(tid,authid,34,1) #if SQLON result = dbi_query(dbc,"SELECT * FROM amxwarn WHERE authid = '%s'",authid) if(result >= RESULT_OK) { dbi_free_result(result) result = dbi_query(dbc,"UPDATE amxwarn SET warnlevel = '%d' WHERE authid = '%s'",swarnlevel[tid],authid) } else { dbi_free_result(result) result = dbi_query(dbc,"INSERT INTO amxwarn VALUES ( '%s' , '%d' )",authid,swarnlevel[tid]) } dbi_free_result(result) #else new retstr[51], inum, a, bool:there = false, firstempty = -1 while(read_file(filepath,inum,retstr,50,a) != 0) { if(strlen(retstr) <= 0) firstempty = inum new fid[35], warnlevel[2] parse(retstr,fid,34,warnlevel,1) new warnnum = str_to_num(warnlevel) if(equali(fid,authid)) { there = true warnnum++ new newwarn[2] num_to_str(warnnum,newwarn,1) replace(retstr,50,warnlevel,newwarn) write_file(filepath,retstr,inum) } inum++ } if(!there) { new writestr[51] format(writestr,50,"%s %d",authid,swarnlevel[tid]) write_file(filepath,writestr,firstempty) } #endif return PLUGIN_HANDLED } public unswarn(id,level,cid) { if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED new target[32],tid,name[32] read_args(target,31) tid = cmd_target(id,target,2) if(!tid) return PLUGIN_HANDLED get_user_name(tid,name,31) if(swarnlevel[tid] == 0) console_print(id,"%s has not been warned.",name) else { swarnlevel[tid] = 0 console_print(id,"%s's warnings have been removed.",name) client_print(tid,print_chat,"Your warnings have been removed.") new authid[35] get_user_authid(tid,authid,34) if(containi(authid,"ID_LAN") != -1) get_user_ip(tid,authid,34,1) #if SQLON result = dbi_query(dbc,"DELETE FROM amxwarn WHERE authid = '%s'",authid) #else new retstr[51], inum, a while(read_file(filepath,inum,retstr,50,a) != 0) { new fid[35], warny[2] parse(retstr,fid,34,warny,1) if(equali(authid,fid)) { new writestr[51] format(writestr,50,"^r") write_file(filepath,writestr,inum) } inum++ } #endif } return PLUGIN_HANDLED } public flash(id) { if(get_cvar_num("amx_warn_flash") >= 1) { g_MsgScreenFade = get_user_msgid("ScreenFade") message_begin(MSG_ONE,g_MsgScreenFade,{0,0,0},id) write_short(1<<14) write_short(1<<9) write_short(1<<11) if(get_cvar_num("amx_warn_flash")) { write_byte( 255 ) write_byte( 0 ) write_byte( 0 ) write_byte( 255 ) } else if(get_cvar_num("amx_warn_flash") == 2) { write_byte( 255 ) write_byte( 255 ) write_byte( 255 ) write_byte( 255 ) } else if(get_cvar_num("amx_warn_flash") == 3) { new red,green,blue red = random_num(0,255) green = random_num(0,255) blue = random_num(0,255) write_byte(red) write_byte(green) write_byte(blue) write_byte(255) } message_end() } } public client_putinserver(id) { playerwarnings[id] = 0 swarnlevel[id] = 0 new authid[35] get_user_authid(id,authid,34) if(containi(authid,"ID_LAN") != -1) get_user_ip(id,authid,34,1) #if SQLON result = dbi_query(dbc,"SELECT * FROM amxwarn WHERE authid = '%s'",authid) if(result >= RESULT_OK) { dbi_nextrow(result) swarnlevel[id] = dbi_result(result,"warnlevel") } dbi_free_result(result) #else new retstr[51], inum, a while(read_file(filepath,inum,retstr,50,a) != 0) { new fid[35], warnlevel[2] parse(retstr,fid,34,warnlevel,1) if(equali(fid,authid)) swarnlevel[id] = str_to_num(warnlevel) inum++ } #endif if(swarnlevel[id] > 0) client_print(id,print_center,"You have been warned %d times during your visits to this server.",swarnlevel) } public client_disconnect(id) { playerwarnings[id] = 0 swarnlevel[id] = 0 } public playerwarn(id) { if(get_cvar_num("amx_playerwarn_allow") == 1) { new target[32],tid,name[32],Float:perc,Float:make,suid read_args(target,31) tid = cmd_target(id,target,1) if(!tid) return PLUGIN_HANDLED if(warned[id][tid] == 1) { console_print(id,"You can only add your warn vote to up someone's warning level once per warning level.") return PLUGIN_HANDLED } playerwarnings[tid]++ perc = floatdiv(float(playerwarnings[tid]),float(get_playersnum())) make = get_cvar_float("amx_playerwarn_ratio") get_user_name(tid,name,31) suid = get_user_userid(tid) client_print(0,print_chat,"%s's vote warn level has increased. If %s's warning level should be increased use: warn %s.",name,name,name) warned[id][tid] = 1 if(floatcmp(perc,make) == 1) { client_print(0,print_chat,"%s's warning level has been increased.",name) for(new i=1;i<=get_playersnum();i++) { warned[i][tid] = 0 client_print(i,print_chat,"You can attempt to up %s's warning level again.",name) } playerwarnings[tid] = 0 switch(swarnlevel[tid]) { case 1: { new punishment punishment = get_cvar_num("amx_warn_lvl1") switch(punishment) { case 0: client_print(tid,print_center,"You have been warned by the players of the server. Do not continue your actions.") case 1: { new slapdmg = get_cvar_num("amx_slap_lvl1dmg") user_slap(tid,slapdmg) client_print(tid,print_center,"You have been warned by the players of the server. Do not continue your actions.") } case 2: { user_kill(tid) client_print(tid,print_center,"You have been warned by the players of the server. Do not continue your actions.") } case 3: server_cmd("kick #%d",suid) case 4: { new banlength banlength = get_cvar_num("amx_tempban_lvl1time") server_cmd("banid %d #%d kick",banlength,suid) } case 5: server_cmd("banid 0 #%d kick",suid) } } case 2: { new punishment punishment = get_cvar_num("amx_warn_lvl2") switch(punishment) { case 0: client_print(tid,print_center,"You have been warned twice by the players of the server. Do not continue your actions.") case 1: { new slapdmg = get_cvar_num("amx_slap_lvl2dmg") user_slap(tid,slapdmg) client_print(tid,print_center,"You have been warned twice by the players of the server. Do not continue your actions.") } case 2: { user_kill(tid) client_print(tid,print_center,"You have been warned twice by the players of the server. Do not continue your actions.") } case 3: server_cmd("kick #%d",suid) case 4: { new banlength banlength = get_cvar_num("amx_tempban_lvl2time") server_cmd("banid %d #%d kick",banlength,suid) } case 5: server_cmd("banid 0 #%d kick",suid) } } case 3: { new punishment punishment = get_cvar_num("amx_warn_lvl3") switch(punishment) { case 0: client_print(tid,print_center,"You have been warned three times by the players of the server. Do not continue your actions.") case 1: { new slapdmg = get_cvar_num("amx_slap_lvl3dmg") user_slap(tid,slapdmg) client_print(tid,print_center,"You have been warned three times by the players of the server. Do not continue your actions.") } case 2: { user_kill(tid) client_print(tid,print_center,"You have been warned three times by the players of the server. Do not continue your actions.") } case 3: server_cmd("kick #%d",suid) case 4: { new banlength banlength = get_cvar_num("amx_tempban_lvl3time") server_cmd("banid %d #%d kick",banlength,suid) } case 5: server_cmd("banid 0 #%d kick",suid) } } case 4: { new punishment punishment = get_cvar_num("amx_warn_lvl4") switch(punishment) { case 0: client_print(tid,print_center,"You have been warned four times by the players of the server. Do not continue your actions.") case 1: { new slapdmg = get_cvar_num("amx_slap_lvl4dmg") user_slap(tid,slapdmg) client_print(tid,print_center,"You have been warned four times by the players of the server. Do not continue your actions.") } case 2: { user_kill(tid) client_print(tid,print_center,"You have been warned four times by the players of the server. Do not continue your actions.") } case 3: server_cmd("kick #%d",suid) case 4: { new banlength banlength = get_cvar_num("amx_tempban_lvl4time") server_cmd("banid %d #%d kick",banlength,suid) } case 5: server_cmd("banid 0 #%d kick",suid) } } default: { new punishment punishment = get_cvar_num("amx_warn_lvl5") switch(punishment) { case 0: client_print(tid,print_center,"You have been warned five times by the players of the server. Do not continue your actions.") case 1: { new slapdmg = get_cvar_num("amx_slap_lvl5dmg") user_slap(tid,slapdmg) client_print(tid,print_center,"You have been warned five times by the players of the server. Do not continue your actions.") } case 2: { user_kill(tid) client_print(tid,print_center,"You have been warned five times by the players of the server. Do not continue your actions.") } case 3: server_cmd("kick #%d",suid) case 4: { new banlength banlength = get_cvar_num("amx_tempban_lvl5time") server_cmd("banid %d #%d kick",banlength,suid) } case 5: server_cmd("banid 0 #%d kick",suid) } } } new authid[35] get_user_authid(tid,authid,34) if(containi(authid,"ID_LAN") != -1) get_user_ip(tid,authid,34,1) #if SQLON result = dbi_query(dbc,"SELECT * FROM amxwarn WHERE authid = '%s'",authid) if(result >= RESULT_OK) { dbi_free_result(result) result = dbi_query(dbc,"UPDATE amxwarn SET warnlevel = '%d' WHERE authid = '%s'",swarnlevel[tid],authid) } else { dbi_free_result(result) result = dbi_query(dbc,"INSERT INTO amxwarn VALUES ( '%s' , '%d' )",authid,swarnlevel[tid]) } dbi_free_result(result) #else new retstr[51], inum, a, bool:there = false, firstempty = -1 while(read_file(filepath,inum,retstr,50,a) != 0) { if(strlen(retstr) <= 0) firstempty = inum new fid[35], warnlevel[2] parse(retstr,fid,34,warnlevel,1) new warnnum = str_to_num(warnlevel) if(equali(fid,authid)) { there = true warnnum++ new newwarn[2] num_to_str(warnnum,newwarn,1) replace(retstr,50,warnlevel,newwarn) write_file(filepath,retstr,inum) } inum++ } if(!there) { new writestr[51] format(writestr,50,"%s %d",authid,swarnlevel[tid]) write_file(filepath,writestr,firstempty) } #endif } else { new playersneeded new Float:halfplayers halfplayers = (get_playersnum() * make) new hplayers = floatround(halfplayers,floatround_ceil) playersneeded = (hplayers - playerwarnings[tid]) console_print(id,"%d more players need to warn %s to increase %s's warning level.",playersneeded,name,name) } } else { console_print(id,"Player warns have been disabled.") } return PLUGIN_HANDLED }
|
|