13.04.2017, 23:33
Quiero hacer un comando que banie la ip por medio del nick o id del jugador, uso Sqlite... y no se me ocurre como hacer el comando
espero su ayuda!
espero su ayuda!
Creo que ese solo banea nombres, Nesecito una de ip's igual serнa un if en onplayerconnect que diga si la ip esta ban no?
|
CMD:ban(playerid, params[]) { if(PlayerInfo[playerid][Level] < 6) return SendClientMessage(playerid,red,"[ERROR]: {FFFFFF}No tienes autorizaciуn."); new string[128], id, reason[128], when[128], ban_hr, ban_min, ban_sec, ban_month, ban_days, ban_years; gettime(ban_hr, ban_min, ban_sec); getdate(ban_years, ban_month, ban_days); if(sscanf(params, "uS(sin razуn)[128]", id, reason)) return SendClientMessage(playerid, red, "[ERROR]: {FFFFFF}Uso /ban [playerid] [razуn]"); if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, red, "[ERROR]: {FFFFFF}Jugador no conectado."); if(id == playerid) return SendClientMessage(playerid, red, "[ERROR]: {FFFFFF}No puedes usar el comando en ti mismo."); if(PlayerInfo[playerid][Level] < PlayerInfo[id][Level]) return SendClientMessage(playerid, red, "[ERROR]: {FFFFFF}No puedes usar este comando en un administrador."); format(when, 128, "%02d/%02d/%d %02d:%02d:%02d", ban_month, ban_days, ban_years, ban_hr, ban_min, ban_sec); CMDMessageToAdmins(playerid,"BAN"); format(string, sizeof(string), "*{DF0000}Administrador %s baneу a %s (razуn: %s)", pName(playerid), pName(id), reason); SendClientMessageToAll(grey, string); printf(string); #if LOG == true SaveLog("banlog.txt", string); #endif format(string, sizeof(string), "Baneaste a %s por la razon de: %s.", pName(id), reason); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "Tъ fuiste baneado por el administrador %s (Razуn: %s)", pName(playerid), reason); SendClientMessage(id, COLOR_YELLOW, string); BanAccount(id, pName(playerid), reason); ShowBan(id, pName(playerid), reason, when); KickEx(id); return 1; }
stock BanAccountEx(name[], ip[], admin[] = "gg", reason[] = "N/a") { new Query[500], DBResult:result, ban_hr, ban_min, ban_sec, ban_month, ban_days, ban_years, when[128] ; gettime(ban_hr, ban_min, ban_sec); getdate(ban_years, ban_month, ban_days); format(when, 128, "%02d/%02d/%d %02d:%02d:%02d", ban_month, ban_days, ban_years, ban_hr, ban_min, ban_sec); format(Query, 500, "INSERT INTO `baneos` (`username`, `ip`, `banby`, `banreason`, `banwhen`) VALUES ('%q', '%s', '%s', '%s', '%s')", name, ip, admin, reason, when); result = db_query(database, Query); db_free_result(result); return 1; } stock BanAccount(playerid, admin[] = "gg", reason[] = "N/a") { new Query[500], DBResult:result, ban_hr, ban_min, ban_sec, ban_month, ban_days, ban_years, when[128] ; gettime(ban_hr, ban_min, ban_sec); getdate(ban_years, ban_month, ban_days); format(when, 128, "%02d/%02d/%d %02d:%02d:%02d", ban_month, ban_days, ban_years, ban_hr, ban_min, ban_sec); format(Query, 500, "INSERT INTO `baneos` (`username`, `ip`, `banby`, `banreason`, `banwhen`) VALUES ('%q', '%s', '%s', '%s', '%s')", pName(playerid), PlayerInfo[playerid][UserIP], admin, reason, when); result = db_query(database, Query); db_free_result(result); return 1; }