Advertisement
Guest User

3DTryg.inc Remastered Header

a guest
Dec 22nd, 2021
104
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Library: 3DTryg.inc
  2. Copyright © 2021 Abyss Morgan. All rights reserved.
  3. Contributors: Nero_3D (Shisk), Crayder, IllidanS4, RyDeR, Zoutdaxv, hesambia, Neil Lamoureux, Ivan_Ino, Ralfie, Unrea1, $continue$, Switel12, Mr.Reus
  4.  
  5. Website: N/A
  6.  
  7. Plugins: ColAndreas, Streamer, FCNPC, YSF
  8. Internal Modules: Player, Vehicle, Actor, VehicleCollision, PlayerCollision, ActorCollision, GrenadeDetection, Universal, Draw3D, Cast3D, CatchItems
  9.  
  10. Platforms:
  11. - SA:MP 0.3.7
  12. - SA:MP 0.3 DL
  13.  
  14. File Version:
  15. - Gen. 2 v1.0.0
  16.  
  17. Plugin Versions:
  18. - ColAndreas Version: 1.5.0
  19. - YSF Version: R19 (kurta999)
  20. - Streamer Version: 2.9.5
  21. - FCNPC Version: 2.0.0
  22.  
  23. Foreach Types:
  24. - FoxForeach
  25. - StandaloneForeach
  26. - YSI Foreach
  27. - GetPlayerPoolSize
  28.  
  29. Compiler Options:
  30. - TRYG3D_DISABLE_INIT            //Use before 3DTryg.inc for disable ColAndreas Auto Init
  31. - TRYG3D_ENABLE_PLAYER           //Use before 3DTryg.inc for enable Player Module
  32. - TRYG3D_ENABLE_VEHICLE          //Use before 3DTryg.inc for enable  Module
  33. - TRYG3D_ENABLE_ACTOR            //Use before 3DTryg.inc for enable  Module
  34. - TRYG3D_ENABLE_GRENADEDETECTION //Use before 3DTryg.inc for enable  Module
  35. - TRYG3D_ENABLE_VEHICLECOL       //Use before 3DTryg.inc for enable  Module
  36. - TRYG3D_ENABLE_PLAYERCOL        //Use before 3DTryg.inc for enable  Module
  37. - TRYG3D_ENABLE_ACTORCOL         //Use before 3DTryg.inc for enable  Module
  38. - TRYG3D_ENABLE_UNIVERSAL        //Use before 3DTryg.inc for enable  Module
  39. - TRYG3D_ENABLE_DRAW3D           //Use before 3DTryg.inc for enable Draw3D Module
  40. - TRYG3D_ENABLE_CAST3D           //Use before 3DTryg.inc for enable Cast3D Module
  41. - TRYG3D_ENABLE_CATCHITEMS       //Use before 3DTryg.inc for enable CatchItems Module
  42. - TRYG3D_ENABLE_COLANDREAS       //Use before 3DTryg.inc for enable ColAndreas Plugin Module
  43. - TRYG3D_ENABLE_STREAMER         //Use before 3DTryg.inc for enable Streamer Plugin Module
  44. - TRYG3D_ENABLE_FCNPC            //Use before 3DTryg.inc for enable FCNPC Plugin Module
  45. - TRYG3D_ENABLE_YSF              //Use before 3DTryg.inc for enable YSF Plugin Module
  46.  
  47. # Complementary Functions
  48. Float: sqrtN(Float:value, Float:exponent);
  49. abs(value);
  50. Float: fabs(Float:value);
  51. power(value, Float:exponent);
  52. bool: IsEven(value);
  53.  
  54. # Internal Functions
  55. Float: Tryg3D::RandomFloat(const Float:min, const Float:max, accuracy = TRYG3D_DEFAULT_RANDOM_ACCURACY);
  56. Float: Tryg3D::RandomFloatEx(const Float:min, const Float:max, accuracy = TRYG3D_DEFAULT_RANDOM_ACCURACY);
  57. Tryg3D::RandomInteger(const min, const max);
  58. Float: Tryg3D::CalculatePercent(const Float:value, const Float:maxvalue);
  59. Float: Tryg3D::CompressRotation(const Float:rotation);
  60. Float: Tryg3D::DeCompressRotation(Float:rotation);
  61. Tryg3D::SwapInt(&variable1, &variable2);
  62. Tryg3D::SwapFloat(&Float:variable1, &Float:variable2);
  63. Tryg3D::RecoilVector(&Float:vx, &Float:vy, &Float:vz, const Float:sx, const Float:sy, const Float:sz);
  64. Float: Tryg3D::NormalizeVector(&Float:x, &Float:y, &Float:z = 0.0);
  65. Float: Tryg3D::SingleClock(max_items,index);
  66. Float: Tryg3D::EvenClock(max_items,index);
  67. Float: Tryg3D::UnevenClock(max_items,index);
  68. Tryg3D::NLTZ(value);
  69. Tryg3D::NMTZ(value);
  70. Float: Tryg3D::NLTZF(Float:value);
  71. Float: Tryg3D::NMTZF(Float:value);
  72. Tryg3D::NLTV(value, min);
  73. Tryg3D::NMTV(value, max);
  74. Float: Tryg3D::NLTVF(Float:value, Float:min);
  75. Float: Tryg3D::NMTVF(Float:value, Float:max);
  76. Tryg3D::GetWeaponDamage(weaponid);
  77. bool: Tryg3D::RotationInRange(const Float:rotation, Float:min, Float:max);
  78. Float: Tryg3D::RoundAccuracy(Float:value);
  79. Tryg3D::AppendLineArguments2D(Float:line[2], Float:x, Float:y);
  80. Tryg3D::AppendLineArguments3D(Float:line[3], Float:x, Float:y, Float:z);
  81. Tryg3D::DivideValues(denominator, &Float:x, &Float:y, &Float:z);
  82. Float: Tryg3D::RecoilFloat(Float:value, Float:recoil);
  83. Tryg3D::SetStreamDistance(const Float:streamdistance);
  84. Float: Tryg3D::GetStreamDistance();
  85. Tryg3D::KeyPressed(key);
  86. Tryg3D::KeyReleased(key);
  87. Tryg3D::KeyHolding(key);
  88. Tryg3D::SecToTimeDay(seconds);      //%d:%02d:%02d:%02d
  89. Tryg3D::MSToTimeDay(milliseconds);  //%d:%02d:%02d:%02d
  90. Tryg3D::SecToTime(seconds);         //%02d:%02d:%02d
  91. Tryg3D::MSToTime(milliseconds);     //%02d:%02d:%02d
  92. Tryg3D::SecToTimeMini(seconds);     //%02d:%02d
  93. Tryg3D::MSToTimeMini(milliseconds); //%02d:%02d
  94.  
  95. # Quaternion Functions
  96. Tryg3D::EulerToQuat(Float:rx, Float:ry, Float:rz, &Float:qw, &Float:qx, &Float:qy, &Float:qz);
  97. Tryg3D::QuatToEuler(&Float:rx, &Float:ry, &Float:rz, Float:qw, Float:qx, Float:qy, Float:qz);
  98. Tryg3D::GetRotationMatrixEuler(Float:matrix[][], const Float:rx, const Float:ry, const Float:rz);
  99. Tryg3D::GetRotationMatrixEulerEx(Float:matrix[][], const Float:rx, const Float:ry, const Float:rz, const EulerModes: mode = T3D:euler_default);
  100. Tryg3D::MatrixRotate(const Float:matrix[][], const Float:oX, const Float:oY, const Float:oZ, &Float:x, &Float:y, &Float:z);
  101. Tryg3D::MatrixRotateReverse(const Float:matrix[][], const Float:oX, const Float:oY, const Float:oZ, &Float:x, &Float:y, &Float:z);
  102. Tryg3D::GetQuatFromEuler(Float:rx, Float:ry, Float:rz, &Float:qw, &Float:qx, &Float:qy, &Float:qz, EulerModes: mode = T3D:euler_default);
  103. Tryg3D::QuatRotate(const Float:qw, const Float:qx, const Float:qy, const Float:qz, const Float:oX, const Float:oY, const Float:oZ, &Float:tx, &Float:ty, &Float:tz);
  104. Tryg3D::EulerRotate(Float:rx, Float:ry, Float:rz, Float:oX, Float:oY, Float:oZ, &Float:tx,&Float:ty,&Float:tz);
  105. Tryg3D::EulerRotateEx(Float:rx, Float:ry, Float:rz, Float:oX, Float:oY, Float:oZ, &Float:tx, &Float:ty, &Float:tz, EulerModes: mode = T3D:euler_default);
  106. Tryg3D::GetQuatUpVector(const Float:qw, const Float:qx, const Float:qy, const Float:qz, &Float:vx, &Float:vy, &Float:vz);
  107.  
  108. # Screen Functions
  109. Tryg3D::NormCrossProduct(&Float:x, &Float:y, &Float:z, Float:v1x, Float:v1y, Float:v1z, Float:v2x, Float:v2y, Float:v2z);
  110. Tryg3D::ScreenToWorld(const playerid, const Float:screenX, const Float:screenY, &Float:vX, &Float:vY, &Float:vZ);
  111. Tryg3D::WorldToScreen(const playerid, Float:x, Float:y, Float:z, &Float:screenX, &Float:screenY);
  112. Tryg3D::ScreenToWorldCol(const playerid, const Float:distance, const Float:screenX, const Float:screenY, &Float:wX, &Float:wY, &Float:wZ);
  113.  
  114. # General Functions
  115. Float: Tryg3D::GetDistance1D(const Float:x1, const Float:x2);
  116. Float: Tryg3D::GetDistance2D(const Float:x1, const Float:y1, const Float:x2, const Float:y2);
  117. Float: Tryg3D::GetDistance3D(const Float:x1, const Float:y1, const Float:z1, const Float:x2, const Float:y2, const Float:z2);
  118. bool: Tryg3D::IsPolygonClosed(const Float:points[], const max_points = sizeof(points));
  119. bool: Tryg3D::IsValidPolygon(const Float:points[], const max_points = sizeof(points));
  120. ElementOrientation: Tryg3D::GetOrientation(Float:angle);
  121. bool: Tryg3D::GetOrientationName(orientation_name[], const Float:angle, bool:as_compass = false, const maxdest = sizeof(orientation_name));
  122. Float: Tryg3D::GetEllipseRadius(const Float:x, const Float:y, const Float:angle);
  123. Float: Tryg3D::GetLineSize2D(const Float:points[][2], const max_points = sizeof(points));
  124. Float: Tryg3D::GetLineSize3D(const Float:points[][3], const max_points = sizeof(points));
  125. Tryg3D::GetRotationFor2Point2D(const Float:x, const Float:y, const Float:tx, const Float:ty, &Float:rz);
  126. Tryg3D::GetPointInFront2D(const Float:x, const Float:y, const Float:rz, const Float:radius, &Float:tx, &Float:ty);
  127. Tryg3D::GetPointInFront3D(const Float:x, const Float:y, const Float:z, const Float:rx, const Float:rz, const Float:radius, &Float:tx, &Float:ty, &Float:tz);
  128. Tryg3D::GetRotationFor2Point3D(const Float:x, const Float:y, const Float:z, const Float:tx, const Float:ty, const Float:tz, &Float:rx, &Float:rz);
  129. Tryg3D::GetPointInFront3DEx(const Float:x, const Float:y, const Float:z, const Float:rx, const Float:ry, const Float:rz, const Float:radius, &Float:tx, &Float:ty, &Float:tz);
  130. Tryg3D::GetPointFor2Point2D(const Float:x1, const Float:y1, const Float:x2, const Float:y2, const Float:percent_size, &Float:tx, &Float:ty);
  131. Tryg3D::GetPointFor2Point3D(const Float:x1, const Float:y1, const Float:z1, const Float:x2, const Float:y2, const Float:z2, const Float:percent_size, &Float:tx, &Float:ty, &Float:tz);
  132. Tryg3D::GetPointFor2Point2DEx(const Float:x1, const Float:y1, const Float:x2, const Float:y2, const Float:distance, &Float:tx, &Float:ty);
  133. Tryg3D::GetPointFor2Point3DEx(const Float:x1, const Float:y1, const Float:z1, const Float:x2, const Float:y2, const Float:z2, const Float:distance, &Float:tx, &Float:ty, &Float:tz);
  134. Float: Tryg3D::GetDistancePointToLine(const Float:px, const Float:py, const Float:pz, const Float:sX, const Float:sY, const Float:sZ, const Float:eX, const Float:eY, const Float:eZ, &Float:iX = 0.0, &Float:iY = 0.0, &Float:iZ = 0.0);
  135. Float: Tryg3D::GetDistancePointToLineEx(const Float:px, const Float:py, const Float:pz, const Float:sX, const Float:sY, const Float:sZ, const Float:eX, const Float:eY, const Float:eZ, &Float:iX = 0.0, &Float:iY = 0.0, &Float:iZ = 0.0);
  136. Tryg3D::GetNearest2DPointOnPolygon(const Float:polygon_points[], const Float:x, const Float:y, &Float:tx, &Float:ty, const max_points = sizeof(polygon_points));
  137. Float: Tryg3D::GetLineCosTheta2D(const Float:StartLine1[2], const Float:EndLine1[2], const Float:StartLine2[2], const Float:EndLine2[2]);
  138. Float: Tryg3D::GetLineCosTheta3D(const Float:StartLine1[3], const Float:EndLine1[3], const Float:StartLine2[3], const Float:EndLine2[3]);
  139. bool: Tryg3D::IsLinesParallel2D(const Float:StartLine1[2], const Float:EndLine1[2], const Float:StartLine2[2], const Float:EndLine2[2]);
  140. bool: Tryg3D::IsLinesParallel3D(const Float:StartLine1[3], const Float:EndLine1[3], const Float:StartLine2[3], const Float:EndLine2[3]);
  141. bool: Tryg3D::IsLinesPerpendicular2D(const Float:StartLine1[2], const Float:EndLine1[2], const Float:StartLine2[2], const Float:EndLine2[2]);
  142. bool: Tryg3D::IsLinesPerpendicular3D(const Float:StartLine1[3], const Float:EndLine1[3], const Float:StartLine2[3], const Float:EndLine2[3]);
  143. bool: Tryg3D::IsPointBetween2Points2D(const Float:px, const Float:py, const Float:x1, const Float:y1, const Float:x2, const Float:y2);
  144. bool: Tryg3D::IsPointBetween2Points3D(const Float:px, const Float:py, const Float:pz, const Float:x1, const Float:y1, const Float:z1, const Float:x2, const Float:y2, const Float:z2);
  145. Tryg3D::GetGangZone(const Float:x, const Float:y, const Float:radius, &Float:minx, &Float:miny, &Float:maxx, &Float:maxy);
  146. bool: Tryg3D::IsProbable(const Float:chance, const accuracy = TRYG3D_DEFAULT_RANDOM_ACCURACY);
  147. Tryg3D::RandomItemFromArray(const items[][LootArray], const max_items = sizeof(items), const accuracy = TRYG3D_DEFAULT_RANDOM_ACCURACY);
  148. Tryg3D::GetWeaponShotPos(playerid, hittype, &Float:fx, &Float:fy, &Float:fz);
  149.  
  150. # Converter Functions
  151. Float: Tryg3D::ShiftDegreeToRadian(const Float:value);
  152. Float: Tryg3D::ShiftDegreeToRadianEx(const Float:value);
  153. Float: Tryg3D::ShiftDegreeToGrades(const Float:value);
  154. Float: Tryg3D::ShiftRadianToDegree(const Float:value);
  155. Float: Tryg3D::ShiftRadianToDegreeEx(const Float:value);
  156. Float: Tryg3D::ShiftRadianToGrades(const Float:value);
  157. Float: Tryg3D::ShiftGradesToDegree(const Float:value);
  158. Float: Tryg3D::ShiftGradesToRadian(const Float:value);
  159. Tryg3D::ShiftRotationToVector(const Float:rx, const Float:rz, &Float:vx, &Float:vy, &Float:vz);
  160. Tryg3D::ShiftVectorToRotation(const Float:vx, const Float:vy, const Float:vz, &Float:rx, &Float:rz);
  161. bool: Tryg3D::ShiftVectorRotation(const Float:x, const Float:y, const Float:z, const Float:rx, const Float:ry, const Float:rz, &Float:tx, &Float:ty, &Float:tz);
  162. Tryg3D::ShiftOffsetToPosition(const Float:x, const Float:y, const Float:z, Float:rx, Float:ry, Float:rz, const Float:offset_x, const Float:offset_y, const Float:offset_z, &Float:tx, &Float:ty, &Float:tz);
  163. Tryg3D::ShiftPositionToOffset(const Float:x, const Float:y, const Float:z, const Float:rx, const Float:ry, const Float:rz, &Float:offset_x, &Float:offset_y, &Float:offset_z, const Float:tx, const Float:ty, const Float:tz);
  164. Tryg3D::ShiftLineRotation(const Float:sX, const Float:sY, const Float:sZ, Float:eX, Float:eY, Float:eZ, const Float:rx, const Float:ry, const Float:rz, &Float:nX, &Float:nY, &Float:nZ);
  165. bool: Tryg3D::ShiftLineRotationVector(const Float:sX, const Float:sY, const Float:sZ, Float:eX, Float:eY, Float:eZ, const Float:rx, const Float:ry, const Float:rz, &Float:nX, &Float:nY, &Float:nZ);
  166. Tryg3D::ShiftSpeedToMoveTime(const Float:x, const Float:y, const Float:z, const Float:tx, const Float:ty, const Float:tz, const Float:speed);
  167. Float: Tryg3D::ShiftMoveTimeToSpeed(const Float:x, const Float:y, const Float:z, const Float:tx, const Float:ty, const Float:tz, const movement_time);
  168.  
  169. # Extended Functions
  170. bool: Tryg3D::IsPointToPointVector(const Float:x, const Float:y, const Float:z, const Float:tx, const Float:ty, const Float:tz, &Float:vx, &Float:vy, &Float:vz);
  171. Tryg3D::GetArcPoints3D(const Float:x, const Float:y, const Float:z, const Float:tx, const Float:ty, const Float:tz, Float:ry, const Float:height, Float:points[][3], const max_points = sizeof(points));
  172. Tryg3D::GetCube3DPoint(const OrientationCube3D:orientation, const Float:x, const Float:y, const Float:z, const Float:rx, const Float:ry, const Float:rz, const Float:size_x, const Float:size_y, const Float:size_z, &Float:tx, &Float:ty, &Float:tz);
  173.  
  174. # ColAndreas Functions
  175. Tryg3D::IsColAndreasInit();
  176. Tryg3D::SafeColAndreasInit();
  177. Tryg3D::IsCollisionFlag(const value, const flag);
  178. Tryg3D::IsPointInUnderwater(const Float:x, const Float:y, const Float:z);
  179. Tryg3D::FindGroundZ(const Float:x, const Float:y, const Float:z, &Float:gZ);
  180. Tryg3D::MovePointCol(const Float:StartX, const Float:StartY, const Float:StartZ, const Float:EndX, const Float:EndY, const Float:EndZ, &Float:x, &Float:y, &Float:z);
  181. Tryg3D::MovePointColCutLine(const Float:sX, const Float:sY, const Float:sZ, const Float:eX, const Float:eY, const Float:eZ, &Float:x, &Float:y, &Float:z, const Float:cut_size = 0.0);
  182. Tryg3D::GetPointInFront3DCol(const Float:x, const Float:y, const Float:z, const Float:rx, const Float:rz, const Float:radius, &Float:tx, &Float:ty, &Float:tz);
  183. Tryg3D::GetPointInFront3DColEx(const Float:x, const Float:y, const Float:z, const Float:rx, const Float:ry, const Float:rz, const Float:radius, &Float:tx, &Float:ty, &Float:tz);
  184. Float: Tryg3D::GetPointInFrontOfPlayerCol(const playerid, &Float:tx, &Float:ty, const Float:radius);
  185. Float: Tryg3D::GetPointInFrontOfCamera2DCol(const playerid, &Float:tx, &Float:ty, const Float:radius);
  186. Tryg3D::GetPointInFrontOfCamera3DCol(const playerid, &Float:tx, &Float:ty, &Float:tz, const Float:radius, &Float:rx = 0.0, &Float:rz = 0.0);
  187. Tryg3D::GetPointInFrontOfVehicleCol(const vehicleid, &Float:tx, &Float:ty, &Float:tz, const Float:radius, &Float:rx = 0.0, &Float:rz = 0.0);
  188. Tryg3D::UndergroundFindZ(const Float:x, const Float:y, &Float:z);
  189. Tryg3D::InteriorFindZ(const Float:px, const Float:py, const Float:pz, const Float:size = 2.0, &Float:z = 0.0);
  190. bool: Tryg3D::IsPointInWater(const Float:x, const Float:y, const Float:z = 0.0);
  191. bool: Tryg3D::IsPointInUnderground(const Float:x, const Float:y, const Float:z);
  192. bool: Tryg3D::IsPointInAir(const Float:x, const Float:y, const Float:z, const bool:interior = false, const Float:max_distance = 2.2);
  193. bool: Tryg3D::IsPointInGround(const Float:x, const Float:y, const Float:z, const bool:interior = false, const Float:max_distance = 2.2);
  194. Tryg3D::GetPointCollisionFlags(const Float:x, const Float:y, const Float:z, const interiorid = 0);
  195. Tryg3D::IsBetweenPlayersIsWall(const playerid, const targetid);
  196. Tryg3D::IsBetweenPlayerToPointIsWall(const playerid, const Float:x, const Float:y, const Float:z);
  197. bool: Tryg3D::GetPointInWallForPoint(const Float:x, const Float:y, const Float:z, const Float:radius, &Float:tx, &Float:ty, &Float:tz, const Float:sector = 90.0);
  198. Tryg3D::SetCameraDirectionLookAt(const playerid, const Float:x, const Float:y, const Float:z, const Float:distance = 5.0, const Float:rx = 20.0, const Float:sector = 90.0);
  199. bool: Tryg3D::CollisionCheck(const Float:StartX, const Float:StartY, const Float:StartZ, const Float:EndX, const Float:EndY, const Float:EndZ, &Float:x, &Float:y, &Float:z, &Item3D:item_type = Item3D:0, &element_id = 0, const Float:cut_size = 0.0, const ignore_vehicle = INVALID_VEHICLE_ID, const ignore_player = INVALID_PLAYER_ID, const ignore_actor = INVALID_ACTOR_ID, const collision_flags = TRYG3D_COLLISION_FLAG_ALL);
  200. bool: Tryg3D::GetWallRotation(const Float:sx, const Float:sy, const Float:sz, const Float:ex, const Float:ey, const Float:ez, &Float:rx, &Float:rz, &Float:px = 0.0, &Float:py = 0.0, &Float:pz = 0.0, const Float:size = 1.0, const Float:cut_size = 0.0);
  201. Tryg3D::GetGroundRotation(const Float:x, const Float:y, const Float:size, &Float:rx, &Float:ry);
  202. bool: Tryg3D::IsPointInWaterFrontOfPlayer(const playerid, const Float:radius);
  203. bool: Tryg3D::IsPointInSphericalSectorEx(const Float:px, const Float:py, const Float:pz, const Float:x, const Float:y, const Float:z, const Float:rx, const Float:rz, const Float:radius, const Float:vrx, const Float:vrz, const ignore_vehicle = INVALID_VEHICLE_ID, const ignore_player = INVALID_PLAYER_ID, const ignore_actor = INVALID_ACTOR_ID, const collision_flags = TRYG3D_COLLISION_FLAG_OBJECT);
  204.  
  205. # ColAndreas Callbacks
  206. OnColAndreasRemoveBuilding();
  207. OnColAndreasInitSuccess();
  208. OnColAndreasInitFail();
  209.  
  210. # Area Functions
  211. bool: Tryg3D::IsPointInCylinder3D(const Float:px, const Float:py, const Float:pz, const Float:xA, const Float:yA, const Float:zA, const Float:xB, const Float:yB, const Float:zB, const Float:radius);
  212. bool: Tryg3D::IsPointInCube(const Float:px, const Float:py, const Float:pz, const Float:minx, const Float:miny, const Float:minz, const Float:maxx, const Float:maxy, const Float:maxz);
  213. bool: Tryg3D::IsPointInCube3D(const Float:px, const Float:py, const Float:pz, const Float:x, const Float:y, const Float:z, const Float:rx, const Float:ry, const Float:rz, Float:size_x, Float:size_y, Float:size_z);
  214. bool: Tryg3D::IsPointInCone3D(const Float:px, const Float:py, const Float:pz, const Float:xA, const Float:yA, const Float:zA, const Float:xB, const Float:yB, const Float:zB, const Float:radius_a, const Float:radius_b);
  215. bool: Tryg3D::IsPointInCircularSector(const Float:px, const Float:py, const Float:x, const Float:y, Float:rz, const Float:radius, Float:view_angle);
  216. bool: Tryg3D::IsPointInSphericalSector(const Float:px, const Float:py, const Float:pz, const Float:x, const Float:y, const Float:z, const Float:rx, const Float:rz, const Float:radius, const Float:vrx, const Float:vrz);
  217. bool: Tryg3D::IsPointInEllipse(const Float:px, const Float:py, const Float:cx, const Float:cy, const Float:size_x, const Float:size_y);
  218. bool: Tryg3D::IsPointInEllipticalCylinder(const Float:px, const Float:py, const Float:pz, const Float:cx, const Float:cy, const Float:minz, const Float:maxz, const Float:size_x, const Float:size_y);
  219. bool: Tryg3D::IsPointInPolygon(const Float:x, const Float:y, const Float:points[], const max_points = sizeof(points));
  220. bool: Tryg3D::IsPointInCylinder2D(const Float:px, const Float:py, const Float:pz, const Float:x, const Float:y, const Float:minz, const Float:maxz, const Float:radius);
  221. bool: Tryg3D::IsPointInCone2D(const Float:px, const Float:py, const Float:pz, const Float:x, const Float:y, const Float:minz, const Float:maxz, const Float:radius_a, const Float:radius_b);
  222. bool: Tryg3D::IsPointInCircle(const Float:px, const Float:py, const Float:x, const Float:y, const Float:radius);
  223. bool: Tryg3D::IsPointInSphere(const Float:px, const Float:py, const Float:pz, const Float:x, const Float:y, const Float:z, const Float:radius);
  224. bool: Tryg3D::IsPointInRectangle(const Float:px, const Float:py, const Float:minx, const Float:miny, const Float:maxx, const Float:maxy);
  225.  
  226. # Random Functions
  227. Tryg3D::GetRandomHit(const Float:x, const Float:y, const Float:z, const range, &Float:tx, &Float:ty, &Float:tz);
  228. Tryg3D::GetPointInCircle(const Float:x, const Float:y, const Float:radius, &Float:tx, &Float:ty);
  229. Tryg3D::GetPointInCylinder2D(const Float:x, const Float:y, const Float:minz, const Float:maxz, const Float:radius, &Float:tx, &Float:ty, &Float:tz);
  230. bool: Tryg3D::GetPointInCylinder3D(const Float:xA, const Float:yA, const Float:zA, const Float:xB, const Float:yB, const Float:zB, const Float:radius, &Float:tx, &Float:ty, &Float:tz);
  231. Tryg3D::GetPointInSphere(const Float:x, const Float:y, const Float:z, const Float:radius, &Float:tx, &Float:ty, &Float:tz);
  232. Tryg3D::GetPointInRectangle(const Float:minx, const Float:miny, const Float:maxx, const Float:maxy, &Float:tx, &Float:ty);
  233. Tryg3D::GetPointInCube(const Float:minx, const Float:miny, const Float:minz, const Float:maxx, const Float:maxy, const Float:maxz, &Float:tx, &Float:ty, &Float:tz);
  234. Tryg3D::GetPointInCube3D(const Float:x, const Float:y, const Float:z, const Float:rx, const Float:ry, const Float:rz, Float:size_x, Float:size_y, Float:size_z, &Float:tx, &Float:ty, &Float:tz);
  235. Tryg3D::GetPointInCone2D(const Float:x, const Float:y, const Float:minz, const Float:maxz, const Float:radius_a, const Float:radius_b, &Float:tx, &Float:ty, &Float:tz);
  236. Tryg3D::GetPointInCone3D(const Float:xA, const Float:yA, const Float:zA, const Float:xB, const Float:yB, const Float:zB, const Float:radius_a, const Float:radius_b, &Float:tx, &Float:ty, &Float:tz);
  237. Tryg3D::GetPointInCircularSector(const Float:x, const Float:y, const Float:rz, const Float:radius, Float:view_angle, &Float:tx, &Float:ty);
  238. Tryg3D::GetPointInSphericalSector(const Float:x, const Float:y, const Float:z, const Float:rx, const Float:rz, const Float:radius, Float:vrx, Float:vrz, &Float:tx, &Float:ty, &Float:tz);
  239. Tryg3D::GetPointInEllipse(const Float:cx, const Float:cy, const Float:size_x, const Float:size_y, &Float:tx, &Float:ty);
  240. Tryg3D::GetPointInEllipticalCylinder(const Float:cx, const Float:cy, const Float:minz, const Float:maxz, const Float:size_x, Float:size_y, &Float:tx, &Float:ty, &Float:tz);
  241. Tryg3D::GetPointInPolygon(const Float:points[], &Float:tx, &Float:ty, const max_points = sizeof(points),  max_iterations = 10000);
  242. Float: Tryg3D::GetPointOnClock(const Float:x, const Float:y, const Float:radius, &Float:tx, &Float:ty, &Float:trz, Float:rz = TRYG3D_INVALID_ROTATION);
  243. Tryg3D::GetPointOnCircle(const Float:x, const Float:y, const Float:radius, &Float:tx, &Float:ty);
  244. Tryg3D::GetPointOnCylinder2D(const Float:x, const Float:y, const Float:minz, const Float:maxz, const Float:radius, &Float:tx, &Float:ty, &Float:tz);
  245. Tryg3D::GetPointOnCylinder3D(const Float:xA, const Float:yA, const Float:zA, const Float:xB, const Float:yB, const Float:zB, const Float:radius, &Float:tx, &Float:ty, &Float:tz);
  246. Tryg3D::GetPointOnSphere(const Float:x, const Float:y, const Float:z, const Float:radius, &Float:tx, &Float:ty, &Float:tz);
  247. Tryg3D::GetPointOnRectangle(const Float:minx, const Float:miny, const Float:maxx, const Float:maxy, &Float:tx, &Float:ty);
  248. Tryg3D::GetPointOnCube(const Float:minx, const Float:miny, const Float:minz, const Float:maxx, const Float:maxy, const Float:maxz, &Float:tx, &Float:ty, &Float:tz);
  249. Tryg3D::GetPointOnCube3D(const Float:x, const Float:y, const Float:z, const Float:rx, const Float:ry, const Float:rz, Float:size_x, Float:size_y, Float:size_z, &Float:tx, &Float:ty, &Float:tz);
  250. Tryg3D::GetPointOnCone3D(const Float:xA, const Float:yA, const Float:zA, const Float:xB, const Float:yB, const Float:zB, const Float:radius_a, const Float:radius_b, &Float:tx, &Float:ty, &Float:tz);
  251. Tryg3D::GetPointOnCircularSector(const Float:x, const Float:y, const Float:rz, const Float:radius, Float:view_angle, &Float:tx, &Float:ty);
  252. Tryg3D::GetPointOnSphericalSector(const Float:x, const Float:y, const Float:z, const Float:rx, const Float:rz, const Float:radius, Float:vrx, Float:vrz, &Float:tx, &Float:ty, &Float:tz);
  253. Tryg3D::GetPointOnEllipse(const Float:cx, const Float:cy, const Float:size_x, const Float:size_y, &Float:tx, &Float:ty);
  254. Tryg3D::GetPointOnEllipticalCyl2D(const Float:cx, const Float:cy, const Float:minz, const Float:maxz, const Float:size_x, const Float:size_y, &Float:tx, &Float:ty, &Float:tz);
  255.  
  256. # Draw3D Functions
  257. Tryg3D::DrawCircle3D(const Float:x, const Float:y, const Float:z, const Float:radius, Float:points[][3], const max_sector = 36, const Float:rx = 90.0, const Float:ry = 0.0, const max_points = sizeof(points));
  258. Tryg3D::DrawCylinder3D(const Float:xA, const Float:yA, const Float:zA, const Float:xB, const Float:yB, const Float:zB, const Float:radius, Float:points[][3], const max_sector = 36, const max_circles = 5, const max_points = sizeof(points));
  259. Tryg3D::DrawSphere(const Float:x, const Float:y, const Float:z, const Float:radius, Float:points[][3], const max_sector = 36, const max_circles = 5, const max_points = sizeof(points));
  260. Tryg3D::DrawCone3D(const Float:xA, const Float:yA, const Float:zA, const Float:xB, const Float:yB, const Float:zB, const Float:radius, Float:points[][3], const max_sector = 36, const max_circles = 5, const max_points = sizeof(points));
  261. Tryg3D::DrawRectangle2D(const Float:minx, const Float:miny, const Float:maxx, const Float:maxy, Float:points[][2], const points_per_wall = 36, const max_points = sizeof(points));
  262. Tryg3D::DrawPolygon2D(const Float:polygon_points[], Float:points[][2], const points_per_line = 36, const max_polygon_points = sizeof(polygon_points), const max_points = sizeof(points));
  263. Tryg3D::DrawCube2D(const Float:minx, const Float:miny, const Float:minz, const Float:maxx, const Float:maxy, const Float:maxz, Float:points[][3], const points_per_wall = 36, const max_points = sizeof(points));
  264.  
  265. # Cast3D Functions
  266. Tryg3D::CastExplosion(const Float:x, const Float:y, const Float:z, const type, const Float:radius, const worldid = -1, const interiorid = -1, const playerid = -1, const Float:distance = 200.0);
  267. Tryg3D::CastExplosionDMG(const Float:x, const Float:y, const Float:z, const type, const Float:radius, const worldid = -1, const interiorid = -1, const playerid = -1, const Float:distance = 200.0, const Float:damage = 82.5, const Float:vehicle_damage = 82.5, const byplayerid = INVALID_PLAYER_ID, const ignore_vehicle = INVALID_VEHICLE_ID, const ignore_actor = INVALID_ACTOR_ID, const collision_flags = TRYG3D_COLLISION_FLAG_NONE);
  268. Tryg3D::CastExplosionRangeDMG(const Float:x, const Float:y, const Float:z, const type, const Float:radius, const worldid = -1, const interiorid = -1, const playerid = -1, const Float:distance = 200.0, const Float:min_damage = 10.0, const Float:max_damage = 82.5, const Float:min_vehicle_damage = 50.0, const Float:max_vehicle_damage = 250.0, const byplayerid = INVALID_PLAYER_ID, const ignore_vehicle = INVALID_VEHICLE_ID, const ignore_actor = INVALID_ACTOR_ID, const collision_flags = TRYG3D_COLLISION_FLAG_NONE);
  269. Tryg3D::CastDamage(const weaponid, const bodypart, const Float:damage, const Float:vehicle_damage, const Float:x, const Float:y, const Float:z, const Float:radius, const worldid = -1, const interiorid = -1, const playerid = -1, const byplayerid = INVALID_PLAYER_ID);
  270. Tryg3D::CastGravity(const Float:x, const Float:y, const Float:z, const Float:radius, Float:power = 1.0, const worldid = -1, const interiorid = -1, const playerid = -1, const byplayerid = INVALID_PLAYER_ID);
  271.  
  272. # Vehicle Functions
  273. Tryg3D::GetVehicleFlags(vehicleid)
  274. Tryg3D::IsVehicleFlag(vehicleid, flag)
  275. Tryg3D::GetVehicleRotation(const vehicleid, &Float:rx, &Float:ry, &Float:rz);
  276. Tryg3D::GetPartPos(const modelid, const partid, const Float:x, const Float:y, const Float:z, const Float:rx, const Float:ry, const Float:rz, &Float:tx, &Float:ty, &Float:tz, Float:offset_x = 0.0, Float:offset_y = 0.0, Float:offset_z = 0.0);
  277. Tryg3D::GetVehiclePartPos(const vehicleid, const partid, &Float:tx, &Float:ty, &Float:tz, Float:offset_x = 0.0, Float:offset_y = 0.0, Float:offset_z = 0.0);
  278. Tryg3D::GenerateVehicleFlags(const modelid);
  279. Tryg3D::GetVehicleModelDefaultFlags(const modelid);
  280. Tryg3D::GetVehicleModelFlags(const modelid);
  281. Tryg3D::SetVehicleModelFlags(const modelid, const value);
  282. Tryg3D::ToggleVehicleModelFlag(const modelid, const flag, const bool:toggle);
  283. Tryg3D::IsVehicleInRangeOfPoint(const vehicleid, const Float:range, const Float:x, const Float:y, const Float:z);
  284. Tryg3D::CountVisibleVehicles(const playerid);
  285. Float: Tryg3D::GetVehicleSpeed(const vehicleid);
  286. Tryg3D::SetVehicleSpeed(const vehicleid, const Float:speed);
  287. Float: Tryg3D::GetPointInFrontOfVehicle2D(const vehicleid, &Float:tx, &Float:ty, const Float:radius);
  288. Tryg3D::GetPointInFrontOfVehicle3D(const vehicleid, &Float:tx, &Float:ty, &Float:tz, const Float:radius, &Float:rx = 0.0, &Float:rz = 0.0);
  289.  
  290. # Actor Functions
  291. Tryg3D::CountActors();
  292. Tryg3D::CountVisibleActors(playerid);
  293.  
  294. # Player Functions
  295. bool: Tryg3D::IsPlayerSpawned(const playerid);
  296. bool: Tryg3D::IsPlayerSkydiving(playerid);
  297. bool: Tryg3D::IsPlayerUsingParachute(playerid);
  298. bool: Tryg3D::IsPlayerFall(playerid);
  299. bool: Tryg3D::IsPlayerAiming(playerid);
  300. bool: Tryg3D::IsPlayerStay(playerid);
  301. bool: Tryg3D::IsPlayerSwim(playerid);
  302. bool: Tryg3D::IsPlayerJump(playerid);
  303. bool: Tryg3D::IsPlayerParaFall(playerid);
  304. bool: Tryg3D::IsPlayerParaGlide(playerid);
  305. bool: Tryg3D::IsPlayerRunning(playerid);
  306. Tryg3D::GivePlayerDamage(const targetid, Float:amount, const playerid, const weaponid, const bodypart);
  307. Tryg3D::CountPlayers(const bool:isplayer = true, const bool:isnpc = true);
  308. Tryg3D::CountVisiblePlayers(const playerid, const bool:isplayer = true, const bool:isnpc = true);
  309. Float: Tryg3D::GetPointInFrontOfPlayer(const playerid, &Float:tx, &Float:ty, const Float:radius);
  310. Tryg3D::GetPlayerCameraRotation(const playerid, &Float:rx, &Float:rz);
  311. Tryg3D::GetPlayerCameraZAngle(const playerid, &Float:z_angle);
  312. Float: Tryg3D::GetPointInFrontOfCamera2D(const playerid, &Float:tx, &Float:ty, const Float:radius);
  313. Float: Tryg3D::GetPlayerSpeed(const playerid);
  314. Tryg3D::GetPlayerTargetAngle(const playerid, const Float:x, const Float:y, &Float:rz);
  315. Tryg3D::SetPlayerTargetAngle(const playerid, const Float:x, const Float:y, &Float:rz = 0.0);
  316. Tryg3D::GetPlayerTargetPlayerAngle(const playerid, const targetid, &Float:rz);
  317. Tryg3D::SetPlayerTargetPlayerAngle(const playerid, const targetid, &Float:rz = 0.0);
  318. Tryg3D::GetPointInFrontOfCamera3D(const playerid, &Float:tx, &Float:ty, &Float:tz, const Float:radius, &Float:rx = 0.0, &Float:rz = 0.0);
  319. Tryg3D::IsPlayerLookAtSky(const playerid);
  320. Tryg3D::IsPlayerFakeSpectating(const playerid, const bool:force_disable = true);
  321. Float: Tryg3D::GetCameraTargetDistance(const Float:CamX, const Float:CamY, const Float:CamZ, const Float:ObjX, const Float:ObjY, const Float:ObjZ, const Float:FrX, const Float:FrY, const Float:FrZ);
  322. Tryg3D::IsPlayerAimingAt(const playerid, const Float:x, const Float:y, const Float:z, const Float:radius);
  323. Tryg3D::GetPlayerCameraLookAt(const playerid, &Float:x, &Float:y, &Float:z);
  324.  
  325. # Universal Functions
  326. Tryg3D::ItemGetInvalidID(const Item3D:item_type);
  327. bool: Tryg3D::ItemGetPos(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, &Float:x, &Float:y, &Float:z);
  328. Tryg3D::ItemGetVirtualWorld(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type);
  329. Tryg3D::ItemGetInterior(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type);
  330. bool: Tryg3D::ItemGetRotationQuat(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, &Float:qw, &Float:qx, &Float:qy, &Float:qz);
  331. bool: Tryg3D::ItemGetUpVector(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, &Float:vx, &Float:vy, &Float:vz);
  332. bool: Tryg3D::ItemGetUpPos(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:radius, &Float:x, &Float:y, &Float:z, const bool:reverse = false);
  333. bool: Tryg3D::ItemOnPlayerScreen(const playerid, const TRYG3D_ELEMENT_TAG:targetid, const Item3D:target_type = item_player, const ElementOrientation:orientation = o_front, const Float:rx = TRYG3D_INVALID_ROTATION, const Float:rz = TRYG3D_INVALID_ROTATION, const Float:vrx = VERTICAL_CAMERA_RADIUS, const Float:vrz = HORIZONTAL_CAMERA_RADIUS, const bool:testVW = true, const ignore_vehicle = INVALID_VEHICLE_ID, const ignore_player = INVALID_PLAYER_ID, const ignore_actor = INVALID_ACTOR_ID, const collision_flags = TRYG3D_COLLISION_FLAG_OBJECT);
  334. bool: Tryg3D::ItemOnFakeScreen(const Float:x, const Float:y, const Float:z, const TRYG3D_ELEMENT_TAG:targetid, const Item3D:target_type, const Float:rx, const Float:rz, const Float:vrx = VERTICAL_CAMERA_RADIUS, const Float:vrz = HORIZONTAL_CAMERA_RADIUS, const ignore_vehicle = INVALID_VEHICLE_ID, const ignore_player = INVALID_PLAYER_ID, const ignore_actor = INVALID_ACTOR_ID, const collision_flags = TRYG3D_COLLISION_FLAG_OBJECT);
  335. Float: Tryg3D::ItemGetDistance(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const TRYG3D_ELEMENT_TAG:targetid, const Item3D:target_type);
  336. Float: Tryg3D::ItemGetDistanceFromPoint(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:x, const Float:y, const Float:z);
  337. bool: Tryg3D::ItemInCircle(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:x, const Float:y, const Float:radius);
  338. bool: Tryg3D::ItemInCylinder3D(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:xA, const Float:yA, const Float:zA, const Float:xB, const Float:yB, const Float:zB, const Float:radius);
  339. bool: Tryg3D::ItemInCylinder2D(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:x, const Float:y, const Float:minz, const Float:maxz, const Float:radius);
  340. bool: Tryg3D::ItemInSphere(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:x, const Float:y, const Float:z, const Float:radius);
  341. bool: Tryg3D::ItemInRectangle(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:minx, const Float:miny, const Float:maxx, const Float:maxy);
  342. bool: Tryg3D::ItemInCube(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:minx, const Float:miny, const Float:minz,Float:maxx, const Float:maxy, const Float:maxz);
  343. bool: Tryg3D::ItemInPolygon(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:points[], const maxpoints = sizeof(points));
  344. bool: Tryg3D::ItemInCircularSector(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:x, const Float:y, const Float:rz, const Float:radius, const Float:view_angle);
  345. bool: Tryg3D::ItemInSphericalSector(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:x, const Float:y, const Float:z, const Float:rx, const Float:rz, const Float:radius, const Float:vrx, const Float:vrz);
  346. bool: Tryg3D::ItemInCone2D(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:x, const Float:y, const Float:minz, const Float:maxz, const Float:radius_a, const Float:radius_b);
  347. bool: Tryg3D::ItemInCone3D(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:xA, const Float:yA, const Float:zA, const Float:xB, const Float:yB, const Float:zB, const Float:radius_a, const Float:radius_b);
  348. bool: Tryg3D::ItemInCube3D(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:x, const Float:y, const Float:z, const Float:rx, const Float:ry, const Float:rz, const Float:size_x, const Float:size_y, const Float:size_z);
  349. bool: Tryg3D::ItemInEllipse(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:cx, const Float:cy, const Float:size_x, const Float:size_y);
  350. bool: Tryg3D::ItemInEllipticalCylinder2D(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:cx, const Float:cy, const Float:minz, const Float:maxz, const Float:size_x, const Float:size_y);
  351. bool: Tryg3D::ItemGetToPointVector(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:tx, const Float:ty, const Float:tz, &Float:vx, &Float:vy, &Float:vz);
  352. bool: Tryg3D::ItemGetRotatedVector(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:tx, const Float:ty, const Float:tz, &Float:vx, &Float:vy, &Float:vz, const bool:return_vector = true, const Float:rx = 0.0, const Float:ry = 0.0, const Float:rz = 0.0);
  353. bool: Tryg3D::ItemGetOrientationPos(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const ElementOrientation:orientation, const Float:distance, &Float:tx, &Float:ty, &Float:tz);
  354. bool: Tryg3D::ItemInRangeOfPoint(const Float:x, const Float:y, const Float:z, const Float:range, const TRYG3D_ELEMENT_TAG:targetid, const Item3D:target_type = item_player, const ignore_vehicle = INVALID_VEHICLE_ID, const ignore_player = INVALID_PLAYER_ID, const ignore_actor = INVALID_ACTOR_ID, const collision_flags = TRYG3D_COLLISION_FLAG_NONE);
  355. bool: Tryg3D::ItemInRangeOfItem(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:range, const TRYG3D_ELEMENT_TAG:targetid, const Item3D:target_type = item_player, const ignore_vehicle = INVALID_VEHICLE_ID, const ignore_player = INVALID_PLAYER_ID, const ignore_actor = INVALID_ACTOR_ID, const collision_flags = TRYG3D_COLLISION_FLAG_NONE);
  356. bool: Tryg3D::ItemIsPlayerInRange(const playerid, const Float:range, const TRYG3D_ELEMENT_TAG:targetid, const Item3D:target_type = item_player, const ignore_vehicle = INVALID_VEHICLE_ID, const ignore_player = INVALID_PLAYER_ID, const ignore_actor = INVALID_ACTOR_ID, const collision_flags = TRYG3D_COLLISION_FLAG_NONE);
  357.  
  358. # Universal Functions (Streamer)
  359. bool: Tryg3D::ItemInDynamicArea(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const STREAMER_TAG_AREA:areaid);
  360. Tryg3D::ItemGetInDynamicArea(const STREAMER_TAG_AREA:areaid, const Item3D:element_type, element_list[], const max_element = sizeof(element_list));
  361.  
  362. # Universal Functions (ColAndreas)
  363. bool: Tryg3D::ItemCollisionToPoint(const Float:x, const Float:y, const Float:z, const TRYG3D_ELEMENT_TAG:targetid, const Item3D:target_type, const ignore_vehicle = INVALID_VEHICLE_ID, const ignore_player = INVALID_PLAYER_ID, const ignore_actor = INVALID_ACTOR_ID, const collision_flags = TRYG3D_COLLISION_FLAG_ALL);
  364. bool: Tryg3D::ItemCollisionToItem(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const TRYG3D_ELEMENT_TAG:targetid, const Item3D:target_type, const ignore_vehicle = INVALID_VEHICLE_ID, const ignore_player = INVALID_PLAYER_ID, const ignore_actor = INVALID_ACTOR_ID, const collision_flags = TRYG3D_COLLISION_FLAG_ALL);
  365. Tryg3D::ItemToItemIsWall(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const TRYG3D_ELEMENT_TAG:targetid, const Item3D:target_type);
  366. Tryg3D::ItemToPointIsWall(const Float:x, const Float:y, const Float:z, const TRYG3D_ELEMENT_TAG:targetid, const Item3D:target_type);
  367. Tryg3D::ItemGetCollisionFlags(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type);
  368. Tryg3D::ItemGetOrientationPosCol(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const ElementOrientation:orientation, const Float:distance, &Float:tx, &Float:ty, &Float:tz);
  369. bool: Tryg3D::ItemIsPointInWaterOrient(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Float:radius, const ElementOrientation:orientation = o_front);
  370.  
  371. # Streamer Functions
  372. Tryg3D::SetPlayerAbsolutePosition(const playerid, const Float:x, const Float:y, const Float:z, const Float:angle, const worldid = -1, const interiorid = -1, const compensatedtime = -1, const freezeplayer = 1);
  373. Tryg3D::SetPlayerAbsolutePositionVeh(const playerid, const Float:x, const Float:y, const Float:z, const Float:angle, const worldid = -1, const interiorid = -1, const compensatedtime = -1, const freezeplayer = 1);
  374. bool: Tryg3D::IsVehicleFullyInArea(const vehicleid, const STREAMER_TAG_AREA:areaid);
  375. Tryg3D::GetPointInDynamicArea(const STREAMER_TAG_AREA:areaid, &Float:tx, &Float:ty, &Float:tz);
  376.  
  377. # FCNPC Functions
  378. bool: FCNPC::InRangeOfPoint(const npcid, const Float:range, const Float:x, const Float:y, const Float:z);
  379. Float: FCNPC::GetPointInFront(const npcid, &Float:tx, &Float:ty, const Float:radius);
  380. FCNPC::GetTargetAngle(const npcid, const Float:x, const Float:y, &Float:rz);
  381. FCNPC::SetTargetAngle(const npcid, const Float:x, const Float:y, &Float:rz = 0.0);
  382. FCNPC::SetVehicleRotation(const npcid, const Float:rx, const Float:ry, const Float:rz);
  383. bool: FCNPC::SetVehicleTargetRotation(const npcid, const Float:tx, const Float:ty, const Float:tz, const Float:ry = 0.0);
  384. FCNPC::GoToAir(const npcid, const Float:x, const Float:y, const Float:z, const type = FCNPC_MOVE_TYPE_AUTO, const Float:speed = FCNPC_MOVE_SPEED_AUTO, const Float:min_distance = 0.0, const stopdelay = 250);
  385. Float: FCNPC::GetPointInFrontCol(const npcid, &Float:tx, &Float:ty, const Float:radius);
  386. FCNPC::GoToCol(const npcid, const Float:x, const Float:y, const Float:z, const type = FCNPC_MOVE_TYPE_AUTO, const Float:speed = FCNPC_MOVE_SPEED_AUTO, const mode = FCNPC_MOVE_MODE_AUTO, const Float:cut_size = 0.0, const bool:set_angle = true, const Float:min_distance = 0.0, const stopdelay = 250);
  387. FCNPC::GoToPlayerCol(const npcid, const playerid, const type = FCNPC_MOVE_TYPE_AUTO, const Float:speed = FCNPC_MOVE_SPEED_AUTO, const mode = FCNPC_MOVE_MODE_AUTO, const Float:cut_size = 0.0, const bool:set_angle = true, const Float:min_distance = 0.0, const stopdelay = 250);
  388. FCNPC::GoToPlayerOnGroundCol(const npcid, const playerid, const type = FCNPC_MOVE_TYPE_AUTO, const Float:speed = FCNPC_MOVE_SPEED_AUTO, const mode = FCNPC_MOVE_MODE_AUTO, const Float:cut_size = 1.0, const Float:climbing = 2.0, const bool:set_angle = true, const Float:min_distance = 0.0, const stopdelay = 250);
  389. FCNPC::GoToAirCol(const npcid, const Float:x, const Float:y, const Float:z, const type = FCNPC_MOVE_TYPE_AUTO, const Float:speed = FCNPC_MOVE_SPEED_AUTO, const Float:cut_size = 0.0, const Float:min_distance = 0.0, const stopdelay = 250);
  390. FCNPC::SetFloorPos(const npcid);
  391. FCNPC::GoToPlayerOnGroundColVeh(const npcid, const playerid, const type = FCNPC_MOVE_TYPE_AUTO, const Float:speed = FCNPC_MOVE_SPEED_AUTO, const mode = FCNPC_MOVE_MODE_AUTO, const Float:cut_size = 1.0, const Float:climbing = 2.0, const bool:set_angle = true, const Float:min_distance = 0.0, const stopdelay = 250);
  392. FCNPC::RandomMoveInDynamicArea(const npcid, const STREAMER_TAG_AREA:areaid, const Float:climbing = 2.0, const type = FCNPC_MOVE_TYPE_AUTO, const Float:speed = FCNPC_MOVE_SPEED_AUTO, const mode = FCNPC_MOVE_MODE_AUTO, const bool:set_angle = true, const Float:min_distance = 0.0, const stopdelay = 250);
  393. FCNPC::SetAbsolutePosition(const npcid, const Float:x, const Float:y, const Float:z, const Float:angle, const worldid = -1, const interiorid = -1, const compensatedtime = -1, const freezeplayer = 1);
  394.  
  395. # YSF Functions
  396. Tryg3D::GetPlayerHydraReactorRX(const playerid);
  397. Tryg3D::IsPlayerHydraReactorBoost(const playerid);
  398. Tryg3D::CountTextDraw();
  399. Tryg3D::CountVisibleTextDraw(const playerid);
  400. Tryg3D::CountPlayerTextDraw(const playerid);
  401. Tryg3D::CountVisiblePlayerTextDraw(const playerid);
  402. Tryg3D::CountGangZone();
  403. Tryg3D::CountVisibleGangZone(const playerid);
  404. Tryg3D::CountPlayerGangZone(const playerid);
  405. Tryg3D::CountVisiblePlayerGangZone(const playerid);
  406. bool: Tryg3D::IsVehicleOnSpawn(const vehicleid, const Float:check_radius = 1.0);
  407. bool: Tryg3D::IsPlayerOnSpawn(const playerid, Float:check_radius = 1.0);
  408. Tryg3D::GetPlayerRotation(const playerid, &Float:rx, &Float:ry, &Float:rz);
  409. Tryg3D::GetPointInGangZone(const zoneid, &Float:tx, &Float:ty);
  410. Tryg3D::GetPointInPlayerGangZone(const playerid,zoneid, &Float:tx, &Float:ty);
  411.  
  412. # CatchItems Functions
  413. Tryg3D::GetStreamType(Stream:data);
  414. Tryg3D::IsValidStream(Stream:data);
  415. bool: Tryg3D::IsPointInStream(const Float:x, const Float:y, const Float:z, const Stream:AreaData[Stream3D]);
  416. bool: Tryg3D::ItemInStream(const TRYG3D_ELEMENT_TAG:elementid, const Item3D:element_type, const Stream:AreaData[Stream3D], const worldid = -1, const interiorid = -1);
  417. Tryg3D::GetInStream(const Stream:AreaData[Stream3D], const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  418. Tryg3D::CatchCircle(const Float:x, const Float:y, const Float:radius, const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  419. Tryg3D::CatchCylinder2D(const Float:x, const Float:y, const Float:minz, const Float:maxz, const Float:radius, const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  420. Tryg3D::CatchCylinder3D(const Float:xA, const Float:yA, const Float:zA, const Float:xB, const Float:yB, const Float:zB, const Float:radius, const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  421. Tryg3D::CatchSphere(const Float:x, const Float:y, const Float:z, const Float:radius, const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  422. Tryg3D::CatchRectangle(const Float:minx, const Float:miny, const Float:maxx, const Float:maxy, const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  423. Tryg3D::CatchStreamCube(const Float:minx, const Float:miny, const Float:minz, const Float:maxx, const Float:maxy, const Float:maxz, const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  424. Tryg3D::CatchPolygon(const Float:points[], const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list), const maxpoints = sizeof(points));
  425. Tryg3D::CatchCircularSector(const Float:x, const Float:y, const Float:rz, const Float:radius, const Float:view_angle, const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  426. Tryg3D::CatchSphericalSector(const Float:x, const Float:y, const Float:z, const Float:rx, const Float:rz, const Float:radius, const Float:vrx, const Float:vrz, const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  427. Tryg3D::CatchCone2D(const Float:x, const Float:y, const Float:minz, const Float:maxz, const Float:radius_a, const Float:radius_b, const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  428. Tryg3D::CatchCone3D(const Float:xA, const Float:yA, const Float:zA, const Float:xB, const Float:yB, const Float:zB, const Float:pointA_radius, const Float:pointB_radius, const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  429. Tryg3D::CatchCube3D(const Float:x, const Float:y, const Float:z, const Float:rx, const Float:ry, const Float:rz, const Float:size_x, const Float:size_y, const Float:size_z, const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  430. Tryg3D::CatchEllipse(const Float:cx,Float:cy, const Float:size_x, const Float:size_y, const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  431. Tryg3D::CatchEllipticalCylinder2D(const Float:cx, const Float:cy, const Float:minz, const Float:maxz, const Float:size_x, const Float:size_y, const Item3D:element_type, element_list[], const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  432. Tryg3D::CatchSphericalSectorEx(const Float:x, const Float:y, const Float:z, const Float:rx, const Float:rz, const Float:radius, const Float:vrx, const Float:vrz, const Item3D:element_type, element_list[], const ignore_vehicle = INVALID_VEHICLE_ID, const ignore_player = INVALID_PLAYER_ID, const ignore_actor = INVALID_ACTOR_ID, const collision_flags = TRYG3D_COLLISION_FLAG_OBJECT, const worldid = -1, const interiorid = -1, const max_element = sizeof(element_list));
  433.  
  434. # Grenade Detection Callbacks
  435. OnPlayerDroppingGrenade(playerid, weaponid, Float:x, Float:y, Float:z);
  436. OnPlayerGrenadeExplode(playerid, weaponid, Float:x, Float:y, Float:z);
  437.  
  438. # VehicleCollision Functions
  439. Tryg3D::IsVehicleCollisionEnabled();
  440. Tryg3D::InitVehicleCollision(); //OnGameModeInit / OnFilterScriptInit
  441. Tryg3D::ExitVehicleCollision();
  442. Tryg3D::SyncVehicleCollision(vehicleid); //EVF -> OnVehicleCreated
  443. bool: Tryg3D::IsToggledVehicleCollision(vehicleid);
  444. Tryg3D::ToggleVehicleCollision(vehicleid, bool:toggle);
  445.  
  446. # PlayerCollision Functions
  447. Tryg3D::IsPlayerCollisionEnabled();
  448. Tryg3D::InitPlayerCollision(); //OnGameModeInit / OnFilterScriptInit
  449. Tryg3D::ExitPlayerCollision();
  450. Tryg3D::SyncPlayerCollision(playerid); //auto called after player spawn
  451. bool: Tryg3D::IsToggledPlayerCollision(playerid);
  452. Tryg3D::TogglePlayerCollision(playerid, bool:toggle);
  453.  
  454. # ActorCollision Functions
  455. Tryg3D::IsActorCollisionEnabled();
  456. Tryg3D::InitActorCollision(); //OnGameModeInit / OnFilterScriptInit
  457. Tryg3D::ExitActorCollision();
  458. Tryg3D::SyncActorCollision(actorid); //After create/change actor position
  459. bool: Tryg3D::IsToggledActorCollision(actorid);
  460. Tryg3D::ToggleActorCollision(actorid, bool:toggle);
  461.  
  462. # Definitions
  463. TRYG3D_ELEMENT_TAG
  464. FLOAT_PI
  465. FLOAT_EULER
  466. FLOAT_NAN
  467. FLOAT_DEFECT
  468. FLOAT_INFINITY
  469. VERTICAL_CAMERA_RADIUS
  470. HORIZONTAL_CAMERA_RADIUS
  471.  
  472. C_IN_GAME_X
  473. C_IN_GAME_Y
  474. C_IN_GAME_YW
  475. C_ON_SCREEN_X
  476. C_ON_SCREEN_Y
  477.  
  478. TRYG3D_MAX_POLYGON_POINTS
  479. TRYG3D_VEHICLE_SPEED_MULTIPLIER
  480. TRYG3D_PLAYER_SPEED_MULTIPLIER
  481. TRYG3D_DEFAULT_RANDOM_ACCURACY
  482. TRYG3D_CHARACTER_GROUND_Z_DIFF
  483. TRYG3D_MAX_AREA_CHECK
  484. TRYG3D_INVALID_ROTATION
  485. TRYG3D_INVALID_VIRTUAL_WORLD
  486. TRYG3D_INVALID_MOVE_TIME
  487. TRYG3D_INVALID_MOVE_SPEED
  488. TRYG3D_INVALID_ORIENTATION
  489. TRYG3D_MAX_MODULES_STRING
  490. TRYG3D_RANDOM_MAX_ANGLE
  491. TRYG3D_VBTP
  492. TRYG3D_VLTP
  493.  
  494. TRYG3D_EXTRA_DATA_FLAG_VEHICLE
  495. TRYG3D_EXTRA_DATA_FLAG_PLAYER
  496. TRYG3D_EXTRA_DATA_FLAG_ACTOR
  497.  
  498. WEAPON_DYNAMIC_EXPLOSION_DMG
  499. WEAPON_DYNAMIC_EXPLOSION_RANGE
  500.  
  501. //ColAndreas collision flags
  502. TRYG3D_COLLISION_FLAG_NONE, TRYG3D_COLLISION_FLAG_OBJECT, TRYG3D_COLLISION_FLAG_VEHICLE, TRYG3D_COLLISION_FLAG_PLAYER, TRYG3D_COLLISION_FLAG_ACTOR, TRYG3D_COLLISION_FLAG_ALL
  503.  
  504. //Player position flags
  505. POSITION_FLAG_WORLD, POSITION_FLAG_INTERIOR, POSITION_FLAG_AIR, POSITION_FLAG_GROUND, POSITION_FLAG_WATER, POSITION_FLAG_UNDERWATER, POSITION_FLAG_UNDERGROUND
  506.  
  507. //Vehicle flags
  508. VF_STREET, VF_AIRBORNE, VF_NATATORIAL, VF_MILITARY, VF_TRAIN, VF_RC, VF_CARRIAGE, VF_AIRPLANE, VF_HELICOPTER, VF_BIKES, VF_TRAILER, VF_TOWABLE, VF_POLICE
  509.  
  510. // Vehicle parts
  511. VEHICLE_PART_RFTIRE    // Right Front tire
  512. VEHICLE_PART_LFTIRE    // Left Front tire
  513. VEHICLE_PART_RRTIRE    // Right Rear tire
  514. VEHICLE_PART_LRTIRE    // Left Rear tire
  515. VEHICLE_PART_HOOD      // In Front
  516. VEHICLE_PART_TRUNK     // Behind
  517. VEHICLE_PART_ROOF      // Roof
  518. VEHICLE_PART_CHASSIS   // Chassis
  519. VEHICLE_PART_PETROLCAP // Petrolcap
  520.  
  521. # Enums
  522.  
  523. enum 'EulerModes'
  524. - T3D:euler_xzx
  525. - T3D:euler_xyx
  526. - T3D:euler_yxy
  527. - T3D:euler_yzy
  528. - T3D:euler_zyz
  529. - T3D:euler_zxz
  530. - T3D:euler_xzy
  531. - T3D:euler_xyz
  532. - T3D:euler_yxz
  533. - T3D:euler_yzx
  534. - T3D:euler_zyx
  535. - T3D:euler_zxy
  536.  
  537. enum 'OrientationCube3D'
  538. - o_left_back_down
  539. - o_right_back_down
  540. - o_right_front_down
  541. - o_left_front_down
  542. - o_left_back_up
  543. - o_right_back_up
  544. - o_right_front_up
  545. - o_left_front_up
  546.  
  547. enum 'ElementOrientation'
  548. - o_left
  549. - o_right
  550. - o_up
  551. - o_down
  552. - o_front
  553. - o_back
  554. - o_front_left
  555. - o_front_right
  556. - o_back_left
  557. - o_back_right
  558.  
  559. enum 'Vectors3D'
  560. - Float: T3D:X             - Position X
  561. - Float: T3D:Y             - Position Y
  562. - Float: T3D:Z             - Position Z
  563. - Float: T3D:A             - Angle
  564.  
  565. enum 'Float3D'
  566. - Float: T3D:X             - Position X
  567. - Float: T3D:Y             - Position Y
  568. - Float: T3D:Z             - Position Z
  569. - Float: T3D:rX            - Rotation X
  570. - Float: T3D:rY            - Rotation Y
  571. - Float: T3D:rZ            - Rotation Z
  572. - Float: T3D:tX            - Target Position X
  573. - Float: T3D:tY            - Target Position Y
  574. - Float: T3D:tZ            - Target Position Z
  575. -        T3D:VW            - Virtual World ID
  576. -        T3D:INT           - Interior ID
  577. - Float: T3D:SPEED         - Speed
  578.  
  579. enum 'LongFloat3D'
  580. - Float: T3D:X             - Position X
  581. - Float: T3D:Y             - Position Y
  582. - Float: T3D:Z             - Position Z
  583. - Float: T3D:rX            - Rotation X
  584. - Float: T3D:rY            - Rotation Y
  585. - Float: T3D:rZ            - Rotation Z
  586. - Float: T3D:tX            - Target Position X
  587. - Float: T3D:tY            - Target Position Y
  588. - Float: T3D:tZ            - Target Position Z
  589. - Float: T3D:trX           - Target Rotation X
  590. - Float: T3D:trY           - Target Rotation Y
  591. - Float: T3D:trZ           - Target Rotation Z
  592. - Float: T3D:VecX          - Vector Position X
  593. - Float: T3D:VecY          - Vector Position Y
  594. - Float: T3D:VecZ          - Vector Position Z
  595. -        T3D:VW            - Virtual World ID
  596. -        T3D:INT           - Interior ID
  597. - Float: T3D:SPEED         - Speed
  598.  
  599. enum 'LootArray'
  600. -        ItemID
  601. - Float: ItemChance
  602.  
  603. enum 'Item3D'
  604. - item_player
  605. - item_npc
  606. - item_actor
  607. - item_object
  608. - item_vehicle
  609. - item_dynamic_object
  610. - item_dynamic_pickup
  611. - item_dynamic_cp
  612. - item_dynamic_racecp
  613. - item_dynamic_mapicon
  614. - item_dynamic_3dtext
  615. - item_dynamic_actor
  616. - item_dynamic_vehicle
  617. - item_fcnpc
  618.  
  619. enum 'StreamType'
  620. - s_invalid
  621. - s_circle
  622. - s_cylinder2d
  623. - s_cylinder3d
  624. - s_sphere
  625. - s_rectangle
  626. - s_cube2d
  627. - s_cube3d
  628. - s_polygon
  629. - s_circularsector
  630. - s_sphericalsector
  631. - s_cone2d
  632. - s_cone3d
  633. - s_ellipse
  634. - s_ellipticalcyl2d
  635. - a_sphericalsectorex
Advertisement
RAW Paste Data Copied
Advertisement