Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.04 KB | None | 0 0
  1. class IPlayer
  2. : public Entity
  3. {
  4. public:
  5.  
  6. virtual void Kick(const char* reason = nullptr) = 0;
  7. virtual void Ban(const char* reason = nullptr) = 0;
  8. virtual void OutputChatBox(const std::string& text) = 0;
  9. virtual void Notify(const std::string& text) = 0;
  10. public:
  11. virtual void _Call(const std::string& eventName, const arg_t* arguments = nullptr, size_t count = 0) = 0;
  12.  
  13. virtual void
  14. _CallHash(uint64_t eventNameHash, const arg_t* arguments = nullptr, size_t count = 0) = 0; // xxhash64
  15. virtual void _Invoke(uint64_t nativeHash, const arg_t* arguments = nullptr, size_t count = 0) = 0;
  16. public:
  17. virtual void Spawn(const vector3& pos, float heading) = 0;
  18. virtual void PlayAnimation(const std::string& dict, const std::string& name, float speed = 8.f, int flags = 0) = 0;
  19. virtual void PlayScenario(const std::string& scenario) = 0;
  20. virtual void StopAnimation() = 0;
  21.  
  22. virtual const clothData_t& GetClothes(uint8_t id) = 0;
  23. virtual void SetClothes(uint8_t id, const clothData_t& clothes) = 0;
  24.  
  25. virtual void SetClothes(const std::vector<std::pair<uint8_t, const clothData_t>>& clothes) = 0;
  26.  
  27. virtual const propData_t& GetProp(uint8_t id) = 0;
  28.  
  29. virtual void SetProp(uint8_t id, const propData_t prop) = 0;
  30.  
  31. virtual void SetProp(const std::vector<std::pair<uint8_t, const propData_t>>& clothes) = 0;
  32.  
  33. virtual void SetCustomization(
  34. bool gender,
  35. const rage::headBlend_t& headBlend,
  36. uint8_t eyeColor, uint8_t hairColor, uint8_t hightlightColor,
  37. const std::vector<float>& faceFeatures,
  38. const std::map<int, headOverlay_t>& headOverlays,
  39. const std::vector<std::pair<uint32_t, uint32_t>> decorations
  40. ) = 0;
  41.  
  42. virtual uint32_t GetDecoration(uint32_t collection) = 0;
  43. virtual void RemoveDecoration(uint32_t collection, uint32_t overlay) = 0;
  44. virtual void SetDecoration(uint32_t collection, uint32_t overlay) = 0;
  45. virtual void SetDecorations(std::vector<std::pair<uint32_t, uint32_t>> decorations) = 0;
  46.  
  47. virtual void ClearDecorations() = 0;
  48.  
  49. virtual void EnableVoiceTo(IPlayer* target) = 0;
  50. virtual void DisableVoiceTo(IPlayer* target) = 0;
  51. virtual std::vector<IPlayer*> GetVoiceListeners() = 0;
  52.  
  53. virtual void Eval(const std::string& code) = 0;
  54.  
  55. virtual const std::string& GetName() = 0;
  56. virtual void SetName(const std::string& name) = 0;
  57.  
  58. virtual bool IsAiming() = 0;
  59.  
  60. virtual float GetHeading() = 0;
  61. virtual void SetHeading(float heading) = 0;
  62.  
  63. virtual float GetMoveSpeed() = 0;
  64.  
  65. virtual float GetHealth() = 0;
  66. virtual void SetHealth(float armour) = 0;
  67.  
  68. virtual float GetArmour() = 0;
  69. virtual void SetArmour(float armour) = 0;
  70.  
  71. virtual const vector3& GetAimingAt() = 0;
  72.  
  73. virtual int GetPing() = 0;
  74. virtual float GetPacketLoss() = 0;
  75.  
  76. virtual const std::string& GetKickReason() = 0;
  77.  
  78. virtual std::string GetIp() = 0;
  79.  
  80. virtual bool IsJumping() = 0;
  81. virtual bool IsInCover() = 0;
  82. virtual bool IsEnteringVehicle() = 0;
  83. virtual bool IsLeavingVehicle() = 0;
  84. virtual bool IsClimbing() = 0;
  85. virtual bool IsOnLadder() = 0;
  86. virtual bool IsReloading() = 0;
  87. virtual bool IsInMelee() = 0;
  88. virtual std::string GetActionString() = 0;
  89.  
  90. // Vehicle
  91. virtual IVehicle* GetVehicle() = 0;
  92. virtual void PutIntoVehicle(IVehicle* vehicle, int8_t seatId) = 0;
  93. virtual void RemoveFromVehicle() = 0;
  94. virtual int8_t GetSeat() = 0;
  95.  
  96. // Customization
  97. virtual uint8_t GetEyeColour() = 0;
  98. virtual void SetEyeColour(uint8_t colour) = 0;
  99.  
  100. virtual uint8_t GetHairColour() = 0;
  101. virtual uint8_t GetHairHighlightColour() = 0;
  102. virtual void SetHairColour(uint8_t colour, uint8_t highlightColour) = 0;
  103.  
  104. virtual float GetFaceFeature(uint8_t id) = 0;
  105. virtual void SetFaceFeature(uint8_t id, float scale) = 0;
  106.  
  107. virtual const headBlend_t& GetHeadBlend() = 0;
  108.  
  109. virtual void SetHeadBlend(
  110. int shapeFirstID, int shapeSecondID, int shapeThirdID, int skinFirstID, int skinSecondID,
  111. int skinThirdID,
  112. float shapeMix, float skinMix, float thirdMix
  113. ) = 0;
  114.  
  115. virtual void UpdateHeadBlend(float shapeMix, float skinMix, float thirdMix) = 0;
  116.  
  117. virtual headOverlay_t GetHeadOverlay(uint8_t overlayId) = 0;
  118. virtual void SetHeadOverlay(uint8_t overlayId, headOverlay_t overlay) = 0;
  119.  
  120. // Weapons
  121. virtual uint32_t GetCurrentWeapon() = 0;
  122. virtual void SetCurrentWeapon(uint32_t weapon) = 0;
  123.  
  124. virtual uint16_t GetCurrentWeaponAmmo() = 0;
  125. virtual void SetCurrentWeaponAmmo(uint16_t ammo) = 0;
  126.  
  127. virtual uint16_t GetWeaponAmmo(uint32_t weaponHash) = 0;
  128. virtual void SetWeaponAmmo(hash_t hash, uint16_t ammo) = 0;
  129.  
  130. virtual std::map<hash_t, uint16_t> GetWeapons() = 0;
  131.  
  132. virtual void GiveWeapon(hash_t hash, uint16_t ammo) = 0;
  133. virtual void GiveWeapons(std::vector<std::pair<hash_t, uint16_t>> weapons) = 0;
  134.  
  135. virtual void RemoveWeapon(hash_t hash) = 0;
  136. virtual void RemoveWeapons(const std::vector<hash_t>& hash) = 0;
  137. virtual void RemoveAllWeapons() = 0;
  138.  
  139. //
  140. virtual bool IsStreamed(IPlayer* player) = 0;
  141. virtual std::vector<IPlayer*> GetStreamed() = 0;
  142.  
  143. virtual const std::string& GetSerial() = 0;
  144. virtual const std::string& GetSocialClubName() = 0;
  145. virtual void RemoveObject(uint32_t model, const vector3& position, float radius) = 0;
  146.  
  147. public:
  148.  
  149. template <typename ...Args>
  150. void Call(const std::string& eventName, Args&& ... args)
  151. {
  152. const int count = sizeof...(Args);
  153.  
  154. if constexpr (count == 0)
  155. this->_Call(eventName);
  156. else {
  157. arg_t arguments[count] = { arg_t(std::forward<Args>(args))... };
  158. this->_Call(eventName, arguments, count);
  159. }
  160. }
  161.  
  162. template <typename ...Args>
  163. void Invoke(uint64_t hash, Args&& ... args)
  164. {
  165. const int count = sizeof...(Args);
  166.  
  167. if constexpr (count == 0)
  168. this->_Invoke(hash);
  169. else {
  170. arg_t arguments[count] = { arg_t(std::forward<Args>(args))... };
  171. this->_Invoke(hash, arguments, count);
  172. }
  173. }
  174. };
  175.  
  176. class IVehicle
  177. : public Entity
  178. {
  179. public:
  180. virtual bool IsSirenActive() = 0;
  181. virtual void SetSirenActive(bool toggle) = 0;
  182.  
  183. virtual bool IsHornActive() = 0;
  184.  
  185. virtual bool AreHighbeamsActive() = 0;
  186. virtual void SetHighbeamsActive(bool toggle) = 0;
  187.  
  188. virtual bool AreLightsActive() = 0;
  189. virtual void SetLightsActive(bool toggle) = 0;
  190.  
  191. virtual bool IsEngineActive() = 0;
  192. virtual void SetEngineActive(bool toggle) = 0;
  193.  
  194. virtual bool AreTaxiLightsActive() = 0;
  195. virtual void SetTaxiLightsActive(bool toggle) = 0;
  196.  
  197. virtual bool IsRocketBoostActive() = 0;
  198. virtual bool IsBrakeActive() = 0;
  199. virtual float GetSteerAngle() = 0;
  200. virtual float GetGasPedalState() = 0;
  201.  
  202. virtual float GetEngineHealth() = 0;
  203. virtual float GetBodyHealth() = 0;
  204.  
  205. virtual rage::IPlayer* GetOccupant(uint8_t seat) = 0;
  206. virtual std::vector<rage::IPlayer*> GetOccupants() = 0;
  207. virtual void SetOccupant(uint8_t seat, rage::IPlayer* player) = 0;
  208.  
  209. virtual bool IsLocked() = 0;
  210. virtual void Lock(bool toggle) = 0;
  211.  
  212. virtual bool IsDead() = 0;
  213.  
  214. virtual void Explode() = 0;
  215. virtual void Spawn(const vector3& pos, float heading) = 0;
  216.  
  217. virtual uint8_t GetMod(uint8_t id) = 0;
  218. virtual void SetMod(uint8_t id, uint8_t mod) = 0;
  219.  
  220. virtual bool AreNeonsEnabled() = 0;
  221. virtual void EnableNeons(bool toggle) = 0;
  222.  
  223. virtual void SetNeonsColour(uint8_t r, uint8_t g, uint8_t b) = 0;
  224. virtual const rage::rgb_t& GetNeonsColour() = 0;
  225.  
  226. virtual void Repair() = 0;
  227.  
  228. virtual rage::rgb_t GetColourRGB(uint8_t id) = 0;
  229. virtual uint8_t GetColour(uint8_t id) = 0;
  230. virtual uint8_t GetPaint(uint8_t id) = 0;
  231.  
  232. virtual void SetColourRGB(const rage::rgb_t& primary, const rage::rgb_t& secondary) = 0;
  233. virtual void SetColour(uint8_t primary, uint8_t secondary) = 0;
  234. virtual void SetPaint(const rage::paintInfo_t& primary, const rage::paintInfo_t& secondary) = 0;
  235.  
  236. virtual material_t GetMaterialType() = 0;
  237.  
  238. virtual const std::string& GetNumberPlate() = 0;
  239. virtual void SetNumberPlate(const std::string& numberPlate) = 0;
  240.  
  241. virtual bool IsStreamed(IPlayer* player) = 0;
  242. virtual std::vector<IPlayer*> GetStreamed() = 0;
  243.  
  244. virtual uint8_t GetLivery() = 0;
  245. virtual void SetLivery(uint8_t livery) = 0;
  246.  
  247. virtual uint8_t GetWheelColor() = 0;
  248. virtual void SetWheelColor(uint8_t color) = 0;
  249.  
  250. virtual uint8_t GetWheelType() = 0;
  251. virtual void SetWheelType(uint8_t type) = 0;
  252.  
  253. virtual uint8_t GetNumberPlateType() = 0;
  254. virtual void SetNumberPlateType(uint8_t type) = 0;
  255.  
  256. virtual uint8_t GetPearlescentColor() = 0;
  257. virtual void SetPearlescentColor(uint8_t color) = 0;
  258.  
  259. virtual uint8_t GetWindowTint() = 0;
  260. virtual void SetWindowTint(uint8_t tint) = 0;
  261.  
  262. virtual uint8_t GetDashboardColor() = 0;
  263. virtual void SetDashboardColor(uint8_t color) = 0;
  264.  
  265. virtual uint8_t GetTrimColor() = 0;
  266. virtual void SetTrimColor(uint8_t type) = 0;
  267.  
  268. virtual bool GetExtra(uint8_t id) = 0;
  269. virtual void SetExtra(uint8_t id, bool state) = 0;
  270.  
  271. virtual float GetMovableState() = 0;
  272.  
  273. virtual const quat_t& GetQuaternion() = 0;
  274. virtual float GetHeading() = 0;
  275.  
  276. virtual rage::IVehicle* GetTrailer() = 0;
  277. virtual rage::IVehicle* GetTraileredBy() = 0;
  278. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement