Advertisement
Guest User

[FilterScript]: Saving Pos/Skins by _XSnipER_

a guest
Aug 23rd, 2012
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.55 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dfile>
  3.  
  4. main() print("SAVEPOS/SAVESKIN by _XSnipER_");
  5.  
  6. new
  7.     PSavedSkin[MAX_PLAYERS char],
  8.     bool:PSavedPos[MAX_PLAYERS char],
  9.     Float:PSavedPos_X[MAX_PLAYERS char],
  10.     Float:PSavedPos_Y[MAX_PLAYERS char],
  11.     Float:PSavedPos_Z[MAX_PLAYERS char],
  12.     PSavedPosInterior[MAX_PLAYERS char],
  13.     bool:SavedPos,
  14.     bool:SavedSkins
  15. ;
  16. public OnPlayerConnect(playerid) {
  17.     new string[0xFF];
  18.     format(string, 0xFF, "users/%s.ini", pName(playerid));
  19.     if(!fexist(string)) {
  20.         dfile_Create(string);
  21.         PSavedSkin[playerid] = -1;
  22.         PSavedPos[playerid] = false;
  23.     }
  24.     if(fexist(string)) {
  25.         dfile_Open(string);
  26.         PSavedSkin[playerid] = dfile_ReadInt("SKINSAVED");
  27.         PSavedPos[playerid] = dfile_ReadBool("POSSAVED");
  28.         PSavedPos_X[playerid] = dfile_ReadFloat("POS_X");
  29.         PSavedPos_Y[playerid] = dfile_ReadFloat("POS_Y");
  30.         PSavedPos_Z[playerid] = dfile_ReadFloat("POS_Z");
  31.         PSavedPosInterior[playerid] = dfile_ReadInt("POS_INTERIOR");
  32.         dfile_CloseFile();
  33.     }
  34.     return true;
  35. }
  36. public OnPlayerDisconnect(playerid, reason) {
  37.     new string[0xFF];
  38.     format(string, 0xFF, "users/%s.ini", pName(playerid));
  39.     dfile_Open(string);
  40.     dfile_WriteInt("SKINSAVED", PSavedSkin[playerid]);
  41.     dfile_WriteBool("POSSAVED", PSavedPos[playerid]);
  42.     dfile_WriteFloat("POS_X", PSavedPos_X[playerid]);
  43.     dfile_WriteFloat("POS_Y", PSavedPos_Y[playerid]);
  44.     dfile_WriteFloat("POS_Z", PSavedPos_Z[playerid]);
  45.     dfile_WriteInt("POS_INTERIOR", PSavedPosInterior[playerid]);
  46.     dfile_SaveFile(), dfile_CloseFile();
  47.     return true;
  48. }
  49. public OnPlayerSpawn(playerid) {
  50.     if(PSavedSkin[playerid] != -1) SetPlayerSkin(playerid, PSavedSkin[playerid]);
  51.     return true;
  52. }
  53. public OnPlayerCommandText(playerid, cmdtext[]) {
  54.     if(!strcmp(cmdtext, "/XSaveSkin", true)) {
  55.         if(SavedSkins == false) return SendClientMessage(playerid, -1, "Save skins was extinguished by admin");
  56.         PSavedSkin[playerid] = GetPlayerSkin(playerid);
  57.         return SendClientMessage(playerid, -1, "» You are saved new skin! «");
  58.     }
  59.     if(!strcmp(cmdtext, "/XSavePos", true)) {
  60.         if(SavedPos == false) return SendClientMessage(playerid, -1, "Save location was extinguished by admin");
  61.         if(PSavedPos[playerid] == true) return SendClientMessage(playerid, -1, "• [ERROR]: you have pos saved, please delete if you whant saved new Pos!");
  62.         new Float:XPPos[3];
  63.         GetPlayerPos(playerid, XPPos[0], XPPos[1], XPPos[2]);
  64.         PSavedPosInterior[playerid] = GetPlayerInterior(playerid);
  65.         PSavedPos_X[playerid] = XPPos[0];
  66.         PSavedPos_X[playerid] = XPPos[1];
  67.         PSavedPos_X[playerid] = XPPos[2];
  68.         PSavedPos[playerid] = true;
  69.         return SendClientMessage(playerid, -1, "» You are saved new pos! «");
  70.     }
  71.     if(!strcmp(cmdtext, "/XDeletePos", true)) {
  72.         if(PSavedPos[playerid] == false) return SendClientMessage(playerid, -1, "• [ERROR]: you not have pos saved, please save pos if you whant delete your Pos!");
  73.         PSavedPos[playerid] = false;
  74.         return SendClientMessage(playerid, -1, "» You deleted your pos saved! «");
  75.     }
  76.     if(!strcmp(cmdtext, "/XTelePos", true)) {
  77.         if(PSavedPos[playerid] == false) return SendClientMessage(playerid, -1, "• [ERROR]: you not have pos saved, please save pos if you whant teleport your Pos!");
  78.         SetPlayerInterior(playerid, PSavedPosInterior[playerid]);
  79.         SetPlayerPos(playerid, PSavedPos_X[playerid], PSavedPos_Y[playerid], PSavedPos_Z[playerid]);
  80.         return SendClientMessage(playerid, -1, "» You are teleport you pos saved! «");
  81.     }
  82.     if(!strcmp(cmdtext, "/XSavedPos", true)) {
  83.         if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "• [ERROR]: you are not admin logged the rcon!");
  84.         switch(SavedPos) {
  85.             case true: {
  86.                 SavedPos = false;
  87.                 SendClientMessageToAll(-1, "- Admin do the option to keep location");
  88.             }
  89.             case false: {
  90.                 SavedPos = true;
  91.                 SendClientMessageToAll(-1, "- Admin has disabled the option to keep location");
  92.             }
  93.         }
  94.         return true;
  95.     }
  96.     if(!strcmp(cmdtext, "/XSavedSkin", true)) {
  97.         if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "• [ERROR]: you are not admin logged the rcon!");
  98.         switch(SavedSkins) {
  99.             case true: {
  100.                 SavedSkins = false;
  101.                 SendClientMessageToAll(-1, "- Admin do the option to keep saved skins");
  102.             }
  103.             case false: {
  104.                 SavedSkins = true;
  105.                 SendClientMessageToAll(-1, "- Admin has disabled the option to keep saved skins");
  106.             }
  107.         }
  108.         return true;
  109.     }
  110.     return false;
  111. }
  112. stock pName(playerid) {
  113.     new playername[MAX_PLAYER_NAME];
  114.     GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
  115.     return playername;
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement