Advertisement
Guest User

Untitled

a guest
May 4th, 2013
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.29 KB | None | 0 0
  1. #include <a_samp>
  2. #include <streamer>
  3. #include <zcmd>
  4. #include <foreach>
  5. //=================//
  6. #define MAX_DROP_ITEMS 1000
  7. #define COLOR_ACTION 0xFFC0CBFF
  8. //=================//
  9. new string[128];
  10. new sendername[MAX_PLAYER_NAME];
  11. new DropObject[MAX_DROP_ITEMS];
  12. //=================//
  13. enum dData
  14. {
  15. DropGunAmmount[2],//ModelID & Bullets
  16. Float:DropGunPosX,
  17. Float:DropGunPosY,
  18. Float:DropGunPosZ,
  19. DropGunVWorld,
  20. DropGunInterior,
  21. };
  22. new DropInfo[MAX_DROP_ITEMS][dData];
  23. //=================//
  24. new GunObjectIDs[200] ={
  25.  
  26. 1575, 331, 333, 334, 335, 336, 337, 338, 339, 341, 321, 322, 323, 324, 325, 326, 342, 343, 344, -1, -1 , -1 ,
  27. 346, 347, 348, 349, 350, 351, 352, 353, 355, 356, 372, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
  28. 368, 369, 1575
  29. };
  30. //=================//
  31. public OnFilterScriptInit()
  32. {
  33. return 1;
  34. }
  35. //=================//
  36. stock GetGunObjectID(WeaponID)
  37. {
  38. if (WeaponID < 0 || WeaponID > 64)
  39. {
  40. return 1575;
  41. }
  42. return GunObjectIDs[WeaponID];
  43. }
  44. //=================//
  45. stock DropGun(playerid, GunID, GunAmmo, Float:X, Float:Y, Float:Z, world, interior)
  46. {
  47. new name[MAX_PLAYER_NAME];
  48. GetPlayerName(playerid,name,sizeof(name));
  49. if(GunID != 0 && GunAmmo != 0)
  50. {
  51. for(new i = 0; i < sizeof(DropInfo); i++)
  52. {
  53. if(DropInfo[i][DropGunPosX] == 0.0 && DropInfo[i][DropGunPosY] == 0.0 && DropInfo[i][DropGunPosZ] == 0.0)
  54. {
  55. DropInfo[i][DropGunAmmount][0] = GunID;
  56. DropInfo[i][DropGunAmmount][1] = GunAmmo;
  57. DropInfo[i][DropGunPosX] = X;
  58. DropInfo[i][DropGunPosY] = Y;
  59. DropInfo[i][DropGunPosZ] = Z;
  60. DropInfo[i][DropGunVWorld] = world;
  61. DropInfo[i][DropGunInterior] = interior;
  62. DropObject[i] = CreateDynamicObject(GetGunObjectID(GunID), X, Y, Z-1, 80.0, 0.0, 0.0, world);
  63. return 1;
  64. }
  65. }
  66. return 1;
  67. }
  68. return 1;
  69. }
  70. //=================//
  71. stock RemovePlayerWeapon(playerid, weaponid)//Credits to Xalphox
  72. {
  73. if(!IsPlayerConnected(playerid) || weaponid < 0 || weaponid > 50)
  74. return;
  75. new saveweapon[13], saveammo[13];
  76. for(new slot = 0; slot < 13; slot++)
  77. GetPlayerWeaponData(playerid, slot, saveweapon[slot], saveammo[slot]);
  78. ResetPlayerWeapons(playerid);
  79. for(new slot; slot < 13; slot++)
  80. {
  81. if(saveweapon[slot] == weaponid || saveammo[slot] == 0)
  82. continue;
  83. GivePlayerWeapon(playerid, saveweapon[slot], saveammo[slot]);
  84. }
  85.  
  86. GivePlayerWeapon(playerid, 0, 1);
  87.  
  88. }
  89. //=================//
  90. public OnFilterScriptExit()
  91. {
  92. return 1;
  93. }
  94. //=================//
  95. public OnPlayerDeath(playerid, killerid, reason)
  96. {
  97. new Float:X,Float:Y,Float:Z;
  98. GetPlayerPos(playerid, X, Y, Z);
  99. DropGun(playerid, GetPlayerWeapon(playerid),GetPlayerAmmo(playerid),X,Y,Z,GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  100. return 1;
  101. }
  102. //=================//
  103. command(baci, playerid, params[])
  104. {
  105. new Float:X,Float:Y,Float:Z;
  106. new GunID = GetPlayerWeapon(playerid);
  107. new GunAmmo = GetPlayerAmmo(playerid);
  108. GetPlayerName(playerid, sendername, sizeof(sendername));
  109. GetPlayerPos(playerid, X, Y, Z);
  110. RemovePlayerWeapon(playerid, GunID);
  111. DropGun(playerid, GunID,GunAmmo,X,Y,Z,GetPlayerVirtualWorld(playerid),GetPlayerInterior(playerid));
  112. format(string, sizeof(string), "* %s je bacio oruzje na pod.", sendername);
  113. SendLocalMessage(playerid, string, 10.0, COLOR_ACTION, COLOR_ACTION);
  114. return 1;
  115. }
  116. //=================//
  117. command(podigni, playerid, params[])
  118. {
  119. for(new i = 0; i < sizeof(DropInfo); i++)
  120. {
  121. if (IsPlayerInRangeOfPoint(playerid, 2.0,DropInfo[i][DropGunPosX],DropInfo[i][DropGunPosY],DropInfo[i][DropGunPosZ]))
  122. {
  123. if(GetPlayerVirtualWorld(playerid) == DropInfo[i][DropGunVWorld] && GetPlayerInterior(playerid) == DropInfo[i][DropGunInterior])
  124. {
  125. GetPlayerName(playerid, sendername, sizeof(sendername));
  126. DestroyDynamicObject(DropObject[i]);
  127. GivePlayerWeapon(playerid,DropInfo[i][DropGunAmmount][0],DropInfo[i][DropGunAmmount][1]);
  128. DropInfo[i][DropGunPosX] = 0.0;
  129. DropInfo[i][DropGunPosY] = 0.0;
  130. DropInfo[i][DropGunPosZ] = 0.0;
  131. DropInfo[i][DropGunAmmount][0] = 0;
  132. DropInfo[i][DropGunAmmount][1] = 0;
  133. format(string, sizeof(string), "* %s je uzeo oruzje s poda.", sendername);
  134. SendLocalMessage(playerid, string, 10.0, COLOR_ACTION, COLOR_ACTION);
  135. return 1;
  136. }
  137. }
  138. }
  139. return 1;
  140. }
  141. //=================//
  142. stock SendLocalMessage(playerid, msg[], Float:MessageRange, Range1color, Range2color)
  143. {
  144. new Float: PlayerX, Float: PlayerY, Float: PlayerZ;
  145. GetPlayerPos(playerid, PlayerX, PlayerY, PlayerZ);
  146. foreach (Player, i)
  147. {
  148. if(IsPlayerInRangeOfPoint(i, MessageRange, PlayerX, PlayerY,PlayerZ))
  149. {
  150. SendClientMessage(i, Range1color, msg);
  151. }
  152. else if(IsPlayerInRangeOfPoint(i, MessageRange/2.0, PlayerX, PlayerY,PlayerZ))
  153. {
  154. SendClientMessage(i, Range2color, msg);
  155. }
  156. }
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement