#define FILTERSCRIPT #include #include #define CHECKPOINT_START 0 #define CHECKPOINT_2 1 #define CHECKPOINT_3 2 #define CHECKPOINT_4 2 #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_WHITE 0xFFFFFFAA //white #define COLOR_BLUE 0x33CCFFAA //blue #define COLOR_DARKBLUE 0x3399FFAA //dark blue #define COLOR_GREY 0xAFAFAFAA //grey #define COLOR_LIGHTBLUE 0x33CCFFAA //light blue #define COLOR_ORANGE 0xFF9900AA //orange #define COLOR_GRAD1 0xB4B5B7AA #define COLOR_GRAD2 0xBFC0C2AA #define COLOR_GRAD3 0xCBCCCEAA #define COLOR_GRAD4 0xD8D8D8AA #define COLOR_GRAD5 0xE3E3E3AA #define COLOR_GRAD6 0xF0F0F0AA #define COLOR_INV 0xFFFFFF00 #define Version 1 #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 new gJailed[MAX_PLAYERS]; new muted[MAX_PLAYERS]; forward CountDown(); forward CountDownFreezing(); forward PingKicker(); forward RepairTimer(playerid, Float:x, Float:y, Float:z); new Warnings[MAX_PLAYERS]; new GunWarnings[MAX_PLAYERS]; new AutoKicked[MAX_PLAYERS]; new Count = 5; new Menu:SpawnACar; new Menu:SpawnACar2; new Menu:TuneACar; new Car; new Model; new MAX_PING = 500; #pragma tabsize 0 #pragma unused Script_OnGameModeInit,SendMessageToAll, SendMessageToAdmins,SendMessage,Checkpoint_OnPlayerEnterCP,Checkpoint_OnPlayerLeaveCP,Property_OnPlayerEnterCP,Property_OnPlayerExited,Property_OnPlayerLeaveCP,Property_OnPlayerSelectedRow,Race_OnPlayerStateChange Script_OnFilterScriptInit() { print("\n------------------------------------"); print(" YSI Admin by [SAP]Francis"); print("------------------------------------\n"); printf("Welcome To Exofar Nox Visit www.exofarn.nl.tt for our community. (Version: %d.7 FIXED)",Version); ycmd(kill); Langs_AddLanguage("FR", "Francais"); Langs_AddLanguage("EN", "English"); Langs_AddFile("core", "YSI"); SpawnACar = CreateMenu("~g~Spawn ~y~A ~r~Car (Page 1)",1,125,150,300); if(IsValidMenu(SpawnACar)) { SetMenuColumnHeader(SpawnACar, 0, "Select a car to give yourself:"); AddMenuItem(SpawnACar,0,"Infernus"); AddMenuItem(SpawnACar,0,"NRG500"); AddMenuItem(SpawnACar,0,"Monster Truck"); AddMenuItem(SpawnACar,0,"Packer"); AddMenuItem(SpawnACar,0,"RC Car"); AddMenuItem(SpawnACar,0,"Rancher"); AddMenuItem(SpawnACar,0,"Roadtrain"); AddMenuItem(SpawnACar,0,"Dumper"); AddMenuItem(SpawnACar,0,"Sultan"); AddMenuItem(SpawnACar,0,"Maverick"); AddMenuItem(SpawnACar,0,"Vortex"); AddMenuItem(SpawnACar,0,"Hydra"); } SpawnACar2 = CreateMenu("~g~Spawn ~y~A ~r~Car (Page 2)",1,125,150,300); if(IsValidMenu(SpawnACar2)) { SetMenuColumnHeader(SpawnACar, 1, "Select a car to give yourself:"); AddMenuItem(SpawnACar2,0,"Hotring Racer"); AddMenuItem(SpawnACar2,0,"Bloodring Banger"); AddMenuItem(SpawnACar2,0,"Shamal"); AddMenuItem(SpawnACar2,0,"ZR-350"); AddMenuItem(SpawnACar2,0,"Bullet"); AddMenuItem(SpawnACar2,0,"Turismo/Lambo"); } Script_OnFilterScriptExit() { return 1; } Text_RegisterTag(tag_with_MY_KILL_HELP); forward ycmd_kill(playerid, params[], help); public ycmd_kill(playerid, params[], help) { if (help) Text_Send(playerid, "MY_KILL_HELP"); else SetPlayerHealth(playerid, 0.0); return 1; } Script_OnGameModeInit() { return 1; } Script_OnPlayerConnect(playerid) { new string[256], pname[250]; GetPlayerName(playerid, pname, sizeof(pname)); format(string, sizeof(string), "**** Please Welcome \"%s\" to the server ****", pname); SendClientMessageToAll(COLOR_GREY, string); GunWarnings[playerid] = 0; Warnings[playerid] = 0; gJailed[playerid] = 0; return 1; } Script_OnPlayerDisconnect(playerid, reason) { new pname[400], string[500]; GetPlayerName(playerid, pname, sizeof(pname)); if(reason == 0 && IsPlayerAdmin(playerid) == 0) { format(string, sizeof(string), "**** %s left the server. (Timeout) ****", pname); SendClientMessageToAll(COLOR_GREY, string); print(string); return 1; } else if(reason == 1 && IsPlayerAdmin(playerid) == 0) { format(string, sizeof(string), "**** %s left the server. (Leaving...) ****", pname); SendClientMessageToAll(COLOR_GREY, string); print(string); return 1; } else if(reason == 2 && IsPlayerAdmin(playerid) == 0) { format(string, sizeof(string), "**** %s left the server. ((Auto-)Kicked/Banned) ****", pname); SendClientMessageToAll(COLOR_GREY, string); print(string); Warnings[playerid] = 0; return 1; } else if(IsPlayerAdmin(playerid) == 1 && reason == 0) { format(string, sizeof(string), "**** Admin %s left the server. (Timeout) ****", pname); SendClientMessageToAll(COLOR_GREY, string); print(string); return 1; } else if(IsPlayerAdmin(playerid) == 1 && reason == 1) { format(string, sizeof(string), "**** Admin %s left the server. (Leaving...) ****", pname); SendClientMessageToAll(COLOR_GREY, string); print(string); return 1; } else if(IsPlayerAdmin(playerid) == 1 && reason == 2) { format(string, sizeof(string), "**** Admin %s left the server. (Kicked) ****", pname); SendClientMessageToAll(COLOR_GREY, string); print(string); return 1; } return 1; } Script_OnPlayerSpawn(playerid) { return 1; } Script_OnPlayerDeath(playerid, killerid, reason) { new string[256]; new playername[MAX_PLAYER_NAME]; new killername[MAX_PLAYER_NAME]; SendDeathMessage(killerid, playerid, reason); if(killerid != INVALID_PLAYER_ID) { if(reason == WEAPON_MINIGUN || WEAPON_ROCKETLAUNCHER) { if(GunWarnings[killerid] == 0 && IsPlayerAdmin(killerid) == 0 && reason == WEAPON_MINIGUN || reason == WEAPON_ROCKETLAUNCHER) { GetPlayerName(playerid, playername, sizeof (playername)); GetPlayerName(killerid, killername, sizeof (killername)); format(string, sizeof (string), "***%s has been Auto-Warned. (Reason: Killing %s.) [1 Warning]***", killername,playername,GunWarnings[killerid]); SendClientMessageToAll(0xFFFF00AA,string); GunWarnings[killerid] = GunWarnings[killerid] + 1; print(string); return 1; } else if(GunWarnings[killerid] == 1 || GunWarnings[killerid] == 2 && IsPlayerAdmin(killerid) == 0) { GetPlayerName(killerid, killername, sizeof (killername)); GetPlayerName(playerid, playername, sizeof (playername)); format(string, sizeof (string), "***%s has been Auto-Warned. (Reason: Killing %s.) [%d Warnings]***", killername,playername,GunWarnings[killerid]+1); SendClientMessageToAll(0xFFFF00AA,string); GunWarnings[killerid] = GunWarnings[killerid] + 1; print(string); return 1; } else if(GunWarnings[killerid] == 3 && IsPlayerAdmin(killerid) == 0) { GetPlayerName(killerid, killername, sizeof (killername)); format(string, sizeof (string), "***%s has been Auto-Kicked. (Reason: Killing someone after being warned 3 times.)***", killername); SendClientMessageToAll(0xFFFF00AA,string); print(string); GunWarnings[killerid] = 0; Kick(killerid); AutoKicked[killerid] = 1; return 1; } } } return 1; } public OnPlayerCommandText(playerid, text[]) { if(muted[playerid] == 1 && IsPlayerAdmin(playerid) == 0) { SendClientMessage(playerid, COLOR_YELLOW, "Sorry, you are muted."); return 0; } if(strcmp(cmd, "/warn", true) == 0) { new Playerid; new str[256]; new pname[256]; new aname[256]; new tmp[256]; new tmp2[256]; tmp = strtok(cmdtext, idx); tmp2 = strtok(cmdtext, idx); if(!strlen(tmp) && IsPlayerAdmin(playerid) == 1) { SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /warn [id] <[Reason]>"); return 1; } Playerid = strval(tmp); if(IsPlayerAdmin(Playerid) == 0) if(IsPlayerAdmin(playerid) == 1) if(IsPlayerConnected(Playerid)) if(Warnings[Playerid] == 0) { Warnings[Playerid]+=1; GetPlayerName(Playerid, pname, sizeof (str)); GetPlayerName(playerid, aname, sizeof (str)); format(str, sizeof (str), "***Admin %s Warned %s [Reason: %s] [1/3 Warnings]***", aname, pname, cmdtext[8]); SendClientMessageToAll(COLOR_YELLOW, str); print(str); return 1; } else if(Warnings[Playerid] == 1) { GetPlayerName(Playerid, pname, sizeof (str)); GetPlayerName(playerid, aname, sizeof (str)); format(str, sizeof (str), "***Admin %s Jailed %s [Reason: %s] [2/3 Warnings]***", aname, pname, cmdtext[8]); SendClientMessageToAll(COLOR_YELLOW, str); SetPlayerInterior(Playerid, 6); SetPlayerPos(Playerid, 264.3700,77.5700,1001.0391); SetPlayerFacingAngle(Playerid, 272.6900); TogglePlayerControllable(Playerid, 0); gJailed[Playerid] = 1; print(str); Warnings[Playerid]+=1; return 1; } else if(Warnings[Playerid] == 2) { GetPlayerName(Playerid, pname, sizeof (str)); GetPlayerName(playerid, aname, sizeof (str)); format(str, sizeof (str), "***Admin %s Kicked %s [Reason: %s] [3/3 Warnings]***", aname, pname, cmdtext[8]); SendClientMessageToAll(COLOR_YELLOW, str); Kick(Playerid); return 1; } else { return 1; } else { SendClientMessage(playerid, COLOR_RED, "Insert a correct id."); return 1; } else { SendClientMessage(playerid, COLOR_RED, "You are not an admin!"); return 1; } else { SendClientMessage(playerid, COLOR_RED, "You can't do that to admins!"); return 1; } } /*if(strcmp(cmd, "/mute", true) == 0) { if(IsPlayerAdmin(playerid) == 1) { new Playerid; new str[256]; new pname[256]; new aname[256]; new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /mute [id]"); return 1; } Playerid = strval(tmp); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /mute [id]"); return 1; } GetPlayerName(Playerid, pname, sizeof (str)); GetPlayerName(playerid, aname, sizeof (str)); format(str, sizeof (str), "***Admin %s Muted %s***", aname, pname); SendClientMessageToAll(COLOR_YELLOW, str); gMuted[Playerid] = 0; print(str); return 1; } else { SendClientMessage(playerid, COLOR_RED, "You are not an admin!"); return 1; } } if(strcmp(cmd, "/unmute", true) == 0) { if(IsPlayerAdmin(playerid) == 1) { new Playerid; new str[256]; new pname[256]; new aname[256]; new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /unmute [id]"); return 1; } Playerid = strval(tmp); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /unmute [id]"); return 1; } GetPlayerName(Playerid, pname, sizeof (str)); GetPlayerName(playerid, aname, sizeof (str)); format(str, sizeof (str), "***Admin %s Unmuted %s***", aname, pname); SendClientMessageToAll(COLOR_YELLOW, str); gMuted[Playerid] = 1; print(str); return 1; } else { SendClientMessage(playerid, COLOR_RED, "You are not an admin!"); return 1; } }*/ if(strcmp(cmd, "/mute", true) == 0 && IsPlayerAdmin(playerid) == 1) { new Playerid; new string[256]; new pname[256]; new aname[256]; new tmp[256],tmp2[256]; tmp = strtok(cmdtext, idx); tmp2 = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /mute [id]"); return 1; } Playerid = strval(tmp); if (IsPlayerConnected(Playerid)) { GetPlayerName(Playerid, pname, sizeof(pname)); GetPlayerName(playerid, aname, sizeof(aname)); muted[Playerid] = 1; format(string, sizeof(string), "***Admin %s Muted %s [Reason: %s]***", aname,pname,cmdtext[8]); printf(string); Player_WriteInt("Muted", 1); SendClientMessageToAll(COLOR_YELLOW, string); } else { format(string, sizeof(string), "%d is not an active player.", Playerid); SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; } if(strcmp(cmd, "/unmute", true) == 0 && IsPlayerAdmin(playerid) == 1) { new Playerid; new string[256]; new pname[256]; new aname[256]; new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /unmute [id]"); return 1; } Playerid = strval(tmp); if (IsPlayerConnected(Playerid)) { GetPlayerName(Playerid, pname, sizeof(pname)); GetPlayerName(playerid, aname, sizeof(aname)); muted[Playerid] = 0; format(string, sizeof(string), "***Admin %s Unmuted %s***", aname,pname); printf(string); SendClientMessageToAll(COLOR_YELLOW, string); Player_WriteInt("Muted", 0); } else { format(string, sizeof(string), "* %d is not an active player.", Playerid); SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; } if(strcmp(cmd, "/get", true) == 0) { if(IsPlayerAdmin(playerid) == 1) { new Playerid; new str[256]; new pname[256]; new aname[256]; new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /get [id]"); return 1; } Playerid = strval(tmp); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /get [id]"); return 1; } GetPlayerName(Playerid, pname, sizeof (str)); GetPlayerName(playerid, aname, sizeof (str)); format(str, sizeof (str), "***Admin %s Teleported you to him***", aname); SendClientMessage(Playerid,COLOR_YELLOW, str); format(str, sizeof (str), "***You have teleported %s***", pname); SendClientMessage(playerid,COLOR_YELLOW,str); SetPlayerInterior(Playerid, GetPlayerInterior(playerid)); GetPlayerPos(playerid, x,y,z); SetPlayerPos(Playerid, x+2,y,z); print(str); return 1; } else { SendClientMessage(playerid, COLOR_RED, "You are not an admin!"); return 1; } } if(strcmp(cmdtext, "/healall", true) == 0) { if(IsPlayerAdmin(playerid)) { new str[256]; new aname[256]; GetPlayerName(playerid, aname, sizeof (str)); for(new i=0; i ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } SendMessageToAdmins(const str[]) { for (new i = 0; i < MAX_PLAYERS; i++) { if (IsPlayerConnected(i)) { if (IsPlayerAdmin(i)) { SendClientMessage(i, 0xFF9900AA, str); } } } } LockButNotAdmins(vehicleid) { for (new i = 0; i < MAX_PLAYERS; i++) { if (IsPlayerConnected(i)) { if (!IsPlayerAdmin(i)) { SetVehicleParamsForPlayer(vehicleid, i, 0, 1); } } } } SendMessage(playerid, const str[]) { SendClientMessage(playerid, 0xFF9900AA, str); } SendMessageToAll(const str[]) { SendClientMessageToAll(0xFF9900AA, str); } public CountDown(){ new string[15]; if (Count > 0){ format(string,sizeof(string),"~r~%d",Count); GameTextForAll(string, 999, 5); Count--; SetTimer("CountDown", 1000, 0); } else{ GameTextForAll("~g~Go! Go! Go!", 999, 5); for(new i=0; i