Guest User

Update Dinamicno Pravljenje Poklona By Shomy

a guest
Nov 12th, 2017
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.44 KB | None | 0 0
  1. //=-=-=-=-=-=-=-=-= • DINAMICNO PRAVLJENJE POKLONA BY SHOMY • =-=-=-=-=-=-=-=-//
  2.  
  3. /*
  4. NAPOMENA: Da bi koristili ovu FilterScriptu, MORATE imati folder "Pokloni",
  5. u Vasem scriptfiles folderu !
  6. */
  7.  
  8. //=-= • INCLUDE • =-=//
  9.  
  10. #include < a_samp >
  11. #include < YSI\y_ini >
  12. #include < YSI\y_commands >
  13. #include < sscanf2 >
  14.  
  15. //=-= • DEFINE • =-=//
  16.  
  17. #undef MAX_PLAYERS
  18. #define MAX_PLAYERS 300 // • NAMESTITE OVO KAKO VAMA ODGOVARA • //
  19. #define MAX_POKLONI 150
  20. #define PFile "/Pokloni/%d.ini"
  21.  
  22. //=-= • BOJE • =-=//
  23.  
  24. #define COL_SERVER "{FF1414}"
  25. #define BELA "{FFFFFF}"
  26.  
  27. //=-= • SKRACENICE • =-=//
  28.  
  29. #define SCM SendClientMessage
  30. #define SCMTA SendClientMessageToAll
  31.  
  32. //=-= • ENUM • =-=//
  33.  
  34. enum pInfo
  35. {
  36. Float:PosX,
  37. Float:PosY,
  38. Float:PosZ,
  39. Model,
  40. pID
  41. }
  42.  
  43. //=-= • NEW • =-=//
  44.  
  45. new PoklonInfo[MAX_POKLONI][pInfo];
  46. new Text3D:poklonlabel;
  47. new PravljeniPoklon;
  48. new RandomDobijanje[][6] =
  49. {
  50. { 5000 },
  51. { 3000 },
  52. { 4000 },
  53. { 3500 },
  54. { 2500 }
  55. };
  56.  
  57. //=-= • PUBLICS • =-=//
  58.  
  59. public OnFilterScriptInit()
  60. {
  61. LoadPoklon();
  62. return 1;
  63. }
  64. forward PoklonOcitavanje(id, name[], value[]);
  65. public PoklonOcitavanje(id, name[], value[])
  66. {
  67. INI_Float("Pozicija X", PoklonInfo[id][PosX]);
  68. INI_Float("Pozicija Y", PoklonInfo[id][PosY]);
  69. INI_Float("Pozicija Z", PoklonInfo[id][PosZ]);
  70. INI_Int("Model", PoklonInfo[id][Model]);
  71. INI_Int("ID", PoklonInfo[id][pID]);
  72. return 1;
  73. }
  74. forward BrisanjeObjecta(playerid);
  75. public BrisanjeObjecta(playerid)
  76. {
  77. for(new i = 1; i < MAX_POKLONI; i++)
  78. {
  79. if(IsPlayerInRangeOfPoint(playerid, 1.0, PoklonInfo[i][PosX], PoklonInfo[i][PosY], PoklonInfo[i][PosZ]))
  80. {
  81. DestroyObject(PravljeniPoklon);
  82. Delete3DTextLabel(poklonlabel);
  83. new rand = random(sizeof(RandomDobijanje));
  84. GivePlayerMoney(playerid, RandomDobijanje[rand][0]);
  85. SCM(playerid, -1, ""COL_SERVER"[INFO] "BELA"Otvorili ste poklon !");
  86. new poklonfile[64];
  87. format(poklonfile,sizeof(poklonfile), PFile, i);
  88. fremove(poklonfile);
  89. }
  90. }
  91. return 1;
  92. }
  93.  
  94. //=-= • STOCK • =-=//
  95.  
  96. stock SacuvajPoklon(id)
  97. {
  98. new pFile[60];
  99. format(pFile, sizeof(pFile ), PFile,id);
  100. new INI:File = INI_Open(pFile);
  101. INI_WriteFloat(File, "Pozicija X", PoklonInfo[id][PosX]);
  102. INI_WriteFloat(File, "Pozicija Y", PoklonInfo[id][PosY]);
  103. INI_WriteFloat(File, "Pozicija Z", PoklonInfo[id][PosZ]);
  104. INI_WriteInt(File, "Model", PoklonInfo[id][Model]);
  105. INI_WriteInt(File, "ID", PoklonInfo[id][pID]);
  106. INI_Close(File);
  107. return 1;
  108. }
  109. stock LoadPoklon()
  110. {
  111. for(new i = 1; i < MAX_POKLONI; i++)
  112. {
  113. new pFile[50];
  114. format(pFile, sizeof(pFile), PFile, i);
  115. if(fexist(pFile))
  116. {
  117. INI_ParseFile(pFile, "PoklonOcitavanje", .bExtra = true, .extra = i);
  118. PravljeniPoklon = CreateObject(PoklonInfo[i][Model], PoklonInfo[i][PosX],PoklonInfo[i][PosY],PoklonInfo[i][PosZ], 0.0, 0.0, 0.0, 300.0);
  119. poklonlabel = Create3DTextLabel(""COL_SERVER"(( POKLON ))\n"BELA"Da ga otvorite kucajte\n/otvoripoklon", 0x008080FF, PoklonInfo[i][PosX],PoklonInfo[i][PosY],PoklonInfo[i][PosZ], 5.0, 0, 0);
  120. }
  121. }
  122. }
  123. PlayAnim(playerid, animlib[], animname[], Float:fDelta, loop, lockx, locky, freeze, time, forcesync)
  124. {
  125. ApplyAnimation(playerid, animlib, animname, fDelta, loop, lockx, locky, freeze, time, forcesync);
  126. }
  127.  
  128. //=-= • CMD • =-=//
  129.  
  130. YCMD:napravipoklon(playerid, params[], help)
  131. {
  132. #pragma unused help
  133. if(IsPlayerAdmin(playerid))
  134. {
  135. new boja, Float:X,Float:Y,Float:Z;
  136. if(sscanf(params, "d", boja)) { SCM(playerid, -1, ""COL_SERVER"[GRESKA] "BELA"Koristite /napravipoklon [Boja]"); SCM(playerid, -1, ""COL_SERVER"[GRESKA] "BELA"Boja 1 - Crvena || Boja 2 - Narandzasta || Boja 3 - Crna || Boja 4 - Sarena"); }
  137. if(boja < 1 || boja > 4) return SCM(playerid, -1, ""COL_SERVER"[GRESKA] "BELA"ID Boje ne moze biti manji od 1 ili veci od 4 !");
  138. SCM(playerid, -1, ""COL_SERVER"[INFO] "BELA"Stvorili ste poklon !");
  139. GetPlayerPos(playerid, X,Y,Z);
  140. if(boja == 1) { PravljeniPoklon = CreateObject(19057, X,Y,Z, 0.0, 0.0, 0.0, 300.0); }
  141. if(boja == 2) { PravljeniPoklon = CreateObject(19055, X,Y,Z, 0.0, 0.0, 0.0, 300.0); }
  142. if(boja == 3) { PravljeniPoklon = CreateObject(19058, X,Y,Z, 0.0, 0.0, 0.0, 300.0); }
  143. if(boja == 4) { PravljeniPoklon = CreateObject(19056, X,Y,Z, 0.0, 0.0, 0.0, 300.0); }
  144. SetPlayerPos(playerid, X,Y,Z+3);
  145. PoklonInfo[PravljeniPoklon][PosX] = X;
  146. PoklonInfo[PravljeniPoklon][PosY] = Y;
  147. PoklonInfo[PravljeniPoklon][PosZ] = Z;
  148. if(boja == 1) { PoklonInfo[PravljeniPoklon][Model] = 19057; }
  149. else if(boja == 2) { PoklonInfo[PravljeniPoklon][Model] = 19055; }
  150. else if(boja == 3) { PoklonInfo[PravljeniPoklon][Model] = 19058; }
  151. else if(boja == 4) { PoklonInfo[PravljeniPoklon][Model] = 19056; }
  152. poklonlabel = Create3DTextLabel(""COL_SERVER"(( POKLON ))\n"BELA"Da ga otvorite kucajte\n/otvoripoklon", 0x008080FF, X,Y,Z, 5.0, 0, 0);
  153. SacuvajPoklon(PravljeniPoklon);
  154. }
  155. return 1;
  156. }
  157. YCMD:otvoripoklon(playerid, params[], help)
  158. {
  159. for(new i = 1; i < MAX_POKLONI; i++)
  160. {
  161. if(IsPlayerInRangeOfPoint(playerid, 1.0, PoklonInfo[i][PosX], PoklonInfo[i][PosY], PoklonInfo[i][PosZ]))
  162. {
  163. SetTimerEx("BrisanjeObjecta", 2200, false, "i", playerid);
  164. PlayAnim(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0, 1);
  165. }
  166. }
  167. return 1;
  168. }
Advertisement
Add Comment
Please, Sign In to add comment