05.01.2015, 02:43
Necesitas mandar el kick mediante un Timer ejemplo:
En tu caso serнa algo como esto:
Код:
forward KickJugador(playerid); public KickJugador(playerid) { Kick(playerid); return 1; } public OnPlayerConnect(playerid) { SendClientMessage(playerid, -1, "Expulsado!!"); SetTimerEx("KickJugador", 600, false, "i", playerid); return 1; }
Код:
forward KickJugador(playerid); public KickJugador(playerid) { Kick(playerid); return 1; } stock KickPlayer( DB:Database, PlayerID, AdminID, Reason[ ] ) { if ( Database ) { new Query [ 512 ], DBResult:Result, Name [ MAX_PLAYER_NAME ], Kicker [ MAX_PLAYER_NAME ], pIP [ 16 ], t1, t2, t3; if ( AdminID == 1000 ) Kicker = "Admin"; else if ( AdminID == INVALID_PLAYER_ID ) Kicker = "Desconocido"; else GetPlayerName( AdminID, Kicker, MAX_PLAYER_NAME ); gettime( t1, t2, t3 ); GetPlayerName( PlayerID, Name, MAX_PLAYER_NAME ); GetPlayerIp( PlayerID, pIP, 16 ); format( Query, sizeof( Query ), "INSERT INTO lva_bans(name,reporter,reason,ip,time,type) values(\ '%s', '%s', '%s', '%s', strftime('%%s','now'),1\ );\ ", Name, Kicker, Reason, pIP ); Result = db_query( Database, Query ); db_free_result( Result ); format( Query, sizeof( Query ), ">> %s (ID: %d) expulsa a %s (ID: %d) por: %s", Kicker, AdminID, Name, PlayerID, Reason ); SendClientMessageToAll( COLOR_ORANGE, Query ); SendClientMessage( PlayerID, COLOR_YELLOW, "ЎHAS SIDO EXPULSADO!"); format( Query, sizeof( Query ), ">> Admin : %s", Kicker ); SendClientMessage( PlayerID, COLOR_ORANGE, Query ); format( Query, sizeof( Query ), ">> Motivo: %s", Reason ); SendClientMessage( PlayerID, COLOR_ORANGE, Query ); SendClientMessage( PlayerID, COLOR_YELLOW, "Procura que no vuelva a suceder!" ); SetTimerEx("KickJugador", 1000, false, "i", PlayerID); printf( "[kick] %s (IP: %s) expulsado por %s por %s.", Name, pIP, Kicker, Reason ); format( Query, sizeof( Query ), "[kickreason] %s %s %s [IP:%s]", Kicker, Name, Reason, pIP ); add_log( Query ); return 1; } else { print( "[ERROR] NO DATABASE!" ); return 0; } }