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; }