by -lordprimoz- Mon Oct 26, 2009 7:27 pm
and now in C++ lol, ill make it when i have time, prolly at school tomorrow...
edit: i finished it:
// Made by Lordprimoz //
// Your free to use the script //
// I havent tested it yet but im sure it works! //
#include "StdAfx.h"
#include "Setup.h"
#ifdef WIN32
#pragma warning(disable:4305)
#endif
class SCRIPT_DECL teleporter : public GossipScript
{
public:
void GossipHello(Object * pObject, Player* Plr, bool AutoSend);
void GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code);
void GossipEnd(Object * pObject, Player* Plr);
void Destroy()
{
delete this;
}
};
void teleporter::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
{
GossipMenu *Menu;
objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
Menu->AddItem(1, "Uber Mall", 1);
Menu->AddItem(1, "Fun Places", 2);
Menu->AddItem(1, "Useful Citys", 3);
Menu->AddItem(1, "Stair Events", 4);
Menu->AddItem(1, "Boss Fight", 5);
Menu->AddItem(1, "PvP Area's", 6);
Menu->AddItem(0, "Custom Instances", 7);
Menu->AddItem(0, "Uber Player Chill Place!", ;
Menu->AddItem(0, "Ulduar", 9);
Menu->AddItem(0, "Remove Resurrection Sickness", 99);
Menu->AddItem(0, "Nevermind", 10);
if(AutoSend)
Menu->SendTo(Plr);
}
void teleporter::GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code)
{
Creature * pCreature = (pObject->GetTypeId()==TYPEID_UNIT)?((Creature*)pObject):NULL;
if(pCreature==NULL)
return;
GossipMenu * Menu;
switch(IntId)
{
case 0:
GossipHello(pObject, Plr, true);
break;
case 2:
GossipMenu *Menu;
objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
Menu->AddItem(1, "Swimming Pool!", 11)
Menu->AddItem(1, "Dancing around the Stone", 12)
Menu->AddItem(1, "[main menu]", 100)
break;
case 1:
Plr->Gossip_Complete();
Plr->EventTeleport(1, 4973.893066, -1671.541626, 1344.509888);
break;
case 3:
GossipMenu *Menu;
objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
Menu->AddItem(1, "Dalaran City", 13)
Menu->AddItem(1, "Shattrath City", 14)
Menu->AddItem(1, "[main menu]", 100)
break;
case 4:
GossipMenu *Menu;
objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
Menu->AddItem(1, "The Long Run", 15)
Menu->AddItem(1, "Do you know how to Jump?", 16)
Menu->AddItem(1, "[main menu]", 100)
break;
case 5:
Plr->Gossip_Complete();
Plr->EventTeleport(1, 5466.003906, -2721.448242, 1455.453369);
break;
case 6:
GossipMenu *Menu;
objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
Menu->AddItem(1, "Gurubashi Arena", 17)
Menu->AddItem(1, "Nagrand Arena", 18)
Menu->AddItem(1, "[main menu]", 100)
break;
case 7:
GossipMenu *Menu;
objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
Menu->AddItem(1, "The Darkness!", 19)
Menu->AddItem(1, "[main menu]", 100)
break;
case 8:
Plr->Gossip_Complete();
Plr->EventTeleport(1, -7149.520996, 2212.851807, 41.295033);
break;
case 9:
Plr->Gossip_Complete();
Plr->EventTeleport(571, 9108.206055, -1319.890137, 1058.404297);
break;
case 10:
Plr->Gossip_Complete();
break;
case 11:
Plr->Gossip_Complete();
Plr->EventTeleport(1, 1220.492920, -6402.769043, 0.000464);
break;
case 12:
Plr->Gossip_Complete();
Plr->EventTeleport(530, -521.922363, 6897.326172, 163.154953);
break;
case 13:
Plr->Gossip_Complete();
Plr->EventTeleport(571, 5785.240234, 724.909973, 641.080994);
break;
case 14:
Plr->Gossip_Complete();
Plr->EventTeleport(530, -1836.537720, 5442.483398, -12.427124);
break;
case 15:
Plr->Gossip_Complete();
Plr->EventTeleport(1, 3463.909668, -2746.362061, 758.208496);
break;
case 16:
Plr->Gossip_Complete();
Plr->EventTeleport(1, -10739.357422, 2430.789307, 6.816082);
break;
case 17:
Plr->Gossip_Complete();
Plr->EventTeleport(0, -13256.986328, 171.981689, 33.933498);
break;
case 18:
Plr->Gossip_Complete();
Plr->EventTeleport(530, -2088.045654, 6629.665527, 13.055406);
break;
case 19:
Plr->Gossip_Complete();
Plr->EventTeleport(1, -733.782959, -2218.915039, 17.024702);
break;
case 99:
Plr->addSpell(15007);
Plr->removeSpell(15007,0,0,0);
pCreature->SendChatMessage(CHAT_MSG_MONSTER_SAY, LANG_UNIVERSAL, "You have been cured of that dreaded sickness." );
Plr->Gossip_Complete();
break;
case 100:
GossipMenu *Menu;
objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
Menu->AddItem(1, "Uber Mall", 1);
Menu->AddItem(1, "Fun Places", 2);
Menu->AddItem(1, "Useful Citys", 3);
Menu->AddItem(1, "Stair Events", 4);
Menu->AddItem(1, "Boss Fight", 5);
Menu->AddItem(1, "PvP Area's", 6);
Menu->AddItem(0, "Custom Instances", 7);
Menu->AddItem(0, "Uber Player Chill Place!", ;
Menu->AddItem(0, "Ulduar", 9);
Menu->AddItem(0, "Nevermind", 10);
break;
}
};
void Setupteleporter(ScriptMgr * mgr)
{
GossipScript * gs = (GossipScript*) new teleporter();
mgr->register_gossip_script(88899, gs);
}
Last edited by -lordprimoz- on Tue Oct 27, 2009 5:30 pm; edited 2 times in total (Reason for editing : added C++ script)