func.pwn 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. DefaultPlayerData(playerid) {
  2. g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] = ID_TYPE_NONE;
  3. g_PlayerData[playerid][PLAYER_DATA_EDIT_ATTACHOBJECT] = INVALID_OBJECT_ID;
  4. g_PlayerData[playerid][PLAYER_DATA_EDIT_MATERIALOBJ] = INVALID_OBJECT_ID;
  5. g_PlayerData[playerid][PLAYER_DATA_CLICKDRAG_POID] = INVALID_OBJECT_ID;
  6. g_PlayerData[playerid][PLAYER_DATA_SELECTTD] = false;
  7. g_PlayerData[playerid][PLAYER_DATA_TDMODE] = TDMODE_NONE;
  8. g_PlayerData[playerid][PLAYER_DATA_POS_SAVED] = false;
  9. }
  10. GetPlayerEditVehicle(playerid) {
  11. if(g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] == ID_TYPE_VEHICLE) {
  12. return g_PlayerData[playerid][PLAYER_DATA_EDIT_ID];
  13. }
  14. return INVALID_VEHICLE_ID;
  15. }
  16. GetPlayerEditPickup(playerid) {
  17. if(g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] == ID_TYPE_PICKUP) {
  18. return g_PlayerData[playerid][PLAYER_DATA_EDIT_ID];
  19. }
  20. return INVALID_PICKUP_ID;
  21. }
  22. GetPlayerEditActor(playerid) {
  23. if(g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] == ID_TYPE_ACTOR) {
  24. return g_PlayerData[playerid][PLAYER_DATA_EDIT_ID];
  25. }
  26. return INVALID_ACTOR_ID;
  27. }
  28. GetPlayerEditObject(playerid){
  29. if(g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] == ID_TYPE_OBJECT) {
  30. return g_PlayerData[playerid][PLAYER_DATA_EDIT_ID];
  31. }
  32. return INVALID_OBJECT_ID;
  33. }
  34. GetPlayerEditAttached(playerid) {
  35. if( g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] == ID_TYPE_ATTACH ) {
  36. return g_PlayerData[playerid][PLAYER_DATA_EDIT_ID];
  37. }
  38. return INVALID_PLAYERATTACH_INDEX;
  39. }
  40. GetPlayerEditBuilding(playerid) {
  41. if( g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] == ID_TYPE_BUILDING ) {
  42. return g_PlayerData[playerid][PLAYER_DATA_EDIT_ID];
  43. }
  44. return INVALID_BUILDING_ID;
  45. }
  46. GetPlayerNearestObject(playerid, Float:max_distance) {
  47. new
  48. near_objectid = INVALID_OBJECT_ID,
  49. Float: near_distance = max_distance
  50. ;
  51. for(new objectid = 1, Float:x, Float:y, Float:z, Float:distance; objectid <= MAX_OBJECTS; objectid ++) {
  52. if( !IsValidObject(objectid) ) {
  53. continue;
  54. }
  55. GetObjectPos(objectid, x, y, z);
  56. distance = GetPlayerDistanceFromPoint(playerid, x, y, z);
  57. if( distance < near_distance ) {
  58. near_objectid = objectid;
  59. near_distance = distance;
  60. }
  61. }
  62. return near_objectid;
  63. }
  64. GetPlayerNearestVehicle(playerid, Float:max_distance) {
  65. new
  66. near_vehicleid = INVALID_VEHICLE_ID,
  67. Float: near_distance = max_distance
  68. ;
  69. for(new vehicleid = 1, max_vehicleid = GetVehiclePoolSize(), Float:x, Float:y, Float:z, Float:distance; vehicleid <= max_vehicleid; vehicleid ++) {
  70. if( !IsValidVehicle(vehicleid) ) {
  71. continue;
  72. }
  73. GetVehiclePos(vehicleid, x, y, z);
  74. distance = GetPlayerDistanceFromPoint(playerid, x, y, z);
  75. if( distance < near_distance ) {
  76. near_vehicleid = vehicleid;
  77. near_distance = distance;
  78. }
  79. }
  80. return near_vehicleid;
  81. }
  82. GetPlayerNearestPickup(playerid, Float:max_distance) {
  83. new
  84. near_pickupid = INVALID_PICKUP_ID,
  85. Float: near_distance = max_distance
  86. ;
  87. for(new pickupid, Float:x, Float:y, Float:z, Float:distance; pickupid < MAX_PICKUPS; pickupid ++) {
  88. if( !g_PickupData[pickupid][PICKUP_DATA_ISVALID] ) {
  89. continue;
  90. }
  91. x = g_PickupData[pickupid][PICKUP_DATA_X];
  92. y = g_PickupData[pickupid][PICKUP_DATA_Y];
  93. z = g_PickupData[pickupid][PICKUP_DATA_Z];
  94. distance = GetPlayerDistanceFromPoint(playerid, x, y, z);
  95. if( distance < near_distance ) {
  96. near_pickupid = pickupid;
  97. near_distance = distance;
  98. }
  99. }
  100. return near_pickupid;
  101. }
  102. GetPlayerNearestActor(playerid, Float:max_distance) {
  103. new
  104. near_actorid = INVALID_ACTOR_ID,
  105. Float: near_distance = max_distance
  106. ;
  107. for(new actorid, max_actorid = GetActorPoolSize(), Float:x, Float:y, Float:z, Float:distance; actorid <= max_actorid; actorid ++) {
  108. if( !IsValidActor(actorid) ) {
  109. continue;
  110. }
  111. GetActorPos(actorid, x, y, z);
  112. distance = GetPlayerDistanceFromPoint(playerid, x, y, z);
  113. if( distance < near_distance ) {
  114. near_actorid = actorid;
  115. near_distance = distance;
  116. }
  117. }
  118. return near_actorid;
  119. }