Witam, mam taką prośbe
Czy ktoś z tego pluginu, mógłby usunąć bany na CT? Żeby zostało wszystko inne, tylko usunąć bany na CT, probowalam to zrobić ale wyświetlały sie błędy , oraz czy po usunięciu wszystkie bany na CT zostaną usunięte, czy są zapisywane w jakiejs bazie danych?
Link do sma https://www31.zippys...4sj7K/file.html
Kod:
#include <amxmodx> #include <amxmisc> #include <nvault> #include <cstrike> #include <jailbreak> #include <colorchat> #define PLUGIN "JailCzasGry" #define VERSION "1" #define AUTHOR "Vanilla" new vault; new pCvarSteam, pCvarTiem, pCvarCtToTT; new CzasGry[MAX+1]; new dane_gracza[MAX+1]; new nazwa_gracza[MAX+1][64]; new bool:wczytane[MAX+1]; new FlagiAdmina[] = "c"; /* Tutaj zmieniasz flagi z którymi admina nie obowiązuje ograniczenie X CT na Y TT */ public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("jail_addct", "DodajGracza", ADMIN_BAN, "jail_addct <name | steamid>"); register_clcmd("jail_delct", "UsunGracza", ADMIN_BAN, "jail_delct <name | steamid>"); register_clcmd("jail_menuban", "MenuBan"); register_clcmd("say /czasgry", "PokazCzasGry"); pCvarTiem = register_cvar("jail_ct_time", "60"); pCvarCtToTT = register_cvar("jail_tt_to_ct", "6"); pCvarSteam = register_cvar("jail_ct_steam", "0"); pCvarCtToTT = max(get_pcvar_num(pCvarCtToTT), 1); pCvarTiem = get_pcvar_num(pCvarTiem)*60; pCvarSteam = get_pcvar_num(pCvarSteam); valut = nvault_open("banct"); set_task(1.0, "DodajAmxMod"); } public DodajAmxMod() { AddMenuItem("\w[\rCS-SZCZECIN.PL\w] Ban na gre jako \rKlawisz", "jail_menuban", ADMIN_BAN, PLUGIN); } public OnJoinTeam(id, team, tt, ct) { if(team == 2) { if(!is_user_steam(id) && pCvarSteam) { ColorChat(id, TEAM_COLOR, "^x01[^x04JailBreak^x01] NonSteam nie moze grac w CT!"); return JAIL_FORCE_TT; } if((ct && (ct*pCvarCtToTT >= tt)) && !(get_user_flags(id) & read_flags(FlagiAdmina))) { ColorChat(id, TEAM_COLOR, "^x01[^x04JailBreak^x01] Druzyna CT pelna! Dolaczyles do wiezniow!"); return JAIL_FORCE_TT; } if(dane_gracza[id] == 2) { ColorChat(id, TEAM_COLOR, "^x01[^x04JailBreak^x01] Masz zakaz dolaczania do CT!"); return JAIL_FORCE_TT; } if(!dane_gracza[id] && ((get_user_time(id,1)+CzasGry[id]) < pCvarTiem) && !(get_user_flags(id) & read_flags(FlagiAdmina))) { ColorChat(id, TEAM_COLOR, "^x01[^x04JailBreak^x01] Masz za malo czasu przegrane na serwerze by grac w CT! Potrzebujesz %d minut.", pCvarTiem/60); return JAIL_FORCE_TT; } } return JAIL_CONTINUE; } public DodajGracza(id) { if(!(get_user_flags(id) & ADMIN_BAN)) return PLUGIN_HANDLED; new name[64], vaultdata[256]; read_argv(1, name, 63); if(nvault_get(valut, name, vaultdata, 255)) { if(vaultdata[0] == '2') { client_print(id, print_console, "[JailBreak] Juz jest zbanoway ten gracz (%s)", name); return PLUGIN_HANDLED; } log_amx("Admin <%s> zbanowal gracza <%s>", nazwa_gracza[id], name); nvault_set(valut, name, "2"); client_print(id, print_console, "[JailBreak] Zbanowales gracza %s", name); } else client_print(id, print_console, "[JailBreak] Taki gracz (%s) jeszcze nie gral na serwerze", name); return PLUGIN_HANDLED; } public UsunGracza(id) { if(!(get_user_flags(id) & ADMIN_BAN)) return PLUGIN_HANDLED; new name[64], vaultdata[256]; read_argv(1, name, 63); if(nvault_get(valut, name, vaultdata, 255)) { log_amx("Admin <%s> odbanowal gracza <%s>", nazwa_gracza[id], name); nvault_set(valut, name, "1"); client_print(id, print_console, "[JailBreak] Odbanowales gracza %s", name); } else client_print(id, print_console, "[JailBreak] Nie ma takiego gracza (%s)", name); return PLUGIN_HANDLED; } public MenuBan(id) { if(!(get_user_flags(id) & ADMIN_BAN)) return PLUGIN_HANDLED; new menu = menu_create("\w[\rCS-SZCZECIN.PL\w] Ban na gre jako \rKlawisz\w:", "Ban_Handled"); for(new i=1; i<=32; i++) { if(!is_user_connected(i) || is_user_hltv(i) || i == id) continue; new name[64], num[3]; get_user_name(i, name, 64); num_to_str(i, num, 2); add(name, 63, (get_user_team(i) == 1? " \r[TT]": (get_user_team(i) == 2? " \r[CT]": " \r[SPECT]"))); menu_additem(menu, name, num); } menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu); return PLUGIN_HANDLED; } public Ban_Handled(id, menu, item) { if(item == MENU_EXIT) { return PLUGIN_CONTINUE; } new id2, callback, data[3]; menu_item_getinfo(menu, item, id2, data, 2, _, _, callback); id2 = str_to_num(data); if(dane_gracza[id2] != 2) { CzasGry[id2] = 0; dane_gracza[id2] = 2; nvault_set(valut, nazwa_gracza[id2], "2"); if(cs_get_user_team(id2) == CS_TEAM_CT) { if(is_user_alive(id2)) user_kill(id2); cs_set_user_team(id2, CS_TEAM_T); } log_amx("Admin <%s> zbanowal gracza <%s>", nazwa_gracza[id], nazwa_gracza[id2]); ColorChat(id, TEAM_COLOR, "^x04[JailBreak]^x01 Gracz ^x03%s^x01 zostal zbanowany na gre w CT", nazwa_gracza[id2]); } else ColorChat(id, TEAM_COLOR, "^x04[JailBreak]^x01 Gracz ^x03%s^x01 jest juz zbanowany na CT! ", nazwa_gracza[id2]); return PLUGIN_CONTINUE; } public client_putinserver(id) { dane_gracza[id] = 0; CzasGry[id] = 0; wczytane[id] = false; if(pCvarSteam) { if(is_user_steam(id)) { get_user_authid(id, nazwa_gracza[id], 63); CzasGry[id] = WczytajCzas(id); } return; } if(is_user_steam(id)) get_user_authid(id, nazwa_gracza[id], 63); else get_user_name(id, nazwa_gracza[id], 63); CzasGry[id] = WczytajCzas(id); } public WczytajCzas(id) { new vaultdata[256]; wczytane[id] = true; if(nvault_get(valut, nazwa_gracza[id], vaultdata, 255)) { if(vaultdata[1] == '#') { new left[10]; strtok(vaultdata, left, 9, vaultdata, 255, '#', 1); return str_to_num(vaultdata); } else dane_gracza[id] = (vaultdata[0]-'0'); } return 0; } public client_disconnect(id) { if(pCvarSteam) { if(is_user_steam(id)) { ZapiszCzas(id); } return; } ZapiszCzas(id); } public ZapiszCzas(id) { if(!dane_gracza[id] && wczytane[id]) { new czas = CzasGry[id]+get_user_time(id,1); if(czas <= pCvarTiem) { new vaultdata[256]; formatex(vaultdata, 255, "0#%i", czas); nvault_set(valut, nazwa_gracza[id], vaultdata); } else nvault_set(valut, nazwa_gracza[id], "1"); } } public PokazCzasGry(id) { new times = get_user_time(id,1); if((times+CzasGry[id]) < pCvarTiem && !dane_gracza[id]) ColorChat(id, TEAM_COLOR, "^x01[^x04JailBreak^x01] Spedziles na serwerze^x03 %d^x01 min.", (times+CzasGry[id])/60); else ColorChat(id, TEAM_COLOR, "^x01[^x04JailBreak^x01] Przegrales ponad %d minut na serwerze", pCvarTiem/60); return PLUGIN_HANDLED; } stock is_user_steam( id ) { new g_Steam[ 32 ] get_user_authid( id, g_Steam, charsmax( g_Steam ) ) return bool:( '0' <= g_Steam[ 8 ] <= '1' ); } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } */