Guest User

Untitled

a guest
May 20th, 2017
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. ==================================== [ Sistem Klupa v0.2 by Cyllox ] =========================
  3. ==================================== [ Napravio: Cyllox ] ====================================
  4. ==================================== [ Editovao: RESPONSE ] ====================================
  5. */
  6. #include < a_samp >
  7. #include < YSI\y_ini >
  8. #include < YSI\y_commands >
  9. #include < sscanf2 >
  10. #include < streamer >
  11. //==============================================================================
  12. #define BELA "{FFFFFF}"
  13. #define CRVENA "{F81414}"
  14. #define SIVA "{C0C0C0}"
  15. //==============================================================================
  16. new Float:X,Float:Y,Float:Z;
  17. new EditKlupu[MAX_PLAYERS];
  18. //==============================================================================
  19. #define KLUPA_FILE "Klupe/Klupa_%d.ini"
  20. #define MAX_KLUPA 100
  21. //==============================================================================
  22. enum Klupa
  23. {
  24. kKreirana,
  25. kObjekat,
  26. Float:kPos[6],
  27. Text3D:k3D,
  28. kID
  29. }
  30. new KlupaInfo[MAX_KLUPA][Klupa];
  31. //==============================================================================
  32. main()
  33. {
  34. print("\n----------------------------------");
  35. print(" Sistem Klupa by Cyllox");
  36. print(" Sistem Klupa Edited by RESPONSE");
  37. print("----------------------------------\n");
  38. }
  39. //==============================================================================
  40. public OnGameModeInit()
  41. {
  42. for(new i = 0; i < sizeof(KlupaInfo); i++)
  43. {
  44. new sFile[50];
  45. format(sFile, sizeof(sFile), KLUPA_FILE, i);
  46. if(fexist(sFile))
  47. {
  48. INI_ParseFile(sFile, "UcitajKlupu", .bExtra = true, .extra = i);
  49. KreirajKlupu(i);
  50. }
  51. }
  52. return 1;
  53. }
  54. //==============================================================================
  55. public OnGameModeExit()
  56. {
  57. for(new i = 0; i < sizeof(KlupaInfo); i++)
  58. {
  59. SacuvajKlupu(i);
  60. }
  61. return 1;
  62. }
  63. //==============================================================================
  64. public OnPlayerConnect(playerid)
  65. {
  66. return 1;
  67. }
  68. //==============================================================================
  69. public OnPlayerDisconnect(playerid, reason)
  70. {
  71. return 1;
  72. }
  73. //==============================================================================
  74. public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
  75. {
  76. new Float:oldX, Float:oldY, Float:oldZ, Float:oldRotX, Float:oldRotY, Float:oldRotZ;
  77. GetObjectPos(objectid, oldX, oldY, oldZ);
  78. GetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
  79. if(response == EDIT_RESPONSE_FINAL)
  80. {
  81. if(EditKlupu[playerid] != -1)
  82. {
  83. new i = EditKlupu[playerid];
  84. DestroyDynamicObject(KlupaInfo[i][kObjekat]);
  85.  
  86. KlupaInfo[i][kPos][0] = x;
  87. KlupaInfo[i][kPos][1] = y;
  88. KlupaInfo[i][kPos][2] = z;
  89. KlupaInfo[i][kPos][3] = rx;
  90. KlupaInfo[i][kPos][4] = ry;
  91. KlupaInfo[i][kPos][5] = rz;
  92. KlupaInfo[i][kKreirana] = 1;
  93. KlupaInfo[i][kObjekat] = CreateDynamicObject(1280, x, y, z, rx, ry, rz);
  94. SacuvajKlupu(i);
  95.  
  96. KlupaInfo[i][k3D] = CreateDynamic3DTextLabel(""BELA"[ KLUPA ]\nUkoliko zelite da sednete pritisnite 'N'!", -1, KlupaInfo[i][kPos][0], KlupaInfo[i][kPos][1], KlupaInfo[i][kPos][2]+2, 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1);
  97. EditKlupu[playerid] = -1;
  98. return 1;
  99. }
  100. }
  101. return 1;
  102. }
  103. //==============================================================================
  104. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  105. {
  106. if(newkeys & KEY_NO)
  107. {
  108. for(new i = 0; i < sizeof(KlupaInfo); i++)
  109. {
  110. if(IsPlayerInRangeOfPoint(playerid, 5.0, KlupaInfo[i][kPos][0], KlupaInfo[i][kPos][2], KlupaInfo[i][kPos][3]))
  111. {
  112. SetPlayerPos(playerid, KlupaInfo[i][kPos][0], KlupaInfo[i][kPos][2], KlupaInfo[i][kPos][3]);
  113. ApplyAnimation(playerid, "PED", "SEAT_IDLE", 4, 0, 0, 0, 1, 0, 1);
  114. SendClientMessage(playerid, -1, ""CRVENA"[KLUPA] "BELA"Ako zelis da ustanes stisni "CRVENA"RMB");
  115. }
  116. }
  117. }
  118. return 1;
  119. }
  120. //==============================================================================
  121. YCMD:kreirajklupu(playerid, params[], help)
  122. {
  123. #pragma tabsize 0
  124. if(IsPlayerAdmin(playerid))
  125. {
  126. new IDKlupe, afajl[60]; new Float:x, Float:y, Float:z, Float:angle;
  127. GetPlayerPos(playerid,X,Y,Z); GetPlayerFacingAngle(playerid, angle);
  128. if(sscanf(params, "i", IDKlupe)) return SendClientMessage(playerid, -1, ""SIVA"Koristi: "BELA"/kreirajklupu [ID]" );
  129. if(IDKlupe >= MAX_KLUPA) return SendClientMessage(playerid, -1,""CRVENA"[KLUPA] "BELA"Broj klupa je ogranicen na taj ID!" );
  130. format(afajl, sizeof(afajl), KLUPA_FILE, IDKlupe);
  131. if(fexist(afajl)) return SendClientMessage(playerid,-1, ""CRVENA"[KLUPA] "BELA"ID upisane klupe vec postoji!" );
  132. GetPlayerPos(playerid, x, y, z); GetPlayerFacingAngle(playerid, angle);
  133. KlupaInfo[playerid][kPos][0] = x;
  134. KlupaInfo[playerid][kPos][1] = y;
  135. KlupaInfo[playerid][kPos][2] = z;
  136. KlupaInfo[playerid][kPos][3] = 0;
  137. KlupaInfo[playerid][kPos][4] = 0;
  138. KlupaInfo[playerid][kPos][5] = 0;
  139. KlupaInfo[playerid][kKreirana] = 1;
  140. KlupaInfo[playerid][kObjekat] = CreateDynamicObject(1280, x+2, y, z+0.6, 0.0, 0.0, angle);
  141. EditDynamicObject(playerid, KlupaInfo[playerid][kObjekat]); EditKlupu[playerid] = playerid;
  142. SacuvajKlupu(playerid);
  143. SendClientMessage(playerid, -1, ""CRVENA"[KLUPA] "BELA"Uspesno ste kreirali klupu!");
  144. }
  145. else
  146. {
  147. SendClientMessage(playerid,-1,""CRVENA"[KLUPA] "BELA"Samo Vlasnik!");
  148. }
  149. return 1;
  150. }
  151. //==============================================================================
  152. forward UcitajKlupu(IDKlupe, name[], value[]);
  153. public UcitajKlupu(IDKlupe, name[], value[])
  154. {
  155. INI_Int("Kreirana", KlupaInfo[IDKlupe][kKreirana]);
  156. INI_Float("Pos1", KlupaInfo[IDKlupe][kPos][0]);
  157. INI_Float("Pos2", KlupaInfo[IDKlupe][kPos][1]);
  158. INI_Float("Pos3", KlupaInfo[IDKlupe][kPos][2]);
  159. INI_Float("Pos4", KlupaInfo[IDKlupe][kPos][3]);
  160. INI_Float("Pos5", KlupaInfo[IDKlupe][kPos][4]);
  161. INI_Float("Pos6", KlupaInfo[IDKlupe][kPos][5]);
  162. INI_Int("ID", KlupaInfo[IDKlupe][kID]);
  163. return 1;
  164. }
  165. //==============================================================================
  166. stock SacuvajKlupu(IDKlupe)
  167. {
  168. new sFile[80];
  169. format(sFile, sizeof(sFile), KLUPA_FILE, IDKlupe);
  170. new INI:File = INI_Open(sFile);
  171. INI_WriteInt(File, "Kreirana", KlupaInfo[IDKlupe][kKreirana]);
  172. INI_WriteFloat(File, "Pos1", KlupaInfo[IDKlupe][kPos][0]);
  173. INI_WriteFloat(File, "Pos2", KlupaInfo[IDKlupe][kPos][1]);
  174. INI_WriteFloat(File, "Pos3", KlupaInfo[IDKlupe][kPos][2]);
  175. INI_WriteFloat(File, "Pos4", KlupaInfo[IDKlupe][kPos][3]);
  176. INI_WriteFloat(File, "Pos5", KlupaInfo[IDKlupe][kPos][4]);
  177. INI_WriteFloat(File, "Pos6", KlupaInfo[IDKlupe][kPos][5]);
  178. INI_WriteInt(File, "ID", KlupaInfo[IDKlupe][kID]);
  179. INI_Close(File);
  180. return 1;
  181. }
  182. //==============================================================================
  183. stock KreirajKlupu(IDKlupe)
  184. {
  185. if(KlupaInfo[IDKlupe][kKreirana] == 1)
  186. {
  187. new string[80];
  188. format(string, sizeof(string), ""BELA"[ KLUPA ]\nUkoliko zelite da sednete pritisnite 'N'!");
  189. KlupaInfo[IDKlupe][k3D] = CreateDynamic3DTextLabel(string, -1, KlupaInfo[IDKlupe][kPos][0], KlupaInfo[IDKlupe][kPos][1], KlupaInfo[IDKlupe][kPos][2]+2, 3.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0, 0);
  190. KlupaInfo[IDKlupe][kObjekat] = CreateDynamicObject(1280, KlupaInfo[IDKlupe][kPos][0], KlupaInfo[IDKlupe][kPos][1], KlupaInfo[IDKlupe][kPos][2], KlupaInfo[IDKlupe][kPos][3], KlupaInfo[IDKlupe][kPos][4], KlupaInfo[IDKlupe][kPos][5]);
  191. }
  192. return 1;
  193. }
  194. //==============================================================================
Advertisement
Add Comment
Please, Sign In to add comment