Guest User

Noah

a guest
Nov 28th, 2009
2,082
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.69 KB | None | 0 0
  1. //Dynamic GPS
  2. #include <a_samp>
  3. #include <string>
  4. #include <dini>
  5. #define FILTERSCRIPT
  6. new gpson[MAX_PLAYERS];
  7.  
  8. public OnFilterScriptInit()
  9. {
  10. if(!dini_Exists("gps.ini"))
  11. {
  12. dini_Create("gps.ini");
  13. print("\n Gps file created");
  14. }
  15.  
  16. print("\n--------------------------------------");
  17. print(" Dynamic GPS system by Noah");
  18. print("--------------------------------------\n");
  19. return 1;
  20. }
  21.  
  22.  
  23.  
  24. public OnPlayerCommandText(playerid, cmdtext[])
  25. {
  26. new tmp[256];
  27. new cmd[256];
  28. new idx;
  29. cmd = strtok(cmdtext, idx);
  30. if (strcmp(cmd, "/gpsadd", true) == 0)
  31. {
  32. if(IsPlayerAdmin(playerid))
  33. {
  34. tmp = strtok(cmdtext, idx);
  35. if(!strlen(tmp))
  36. {
  37. SendClientMessage(playerid, 0xE0EA64AA, "USAGE: /gpsadd [name]");
  38. return 1;
  39. }
  40. new Float:tempX, Float:tempY, Float:tempZ;
  41. new string[256];
  42. GetPlayerPos(playerid, tempX, tempY, tempZ);
  43. format(string,256,"%s_X",tmp);
  44. dini_FloatSet("gps.ini", string, tempX);
  45. format(string,256,"%s_y",tmp);
  46. dini_FloatSet("gps.ini", string, tempY);
  47. format(string,256,"%s_Z",tmp);
  48. dini_FloatSet("gps.ini", string, tempZ);
  49. SendClientMessage(playerid, 0xE0EA64AA, "[SERVER] Gps point added!");
  50. return 1;
  51.  
  52. }
  53. else
  54. {
  55. SendClientMessage(playerid, 0xE0EA64AA, "[SERVER] You are not admin.");
  56. }
  57. return 1;
  58. }
  59. if (strcmp(cmd, "/gps", true) == 0)
  60. {
  61. tmp = strtok(cmdtext, idx);
  62. if(!strlen(tmp))
  63. {
  64. SendClientMessage(playerid, 0xE0EA64AA, "USAGE: /gps [name]");
  65. return 1;
  66. }
  67.  
  68. new Float:tempX, Float:tempY, Float:tempZ;
  69. new string[256];
  70. GetPlayerPos(playerid, tempX, tempY, tempZ);
  71. format(string,256,"%s_X",tmp);
  72. tempX = dini_Float("gps.ini", string);
  73. format(string,256,"%s_y",tmp);
  74. tempY = dini_Float("gps.ini", string);
  75. format(string,256,"%s_Z",tmp);
  76. tempZ = dini_Float("gps.ini", string);
  77. if(tempX==0 && tempY==0 && tempZ==0)
  78. {
  79. GameTextForPlayer(playerid, "~r~Destination does not exist!",5000,1);
  80. return 1;
  81. }
  82. format(string,256,"~y~Destination:~n~~g~%s",tmp);
  83. GameTextForPlayer(playerid, string,5000,1);
  84. SetPlayerCheckpoint(playerid,tempX,tempY,tempZ,5);
  85. gpson[playerid]=1;
  86. return 1;
  87. }
  88.  
  89.  
  90. return 1;
  91. }
  92.  
  93. public OnPlayerEnterCheckpoint(playerid)
  94. {
  95. if(gpson[playerid]==1)
  96. {
  97. DisablePlayerCheckpoint(playerid);
  98. GameTextForPlayer(playerid,"~y~You are at your destination",5000,1);
  99. }
  100. return 1;
  101. }
  102. strtok(string[],&idx,seperator = ' ')
  103. {
  104. new ret[128], i = 0, len = strlen(string);
  105. while(string[idx] == seperator && idx < len) idx++;
  106. while(string[idx] != seperator && idx < len)
  107. {
  108. ret[i] = string[idx];
  109. i++;
  110. idx++;
  111. }
  112. while(string[idx] == seperator && idx < len) idx++;
  113. return ret;
  114. }
Advertisement
Add Comment
Please, Sign In to add comment