Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <Dini>
- #include <zcmd>
- #include <sscanf2>
- #define RED 0xE60000FF
- #define CUSTOMTELES_DIALOG 308
- new pname[24];
- public OnFilterScriptInit()
- {
- print("\n=====================================");
- print("Custom Teleports Loaded.");
- print("=====================================\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- print("\n=====================================");
- print("Custom Teleports Unloaded.");
- print("=====================================\n");
- return 1;
- }
- CMD:savetele(playerid, params[]) {
- new tele_name[100];
- new player_name[50];
- GetPlayerName(playerid, player_name, sizeof(player_name));
- if(sscanf(params, "s[100]", tele_name)) return SendClientMessage(playerid, RED, "USAGE: /savetele <location name>");
- new file[256];
- new Float:nx,Float:ny,Float:nz;
- new Var[50];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(file, sizeof(file), "Custom Teles/%s.sav", tele_name);
- if(!dini_Exists(file))
- {
- dini_Create(file);
- }
- GetPlayerPos(playerid,nx,ny,nz);
- format(Var, sizeof(Var),"%0.2f", nx);
- dini_IntSet(file,"X",strval(Var));
- format(Var, sizeof(Var),"%0.2f", ny);
- dini_IntSet(file,"Y",strval(Var));
- format(Var, sizeof(Var),"%0.2f", nz+0.5);
- dini_IntSet(file,"Z",strval(Var));
- new string[256];
- format(string, sizeof(string), "%s saved custom location (/tele %s)", player_name, tele_name);
- SendClientMessageToAll(0x00BFFFAA,string);
- new file2[256];
- format(file2, sizeof(file2), "Custom Teles/customteles.sav");
- if(!dini_Exists(file2))
- {
- dini_Create(file2);
- dini_IntSet(file2,"NumTeles",0);
- }
- dini_IntSet(file2,"NumTeles",(dini_Int(file2,"NumTeles") + 1));
- new newTeleKey[100];
- format(newTeleKey, sizeof(newTeleKey), "TELE_%d", dini_Int(file2,"NumTeles"));
- dini_Set(file2,newTeleKey,tele_name);
- return 1;
- }
- CMD:tele(playerid, params[]) {
- new tele_name[30];
- new player_name[50];
- GetPlayerName(playerid, player_name, sizeof(player_name));
- if(sscanf(params, "s[30]", tele_name)) return SendClientMessage(playerid, RED, "USAGE: /tele <location name>");
- new file[256];format(file,sizeof(file),"Custom Teles/%s.sav", tele_name);
- if(dini_Isset(file,"X") && dini_Isset(file,"Y") && dini_Isset(file,"Z")) {
- if (IsPlayerInAnyVehicle(playerid)) {
- SetVehiclePos(GetPlayerVehicleID(playerid), dini_Int(file,"X"), dini_Int(file,"Y"), dini_Int(file,"Z"));
- }
- else {
- SetPlayerPos(playerid, dini_Int(file,"X"),dini_Int(file,"Y"),dini_Int(file,"Z"));
- }
- new string[256];
- format(string, sizeof(string), "%s has gone to a custom location (/tele %s)", player_name, tele_name);
- SendClientMessageToAll(0x00BFFFAA,string);
- }
- else{
- SendClientMessage(playerid, 0xFF0000FF, "Teleport not found. Type /telelist for list.");}
- return 1;
- }
- CMD:teles(playerid, params[])
- {
- new finalString[1024];
- new file[256];
- format(file,sizeof(file),"Custom Teles/customteles.sav");
- new i;
- for(i=1; i <= dini_Int(file,"NumTeles"); i++) {
- new key[100];
- format(key, sizeof(key), "TELE_%d", i);
- if(dini_Isset(file,key)) {
- format(finalString,sizeof(finalString),"%s\n%s", finalString, dini_Get(file, key));
- }
- }
- ShowPlayerDialog(playerid,CUSTOMTELES_DIALOG,DIALOG_STYLE_LIST,"Teleport",finalString,"GO","Cancel");
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new playerName[256];
- GetPlayerName(playerid, playerName, sizeof(playerName));
- if(dialogid == CUSTOMTELES_DIALOG)
- {
- if(response) // If they clicked 'Yes' or pressed enter
- {
- new teleName[1024];
- new file[256];
- new key[100];
- format(key, sizeof(key), "TELE_%d", (listitem + 1));
- format(file,sizeof(file),"Custom Teles/customteles.sav");
- format(teleName, sizeof(teleName), dini_Get(file, key));
- format(file,sizeof(file),"Custom Teles/%s.sav", teleName);
- if(dini_Isset(file,"X") && dini_Isset(file,"Y") && dini_Isset(file,"Z")) {
- if (IsPlayerInAnyVehicle(playerid)) {
- SetVehiclePos(GetPlayerVehicleID(playerid), dini_Int(file,"X"), dini_Int(file,"Y"), dini_Int(file,"Z"));
- }
- else {
- SetPlayerPos(playerid, dini_Int(file,"X"),dini_Int(file,"Y"),dini_Int(file,"Z"));
- }
- new string[256];
- format(string, sizeof(string), "%s has gone to a custom location (/tele %s)", playerName, teleName);
- SendClientMessageToAll(0x00BFFFAA,string);
- }
- return 1;
- }
- else // Pressed ESC or clicked cancel
- {
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement