Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2014
446
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.95 KB | None | 0 0
  1. /* Simple Script Item By NhatNguyen{Vinpure}
  2. */
  3. #include <a_samp>
  4. #include <streamer>
  5. #include <zcmd>
  6. //=================//
  7. #define MAX_DROP_ITEMS 1000
  8. #define PRESSED(%0) \
  9. (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  10. //=================//
  11. new DropObject[MAX_DROP_ITEMS];
  12. new Text3D:Label[MAX_DROP_ITEMS];
  13. //=================//
  14. enum ItemData
  15. {
  16. ItemModel,//ModelID das
  17. Float:ItemPosX,
  18. Float:ItemPosY,
  19. Float:ItemPosZ,
  20. Float:ItemRotX,
  21. Float:ItemRotY,
  22. Float:ItemRotZ,
  23. ItemVWorld,
  24. ItemInterior,
  25. };
  26. new ItemInfo[MAX_DROP_ITEMS][ItemData];
  27. //=================//
  28. //=================//
  29. public OnFilterScriptInit()
  30. {
  31. print("\n--------------------------------------");
  32. print("Item SYSTEM By VinPure\n");
  33. print("--------------------------------------\n");
  34. return 1;
  35. }
  36. //=================//
  37.  
  38. //=================//
  39. //You can use Mapeditor to create object
  40. // You can Create Random Item
  41. /* EX:
  42. new ItemRandom[3] = {
  43. 1234,1265,1548
  44. };
  45. And
  46. CreateItem(ItemRandom[random(2)], Float:X, Float:Y, Float:Z,Float:RX,Float:RY,Float:RZ, world);
  47. Remember add in stock pickupitem(playerid)
  48. if(ItemInfo[i][ItemModel] == IDMODEL)
  49. */
  50. stock CreateItem(ItemID, Float:X, Float:Y, Float:Z,Float:RX,Float:RY,Float:RZ, world, interior)
  51. {
  52.  
  53. if(ItemID != 0)
  54. {
  55. for(new i = 0; i < sizeof(ItemInfo); i++)
  56. {
  57. if(ItemInfo[i][ItemPosX] == 0.0 && ItemInfo[i][ItemPosY] == 0.0 && ItemInfo[i][ItemPosZ] == 0.0)
  58. {
  59. ItemInfo[i][ItemModel] = ItemID;
  60. ItemInfo[i][ItemPosX] = X;
  61. ItemInfo[i][ItemPosY] = Y;
  62. ItemInfo[i][ItemPosZ] = Z;
  63. ItemInfo[i][ItemRotX] = RX;
  64. ItemInfo[i][ItemRotY] = RY;
  65. ItemInfo[i][ItemRotZ] = RZ;
  66. ItemInfo[i][ItemVWorld] = world;
  67. ItemInfo[i][ItemInterior] = interior;
  68. Label[i] = Create3DTextLabel("Item 'Press Y' to take it", 0x008080FF,X,Y,Z, 10.0,world, 0);
  69. DropObject[i] = CreateDynamicObject(ItemID, X, Y, Z,RX,RY,RZ, world);
  70.  
  71. return 1;
  72. }
  73. }
  74. return 1;
  75. }
  76. return 1;
  77. }
  78. stock DropItem(ItemID, Float:X, Float:Y, Float:Z, world, interior)
  79. {
  80.  
  81. if(ItemID != 0)
  82. {
  83. for(new i = 0; i < sizeof(ItemInfo); i++)
  84. {
  85. if(ItemInfo[i][ItemPosX] == 0.0 && ItemInfo[i][ItemPosY] == 0.0 && ItemInfo[i][ItemPosZ] == 0.0)
  86. {
  87. ItemInfo[i][ItemModel] = ItemID;
  88. ItemInfo[i][ItemPosX] = X;
  89. ItemInfo[i][ItemPosY] = Y;
  90. ItemInfo[i][ItemPosZ] = Z;
  91. ItemInfo[i][ItemVWorld] = world;
  92. ItemInfo[i][ItemInterior] = interior;
  93. Label[i] = Create3DTextLabel("Item 'Press Y' to take it", 0x008080FF,X,Y,Z, 10.0,world, 0);
  94. DropObject[i] = CreateDynamicObject(ItemID, X, Y, Z-1, 80.0, 0.0, 0.0, world);
  95. return 1;
  96. }
  97. }
  98. return 1;
  99. }
  100. return 1;
  101. }
  102. stock PickupItem(playerid)
  103. {
  104. for(new i = 0; i < sizeof(ItemInfo); i++)
  105. {
  106. if (IsPlayerInRangeOfPoint(playerid, 2.0,ItemInfo[i][ItemPosX],ItemInfo[i][ItemPosY],ItemInfo[i][ItemPosZ]))
  107. {
  108. if(GetPlayerVirtualWorld(playerid) == ItemInfo[i][ItemVWorld] && GetPlayerInterior(playerid) == ItemInfo[i][ItemVWorld])
  109. {
  110. ItemInfo[i][ItemPosX] = 0.0;
  111. ItemInfo[i][ItemPosY] = 0.0;
  112. ItemInfo[i][ItemPosZ] = 0.0;
  113. ItemInfo[i][ItemRotX] = 0.0;
  114. ItemInfo[i][ItemRotY] = 0.0;
  115. ItemInfo[i][ItemRotZ] = 0.0;
  116. if(ItemInfo[i][ItemModel] == 3658)
  117. {
  118. Delete3DTextLabel(Label[i]);
  119. DestroyDynamicObject(DropObject[i]);
  120. //Add this Item to Inventory
  121. SendClientMessage(playerid,-1,"3658");
  122. }
  123. //You can add More Item
  124. //if(ItemInfo[i][ItemModel] == Model Object
  125. //EX:
  126. if(ItemInfo[i][ItemModel] == 1609)
  127. {
  128. Delete3DTextLabel(Label[i]);
  129. DestroyDynamicObject(DropObject[i]);
  130. SendClientMessage(playerid,-1,"1609");
  131. }
  132.  
  133. return 1;
  134. }
  135. }
  136. }
  137. return 1;
  138. }
  139. //=================//
  140. //=================//
  141. public OnFilterScriptExit()
  142. {
  143. return 1;
  144. }
  145. //=================//
  146. //=================//
  147. CMD:test1(playerid, params[])
  148. {
  149. new Float:X,Float:Y,Float:Z;
  150. GetPlayerPos(playerid, X, Y, Z);
  151. DropItem(3658,X,Y,Z,GetPlayerVirtualWorld(playerid),GetPlayerInterior(playerid));
  152. // Item id 3658
  153. return 1;
  154. }
  155. CMD:test2(playerid,params[])
  156. {
  157. new Float:X,Float:Y,Float:Z;
  158. GetPlayerPos(playerid, X, Y, Z);
  159. DropItem(1609,X,Y,Z,GetPlayerVirtualWorld(playerid),GetPlayerInterior(playerid));
  160. return 1;
  161. }
  162. //=================//
  163. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  164. {
  165. if (PRESSED(KEY_YES))
  166. {
  167. PickupItem(playerid);
  168. }
  169. return 1;
  170. }
  171. //=================//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement