Advertisement
Southclaw

Southclaw's Position Saver

Nov 26th, 2012
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.83 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3.  
  4. #define FileName "BulkSavedPositions.txt"
  5.  
  6.  
  7. new
  8.     PosSave[MAX_PLAYERS]=false,
  9.     SaveRot[MAX_PLAYERS]=false;
  10.  
  11.  
  12. public OnFilterScriptInit()
  13. {
  14.     print("\n--------------------------------------");
  15.     print(" Southclaw's Position Saver!");
  16.     print("--------------------------------------\n");
  17.     return 1;
  18. }
  19.  
  20.  
  21. public OnPlayerCommandText(playerid, cmdtext[])
  22. {
  23.     if(!strcmp("/savepos", cmdtext))
  24.     {
  25.         if(PosSave[playerid])
  26.         {
  27.             PosSave[playerid] = false;
  28.             SendClientMessage(playerid, 0xFFFF00AA, "Pos Saver Inactive");
  29.         }
  30.         else
  31.         {
  32.             PosSave[playerid] = true;
  33.             SendClientMessage(playerid, 0xFFFF00AA, "Pos Saver Active, use C and SPACE to save a position");
  34.         }
  35.         return 1;
  36.     }
  37.     if(!strcmp("/saverot", cmdtext))
  38.     {
  39.         if(SaveRot[playerid])
  40.         {
  41.             SaveRot[playerid] = false;
  42.             SendClientMessage(playerid, 0xFFFF00AA, "Not Saving Rotation");
  43.         }
  44.         else
  45.         {
  46.             SaveRot[playerid] = true;
  47.             SendClientMessage(playerid, 0xFFFF00AA, "Saving Rotation");
  48.         }
  49.         return 1;
  50.     }
  51.     return 0;
  52. }
  53.  
  54.  
  55. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  56. {
  57.     if(PosSave[playerid])if((newkeys & KEY_CROUCH) && (newkeys & KEY_SPRINT) && (!IsPlayerInAnyVehicle(playerid)) ) SavePosition(playerid);
  58.     return 1;
  59. }
  60.  
  61.  
  62. SavePosition(playerid)
  63. {
  64.     new
  65.         Float:x,
  66.         Float:y,
  67.         Float:z,
  68.         Float:a,
  69.         str[100];
  70.  
  71.     GetPlayerPos(playerid, x, y, z);
  72.     GetPlayerFacingAngle(playerid, a);
  73.  
  74.     if(SaveRot[playerid])
  75.         format(str, 100, "%f, %f, %f, %f\r\n", x, y, z, a);
  76.  
  77.     else
  78.         format(str, 100, "%f, %f, %f\r\n", x, y, z);
  79.  
  80.     new File:f;
  81.  
  82.     if(fexist(FileName))
  83.         f = fopen(FileName, io_append);
  84.  
  85.     else
  86.         f = fopen(FileName, io_write);
  87.  
  88.     fwrite(f, str);
  89.     fclose(f);
  90.  
  91.     SendClientMessage(playerid, 0xFFFF00FF, "Position Saved");
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement