Ostatnio założyłem temat w którym szukałem pluginu, który po 10 sekundach zablokuje dołączenie do gry od rozpoczęcia rundy - dlaczego ?
Prowadzę serwer only awp_india i osoba, która padnie, robi reconnecta i znowu gra.
Plugin wgrałem stąd:
https://forums.allie...ad.php?t=103733
#include <amxmodx> #include <cstrike> #include <fun> #include <hamsandwich> new bool:lockspawn new bool:is_user_late[33] new useroldmoney[33] new lockenable,locktime,locktype,round new lockmoney,gmsg_ScoreInfo public plugin_init() { register_plugin("Anti Late Join","1.3","Biscuit") RegisterHam(Ham_Spawn, "player", "Spawn", 1) register_logevent("Roundstart", 2, "1=Round_Start") register_logevent("UnLockSpawn", 2, "1=Round_End") register_event("TextMsg","UnLockSpawn","a","2&#Game_C") register_event("DeathMsg","deathevent","a","1>0") lockenable = register_cvar("LockSpawn","1") lockmoney = register_cvar("LockSpawnMoney","1") locktime = register_cvar("LockSpawnTime","5") locktype = register_cvar("LockSpawnType","3") gmsg_ScoreInfo = get_user_msgid ( "ScoreInfo" ); } public deathevent() { if(get_pcvar_num(lockenable)) { //Firstblood,lock spawn new type = get_pcvar_num(locktype) if((type == 2 || type == 3) && !lockspawn) { new id = read_data(1); if(is_user_alive(id)) //is not kill by worldspawn { lockspawn = true } } } } public Roundstart() { if(get_pcvar_num(lockenable)) { UnLockSpawn() new type = get_pcvar_num(locktype) if(type == 1 || type == 3) { if(round >1 ) //is not first round set_task(get_pcvar_float(locktime),"LockSpawn") else round++ } } } public Spawn(id) { if(get_pcvar_num(lockenable)) { if(!is_user_alive(id)) return PLUGIN_HANDLED if(get_pcvar_num(lockmoney) && is_user_late[id]) { is_user_late[id] = false cs_set_user_money(id,useroldmoney[id]) } if(lockspawn) { client_print(id,print_chat,"Nie mozesz teraz dolaczyc! Minelo 15 sekund od rozpoczecia obecnej rundy - poczekaj do nastepnej <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/smile.png' class='bbc_emoticon' alt=':)' />") is_user_late[id] = true //save user money useroldmoney[id] = cs_get_user_money(id) //kill user user_kill(id,1) //reset user score cs_set_user_deaths(id, 0) set_user_frags(id, 0) //scorebroad message_begin ( MSG_BROADCAST , gmsg_ScoreInfo ); write_byte( id ); write_short( 0 ) ; write_short( 0 ) ; write_short( 0 ) ; write_short( get_user_team(id) ); message_end(); } } return PLUGIN_HANDLED } public LockSpawn() lockspawn = true public UnLockSpawn() lockspawn = false
Cvary ustawiłem na:
LockSpawn "1" LockSpawnMoney "0" LockSpawnTime "13" LockSpawnType "1"
Opis problemu:
Plugin ogólnie działa, nie można dołączyć po czasie ale po kilku rundach (5-10) buguje się i jak rozpoczyna się runda to każdego zabija (każdy ma status DEAD) i nie rozpoczyna się nowa runda - dopiero, gdy zmienię mapę, można rozpocząć gre.
Pozdrawiam oraz każdą pomoc wynagrodzę reputacją.