Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "StdAfx.h"
- #include "Setup.h"
- #define Dismount_NPC <Hier die ID des NPC eintragen>
- class DismountAI : public CreatureAIScript
- {
- public:
- DismountAI(Creature* pCreature) : CreatureAIScript(pCreature) {}
- static CreatureAIScript * Create(Creature * c) { return new DismountAI(c); }
- void OnLoad()
- {
- _unit->m_invisFlag = 10;
- _unit->m_invisible = true;
- _unit->UpdateVisibility();
- RegisterAIUpdateEvent(250);
- }
- void AIUpdate()
- {
- double Xmin = <Hier die kleinste X-Koordinate eintragen>;
- double Xmax = <Hier die größte X-Koordinate eintragen>;
- double Ymin = <Hier die kleinste Y-Koordinate eintragen>;
- double Ymax = <Hier die größte Y-Koordinate eintragen>;
- PlayerStorageMap::iterator itr = _unit->GetMapMgr()->m_PlayerStorage.begin();
- PlayerStorageMap::iterator end = _unit->GetMapMgr()->m_PlayerStorage.end();
- for( ; itr != end; ++itr)
- {
- Player* Plr = itr->second;
- if(Plr->GetPositionX() > Xmin && Plr->GetPositionX() < Xmax && Plr->GetPositionY() > Ymin && Plr->GetPositionY() < Ymax)
- {
- Plr->SetUInt32Value(UNIT_FIELD_MOUNTDISPLAYID, 0);
- if(Plr && Plr->m_MountSpellId)
- Plr->RemoveAura(Plr->m_MountSpellId);
- Plr->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_MOUNTED_TAXI);
- }
- }
- }
- void Destroy()
- {
- delete [] this;
- }
- };
- void SetupSMVDismount(ScriptMgr* mgr)
- {
- mgr->register_creature_script(Dismount_NPC, &DismountAI::Create);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement