diff --git a/snippets-test/creature.events.ts b/snippets-test/creature.events.ts new file mode 100644 index 0000000..727476c --- /dev/null +++ b/snippets-test/creature.events.ts @@ -0,0 +1,231 @@ +const MyCreatureEntry2 = 10000; + +const onCreatureAIUpdate: creature_event_on_aiupdate = (event: number, creature: Creature, diff: number): boolean => { + // Implementation + return true; +}; + +// Register Creature Event on AI Update +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_AIUPDATE, (...args) => onCreatureAIUpdate(...args)); + +const onCreatureDamage: creature_event_on_damage_taken = (event: number, creature: Creature, attacker: Creature, damage: number): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Damage Taken +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_DAMAGE_TAKEN, (...args) => onCreatureDamage(...args)); + +const onCreatureDied: creature_event_on_died = (event: number, creature: Creature, killer: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Died +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_DIED, (...args) => onCreatureDied(...args)); + +const onCreatureEnterCombat: creature_event_on_enter_combat = (event: number, creature: Creature, target: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Enter Combat +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_ENTER_COMBAT, (...args) => onCreatureEnterCombat(...args)); + +const onCreatureLeaveCombat: creature_event_on_leave_combat = (event: number, creature: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Leave Combat +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_LEAVE_COMBAT, (...args) => onCreatureLeaveCombat(...args)); + +const onCreatureReachWP: creature_event_on_reach_wp = (event: number, creature: Creature, type: number, id: number): boolean => { + // Implementation + return false; +}; + +// Register Creature Event on Reach Waypoint +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_REACH_WP, (...args) => onCreatureReachWP(...args)); + +const onCreatureRecEmote: creature_event_on_receive_emote = (event: number, creature: Creature, player: Player, emoteId: number): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Receive Emote +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_RECEIVE_EMOTE, (...args) => onCreatureRecEmote(...args)); + + +const onCreatureSpawn: creature_event_on_spawn = (event: number, creature: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Spawn +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_SPAWN, (...args) => onCreatureSpawn(...args)); + + +const onCreatureTargetDied: creature_event_on_target_died = (event: number, creature: Creature, victim: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Target Died +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_TARGET_DIED, (...args) => onCreatureTargetDied(...args)); + + +const onCreaturePreCombat: creature_event_on_pre_combat = (event: number, creature: Creature, target: Creature): boolean => { + // Implementation + return false; +}; + +// Register Creature Event on Pre Combat +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_PRE_COMBAT, (...args) => onCreaturePreCombat(...args)); + +const onCreatureOwnerAttacked: creature_event_on_owner_attacked = (event: number, creature: Creature, target: Creature): boolean => { + // Implementation + return false; +}; + +// Register Creature Event on Owner Attacked +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_OWNER_ATTACKED, (...args) => onCreatureOwnerAttacked(...args)); + +const onCreatureHitBySpell: creature_event_on_hit_by_spell = (event: number, creature: Creature, caster: Creature, spellId: number): boolean => { + // Implementation + return false; +}; + +// Register Creature Event on Hit By Spell +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_HIT_BY_SPELL, (...args) => onCreatureHitBySpell(...args)); + +const onCreatureOwnerAttackedAt: creature_event_on_owner_attacked_at = (event: number, creature: Creature, attacker: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Owner Attacked At +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_OWNER_ATTACKED_AT, (...args) => onCreatureOwnerAttackedAt(...args)); + +const onCreatureSummoned: creature_event_on_summoned = (event: number, creature: Creature, summoner: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Summoned +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_SUMMONED, (...args) => onCreatureSummoned(...args)); + +const onCreatureSpellHitTarget: creature_event_on_spell_hit_target = (event: number, creature: Creature, target: Creature, spellId: number): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Spell Hit Target +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_SPELL_HIT_TARGET, (...args) => onCreatureSpellHitTarget(...args)); + +const onCreatureJustSummoned: creature_event_on_just_summoned_creature = (event: number, creature: Creature, summon: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Just Summoned Creature +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_JUST_SUMMONED_CREATURE, (...args) => onCreatureJustSummoned(...args)); + +const onCreatureSummonedDespawn: creature_event_on_summoned_creature_despawn = (event: number, creature: Creature, summon: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Summoned Creature Despawn +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_SUMMONED_CREATURE_DESPAWN, (...args) => onCreatureSummonedDespawn(...args)); + + +const onCreatureSummonedDied: creature_event_on_summoned_creature_died = (event: number, creature: Creature, summon: Creature, killer: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Summoned Creature Died + +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_SUMMONED_CREATURE_DIED, (...args) => onCreatureSummonedDied(...args)); + +const onCreatureReset: creature_event_on_reset = (event: number, creature: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Reset +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_RESET, (...args) => onCreatureReset(...args)); + +const onCreatureReachHome: creature_event_on_reach_home = (event: number, creature: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Reach Home +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_REACH_HOME, (...args) => onCreatureReachHome(...args)); + +const onCreatureCorpseRemoved: creature_event_on_corpse_removed = (event: number, creature: Creature, respawnDelay: number): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Corpse Removed +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_CORPSE_REMOVED, (...args) => onCreatureCorpseRemoved(...args)); + + +const onCreatureMoveInLOS: creature_event_on_move_in_los = (event: number, creature: Creature, unit: Unit): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Move in Line of Sight +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_MOVE_IN_LOS, (...args) => onCreatureMoveInLOS(...args)); + +const onCreatureDummyEffect: creature_event_on_dummy_effect = (event: number, caster: Unit, spellId: number, effIndex: number, creature: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Dummy Effect +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_DUMMY_EFFECT, (...args) => onCreatureDummyEffect(...args)); + +const onCreatureQuestAccept: creature_event_on_quest_accept = (event: number, player: Player, creature: Creature, quest: Quest): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Quest Accept +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_QUEST_ACCEPT, (...args) => onCreatureQuestAccept(...args)); + +const onCreatureQuestReward: creature_event_on_quest_reward = (event: number, player: Player, creature: Creature, quest: Quest, opt: number): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Quest Reward +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_QUEST_REWARD, (...args) => onCreatureQuestReward(...args)); + +const onCreatureDialodStatus: creature_event_on_dialog_status = (event: number, player: Player, creature: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Dialog Status +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_DIALOG_STATUS, (...args) => onCreatureDialodStatus(...args)); + +const onCreatureAdd: creature_event_on_add = (event: number, creature: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Add +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_ADD, (...args) => onCreatureAdd(...args)); + +const onCreatureRemove: creature_event_on_remove = (event: number, creature: Creature): boolean => { + // Implementation + return false; // return true to stop normal action +}; + +// Register Creature Event on Remove +RegisterCreatureEvent(MyCreatureEntry, CreatureEvents.CREATURE_EVENT_ON_REMOVE, (...args) => onCreatureRemove(...args)); \ No newline at end of file diff --git a/snippets-test/gameobject.events.ts b/snippets-test/gameobject.events.ts new file mode 100644 index 0000000..b69f3e8 --- /dev/null +++ b/snippets-test/gameobject.events.ts @@ -0,0 +1,100 @@ +const MyGameObjectID = 1000000; + +const onGameObjAdd: gameobject_event_on_add = (event: number, gameObject: GameObject) => { + // Implementation +}; + +// Register GameObject Event on Add +RegisterGameObjectEvent(MyGameObjectID,GameObjectEvents.GAMEOBJECT_EVENT_ON_ADD, (...args) => onGameObjAdd(...args)); + +const onGameObjAiUpdate: gameobject_event_on_aiupdate = (event: number, gameObject: GameObject, diff: number) => { + // Implementation +}; + +// Register GameObject Event on AI Update +RegisterGameObjectEvent(MyGameObjectID,GameObjectEvents.GAMEOBJECT_EVENT_ON_AIUPDATE, (...args) => onGameObjAiUpdate(...args)); + +const onGameObjDamage: gameobject_event_on_damaged = (event: number, gameObject: GameObject, attacker: any) => { + // Implementation +}; + +// Register GameObject Event on Damaged +RegisterGameObjectEvent(MyGameObjectID,GameObjectEvents.GAMEOBJECT_EVENT_ON_DAMAGED, (...args) => onGameObjDamage(...args)); + +const onGameObjDestroyed: gameobject_event_on_destroyed = (event: number, gameObject: GameObject, attacker: any) => { + // Implementation +}; + +// Register GameObject Event on Destroyed +RegisterGameObjectEvent(MyGameObjectID,GameObjectEvents.GAMEOBJECT_EVENT_ON_DESTROYED, (...args) => onGameObjDestroyed(...args)); + +const onGameObjDialogStatus: gameobject_event_on_dialog_status = (event: number, player: Player, gameObject: GameObject) => { + // Implementation +}; + +// Register GameObject Event on Dialog Status +RegisterGameObjectEvent(MyGameObjectID,GameObjectEvents.GAMEOBJECT_EVENT_ON_DIALOG_STATUS, (...args) => onGameObjDialogStatus(...args)); + + +const onGameObjDummyEff: gameobject_event_on_dummy_effect = (event: number, caster: any, spellId: number, effectIndex: number, gameObject: GameObject): boolean => { + // Implementation + return false; +}; + +// Register GameObject Event on Dummy Effect +RegisterGameObjectEvent(MyGameObjectID,GameObjectEvents.GAMEOBJECT_EVENT_ON_DUMMY_EFFECT, (...args) => onGameObjDummyEff(...args)); + +const onGameObjLootChange: gameobject_event_on_loot_state_change = (event: number, gameObject: GameObject, state: any) => { + // Implementation +}; + +// Register GameObject Event on Loot State Change +RegisterGameObjectEvent(MyGameObjectID,GameObjectEvents.GAMEOBJECT_EVENT_ON_LOOT_STATE_CHANGE, (...args) => onGameObjLootChange(...args)); + +const onGameObjQuestAcc: gameobject_event_on_quest_accept = (event: number, player: Player, gameObject: GameObject, quest: any): boolean => { + // Implementation + return false; +}; + +// Register GameObject Event on Quest Accept +RegisterGameObjectEvent(MyGameObjectID,GameObjectEvents.GAMEOBJECT_EVENT_ON_QUEST_ACCEPT, (...args) => onGameObjQuestAcc(...args)); + +const onGameObjQuestRew: gameobject_event_on_quest_reward = (event: number, player: Player, gameObject: GameObject, quest: any, option: any): boolean => { + // Implementation + return false; +}; + +// Register GameObject Event on Quest Reward +RegisterGameObjectEvent(MyGameObjectID,GameObjectEvents.GAMEOBJECT_EVENT_ON_QUEST_REWARD, (...args) => onGameObjQuestRew(...args)); + +const onGameObjRemove: gameobject_event_on_remove = (event: number, gameObject: GameObject) => { + // Implementation +}; + +// Register GameObject Event on Remove +RegisterGameObjectEvent(MyGameObjectID,GameObjectEvents.GAMEOBJECT_EVENT_ON_REMOVE, (...args) => onGameObjRemove(...args)); + + +const onGameObjSpawn: gameobject_event_on_spawn = (event: number, gameObject: GameObject) => { + // Implementation +}; + +// Register GameObject Event on Spawn +RegisterGameObjectEvent(MyGameObjectID,GameObjectEvents.GAMEOBJECT_EVENT_ON_SPAWN, (...args) => onGameObjSpawn(...args)); + +const onGameObjStateChange: gameobject_event_on_go_state_changed = (event: number, gameObject: GameObject, state: any) => { + // Implementation +}; + +// Register GameObject Event on State Changed +RegisterGameObjectEvent(MyGameObjectID,GameObjectEvents.GAMEOBJECT_EVENT_ON_GO_STATE_CHANGED, (...args) => onGameObjStateChange(...args)); + +const onGameObjUse: gameobject_event_on_use = (event: number, gameObject: GameObject, player: Player): boolean => { + // Implementation + return false; +}; + +// Register GameObject Event on Use +RegisterGameObjectEvent(MyGameObjectID,GameObjectEvents.GAMEOBJECT_EVENT_ON_USE, (...args) => onGameObjUse(...args)); + + diff --git a/snippets-test/gossip.events.ts b/snippets-test/gossip.events.ts new file mode 100644 index 0000000..edb5147 --- /dev/null +++ b/snippets-test/gossip.events.ts @@ -0,0 +1,69 @@ +const MyItemEntry = 900000; +const MyMenuId = 1000000; +const MyGameObjectEntry = 1000000; +const MyCreatureEntry = 1000000; + + +const onItemGossipHello: gossip_event_on_hello = (event: number, player: Player, item: Item): boolean => { + // Implementation + return true; +}; + +// Register Item Gossip Event on Hello +RegisterItemGossipEvent(MyItemEntry, GossipEvents.GOSSIP_EVENT_ON_HELLO, (...args) => onItemGossipHello(...args)); + +const onItemGossipSelect: gossip_event_on_select = (event: number, player: Player, item: Item, sender: number, intid: number, code: string, menuId?: number): boolean => { + // Implementation + return true; +}; + +// Register Item Gossip Event on Select +RegisterItemGossipEvent(MyItemEntry, GossipEvents.GOSSIP_EVENT_ON_SELECT, (...args) => onItemGossipSelect(...args)); + +const onPlayerGossipHello: gossip_event_on_hello = (event: number, player: Player, object: Object): boolean => { + // Implementation + return true; +}; + +// Register Player Gossip Event on Hello +RegisterPlayerGossipEvent(MyMenuId, GossipEvents.GOSSIP_EVENT_ON_HELLO, (...args) => onPlayerGossipHello(...args)); + +const onPlayerGossipSelect: gossip_event_on_select = (event: number, player: Player, object: Object, sender: number, intid: number, code: string, menuId?: number): boolean => { + // Implementation + return true; +}; + +// Register Player Gossip Event on Select +RegisterItemGossipEvent(MyMenuId, GossipEvents.GOSSIP_EVENT_ON_SELECT, (...args) => onPlayerGossipSelect(...args)); + +const onGameObjGossipHello: gossip_event_on_hello = (event: number, player: Player, gameObject: GameObject): boolean => { + // Implementation + return true; +}; + +// Register GameObject Gossip Event on Hello +RegisterGameObjectGossipEvent(MyGameObjectEntry, GossipEvents.GOSSIP_EVENT_ON_HELLO, (...args) => onGameObjGossipHello(...args)); + +const onGameObjGossipSelect: gossip_event_on_select = (event: number, player: Player, gameObject: GameObject, sender: number, intid: number, code: string, menuId?: number): boolean => { + // Implementation + return true; +}; + +// Register GameObject Gossip Event on Select +RegisterGameObjectGossipEvent(MyGameObjectEntry, GossipEvents.GOSSIP_EVENT_ON_SELECT, (...args) => onGameObjGossipSelect(...args)); + +const onCreatureGossipHello: gossip_event_on_hello = (event: number, player: Player, creature: Creature): boolean => { + // Implementation + return true; +}; + +// Register Creature Gossip Event on Hello +RegisterCreatureGossipEvent(MyCreatureEntry, GossipEvents.GOSSIP_EVENT_ON_HELLO, (...args) => onCreatureGossipHello(...args)); + +const onCreatureGossipSelect: gossip_event_on_select = (event: number, player: Player, creature: Creature, sender: number, intid: number, code: string, menuId?: number): boolean => { + // Implementation + return true; +}; + +// Register Creature Gossip Event on Select +RegisterCreatureGossipEvent(MyCreatureEntry, GossipEvents.GOSSIP_EVENT_ON_SELECT, (...args) => onCreatureGossipSelect(...args)); \ No newline at end of file diff --git a/snippets-test/server.events.ts b/snippets-test/server.events.ts new file mode 100644 index 0000000..3f6cbd2 --- /dev/null +++ b/snippets-test/server.events.ts @@ -0,0 +1,174 @@ +const onWorldEventConfLoad: world_event_on_config_load = (event: number, reload: boolean) => { + // Implementation +}; + +// Register Server Event on Config Load +RegisterServerEvent(ServerEvents.WORLD_EVENT_ON_CONFIG_LOAD, (...args) => onWorldEventConfLoad(...args)); + +const onWorldEventCreatDelete: world_event_on_delete_creature = (event: number, creature: Creature) => { + // Implementation +}; + +// Register Server Event on Delete Creature +RegisterServerEvent(ServerEvents.WORLD_EVENT_ON_DELETE_CREATURE, (...args) => onWorldEventCreatDelete(...args)); + +const onWorldEventGODelete: world_event_on_delete_gameobject = (event: number, gameObject: GameObject) => { + // Implementation +}; + +// Register Server Event on Delete Gameobject +RegisterServerEvent(ServerEvents.WORLD_EVENT_ON_DELETE_GAMEOBJECT, (...args) => onWorldEventGODelete(...args)); + +const onGameEventStart: game_event_start = (event: number, gameEventId: number) => { + // Implementation +}; + +// Register Server Event on Game Event Start +RegisterServerEvent(ServerEvents.GAME_EVENT_START, (...args) => onGameEventStart(...args)); + +const onGameEventStop: game_event_stop = (event: number, gameEventId: number) => { + // Implementation +}; + +// Register Server Event on Game Event Stop +RegisterServerEvent(ServerEvents.GAME_EVENT_STOP, (...args) => onGameEventStop(...args)); + +const onElunaStateOpen: eluna_event_on_lua_state_open = (event: number) => { + // Implementation +}; + +// Register Server Event on Lua State Open +RegisterServerEvent(ServerEvents.ELUNA_EVENT_ON_LUA_STATE_OPEN, (...args) => onElunaStateOpen(...args)); + +const onWorldEventOpenStateChange: world_event_on_open_state_change = (event: number, open: boolean) => { + // Implementation +}; + +// Register Server Event on Open State Change +RegisterServerEvent(ServerEvents.WORLD_EVENT_ON_OPEN_STATE_CHANGE, (...args) => onWorldEventOpenStateChange(...args)); + +const onServerPacketRec: server_event_on_packet_receive_any = (event: number, packet: WorldPacket, player?: Player): boolean | WorldPacket => { + // Implementation + return false; + return packet; +}; + +// Register Server Event on Packet Receive +RegisterServerEvent(ServerEvents.SERVER_EVENT_ON_PACKET_RECEIVE, (...args) => onServerPacketRec(...args)); + +const onServerPacketSend: server_event_on_packet_send_any = (event: number, packet: WorldPacket, player?: Player): boolean | WorldPacket => { + // Implementation + return false; + return packet; +}; + +// Register Server Event on Packet Send +RegisterServerEvent(ServerEvents.SERVER_EVENT_ON_PACKET_SEND, (...args) => onServerPacketSend(...args)); + +const onServerShutdown: world_event_on_shutdown = (event: number) => { + // Implementation +}; + +// Register Server Event on Shutdown +RegisterServerEvent(ServerEvents.WORLD_EVENT_ON_SHUTDOWN, (...args) => onServerShutdown(...args)); + +const onServerCancel: world_event_on_shutdown_cancel = (event: number) => { + // Implementation +}; + +// Register Server Event on Shutdown Cancel +RegisterServerEvent(ServerEvents.WORLD_EVENT_ON_SHUTDOWN_CANCEL, (...args) => onServerCancel(...args)); + +const onServerShutdownInit: world_event_on_shutdown_init = (event: number, code: number, mask: number) => { + // Implementation +}; + +// Register Server Event on Shutdown Init +RegisterServerEvent(ServerEvents.WORLD_EVENT_ON_SHUTDOWN_INIT, (...args) => onServerShutdownInit(...args)); + +const onServerStartup: world_event_on_startup = (event: number) => { + // Implementation +}; + +// Register Server Event on Startup +RegisterServerEvent(ServerEvents.WORLD_EVENT_ON_STARTUP, (...args) => onServerStartup(...args)); + +const onServerUpdate: world_event_on_update = (event: number, diff: number) => { + // Implementation +}; + +// Register Server Event on Update +RegisterServerEvent(ServerEvents.WORLD_EVENT_ON_UPDATE, (...args) => onServerUpdate(...args)); + +const onServerMapCreate: map_event_on_create = (event: number, map: EMap) => { + // Implementation +}; + +// Register Map Event on Create +RegisterServerEvent(ServerEvents.MAP_EVENT_ON_CREATE, (...args) => onServerMapCreate(...args)); + +const onServerMapDestroy: map_event_on_destroy = (event: number, map: EMap) => { + // Implementation +}; + +// Register Map Event on Destroy +RegisterServerEvent(ServerEvents.MAP_EVENT_ON_DESTROY, (...args) => onServerMapDestroy(...args)); + +const onServerMapPlayerEnter: map_event_on_player_enter = (event: number, map: EMap, player: Player) => { + // Implementation +}; + +// Register Map Event on Player Enter +RegisterServerEvent(ServerEvents.MAP_EVENT_ON_PLAYER_ENTER, (...args) => onServerMapPlayerEnter(...args)); + +const onServerMapPlayerLeave: map_event_on_player_leave = (event: number, map: EMap, player: Player) => { + // Implementation +}; + +// Register Map Event on Player Leave +RegisterServerEvent(ServerEvents.MAP_EVENT_ON_PLAYER_LEAVE, (...args) => onServerMapPlayerLeave(...args)); + +const onServerMapUpdate: map_event_on_update = (event: number, map: EMap, diff: number) => { + // Implementation +}; + +// Register Map Event on Update +RegisterServerEvent(ServerEvents.MAP_EVENT_ON_UPDATE, (...args) => onServerMapUpdate(...args)); + +const onServerTrigger: trigger_event_on_trigger = (event: number, player: Player, triggerId: number): boolean => { + // Implementation + return false; +}; + +// Register Trigger Event on Trigger +RegisterServerEvent(ServerEvents.TRIGGER_EVENT_ON_TRIGGER, (...args) => onServerTrigger(...args)); + +const onAuctionAdd: auction_event_on_add = (event: number, auctionId: number, owner: Player, item: Item, expireTime: number, buyout: number, startBid: number, currentBid: number, bidderGUIDLow: number) => { + // Implementation +}; + +// Register Auction Event on Add +RegisterServerEvent(ServerEvents.AUCTION_EVENT_ON_ADD, (...args) => onAuctionAdd(...args)); + +const onAuctionExpire: auction_event_on_expire = (event: number, auctionId: number, owner: Player, item: Item, expireTime: number, buyout: number, startBid: number, currentBid: number, bidderGUIDLow: number) => { + // Implementation +}; + +// Register Auction Event on Expire +RegisterServerEvent(ServerEvents.AUCTION_EVENT_ON_EXPIRE, (...args) => onAuctionExpire(...args)); + +const onAuctionRemove: auction_event_on_remove = (event: number, auctionId: number, owner: Player, item: Item, expireTime: number, buyout: number, startBid: number, currentBid: number, bidderGUIDLow: number) => { + // Implementation +}; + +// Register Auction Event on Remove +RegisterServerEvent(ServerEvents.AUCTION_EVENT_ON_REMOVE, (...args) => onAuctionRemove(...args)); + +const onAuctionSuccess: auction_event_on_successful = (event: number, auctionId: number, owner: Player, item: Item, expireTime: number, buyout: number, startBid: number, currentBid: number, bidderGUIDLow: number) => { + // Implementation +}; + +// Register Auction Event on Successful +RegisterServerEvent(ServerEvents.AUCTION_EVENT_ON_SUCCESSFUL, (...args) => onAuctionSuccess(...args)); + +