Advertisement
Guest User

Untitled

a guest
Apr 30th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.18 KB | None | 0 0
  1. enum eWeaponItemsDropped
  2. {
  3. Float:flX,
  4. Float:flY,
  5. Float:flZ,
  6. WeaponID,
  7. iAmmo,
  8. Text3D:Label,
  9. Object,
  10. bUsed
  11.  
  12. }
  13. new g_WeaponItems[MAX_DROPPED_WEAPONS][eWeaponItemsDropped];
  14.  
  15. stock CreateDroppedWeapon(playerid, wID, Float:flPos[], modelid)
  16. {
  17. new i, strWeapon[32];
  18. for(i = 0; i < MAX_DROPPED_WEAPONS; ++i )
  19. {
  20. if ( g_WeaponItems[i][bUsed] )
  21. continue;
  22. else
  23. break;
  24. }
  25.  
  26. g_WeaponItems[i][iAmmo] = GetPlayerAmmo(playerid);
  27. g_WeaponItems[i][flX] = flPos[0];
  28. g_WeaponItems[i][flY] = flPos[1];
  29. g_WeaponItems[i][flZ] = flPos[2] - 0.9;
  30. g_WeaponItems[i][WeaponID] = wID;
  31. GetWeaponName(wID, strWeapon, sizeof(strWeapon));
  32. g_WeaponItems[i][Object] = CreateDynamicObject(modelid, flPos[0], flPos[1], flPos[2] - 0.9, 2, 4, 6 );
  33. g_WeaponItems[i][Label] = CreateDynamic3DTextLabel(strWeapon, RGBA(100, 200, 0, 255), flPos[0], flPos[1], flPos[2] - 0.6, 2.5);
  34. new Float:rot[3];
  35. GetDynamicObjectRot( g_WeaponItems[i][Object], rot[0], rot[1], rot[2]);
  36. SetDynamicObjectRot( g_WeaponItems[i][Object], -90, rot[1], rot[2]);
  37. g_WeaponItems[i][bUsed] = true;
  38. return 1;
  39. }
  40.  
  41. GetWeaponModel(weaponid)
  42. {
  43. new model;
  44. switch(weaponid)
  45. {
  46. case 1: model=331; case 2: model=333; case 3: model=334;
  47. case 4: model=335; case 5: model=336; case 6: model=337;
  48. case 7: model=338; case 8: model=339; case 9: model=341;
  49. case 10: model=321; case 11: model=322; case 12: model=323;
  50. case 13: model=324; case 14: model=325; case 15: model=326;
  51. case 16: model=342; case 17: model=343; case 18: model=344;
  52. case 22: model=346; case 23: model=347; case 24: model=348;
  53. case 25: model=349; case 26: model=350; case 27: model=351;
  54. case 28: model=352; case 29: model=353; case 30: model=355;
  55. case 31: model=356; case 32: model=372; case 33: model=357;
  56. case 34: model=358; case 35: model=359; case 36: model=360;
  57. case 37: model=361; case 38: model=362; case 39: model=363;
  58. case 41: model=365; case 42: model=366; case 46: model=371;
  59. }
  60. if(model<300) return -1;
  61. return model;
  62. }
  63. GetWeaponIDFromModel(modelid)
  64. {
  65. switch(modelid)
  66. {
  67. case 331: return 1; case 333: return 2; case 334: return 3;
  68. case 335: return 4; case 336: return 5; case 337: return 6;
  69. case 338: return 7; case 339: return 8; case 341: return 9;
  70. case 321: return 11; case 322: return 11; case 323: return 12;
  71. case 324: return 13; case 325: return 14; case 326: return 15;
  72. case 342: return 16; case 343: return 17; case 344: return 18;
  73. case 346: return 22; case 347: return 23; case 348: return 24;
  74. case 349: return 25; case 350: return 26; case 351: return 27;
  75. case 352: return 28; case 353: return 29; case 355: return 30;
  76. case 356: return 31; case 372: return 32; case 357: return 33;
  77. case 358: return 34; case 359: return 35; case 360: return 36;
  78. case 361: return 37; case 362: return 38; case 363: return 39;
  79. case 365: return 41; case 366: return 42; case 371: return 46;
  80. }
  81. return -1;
  82. }
  83. CMD:dropweapon(playerid, params[])
  84. {
  85. if(g_PlayerInfo[playerid][iWeapon] > 0 )
  86. {
  87. new action[128], szWepName[32];
  88. GetWeaponName(g_PlayerInfo[playerid][iWeapon], szWepName, 32);
  89. format(action, 128, "drops their %s on the ground.", szWepName);
  90. new Float:pos[3];
  91. GetPlayerOrigin(playerid, pos);
  92. new iModel = GetWeaponModel(g_PlayerInfo[playerid][iWeapon]);
  93. CreateDroppedWeapon(playerid, g_PlayerInfo[playerid][iWeapon], pos, iModel);
  94. RemoveWeapon(playerid, g_PlayerInfo[playerid][iWeapon]);
  95. }
  96. return 1;
  97. }
  98.  
  99. CMD:pickupweapon(playerid, params[])
  100. {
  101. for(new i = 0; i < MAX_DROPPED_WEAPONS; ++i)
  102. {
  103. if(g_WeaponItems[i][bUsed] )
  104. {
  105. if(IsPlayerInRangeOfPoint(playerid, 1.0, g_WeaponItems[i][flX], g_WeaponItems[i][flY], g_WeaponItems[i][flZ] ) )
  106. {
  107. new action[128], szWepName[32];
  108. GetWeaponName(g_WeaponItems[i][WeaponID], szWepName, 32);
  109. format(action, 128, "picks up a %s from the ground.", szWepName);
  110. DestroyDynamic3DTextLabel(g_WeaponItems[i][Label]);
  111. DestroyDynamicObject(g_WeaponItems[i][Object]);
  112. GivePlayerWeapon(playerid,g_WeaponItems[i][WeaponID], g_WeaponItems[i][iAmmo]);
  113. g_WeaponItems[i][bUsed] = false;
  114. }
  115. }
  116. }
  117. return 1;
  118. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement