Guest User

[FilterScript]: Saving Pos/Skins by _XSnipER_

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