Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- CSPr - CoordSaver Pro Edition
- Copyright (c) 2008 by Rafelder
- You are not allowed to edit the script!
- */
- #include <a_samp>
- new SaveMode;
- new SaveFile[32];
- new StrVar[256];
- new Menu: SelectMenu;
- #define COLOR_BAD 0xC10000FF
- #define COLOR_GOOD 0xFAD029FF
- #define MIN_SAVEMODES 1
- #define MAX_SAVEMODES 9
- stock WriteFileFormat[265];
- #define WriteIntoFileEx(%1,%2); format(WriteFileFormat,265,%1,%2);WriteIntoFile(WriteFileFormat);SendClientMessageToAdmins(COLOR_GOOD, WriteFileFormat);
- #define WriteIntoFileExWithoutMsg(%1,%2); format(WriteFileFormat,265,%1,%2);WriteIntoFile(WriteFileFormat);
- new respawn_delay = 0;
- new Cartype = 0;
- new Pickuptype = 0;
- new Cartypestring[][] = {"CreateVehicle", "AddStaticVehicle", "AddStaticVehicleEx"};
- new Pickuptypestring[][] = {"CreatePickup", "AddStaticPickup"};
- new Files[][] = { "player_coords.txt", "car_coords.txt", "pickup_coords.txt",
- "xplode_coords.txt","playercp_coords.txt", "racecp_coords.txt",
- "blank_coords.txt", "mapicon_coords.txt", "teleports_coords.txt"};
- new aVehicleNames[212][] = {
- {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},
- {"Dumper"},{"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},
- {"Pony"},{"Mule"},{"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},
- {"Washington"},{"Bobcat"},{"Mr Whoopee"},{"BF Injection"},{"Hunter"},{"Premier"},{"Enforcer"},
- {"Securicar"},{"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Trailer 1"},
- {"Previon"},{"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
- {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Trailer 2"},{"Turismo"},{"Speeder"},
- {"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},{"Skimmer"},
- {"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},{"Sanchez"},
- {"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},{"Rustler"},{"ZR-350"},
- {"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},{"Baggage"},{"Dozer"},
- {"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},{"Jetmax"},{"Hotring"},
- {"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},{"Mesa"},{"RC Goblin"},
- {"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},{"Super GT"},{"Elegant"},
- {"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},{"Tanker"},{"Roadtrain"},
- {"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},{"NRG-500"},{"HPV1000"},
- {"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},{"Willard"},{"Forklift"},
- {"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},{"Blade"},{"Freight"},{"Streak"},
- {"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},{"Firetruck LA"},{"Hustler"},{"Intruder"},
- {"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},{"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},
- {"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},{"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},
- {"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},{"Bandito"},{"Freight Flat"},{"Streak Carriage"},
- {"Kart"},{"Mower"},{"Duneride"},{"Sweeper"},{"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},
- {"Stafford"},{"BF-400"},{"Newsvan"},{"Tug"},{"Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Hotdog"},
- {"Club"},{"Freight Carriage"},{"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},
- {"Police Car (SFPD)"},{"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T. Van"},{"Alpha"},
- {"Phoenix"},{"shitGlendale"},{"shitSadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},
- {"Boxville"},{"Farm Plow"},{"Utility Trailer"}
- };
- //------------------------------------------------------------------------------
- //=====FILTERSCRIPT=============================================================
- //------------------------------------------------------------------------------
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Coords-Saver by Rafelder");
- print("--------------------------------------\n");
- SendClientMessageToAdmins(COLOR_GOOD, "Tipe '/savehelp' to see the help menu.");
- SendClientMessageToAdmins(COLOR_GOOD, "Coords-Saver loaded. Tipe '/savemode [1-9]' to select your savemode.");
- SendClientMessageToAdmins(COLOR_GOOD, "You also can use '/savemodemenu' to select the savemode in the menu.");
- SelectMenu = Menu:CreateMenu("~w~Savemode Select", 1, 200, 150, 300);
- SetMenuColumnHeader(SelectMenu, 0, "Select your savemode.");
- AddMenuItem(SelectMenu, 0, " Playerclasses");
- AddMenuItem(SelectMenu, 0, " Vehicles");
- AddMenuItem(SelectMenu, 0, " Pickups");
- AddMenuItem(SelectMenu, 0, " Explosion");
- AddMenuItem(SelectMenu, 0, " PlayerCheckpoint");
- AddMenuItem(SelectMenu, 0, " RaceCheckpoint");
- AddMenuItem(SelectMenu, 0, " BlankCoords");
- AddMenuItem(SelectMenu, 0, " Mapicon");
- AddMenuItem(SelectMenu, 0, " TeleportCommand");
- AddMenuItem(SelectMenu, 0, "=> Exit Menu");
- return 1;
- }
- public OnFilterScriptExit()
- {
- SendClientMessageToAdmins(COLOR_GOOD, "Coords-Saver unloaded.");
- new Menu:CheckMenu;
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- CheckMenu = GetPlayerMenu(i);
- if(CheckMenu == SelectMenu)
- {
- HideMenuForPlayer(SelectMenu, i);
- TogglePlayerControllable(i, 1);
- }
- }
- }
- return 1;
- }
- //------------------------------------------------------------------------------
- //=====CMDS+TEXT================================================================
- //------------------------------------------------------------------------------
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256], idx;
- cmd = strtok(cmdtext, idx);
- //Savehelp
- if(!strcmp(cmd, "/savehelp", true))
- {
- SendClientMessage(playerid, COLOR_GOOD, ">> Save commands <<");
- SendClientMessage(playerid, COLOR_GOOD, "Tipe '/savemode [1-9]' to change the savemode. (Also possible '/savemodemenu')");
- SendClientMessage(playerid, COLOR_GOOD, "Tipe '/savepos' to save the coords in the actually savemodefile.");
- SendClientMessage(playerid, COLOR_GOOD, "Tipe '/c [text]' to write something in the actually savemodefile.");
- SendClientMessage(playerid, COLOR_GOOD, "Tipe '/del' to delete the last line in the actually savemodefile.");
- SendClientMessage(playerid, COLOR_GOOD, ">> Settings commands <<");
- SendClientMessage(playerid, COLOR_GOOD, "Tipe '/delay [seconds]' to change the respawn_delay in seconds (Vehicles).");
- SendClientMessage(playerid, COLOR_GOOD, "Tipe '/vtype [AddStaticVehicle(Ex)/CreateVehicle]' to change the vehicletype.");
- SendClientMessage(playerid, COLOR_GOOD, "Tipe '/ptype [AddStaticPickup/CreatePickup]' to change the pickuptype.");
- SendClientMessage(playerid, COLOR_GOOD, "Tipe '/spawn [Modelid/Vehiclename]' to spawn a vehicle, '/setskin [Skinid]' to change your skin.");
- return 1;
- }
- //Savemode
- if(!strcmp(cmd, "/savemode", true))
- {
- StrVar = strtok(cmdtext, idx);
- if(!strlen(StrVar))
- {
- SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/savemode [1-9]'");
- SendClientMessage(playerid, COLOR_BAD, "[1 = PlayerClass, 2 = Vehicle, 3 = Pickup, 4 = Explosion, 5 = PlayerCheckpoint,");
- SendClientMessage(playerid, COLOR_BAD, "6 = RaceCheckpoint, 7 = Blank Coords, 8 = Mapicon, 9 = TeleportCMDS]");
- return 1;
- }
- if((strval(StrVar) < MIN_SAVEMODES) || (strval(StrVar) > MAX_SAVEMODES))
- {
- SendClientMessage(playerid, COLOR_BAD, "[ERROR]: Savemode must between 1-9");
- SendClientMessage(playerid, COLOR_BAD, "[1 = PlayerClass, 2 = Vehicle, 3 = Pickup, 4 = Explosion, 5 = PlayerCheckpoint,");
- SendClientMessage(playerid, COLOR_BAD, "6 = RaceCheckpoint, 7 = Blank Coords, 8 = Mapicon, 9 = TeleportCMDS]");
- return 1;
- }
- SaveMode = strval(StrVar);
- format(StrVar, sizeof(StrVar), "Savemode %d activated.", SaveMode);
- SendClientMessageToAdmins(COLOR_GOOD, StrVar);
- SendClientMessageToAdmins(COLOR_GOOD, "[1 = PlayerClass, 2 = Vehicle, 3 = Pickup, 4 = Explosion, 5 = PlayerCheckpoint,");
- SendClientMessageToAdmins(COLOR_GOOD, "6 = RaceCheckpoint, 7 = Blank Coords, 8 = Mapicon, 9 = TeleportCMDS]");
- switch(SaveMode)
- {
- case 1..9: {
- format(SaveFile, sizeof(SaveFile), "%s", Files[SaveMode-1]);
- if(SaveMode == 2) SendClientMessage(playerid, COLOR_GOOD, "Change the respawn_delay: '/delay [seconds]'"), SendClientMessage(playerid, COLOR_GOOD, "Change the vehicle type: '/vtype [type]'");
- if(SaveMode == 3) SendClientMessage(playerid, COLOR_GOOD, "Change the pickup type: '/ptype [type]'");
- }
- }
- return 1;
- }
- //Savemodemenu
- if(!strcmp(cmd, "/savemodemenu", true))
- {
- ShowMenuForPlayer(SelectMenu, playerid);
- TogglePlayerControllable(playerid, 0);
- return 1;
- }
- //C
- if(!strcmp(cmd, "/c", true))
- {
- if((!SaveMode) || (SaveMode < MIN_SAVEMODES) || (SaveMode > MAX_SAVEMODES)) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: No '/savemode' activated!");
- if(!strlen(cmdtext[3])) return SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/c [text]'");
- WriteIntoFileEx("// %s", cmdtext[3]);
- format(StrVar, sizeof(StrVar), "//%s", StrVar);
- SendClientMessageToAdmins(COLOR_GOOD, StrVar);
- return 1;
- }
- //Del
- if(!strcmp(cmd, "/del", true))
- {
- if((!SaveMode) || (SaveMode < MIN_SAVEMODES) || (SaveMode > MAX_SAVEMODES)) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: No '/savemode' activated!");
- switch(SaveMode)
- {
- case 1..8: DeleteLastLine(SaveFile), SendClientMessageToAdmins(COLOR_GOOD, "Last line deleted");
- case 9:
- {
- for(new i=0; i<17; i++)
- {
- DeleteLastLine(SaveFile);
- }
- SendClientMessageToAdmins(COLOR_GOOD, "Last 17 lines deleted");
- }
- }
- return 1;
- }
- //Setskin
- if(!strcmp(cmd, "/setskin", true))
- {
- StrVar = strtok(cmdtext, idx);
- if (!strlen(StrVar)) return SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/setskin [Skinid]");
- if ((strval(StrVar) < 0) || (strval(StrVar) > 299) || IsInvalidSkin(strval(StrVar))) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: Invalid Skinid");
- SetPlayerSkin(playerid, strval(StrVar));
- format(StrVar, sizeof(StrVar), "[SUCCESS]: Skin changed to skindid %d", GetPlayerSkin(playerid));
- SendClientMessage(playerid, COLOR_GOOD, StrVar);
- return 1;
- }
- //Spawn
- if(!strcmp(cmd, "/spawn", true))
- {
- new CarToSpawn, Car;
- StrVar = strtok(cmdtext, idx);
- if (!strlen(StrVar)) return SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/spawn [Modelid/Vehiclename]");
- CarToSpawn = GetVehicleModelIDFromName(StrVar);
- if(CarToSpawn == -1)
- {
- CarToSpawn = strval(StrVar);
- if((CarToSpawn < 400) || (CarToSpawn > 611)) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: Invalid Modelid/Vehiclename");
- }
- new Float:X, Float:Y, Float:Z, Float:A;
- GetPlayerPos(playerid, X, Y, Z);
- GetXYInFrontOfPlayer(playerid, X, Y, 5);
- GetPlayerFacingAngle(playerid, A);
- Car = CreateVehicle(CarToSpawn, X, Y, Z, A + 90.0, -1, -1, 120);
- LinkVehicleToInterior(Car, GetPlayerInterior(playerid));
- format(StrVar, sizeof(StrVar), "[SUCCESS]: Spawned a %s [Modelid: %d, Vehicleid: %d]", aVehicleNames[GetVehicleModel(Car)-400], GetVehicleModel(Car), Car);
- SendClientMessage(playerid, COLOR_GOOD, StrVar);
- return 1;
- }
- //Delay
- if(!strcmp(cmd, "/delay", true))
- {
- if(SaveMode != 2) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: '/savemode 2' isn't activated");
- StrVar = strtok(cmdtext, idx);
- if(!strlen(StrVar)) return SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/delay [seconds]'");
- respawn_delay = strval(StrVar);
- format(StrVar, sizeof(StrVar), "Repawn_delay changed to %d seconds.", strval(StrVar));
- SendClientMessageToAdmins(COLOR_GOOD, StrVar);
- return 1;
- }
- //Vtype
- if(!strcmp(cmd, "/vtype", true))
- {
- if(SaveMode != 2) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: '/savemode 2' isn't activated");
- StrVar = strtok(cmdtext, idx);
- if (!strlen(StrVar)) return SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/vtype [AddStaticVehicle(Ex)/CreateVehicle]'");
- for(new i=0; i<=sizeof(Cartypestring); i++)
- {
- if(!strcmp(StrVar, Cartypestring[i], true))
- {
- Cartype = i+1;
- format(StrVar, sizeof(StrVar), "Cartype changed to %s.", StrVar);
- SendClientMessageToAdmins(COLOR_GOOD, StrVar);
- return 1;
- }
- if(i == sizeof(Cartypestring)-1) SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/vtype [AddStaticVehicle(Ex)/CreateVehicle]'");
- }
- return 1;
- }
- //Ptype
- if(!strcmp(cmd, "/ptype", true))
- {
- if (SaveMode != 3) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: '/savemode 3' isn't activated");
- StrVar = strtok(cmdtext, idx);
- if (!strlen(StrVar)) return SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/ptype [AddStaticPickup/CreatePickup]'");
- for(new i=0; i<sizeof(Pickuptypestring); i++)
- {
- if(!strcmp(StrVar, Pickuptypestring[i], true))
- {
- Pickuptype = i+1;
- format(StrVar, sizeof(StrVar), "Pickuptype changed to %s.", StrVar);
- SendClientMessageToAdmins(COLOR_GOOD, StrVar);
- return 1;
- }
- if(i == sizeof(Pickuptypestring)-1) SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/ptype [AddStaticPickup/CreatePickup]'");
- }
- return 1;
- }
- //Savepos
- if(!strcmp(cmd, "/savepos", true))
- {
- if((!SaveMode) || (SaveMode < MIN_SAVEMODES) || (SaveMode > MAX_SAVEMODES)) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: No '/savemode' activated!");
- new Float:X, Float:Y, Float:Z, Float:A;
- GetPlayerPos(playerid, X, Y, Z);
- GetPlayerFacingAngle(playerid, A);
- new string[256];
- switch(SaveMode)
- {
- case 1:
- {
- if (IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: You have to be outside a vehicle!");
- new weapon1 = strval(strtok(cmdtext, idx));
- new ammu1 = strval(strtok(cmdtext, idx));
- new weapon2 = strval(strtok(cmdtext, idx));
- new ammu2 = strval(strtok(cmdtext, idx));
- new weapon3 = strval(strtok(cmdtext, idx));
- new ammu3 = strval(strtok(cmdtext, idx));
- if ((weapon1 < 0) || (weapon1 > 46) || (weapon2 < 0) || (weapon2 > 46) || (weapon2 < 0) || (weapon2 > 46)) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: Invalid Weaponid. Usage weaponid 0-46.");
- if ((ammu1 < 0) || (ammu2 < 0) || (ammu3 <0)) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: Invalid ammu. Use 0- unless ammu.");
- if (!weapon1 || !ammu1 || !weapon2 || !ammu2 || !weapon3 || !ammu3) SendClientMessage(playerid, COLOR_GOOD, "You also can use '/savepos [weapon1, ammu1, weapon2, ammu2, weapon3, ammu3]'");
- WriteIntoFileEx("AddPlayerClass(%d, %f, %f, %f, %f, %d, %d, %d, %d, %d, %d);", GetPlayerSkin(playerid), X, Y, Z, A, weapon1, ammu1, weapon2, ammu2, weapon3, ammu3);
- return 1;
- }
- case 2:
- {
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: You have to sit in a vehicle!");
- if (respawn_delay == 0) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: No '/delay' defined.");
- if (Cartype == 0) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: No '/vtype' defined.");
- new vehicleid = GetPlayerVehicleID(playerid);
- GetVehiclePos(vehicleid, X, Y, Z);
- GetVehicleZAngle(vehicleid, A);
- if(Cartype == 1 || Cartype == 3)
- {
- WriteIntoFileEx("%s(%d, %f, %f, %f, %f, -1, -1, %d);", Cartypestring[Cartype-1], GetVehicleModel(vehicleid), X, Y, Z, A, respawn_delay);
- }
- else
- {
- WriteIntoFileEx("%s(%d, %f, %f, %f, %f, -1, -1);", Cartypestring[Cartype-1], GetVehicleModel(vehicleid), X, Y, Z, A);
- }
- return 1;
- }
- case 3:
- {
- if(Pickuptype == 0) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: No '/ptype' defined.");
- new modelid = strval(strtok(cmdtext,idx));
- new type = strval(strtok(cmdtext,idx));
- if (!modelid || !type) return SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/savepos [modelid][type]'");
- WriteIntoFileEx("%s(%d, %d, %f, %f, %f);", Pickuptypestring[Pickuptype-1], modelid, type, X, Y, Z);
- return 1;
- }
- case 4:
- {
- new type = strval(strtok(cmdtext,idx));
- new radius = strval(strtok(cmdtext,idx));
- if (!type || !radius) return SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/savepos [type][radius]'");
- WriteIntoFileEx("CreateExplosion(%f, %f, %f, %d, %d);", X, Y, Z, type, radius);
- return 1;
- }
- case 5:
- {
- new size = strval(strtok(cmdtext,idx));
- if(!size) return SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/savepos [size]'");
- WriteIntoFileEx("SetPlayerCheckpoint(playerid, %f, %f, %f, %d);", X, Y, Z, size);
- return 1;
- }
- case 6:
- {
- new type = strval(strtok(cmdtext,idx));
- new size = strval(strtok(cmdtext,idx));
- if (!type || !size) return SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/savepos [type][size]'");
- WriteIntoFileEx("SetPlayerRaceCheckpoint(playerid, %d, %f, %f, %f, 0.0, 0.0, 0.0, %d);", type, X, Y, Z, size);
- return 1;
- }
- case 7:
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- GetVehiclePos(vehicleid, X, Y, Z);
- GetVehicleZAngle(vehicleid, A);
- WriteIntoFileEx("[Vehicle] [Coords: %f, %f, %f] [Angle: %f] [Interior: %d]", X, Y, Z, A, GetPlayerInterior(playerid));
- }
- else
- {
- WriteIntoFileEx("[Player] [Coords: %f, %f, %f] [Angle: %f] [Interior: %d]", X, Y, Z, A, GetPlayerInterior(playerid));
- }
- return 1;
- }
- case 8:
- {
- new markertype = strval(strtok(cmdtext, idx));
- if (!markertype) return SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/savepos [Mapiconid]'");
- if ((markertype < 1) && (markertype > 63)) return SendClientMessage(playerid, COLOR_BAD, "[ERROR]: Invalid Mapiconid [1-63]");
- WriteIntoFileEx("SetPlayerMapIcon(playerid, \\*icnoid*\\, %f, %f, %f, %d, 0);", X, Y, Z, markertype);
- return 1;
- }
- case 9:
- {
- new Float:Pos[2][4];
- new command[256], message[256];
- command = strtok(cmdtext, idx);
- message = strtok(cmdtext, idx);
- if ((!strlen(StrVar)) || (!strlen(message))) return SendClientMessage(playerid, COLOR_BAD, "[USAGE]: '/savepos [Command][Teleport message]'");
- if (IsPlayerInAnyVehicle(playerid))
- {
- GetVehiclePos(GetPlayerVehicleID(playerid), Pos[1][0], Pos[1][1], Pos[1][2]);
- GetVehicleZAngle(GetPlayerVehicleID(playerid), Pos[1][3]);
- }
- GetPlayerPos(playerid, Pos[0][0], Pos[0][1], Pos[0][2]);
- GetPlayerFacingAngle(playerid, Pos[0][3]);
- WriteIntoFileExWithoutMsg("if(!strcmp(cmdtext, \"/%s\", true))", command);
- WriteIntoFile("{");
- WriteIntoFile("if(IsPlayerInAnyVehicle(playerid))");
- WriteIntoFile("{");
- WriteIntoFileExWithoutMsg("SetVehiclePos(GetPlayerVehicleID(playerid), %f, %f, %f);", Pos[IsPlayerInAnyVehicle(playerid)][0], Pos[IsPlayerInAnyVehicle(playerid)][1], Pos[IsPlayerInAnyVehicle(playerid)][2]);
- WriteIntoFileExWithoutMsg("SetVehicleZAngle(GetPlayerVehicleID(playerid), %f);", Pos[IsPlayerInAnyVehicle(playerid)][3]);
- WriteIntoFileExWithoutMsg("LinkVehicleToInterior(GetPlayerVehicleID(playerid), %d);", GetPlayerInterior(playerid));
- WriteIntoFile("}");
- WriteIntoFile("else");
- WriteIntoFile("{");
- WriteIntoFileExWithoutMsg("SetPlayerPos(playerid, %f, %f, %f);", Pos[0][0], Pos[0][1], Pos[0][2]);
- WriteIntoFileExWithoutMsg("SetPlayerFacingAngle(playerid, %f);", Pos[0][3]);
- WriteIntoFile("}");
- WriteIntoFileExWithoutMsg("SetPlayerInterior(playerid, %d);", GetPlayerInterior(playerid));
- WriteIntoFileExWithoutMsg("SendClientMessage(playerid, 0x000000FF, \"%s\");", cmdtext[9+strlen(command)]);
- WriteIntoFile("return 1;");
- WriteIntoFile("}");
- format(string, sizeof(string), "Command \"/%s\" created with Teleportmessage \"%s\".", command, cmdtext[9+strlen(command)]);
- SendClientMessageToAdmins(COLOR_GOOD, string);
- return 1;
- }
- }
- return 1;
- }
- return 0;
- }
- //------------------------------------------------------------------------------
- //=====MENUS====================================================================
- //------------------------------------------------------------------------------
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- if(GetPlayerMenu(playerid) == SelectMenu)
- {
- TogglePlayerControllable(playerid, 0);
- switch(row)
- {
- case 0..8: {
- format(SaveFile, sizeof(SaveFile), "%s", Files[row]);
- SaveMode = row+1;
- new string[256];
- format(string, 256, "Savemode %d activated.", SaveMode);
- SendClientMessageToAdmins(COLOR_GOOD, string);
- SendClientMessageToAdmins(COLOR_GOOD, "[1 = PlayerClass, 2 = Vehicle, 3 = Pickup, 4 = Explosion, 5 = PlayerCheckpoint,");
- SendClientMessageToAdmins(COLOR_GOOD, "6 = RaceCheckpoint, 7 = Blank Coords, 8 = Mapicon, 9 = TeleportCMDS]");
- if(row == 1) SendClientMessage(playerid, COLOR_GOOD, "Change the respawn_delay: '/delay [seconds]'"), SendClientMessage(playerid, COLOR_GOOD, "Change the vehicle type: '/vtype [type]'");
- if(row == 2) SendClientMessage(playerid, COLOR_GOOD, "Change the pickup type: '/ptype [type]'");
- }
- case 9: HideMenuForPlayer(SelectMenu, playerid);
- }
- TogglePlayerControllable(playerid, 1);
- }
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- //------------------------------------------------------------------------------
- //=====STRTOK===================================================================
- //------------------------------------------------------------------------------
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' ')) {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- //------------------------------------------------------------------------------
- //=====STOCK====================================================================
- //------------------------------------------------------------------------------
- stock PlayerName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, MAX_PLAYER_NAME);
- return name;
- }
- stock GetXYInFrontOfPlayer(playerid, &Float:X, &Float:Y, Float:distance)
- {
- new Float:A;
- GetPlayerPos(playerid, X, Y, A);
- GetPlayerFacingAngle(playerid, A);
- if (GetPlayerVehicleID(playerid)) {
- GetVehicleZAngle(GetPlayerVehicleID(playerid), A);
- }
- X += (distance * floatsin(-A, degrees));
- Y += (distance * floatcos(-A, degrees));
- }
- stock GetVehicleModelIDFromName(vname[])
- {
- for(new i=0; i<211; i++)
- {
- if(strfind(aVehicleNames[i], vname, true) != -1)
- {
- return i+400;
- }
- }
- return -1;
- }
- stock IsInvalidSkin(skinid)
- {
- new InSkin[] = {0, 3, 4, 5, 6, 8, 42, 65, 74, 86, 119, 149, 208, 273, 289};
- for (new i=0; i<sizeof(InSkin); i++) if(skinid == InSkin[i]) return 1;
- return 0;
- }
- stock SendClientMessageToAdmins(color, message[])
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && IsPlayerAdmin(i))
- {
- SendClientMessage(i, color, message);
- }
- }
- }
- stock WriteIntoFile(text[])
- {
- new File:handle = fopen(SaveFile, io_append), string[256];
- if(handle)
- {
- format(string, sizeof(string), "%s\r\n", text);
- fwrite(handle, string);
- fclose(handle);
- }
- }
- stock DeleteLastLine(file[])
- {
- new File:handle = fopen(file, io_readwrite), string[256], string2[256];
- if(handle)
- {
- new File:handle2 = fopen("tmp.txt", io_readwrite);
- while (fread(handle, string))
- {
- if(string2[0]) fwrite(handle2, string2);
- string2 = string;
- }
- fclose(handle);
- fclose(handle2);
- handle = fopen(file, io_write);
- handle2 = fopen("tmp.txt", io_read);
- while (fread(handle2, string))
- {
- fwrite(handle, string);
- }
- fclose(handle);
- fclose(handle2);
- fremove("tmp.txt");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement