ShowAdminHelpCommands(playerid) { SendClientMessage(playerid, 0xb380ffff, "> Admin commands:"); SendClientMessage(playerid, 0xeeeeeeff, "/goto /gethere /setvw /setint /freeze /unfreeze /slap /check /jetpack"); SendClientMessage(playerid, 0xb3b3b3ff, "/sethp /setarmour /settime /setweather /spawncar /destroycar /fixcar /agun /setskin /setadmin /a"); SendClientMessage(playerid, 0xeeeeeeff, "/tempban /offban /unban /agivekey /createproperty /editproperty /deleteproperty /gotoproperty /createinterior /interiors"); SendClientMessage(playerid, 0xb3b3b3ff, "/createvehicle /deletevehicle /spawnvehicle /despawnvehicle"); return 1; } CMD:agivekey(playerid, params[]) { if(isnull(params)) return SendSyntaxMessage(playerid, "/agivekey (property/vehicle)"); if(!strcmp(params, "property", true, 8)) { new targetid, propertyid; if(sscanf(params, "{s[9]}ui", targetid, propertyid)) return SendSyntaxMessage(playerid, "/agivekey property (playerid) (propertyid)"); if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player."); if(Iter_Contains(PropertyKey[targetid], propertyid)) return SendErrorMessage(playerid, "That player already has the keys to this property."); Iter_Add(PropertyKey[targetid], propertyid); Key_Give(targetid, KEY_PROPERTY, propertyid); SendAdminWarningF(playerid, "You gave %s the keys to property %d.", ReturnPlayerRPName(targetid), propertyid); SendAdminWarningF(targetid, "%s gave you the keys to property %d.", ReturnPlayerRPName(playerid), propertyid); } else if(!strcmp(params, "vehicle", true, 7)) { new targetid, vehiclesqlid; if(sscanf(params, "{s[8]}ui", targetid, vehiclesqlid)) return SendSyntaxMessage(playerid, "/agivekey vehicle (playerid) (vehicle SQL ID)"); if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player."); if(Iter_Contains(VehicleKey[targetid], vehiclesqlid)) return SendErrorMessage(playerid, "That player already has the keys to this vehicle."); Iter_Add(VehicleKey[targetid], vehiclesqlid); Key_Give(targetid, KEY_VEHICLE, vehiclesqlid); SendAdminWarningF(playerid, "You gave %s the keys to vehicle SQLID %d.", ReturnPlayerRPName(targetid), vehiclesqlid); SendAdminWarningF(targetid, "%s gave you the keys to vehicle SQLID %d.", ReturnPlayerRPName(playerid), vehiclesqlid); } else SendSyntaxMessage(playerid, "/agivekey (property/vehicle)"); return 1; } CMD:admins(playerid, params[]) { new admins = 0; for(new j = 5; j >= 2; j--) { foreach(new i : Admin) if(Admin_GetLevel(i) == j) { admins ++; if(admins == 1) { SendClientMessage(playerid, 0x99ccffff, "Online administrators:"); } va_SendClientMessage(playerid, 0xc3c3c3ff, "(ID %d) %s %s - %s", i, Admin_GetRankName(i), ReturnPlayerRPName(i), Account_GetName(i)); } } if(admins == 0) SendClientMessage(playerid, 0xc3c3c3ff, "There are no administrators online."); return 1; } CMD:helpers(playerid, params[]) { new helpers = 0; foreach(new i : Admin) if(Admin_GetLevel(i) == 1) { helpers ++; if(helpers == 1) { SendClientMessage(playerid, 0x99ccffff, "Online helpers:"); } va_SendClientMessage(playerid, 0xc3c3c3ff, "(ID %d) %s %s - %s", i, Admin_GetRankName(i), ReturnPlayerRPName(i), Account_GetName(i)); } if(helpers == 0) SendClientMessage(playerid, 0xc3c3c3ff, "There are no helpers online."); return 1; } CMD:setadmin(playerid, params[]) { new targetid, value; if(sscanf(params, "ui", targetid, value)) return SendSyntaxMessage(playerid, "/setadmin (playerid) (level)"); if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player."); if(Admin_GetLevel(targetid) > Admin_GetLevel(playerid)) return SendErrorMessageF(playerid, "You can't use this command on %s.", ReturnPlayerRPName(targetid)); if(Admin_GetLevel(targetid) == value) return SendErrorMessageF(playerid, "%s is already a %s.", ReturnPlayerRPName(targetid), Admin_GetRankName(targetid)); Admin_SetLevel(targetid, value, true); if(value == 0) SendAdminWarningF(targetid, "%s has set %s's admin level to %s.", ReturnPlayerRPName(playerid), ReturnPlayerRPName(targetid), Admin_GetRankName(targetid)); foreach(new i : Admin) SendAdminWarningF(i, "%s has set %s's admin level to %s.", ReturnPlayerRPName(playerid), ReturnPlayerRPName(targetid), Admin_GetRankName(targetid)); return 1; } CMD:setskin(playerid, params[]) { new targetid, value; if(sscanf(params, "ui", targetid, value)) return SendSyntaxMessage(playerid, "/setskin (playerid) (modelid)"); if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player."); Player_SetSkin(targetid, value, true); SendAdminWarningF(playerid, "You have set %s's skin to %d.", ReturnPlayerRPName(targetid), value); SendAdminWarningF(targetid, "%s has set your skin to %d.", ReturnPlayerRPName(playerid), value); return 1; } CMD:a(playerid, params[]) { if(isnull(params)) return SendSyntaxMessage(playerid, "/a (text)"); if(strlen(params) > 84) { foreach(new i : Admin) { va_SendClientMessage(i, 0xff6666ff, "%s %s: %.84s ...", Admin_GetRankName(playerid), ReturnPlayerRPName(playerid), params); va_SendClientMessage(i, 0xff6666ff, "%s %s: ... %s", Admin_GetRankName(playerid), ReturnPlayerRPName(playerid), params[84]); } } else { foreach(new i : Admin) { va_SendClientMessage(i, 0xff6666ff, "%s %s: %s", Admin_GetRankName(playerid), ReturnPlayerRPName(playerid), params); } } return 1; } CMD:spawncar(playerid, params[]) { if(IsPlayerInAnyVehicle(playerid)) return SendErrorMessage(playerid, "You're already in a vehicle"); new carName[36], col1, col2; if(sscanf(params, "s[36]I(1)I(1)", carName, col1, col2)) return SendSyntaxMessage(playerid, "/spawncar (model) (color 1) (color 2)"); new modelid = 0; if(IsNumeric(carName)) { modelid = strval(carName); if(!(400 <= modelid <= 611)) return SendErrorMessage(playerid, "The model ID must be between 400 and 611."); } else { for(new v; v < sizeof(g_arrVehicleNames); v++) { if(strfind(g_arrVehicleNames[v], carName, true) != -1) { modelid = v + 400; break; } } } if(modelid == 0) return SendErrorMessage(playerid, "You specified an invalid model."); if(!(0 <= col1 <= 255 && 0 <= col2 <= 255)) return SendErrorMessage(playerid, "The vehicle color must be between 0 and 255."); new Float:x, Float:y, Float:z, Float:angle; GetPlayerPos(playerid, x, y, z); GetPlayerFacingAngle(playerid, angle); new vehicleid = CreateVehicle(modelid, x, y, z, angle, col1, col2, -1); LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid)); PutPlayerInVehicle(playerid, vehicleid, 0); SendAdminWarningF(playerid, "You spawned a %s. (ID %d)", GetVehicleName(vehicleid), vehicleid); return 1; } CMD:destroycar(playerid, params[]) { new vehicleid; if(!IsPlayerInAnyVehicle(playerid)) { if(sscanf(params, "i", vehicleid)) return SendSyntaxMessage(playerid, "/destroycar (vehicleid)"); if(!IsValidVehicle(vehicleid)) return SendErrorMessage(playerid, "You specified an invalid vehicle."); } else if(isnull(params)) vehicleid = GetPlayerVehicleID(playerid); else { if(sscanf(params, "i", vehicleid)) return SendSyntaxMessage(playerid, "/destroycar (vehicleid)"); if(!IsValidVehicle(vehicleid)) return SendErrorMessage(playerid, "You specified an invalid vehicle."); } if(IsValidServerVehicle(vehicleid)) return SendErrorMessage(playerid, "This is a server vehicle, use /deletevehicle or /despawnvehicle instead."); SendAdminWarningF(playerid, "You destroyed a %s. (ID %d)", GetVehicleName(vehicleid), vehicleid); DestroyVehicle(vehicleid); return 1; } CMD:fixcar(playerid, params[]) { new vehicleid; if(!IsPlayerInAnyVehicle(playerid)) { if(sscanf(params, "i", vehicleid)) return SendSyntaxMessage(playerid, "/fixcar (vehicleid)"); if(!IsValidVehicle(vehicleid)) return SendErrorMessage(playerid, "You specified an invalid vehicle."); } else if(isnull(params)) vehicleid = GetPlayerVehicleID(playerid); else { if(sscanf(params, "i", vehicleid)) return SendSyntaxMessage(playerid, "/destroycar (vehicleid)"); if(!IsValidVehicle(vehicleid)) return SendErrorMessage(playerid, "You specified an invalid vehicle."); } if(IsVehicleWrecked(vehicleid)) { SetVehicleWrecked(vehicleid, false); } RepairVehicle(vehicleid); foreach(new i : Admin) SendAdminWarningF(i, "%s (%s) repaired vehicle %s. (ID %d)", ReturnPlayerRPName(playerid), Account_GetName(playerid), GetVehicleName(vehicleid), vehicleid); return 1; } CMD:agun(playerid, params[]) { new gun, ammo; if(sscanf(params, "iI(250)", gun, ammo)) return SendSyntaxMessage(playerid, "/agun (gun) (ammo)"); Player_GiveWeapon(playerid, gun, ammo); return 1; } CMD:sethp(playerid, params[]) { new targetid, value; if(sscanf(params, "ui", targetid, value)) return SendSyntaxMessage(playerid, "/sethp (playerid) (health)"); if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player."); if(!(1 <= value <= 100)) return SendErrorMessage(playerid, "HP must be between 1 and 100."); SetPlayerHealth(targetid, value); SendAdminWarningF(targetid, "%s has set your health to %d.", ReturnPlayerRPName(playerid), value); foreach(new i : Admin) { SendAdminWarningF(i, "%s (%s) has set %s's health to %d.", ReturnPlayerRPName(playerid), Account_GetName(playerid), ReturnPlayerRPName(targetid), value); } if(value == 100) { RevivePlayer(targetid); } return 1; } CMD:setarmour(playerid, params[]) { new targetid, value; if(sscanf(params, "ui", targetid, value)) return SendSyntaxMessage(playerid, "/setarmour (playerid) (armour)"); if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player."); if(!(1 <= value <= 100)) return SendErrorMessage(playerid, "Armour must be between 1 and 100."); SetPlayerArmour(targetid, value); SendAdminWarningF(targetid, "%s has set your armour to %d.", ReturnPlayerRPName(playerid), value); foreach(new i : Admin) { SendAdminWarningF(i, "%s (%s) has set %s's armour to %d.", ReturnPlayerRPName(playerid), Account_GetName(playerid), ReturnPlayerRPName(targetid), value); } return 1; } CMD:goto(playerid, params[]) { if(!isnull(params) && !strcmp(params, "xyz", true, 3)) { new Float:x, Float:y, Float:z; if(sscanf(params, "{s[4]}fff", x, y, z)) return SendSyntaxMessage(playerid, "/goto xyz (x) (y) (z)"); if(!IsPlayerInAnyVehicle(playerid)) SetPlayerPos(playerid, x, y, z); else { SetVehiclePos(GetPlayerVehicleID(playerid), x, y, z); } return 1; } new targetid; if(sscanf(params, "u", targetid)) return SendSyntaxMessage(playerid, "/goto (playerid, xyz)"); if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player."); SetPlayerInterior(playerid, GetPlayerInterior(targetid)); SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(targetid)); new Float:x, Float:y, Float:z; GetPlayerPos(targetid, x, y, z); if(!IsPlayerInAnyVehicle(playerid)) SetPlayerPos(playerid, x, y + 1.5, z); else { SetVehiclePos(GetPlayerVehicleID(playerid), x, y + 3, z); } return 1; } CMD:gethere(playerid, params[]) { new targetid; if(sscanf(params, "u", targetid)) return SendSyntaxMessage(playerid, "/gethere (playerid)"); if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player."); SetPlayerInterior(targetid, GetPlayerInterior(playerid)); SetPlayerVirtualWorld(targetid, GetPlayerVirtualWorld(playerid)); new Float:x, Float:y, Float:z; GetPlayerPos(playerid, x, y, z); SetPlayerPos(targetid, x, y + 1.5, z); return 1; } CMD:setvw(playerid, params[]) { new targetid, value; if(sscanf(params, "ui", targetid, value)) return SendSyntaxMessage(playerid, "/setvw (playerid) (virtual world)"); if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player."); SetPlayerVirtualWorld(targetid, value); SendAdminWarningF(playerid, "You have set %s's Virtual World to %d.", ReturnPlayerRPName(targetid), value); SendAdminWarningF(targetid, "%s has set your Virtual World to %d.", ReturnPlayerRPName(playerid), value); return 1; } CMD:setint(playerid, params[]) { new targetid, value; if(sscanf(params, "ui", targetid, value)) return SendSyntaxMessage(playerid, "/setint (playerid) (interior)"); if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player."); SetPlayerInterior(targetid, value); SendAdminWarningF(playerid, "You have set %s's Interior to %d.", ReturnPlayerRPName(targetid), value); SendAdminWarningF(targetid, "%s has set your Interior to %d.", ReturnPlayerRPName(playerid), value); return 1; } CMD:freeze(playerid, params[]) { if(!isnull(params) && !strcmp(params, "all", true)) { foreach(new i : Player) TogglePlayerControllable(i, false); SendAdmCmdF("%s (%s) freezed everyone.", ReturnPlayerRPName(playerid), Account_GetName(playerid)); return 1; } new targetid; if(sscanf(params, "u", targetid)) return SendSyntaxMessage(playerid, "/freeze (playerid, all)"); if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player."); if(Admin_GetLevel(targetid) > Admin_GetLevel(playerid)) return SendErrorMessageF(playerid, "You can't use this command on %s.", Account_GetName(targetid)); TogglePlayerControllable(targetid, false); SendAdminWarningF(playerid, "You freezed %s.", ReturnPlayerRPName(targetid)); SendAdminWarningF(targetid, "%s freezed you.", ReturnPlayerRPName(playerid)); return 1; } CMD:unfreeze(playerid, params[]) { if(!isnull(params) && !strcmp(params, "all", true)) { foreach(new i : Player) TogglePlayerControllable(i, true); SendAdmCmdF("%s (%s) unfreezed everyone.", ReturnPlayerRPName(playerid), Account_GetName(playerid)); return 1; } new targetid; if(sscanf(params, "u", targetid)) return SendSyntaxMessage(playerid, "/unfreeze (playerid, all)"); if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player."); if(Admin_GetLevel(targetid) > Admin_GetLevel(playerid)) return SendErrorMessageF(playerid, "You can't use this command on %s.", Account_GetName(targetid)); TogglePlayerControllable(targetid, true); SendAdminWarningF(playerid, "You unfreezed %s.", ReturnPlayerRPName(targetid)); SendAdminWarningF(targetid, "%s unfreezed you.", ReturnPlayerRPName(playerid)); return 1; } CMD:settime(playerid, params[]) { if(!isnull(params) && !strcmp(params, "reset", true)) { Time_StartUpdate(); return 1; } new hour, minute; if(sscanf(params, "iI(0)", hour, minute)) return SendSyntaxMessage(playerid, "/settime (hour, reset) (optional: minute)"); if(!(0 <= hour <= 24)) return SendErrorMessage(playerid, "The hour must be between 0 and 24."); if(!(0 <= minute <= 59)) return SendErrorMessage(playerid, "The minute must be between 0 and 59."); SendAdminWarningF(playerid, "Time is now %02d:%02d. Type /resettime to reset it.", hour, minute); Time_StopUpdate(hour, minute); return 1; } CMD:setweather(playerid, params[]) { if(!isnull(params) && !strcmp(params, "reset", true)) { Weather_StartUpdate(); return 1; } new weather; if(sscanf(params, "i", weather)) return SendSyntaxMessage(playerid, "/setweather (weather, reset)"); if(!(0 <= weather <= 22)) return SendErrorMessage(playerid, "Weather ID must be between 0 and 22."); SendAdminWarningF(playerid, "The weather ID is now %d. Type /resetweather to reset it.", weather); Weather_StopUpdate(weather); return 1; } CMD:slap(playerid, params[]) { new targetid, value; if(sscanf(params, "uI(3)", targetid, value)) return SendSyntaxMessage(playerid, "/slap (playerid) (optional: value)"); if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player."); SendAdminWarningF(playerid, "You slapped %s.", ReturnPlayerRPName(targetid)); SendAdminWarningF(targetid, "%s slapped you.", ReturnPlayerRPName(playerid)); new Float:x, Float:y, Float:z; GetPlayerPos(targetid, x, y, z); SetPlayerPos(targetid, x, y, z + value); return 1; } CMD:check(playerid, params[]) { new targetid; if(sscanf(params, "u", targetid)) return SendSyntaxMessage(playerid, "/check (playerid)"); if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player."); new count = 0; new weapon[24]; new string[144]; new gun; new ammo; for(new i = 0; i < 13; i++) { GetPlayerWeaponData(targetid, i, gun, ammo); if(gun > 0) { GetWeaponName(gun, weapon, sizeof(weapon)); if(count == 0) { count++; strcat(string, va_return("%s (%d)", weapon, ammo)); } else strcat(string, va_return(", %s (%d)", weapon, ammo)); } } if(count == 0) strcat(string, "None"); new Float:health, Float:armour; GetPlayerHealth(playerid, health); GetPlayerArmour(playerid, armour); SendAdminWarningF(playerid, "%s's weapons: %s.", ReturnPlayerRPName(targetid), string, health, armour); SendAdminWarningF(playerid, "%s's money: $%s. Health: %.2f, Armour: %.2f", ReturnPlayerRPName(targetid), MoneyFormat(GetPlayerMoney(playerid)), health, armour); return 1; } CMD:jetpack(playerid, params[]) { SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK); return 1; }