3#define WIN32_LEAN_AND_MEAN
8#define ARK_API __declspec(dllexport)
10#define ARK_API __declspec(dllimport)
21struct ADestroyedMeshActor;
22struct ADirectionalLight;
25struct ADroppedItemLowQuality;
32struct AHibernationManager;
35struct ALevelScriptActor;
37struct AMatineeActorManager;
38struct AMissionDispatcher;
40struct ANPCZoneManager;
42struct AOceanDinoManager;
43struct AOceanHarvestManager;
47struct APlayerCameraManager;
52struct APointOfInterestManagerList;
53struct APostProcessVolume;
66struct APrimalStructureClaimFlag;
70struct APrimalStructureExplosiveTransGPS;
77struct APrimalStructureSail;
78struct APrimalStructureSeating_DriverSeat;
86struct ASceneCapture2D;
87struct ASeamlessVolumeManager;
88struct AServerStatReplicator;
89struct AShipPathManager;
100struct ASOTFNotification;
101struct ASpectatorPawn;
104struct ATreasureMapManager;
105struct AttachLocation;
116struct EActorUpdateOverlapsMethod;
117struct EComponentCreationMethod;
119struct EObjectFullNameFlags;
121struct ExpensiveFunctionRegister;
124struct FActiveForceFeedbackEffect;
125struct FActiveHapticFeedbackEffect;
126struct FActorBeginCursorOverSignature;
127struct FActorBeginOverlapSignature;
128struct FActorBeginTouchOverSignature;
130struct FActorComponentDeactivateSignature;
131struct FActorComponentInstanceData;
132struct FActorComponentTickFunction;
133struct FActorCustomEventSignature;
134struct FActorEndPlaySignature;
135struct FActorHitSignature;
136struct FActorMatineeUpdated;
137struct FActorOnClickedSignature;
138struct FActorOnInputTouchBeginSignature;
139struct FActorSemaphoreTaken;
141struct FActorTickFunction;
142struct FAdditionalStaticMeshSockets;
144struct FAdvancedBoneModifierSlider;
147struct FAmazonS3GetObject;
148struct FAnimationEvaluationContext;
153struct FArkTributePlayerData;
156struct FAssetRegistry;
157struct FAsyncSharedLogCleanup;
158struct FAsyncUpdatableTexture2D;
159struct FAtlasAdminCommandTrackingEntry;
160struct FAtlasSaveObjectData;
161struct FAttachedInstanced;
162struct FAttachedInstancedHarvestingElement;
163struct FAttachmentPoint;
164struct FAttachmentTransformRules;
166struct FAvailableMission;
167struct FBasedMovementInfo;
168struct FBehaviorTreeSearchData;
170struct FBlueprintCookedComponentInstancingData;
176struct FBoneModifierNamed;
177struct FBoneModifierRange;
178struct FBonePresetSlider;
181struct FBroadphaseSettings;
183struct FBuffStatEntry;
185struct FCachedDBAccessor;
186struct FCachedTeamTameListStruct;
203struct FCharacterMovementUpdatedSignature;
204struct FCharacterPossessionByPlayer;
205struct FCharacterReachedApexSignature;
206struct FClassAddition;
208struct FClassMultiplier;
209struct FClassNameReplacement;
210struct FClassRedirect;
211struct FClassRemapping;
212struct FClassRemappingWeight;
213struct FCollisionImpactData;
214struct FCollisionQueryParams;
215struct FCollisionResponseParams;
216struct FCollisionResponseSet;
217struct FColorDefinition;
218struct FCompanionEventData;
219struct FCompanionReactionData;
220struct FComponentBeginCursorOverSignature;
221struct FComponentBeginOverlapSignature;
222struct FComponentBeginTouchOverSignature;
223struct FComponentEndCursorOverSignature;
224struct FComponentEndOverlapSignature;
225struct FComponentEndTouchOverSignature;
226struct FComponentInstanceDataCache;
227struct FComponentOnClickedSignature;
228struct FComponentOnInputTouchBeginSignature;
229struct FComponentOnInputTouchEndSignature;
230struct FComponentOnReleasedSignature;
231struct FCompressTaskInfo;
233struct FConfigItemCraftingCostOverride;
235struct FConfigNPCSpawnEntriesContainer;
236struct FConfigSupplyCrateItemsOverride;
237struct FCraftingResourceRequirement;
238struct FCrateTemporaryQualityModifierSet;
240struct FCryopodPersistantBuffs;
241struct FCustomContextMenuData;
242struct FCustomContextSubmenu;
244struct FCustomPropertyConditionState;
250struct FDatabase_AllianceWrapper;
251struct FDatabase_ClusterInfo_Server;
252struct FDatabase_CreateShapshot;
253struct FDatabase_LogEntryWrapper;
254struct FDatabase_PlayerJoinedTribe;
255struct FDatabase_PlayerRemovedFromTribe;
256struct FDatabase_TravelEntry;
257struct FDatabase_TribeEntities;
258struct FDatabase_TribeWrapper;
262struct FDebugDisplayInfo;
263struct FDebugFloatHistory;
264struct FDebugTraceInfo;
266struct FDefaultItemEntry;
267struct FDialogueContext;
283struct FDisciplineDefinition;
284struct FDiscoveredZone;
285struct FDodgeMovementInfo;
287struct FDynamicForceFeedbackDetails;
289struct FEngramBuffEntry;
293struct FEngramItemEntry;
294struct FEngramStatEntry;
296struct FExplorerNoteAchievement;
297struct FExplorerNoteEntry;
300struct FFloatingTextEntry;
301struct FForceFeedbackValues;
304struct FGameNameRedirect;
305struct FGlobalGameplaySetup;
306struct FGrappleTether;
307struct FGridCellServerInfo;
308struct FGrinderItemReplacer;
309struct FHairStyleDefinition;
311struct FHardwareSurveyResults;
312struct FHarvestResourceEntry;
313struct FHibernationZoneInfo;
318struct FInstalledItemInfo;
320struct FInstigatedAnyDamageSignature;
321struct FInteriorSettings;
322struct FInvalidReferenceRedirector;
323struct FInventoryComponentDefaultItemsAppend;
324struct FInventoryItemAdded;
325struct FInventoryItemRemoved;
336struct FItemSlotTypeDefinition;
337struct FItemSpawnActorClassOverride;
338struct FItemStatGroupValue;
340struct FJoinabilitySettings;
343struct FLandedSignature;
346struct FLayerNameArray;
349struct FLeaderboardsContainer;
351struct FLevelExperienceRamp;
353struct FLocalizedSoundCueEntry;
354struct FLocalizedSoundWaveAnimTexturePairArrays;
358struct FMatineeActorFinished;
359struct FMatineeActorStopped;
361struct FMaxStatScaler;
366struct FMinimalViewInfo;
367struct FMissionAlertEntry;
369struct FMissionMetaData;
370struct FMissionTriggerBeginOverlap;
371struct FMissionTriggerEndOverlap;
373struct FModuleManager;
374struct FMovementModeChangedSignature;
375struct FMultiAchievement;
378struct FNamedTeamDefinition;
379struct FNavAgentProperties;
380struct FNetChangeDefaultPropertyValue;
381struct FNetDriverDefinition;
385struct FNetworkPredictionData_Client_Character;
386struct FNetworkPredictionData_Client;
387struct FNetworkPredictionData_Server_Character;
388struct FNetworkPredictionData_Server;
389struct FNotifyAddPassenger;
390struct FNotifyClearPassenger;
391struct FNotifyClearRider;
392struct FNotifyFlyerLanded;
393struct FNotifySetRider;
394struct FNPCSpawnEntriesContainerAdditions;
396struct FObjectCorrelation;
397struct FObjectInitializer;
398struct FObjectInstancingGraph;
399struct FObjectPreSaveContext;
402struct FOceanHarvestedEntry;
403struct FOceanHarvestEntry;
404struct FOctreeElementSimple;
405struct FOnAddNewTribe;
406struct FOnClearMountedDino;
407struct FOnDinoDownloaded;
408struct FOnDinoUploaded;
409struct FOnHTTPGetProcessed;
410struct FOnHTTPPostResponse;
412struct FOnlineAchievementsWrite;
413struct FOnlineSessionSearchResult;
414struct FOnNotifyDamage;
415struct FOnPlayerListReady;
416struct FOnPlayerStatePawnSet;
417struct FOnPossessedPawnChanged;
419struct FOnRemovePlayerFromTribe;
420struct FOnRemoveTribe;
421struct FOnSerializeForSaveFile;
422struct FOnServerChatMessage;
423struct FOnServerDirectMessage;
424struct FOnServerNotification;
425struct FOnServerTraveFPropertyWrapperlStarted;
426struct FOnSetMountedDino;
427struct FOnStartNewPlayer;
428struct FOpenColorIODisplayConfiguration;
429struct FOrderingGroupInfo;
434struct FOverlapResult;
435struct FOverrideAnimBlueprintEntry;
437struct FPenetrationTraceHit;
439struct FPlacementData;
440struct FPlayerBanInfo;
441struct FPlayerBoneBodyPreset;
442struct FPlayerCharacterGenderDefinition;
443struct FPlayerConfigVoiceCollectionInfo;
444struct FPlayerDeathReason;
445struct FPlayerDynamicMaterialColors;
446struct FPlayerDynamicMaterialFloat;
447struct FPlayerDynamicMaterialVector;
448struct FPlayerFlagData;
449struct FPlayerLocatorEffectMap;
451struct FPlayersAwaitingUpdatedCachedTeamTameListStruct;
452struct FPluginRedirect;
454struct FPointLightReductionSettings;
455struct FPointOfInterestCompanionBehavior;
459struct FPostProcessMaterialAdjuster;
460struct FPostProcessOverlapEvent;
461struct FPredictProjectilePathParams;
462struct FPredictProjectilePathResult;
463struct FPreSpawnedDino;
464struct FPrimalCameraInterpParams;
465struct FPrimalCameraParams;
466struct FPrimalCharacterNotifyAttackEnded;
467struct FPrimalCharacterNotifyAttackStarted;
472struct FPrimalEquipmentDefinition;
483struct FPrimalStatGroupDefinition;
484struct FPrimalStructureSnapPoint;
485struct FPrimalStructureSnapPointOverride;
486struct FPrimalWirelessReferences;
487struct FPrimaryAssetId;
489struct FProjectileArc;
490struct FProjectileWeaponData;
491struct FPropertyModificationsTracker;
492struct FPropertyWrapper;
493struct FPubSub_TribeNotification_Chat;
494struct FQualityTierCraftingResourceRequirements;
498struct FRecoveryRateOverride;
499struct FReferenceCollector;
500struct FRegionGeneralOverrides;
501struct FRegisterComponentContext;
503struct FRenderCommandFence;
504struct FRepAttachment;
505struct FReplicatedBasedMovementInfo;
506struct FReplicatedFoliageOverride;
507struct FReplicatedGrappleTetherData;
509struct FReplicationFlags;
512struct FRepRootMotionMontage;
513struct FResourceTemporaryAmountModifierSet;
514struct FReverbSettings;
516struct FRigidBodyCollisionInfo;
517struct FRigidBodyErrorCorrection;
518struct FRootMotionMovementParams;
519struct FRootMotionSourceGroup;
520struct FRotationConversionCache;
521struct FRotator_NetQuantize;
522struct FRotator_NetQuantizeSmartPitch;
524struct FScreenMessageString;
525struct FScreenSaverInhibitor;
526struct FSeamlessIslandInfo;
527struct FSeamlessTravelHandler;
528struct FSeamlessTravelPlayerData;
529struct FSemaphoreEntry;
530struct FServerCustomFolder;
532struct FServerTribeAtMax;
533struct FShipTypeDisplayInformation;
534struct FShooterCharacterDied;
535struct FShooterCharacterSpawned;
536struct FShooterGameSessionParams;
537struct FShooterOnlineSearchSettings;
538struct FShooterOnlineSessionSettings;
539struct FShooterSessionData;
540struct FShorelineMetadata;
541struct FShorelineProps;
542struct FShownTreasureData;
543struct FSimulatedRootMotionReplicatedMove;
546struct FSlotAnimationTrack;
547struct FSoftClassPath;
548struct FSoilTypeDescription;
549struct FSoilTypeRegionMapping;
550struct FSpawnPointInfo;
552struct FStatColorMapping;
553struct FStatusValueModifierDescription;
557struct FStoredMoveData;
558struct FStreamableManager;
559struct FStreamableRenderResourceState;
560struct FStructRedirect;
561struct FStructureToBuildAddition;
563struct FStructureVariantAddition;
564struct FSubtitleStringMap;
565struct FSupplyCrateItemSet;
566struct FSupplyCrateSpawnEntry;
567struct FSupplyCrateSpawnPointEntry;
568struct FSupplyCrateValuesOverride;
569struct FTakePointDamageSignature;
571struct FTamingDinoInfo;
575struct FTexture2DResourceMem;
576struct FTexturePlatformData;
577struct FTextureResource;
578struct FTickCallbacks;
586struct FTrackedActorWaypointInfo;
587struct FTransformedSubLevel;
589struct FTreeStumpCreationTime;
590struct FTribeAlliance;
594struct FTribeLogEntry;
595struct FTribeNotification;
596struct FTribeRankGroup;
597struct FTribeTravelCount;
599struct FTributePlayerTribeInfo;
600struct FTutorialDefinition;
603struct FUniqueNetIdUInt64;
605struct FUnlockableEmoteEntry;
606struct FUnreplicatedEggData;
609struct FVector_NetQuantize100;
610struct FVector_NetQuantizeNormal;
612struct FVirtualTextureBuildSettings;
613struct FWalkableSlopeOverride;
618struct FWildFollowerSpawnEntry;
619struct FWorldBuffPersistantData;
620struct FWorldBuffTrackerItem;
622struct FWorldDefaultItemSet;
623struct FWriteFileTaskInfo;
625struct IDataLayerWatcher;
626struct IDataListEntryInterface;
628struct IHeadMountedDisplay;
631struct IPathFollowingAgentInterface;
632struct IRepChangedPropertyTracker;
633struct IStereoRendering;
634struct ITargetableInterface;
641struct UActorSequenceComponent;
643struct UAnimationAsset;
646struct UAnimNotifyState;
648struct UAnimSequenceBase;
649struct UAntiDupeTransactionLog;
650struct UAssetUserData;
651struct UAsyncPhysicsData;
652struct UAsyncPhysicsInputComponent;
653struct UAudioComponent;
655struct UBlueprintCore;
658struct UBrainComponent;
660struct UCapsuleComponent;
664struct UCheatManagerExtension;
665struct UChildActorComponent;
669struct UDatabase_LoginData;
670struct UDatabase_PubSub_GeneralNotifications;
671struct UDatabase_RemoteFileManager;
672struct UDatabase_SharedLog;
673struct UDatabase_TerritoryMap;
674struct UDatabase_TravelData;
675struct UDatabase_TribeDataManager;
676struct UDataLayerAsset;
677struct UDataLayerInstance;
679struct UDeferredMovementContext;
680struct UDeviceProfileManager;
682struct UDiscoveryZoneDataListEntry;
688struct UFXSystemComponent;
692struct UGameServerQuerySubsystem;
693struct UGameUserSettings;
694struct UGenericDataListEntry;
696struct UHierarchicalInstancedStaticMeshComponent;
697struct UInputComponent;
698struct UInstancedStaticMeshComponent;
700struct UInterpTrackInstDirector;
704struct ULevelVariantSets;
708struct UMaterialInstanceConstant;
709struct UMaterialInstanceDynamic;
710struct UMaterialInterface;
711struct UMaterialParameterCollection;
716struct UMovieSceneControlRigParameterTrack;
717struct UMovieSceneSequence;
718struct UMovieSceneTrack;
719struct UNavigationSystemConfig;
722struct UNiagaraComponent;
723struct UNiagaraEmitter;
724struct UNiagaraSystem;
726struct UObjectBase_vtbl;
729struct UObjectSerializer;
730struct UPaintingCache;
731struct UPaintingStreamingComponent;
732struct UPaintingTexture;
733struct UParticleSystem;
734struct UParticleSystemComponent;
736struct UPendingNetGame;
737struct UPhysicalMaterial;
740struct UPrimalAIState;
742struct UPrimalBuffPersistentData;
743struct UPrimalCableComponent;
746struct UPrimalDinoEntry;
747struct UPrimalDinoSettings;
748struct UPrimalEngramEntry;
751struct UPrimalGlobalUIData;
752struct UPrimalHarvestingComponent;
754struct UPrimalItem_Dye;
755struct UPrimalItem_Shield;
757struct UPrimalLocalProfile;
758struct UPrimalNavigationInvokerComponent;
760struct UPrimalStructureSettings;
761struct UPrimalStructureSnapSettings;
762struct UPrimalStructureToolTipWidget;
763struct UPrimalSupplyCrateItemSets;
765struct UPrimalWindSourceComponent;
766struct UPrimalWirelessExchangeData;
767struct UPrimalWorldBuffData;
769struct UPrimaryDataAsset;
772struct UPubSub_GeneralNotifications;
773struct UPubSub_TribeNotifications;
777struct USeamlessDataServer;
778struct UShapeComponent;
780struct UShooterDamageType;
781struct UShooterGameInstance;
782struct UShooterGameUserSettings;
783struct UShooterHaptics;
786struct USkeletalMeshComponent;
787struct USoundAttenuation;
790struct USoundConcurrency;
795struct USphereComponent;
796struct USplineComponent;
799struct UStaticMeshSocket;
805struct UToolTipWidget;
806struct UTriggerEffectLibrary;
807struct UUI_CustomOverlay;
808struct UUI_GenericConfirmationDialog;
809struct UUI_HostSession;
810struct UUI_Notification;
811struct UUI_XBoxFooter;
813struct UWaveWorksComponent;
814struct UWeaponAttackData;
817struct UWorldPartition;
818struct FOverlappedFoliageElement;
829#define DECLARE_HOOK(name, returnType, ...) typedef returnType(__fastcall * name ## _Func)(__VA_ARGS__); inline
830 name ## _Func name ## _original; returnType
831 __fastcall Hook_ ## name(__VA_ARGS__)
ARK_API LPVOID GetDataAddress(const std::string &name)
ARK_API BitField GetBitField(LPVOID base, const std::string &name)
ARK_API BitField GetBitField(const void *base, const std::string &name)
ARK_API DWORD64 GetAddress(const void *base, const std::string &name)
ARK_API LPVOID GetAddress(const std::string &name)
std::unordered_map< const FString, AShooterPlayerController *, FStringHash, FStringEqual > eos_id_map_
void SetStatus(ServerStatus status)
std::shared_ptr< MessagingManager > GetMessagingManagerInternal(const FString &forPlugin) const override
void SetCheatManager(UShooterCheatManager *cheatmanager)
ApiUtils(const ApiUtils &)=delete
std::shared_ptr< MessagingManager > ReadApiMessagingManager()
UShooterCheatManager * GetCheatManager() const override
Returns a point to URCON CheatManager.
ApiUtils(ApiUtils &&)=delete
void CheckMessagingManagersRequirements()
AShooterPlayerController * FindPlayerFromEOSID_Internal(const FString &eos_id) const override
AShooterGameMode * GetShooterGameMode() const override
Returns a pointer to AShooterGameMode.
ApiUtils & operator=(const ApiUtils &)=delete
void SetShooterGameMode(AShooterGameMode *shooter_game_mode)
void RemoveMessagingManagerInternal(const FString &forPlugin)
ApiUtils & operator=(ApiUtils &&)=delete
AShooterGameMode * shooter_game_mode_
UWorld * GetWorld() const override
Returns a pointer to UWorld.
void SetMessagingManagerInternal(const FString &forPlugin, std::shared_ptr< MessagingManager > manager) override
ServerStatus GetStatus() const override
Returns the current server status.
void SetPlayerController(AShooterPlayerController *player_controller)
void RemovePlayerController(AShooterPlayerController *player_controller)
~ApiUtils() override=default
void SetWorld(UWorld *uworld)
UShooterCheatManager * cheatmanager_
FORCEINLINE AShooterGameState * GetGameState()
Get Shooter Game State.
virtual UShooterCheatManager * GetCheatManager() const =0
Returns a point to URCON CheatManager.
FORCEINLINE void SendNotificationToAll(FLinearColor color, float display_scale, float display_time, UTexture2D *icon, const T *msg, Args &&... args)
Sends notification (on-screen message) to all players. Using fmt::format.
FORCEINLINE TArray< AActor * > GetAllActorsInRange(FVector location, float radius, EServerOctreeGroup::Type ActorType)
Gets all actors in radius at location.
FORCEINLINE std::shared_ptr< T > GetMessagingManagerCasted() const
Gets the current messaging manager for the plugin.
FORCEINLINE MapCoords FVectorToCoords(FVector actor_position)
Converts FVector into coords that are displayed when you view the ingame map.
FORCEINLINE const FString GetAttackerEOSID(AActor *target, AController *killer, AActor *damage_causer, bool tribe_check=true)
obtains the steam ID of an attacker, meant to be used in hooks such as TakeDamage
static FORCEINLINE FString GetClassBlueprint(UClass *the_class)
Returns blueprint path from any UClass.
FORCEINLINE AShooterPlayerController * FindPlayerFromEOSID(const FString &eos_id) const
Finds player from the given eos id.
virtual ~IApiUtils()=default
FORCEINLINE void SendNotification(AShooterPlayerController *player_controller, FLinearColor color, float display_scale, float display_time, UTexture2D *icon, const T *msg, Args &&... args)
Sends notification (on-screen message) to the specific player. Using fmt::format.
static FORCEINLINE APrimalDinoCharacter * GetRidingDino(AShooterPlayerController *player_controller)
Returns the dino the character is riding.
FORCEINLINE void SendServerMessageToAll(FLinearColor msg_color, const T *msg, Args &&... args)
Sends server message to all players. Using fmt::format.
static FORCEINLINE int GetTribeID(AShooterCharacter *player_character)
Get Tribe ID of character.
static FORCEINLINE int GetTribeID(AShooterPlayerController *player_controller)
Get Tribe ID of player controller.
static FORCEINLINE uint64 GetPlayerID(AController *controller)
FORCEINLINE TArray< AActor * > GetAllActorsInRange(FVector location, float radius, EServerOctreeGroup::Type ActorType, TArray< AActor * > ignores)
Gets all actors in radius at location, with ignore actors.
FORCEINLINE std::shared_ptr< MessagingManager > GetMessagingManager() const
Gets the current messaging manager for the plugin, without casting.
static FORCEINLINE FVector GetPosition(APlayerController *player_controller)
Returns the position of a player.
FORCEINLINE void SendServerMessage(AShooterPlayerController *player_controller, FLinearColor msg_color, const T *msg, Args &&... args)
Sends server message to the specific player. Using fmt::format.
FORCEINLINE TArray< AShooterPlayerController * > FindPlayerFromCharacterName(const FString &character_name, ESearchCase::Type search, bool full_match) const
Finds all matching players from the given character name.
static FORCEINLINE bool IsRidingDino(AShooterPlayerController *player_controller)
Returns true if character is riding a dino, false otherwise.
static FORCEINLINE uint64 GetPlayerID(APrimalCharacter *character)
FORCEINLINE UPrimalGameData * GetGameData()
Returns pointer to Primal Game Data.
virtual std::shared_ptr< MessagingManager > GetMessagingManagerInternal(const FString &forPlugin) const =0
static FORCEINLINE void FreeStruct(void *obj)
Free a struct allocated.
static FORCEINLINE UShooterCheatManager * GetCheatManagerByPC(AShooterPlayerController *SPC)
Get UShooterCheatManager* of player controller.
FORCEINLINE AShooterPlayerController * FindControllerFromCharacter(AShooterCharacter *character) const
Finds player controller from the given player character.
static FORCEINLINE FString GetIPAddress(AShooterPlayerController *player)
Returns IP address of player.
static FORCEINLINE std::optional< FString > TeleportToPlayer(AShooterPlayerController *me, AShooterPlayerController *him, bool check_for_dino, float max_dist)
Teleport one player to another.
FORCEINLINE bool SpawnDrop(const wchar_t *blueprint, FVector pos, int amount, float item_quality=0.0f, bool force_blueprint=false, float life_span=0.0f) const
Spawns an item drop.
void SetMessagingManager()
Sets the messaging manager for the current plugin.
static FORCEINLINE bool TeleportToPos(AShooterPlayerController *player_controller, const FVector &pos)
Teleports player to the given position.
virtual void SetMessagingManagerInternal(const FString &forPlugin, std::shared_ptr< MessagingManager > manager)=0
static FORCEINLINE bool IsPlayerDead(AShooterPlayerController *player)
Returns true if player is dead, false otherwise.
virtual AShooterGameMode * GetShooterGameMode() const =0
Returns a pointer to AShooterGameMode.
static FORCEINLINE FString GetSteamName(AController *player_controller)
Returns the steam name of player.
static FORCEINLINE FString GetCharacterName(AShooterPlayerController *player_controller)
Returns the character name of player.
FORCEINLINE void SendChatMessage(AShooterPlayerController *player_controller, const FString &sender_name, const T *msg, Args &&... args)
Sends chat message to the specific player. Using fmt::format.
FORCEINLINE AShooterPlayerController * FindPlayerFromPlatformName(const FString &steam_name) const
Finds player from the given platform name (can be steam, Playstation, Xbox, etc......
virtual ServerStatus GetStatus() const =0
Returns the current server status.
FORCEINLINE const FString GetEOSIDForPlayerID(int player_id)
FORCEINLINE APrimalDinoCharacter * SpawnDino(AShooterPlayerController *player, FString blueprint, FVector *location, int lvl, bool force_tame, bool neutered) const
Spawns a dino near player or at specific coordinates.
static FORCEINLINE FString GetItemBlueprint(UPrimalItem *item)
Returns blueprint from UPrimalItem.
FORCEINLINE void SendChatMessageToAll(const FString &sender_name, const T *msg, Args &&... args)
Sends chat message to all players. Using fmt::format.
static FORCEINLINE FString GetEOSIDFromController(AController *controller)
Returns EOS ID from player controller.
static FORCEINLINE int GetInventoryItemCount(AShooterPlayerController *player_controller, const FString &item_name)
Counts a specific items quantity.
static FORCEINLINE T * AllocateStruct()
Create a new object of T, with the correct size.
void RunHiddenCommand(AShooterPlayerController *_this, FString *Command)
Runs a command that is not logged anywhere.
static FORCEINLINE FString GetBlueprint(UObjectBase *object)
Returns blueprint path from any UObject.
virtual UWorld * GetWorld() const =0
Returns a pointer to UWorld.
virtual AShooterPlayerController * FindPlayerFromEOSID_Internal(const FString &eos_id) const =0
UE_NODISCARD bool EndsWith(const TCHAR *InSuffix, ESearchCase::Type SearchCase=ESearchCase::IgnoreCase) const
UE_NODISCARD FORCEINLINE friend FString operator+(const TCHAR *Lhs, FString &&Rhs)
UE_NODISCARD FORCEINLINE friend FString operator+(FString &&Lhs, const TCHAR *Rhs)
FString & operator=(FString &&)=default
UE_NODISCARD FORCEINLINE bool IsEmpty() const
ARK_API FString(const WIDECHAR *Str)
ARK_API FString(const ANSICHAR *Str)
UE_NODISCARD FORCEINLINE friend FString operator+(const TCHAR *Lhs, const FString &Rhs)
UE_NODISCARD FORCEINLINE FString LeftChop(int32 Count) const &
FString & operator=(const FString &)=default
Messaging manager. Allows to send server messages, notifications and chat messages.
IApiUtils & GetApiUtils()
static UClass * GetPrivateStaticClass()
FString * ConsoleCommand(FString *result, const FString *Cmd, bool bWriteToLog)
FString * GetPlayerNetworkAddress(FString *result)
void DoNeuter_Implementation()
void TameDino(AShooterPlayerController *ForPC, bool bIgnoreMaxTameLimit, int OverrideTamingTeamID, bool bPreventNameDialog, bool bSkipAddingTamedLevels, bool bSuppressNotifications)
static UClass * GetPrivateStaticClass()
int & TamingTeamIDField()
FString & TamerStringField()
int & AbsoluteBaseLevelField()
APlayerController * GetOwnerController()
unsigned int & ConstructorPlayerDataIDField()
static UClass * StaticClass()
float & LongitudeOriginField()
float & LatitudeOriginField()
float & LongitudeScaleField()
float & LatitudeScaleField()
UPrimalPlayerData * GetPlayerData()
void AddPlayerID(int playerDataID, FString *netUniqueString, bool bForce)
FString * GetSteamIDStringForPlayerID(FString *result, int playerDataID)
__int64 & LinkedPlayerIDField()
bool IsA(UClass *SomeBase)
Returns if the actor is from SomeBase or a subclass of SomeBase.
static void Free(void *Original)
unsigned __int64 & PlayerDataIDField()
UClass *& ClassPrivateField()
void GetPathName(const UObject *StopOuter, FString *ResultString)
int & TargetingTeamField()
UPrimalGameData *& PrimalGameDataField()
UPrimalGameData *& PrimalGameDataOverrideField()
FItemNetInfo * GetItemNetInfo(FItemNetInfo *result, bool bIsForSendingToClient)
FPrimalPlayerDataStruct * MyDataField()
static UObject * GetClassDefaultObject(UClass *FromClass)
TArray< TWeakObjectPtr< APlayerController >, TSizedDefaultAllocator< 32 > > & PlayerControllerListField()
APlayerController * GetFirstPlayerController()
AWorldSettings * GetWorldSettings(bool bCheckStreamingPersistent, bool bChecked)