gunholder.inc 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #include <a_samp>
  2. /*
  3. === gh.inc ===
  4. Gun Holder:
  5. native SetHolderWeapon(gh_playerid, gh_weapon);
  6. native GetHolderWeapon(gh_playerid);
  7. native RemoveHolderWeapon(gh_playerid);
  8. */
  9. enum gh_player_enum
  10. {
  11. gh_wep,
  12. gh_obj
  13. }
  14. new gh_player[MAX_PLAYERS][gh_player_enum];
  15. new gh_objectIds[200] = {
  16. -1, 331, 333, 334, 335, 336, 337, 338, 339, 341, 321, // 0 - 10
  17. 322, 323, 324, 325, 326, 342, 343, 344, -1, -1 , -1 , // 11 - 21
  18. 346, 347, 348, 349, 350, 351, 352, 353, 355, 356, 372, // 22 - 32
  19. 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, // 33 - 43
  20. 368, 369, -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , -1 , // 54 - 64
  21. };
  22. stock SetHolderWeapon(gh_playerid, gh_weapon)
  23. {
  24. if (gh_GetObjectID(gh_weapon) == -1)
  25. {
  26. return 0;
  27. }
  28. if (gh_player[gh_playerid][gh_obj] != -1)
  29. {
  30. DestroyObject(gh_player[gh_playerid][gh_obj]);
  31. gh_player[gh_playerid][gh_obj] = 255;
  32. }
  33. gh_player[gh_playerid][gh_wep] = gh_weapon;
  34. gh_player[gh_playerid][gh_obj] = CreateObject(gh_GetObjectID(gh_weapon), 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  35. AttachObjectToPlayer(gh_player[gh_playerid][gh_obj], gh_playerid, 0, -0.13, 0.15, -5.0, 315.0, 0.0);
  36. return 1;
  37. }
  38. stock GetHolderWeapon(gh_playerid)
  39. {
  40. return gh_player[gh_playerid][gh_wep];
  41. }
  42. stock RemoveHolderWeapon(gh_playerid)
  43. {
  44. gh_player[gh_playerid][gh_wep] = -1;
  45. DestroyObject(gh_player[gh_playerid][gh_obj]);
  46. gh_player[gh_playerid][gh_obj] = -1;
  47. return 1;
  48. }
  49. stock gh_GetObjectID(wepID)
  50. {
  51. if (wepID < 0 || wepID > 64) return -1;
  52. return gh_objectIds[wepID];
  53. }