PDA

View Full Version : Portable Teleporter



StickyIcky
25-07-08, 01:37 AM
This is a Portable Teleporter.(An item that will teleport you places)


/****Made by WigSplitta****/
#include "StdAfx.h"

#ifdef WIN32
#pragma warning(disable:4305) // warning C4305: 'argument' : truncation from 'double' to 'float'
#endif

class SCRIPT_DECL Pwarper : 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 Pwarper::GossipHello(Object* pObject, Player * plr, bool AutoSend)
{
if(plr->CombatStatus.IsInCombat())
{
plr->BroadcastMessage("You are in combat!");
}
if(!plr->CombatStatus.IsInCombat())
{
GossipMenu *Menu;
objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 2593, plr);

if (Plr->GetTeam() > 0)
{
//Horde Locations
Menu->AddItem(0, "Orgrimar", 5);
Menu->AddItem(0, "Thunder Bluff", 6);
Menu->AddItem(0, "Silvermoon City", 7);
Menu->AddItem(0, "Undercity", 8);


}
else
{


//Alliance Locations
Menu->AddItem(0, "Stormwind", 1);
Menu->AddItem(0, "Ironforge", 2);
Menu->AddItem(0, "Exodar", 3);
Menu->AddItem(0, "Darnassus", 4);

}

if(Plr->getLevel() > 58)
{
Menu->AddItem(0, "Shattrath", 9);
}
if(AutoSend)
Menu->SendTo(plr);
}
};




//Defining Cases
void Pwarper::GossipSelectOption(Object* pObject, Player* plr, uint32 Id, uint32 IntId, const char * Code)
{
GossipMenu * Menu;
switch(IntId)
{
case 1: //Stormwind
{
plr->SafeTeleport(0, 0, -8831.61, 622.666, 93.7787, 0);
plr->Gossip_Complete();
}break;

case 2: //Ironforge
{
plr->SafeTeleport(0, 0, -4804.45, -1101.14, 498.807, 0);
plr->Gossip_Complete();
}break;

case 3: //Exodar
{
plr->SafeTeleport(530, 0, -3796.24, -11710.9, -105.45, 0);
plr->Gossip_Complete();
}break;

case 4: //Darnassus
{
plr->SafeTeleport(1, 0, 9952.07, 2278.46, 1341.39, 0);
plr->Gossip_Complete();
}break;

case 5: //Orgrimmar
{
plr->SafeTeleport(1, 0, 1499.55, -4406.91, 23.1642, 0);
plr->Gossip_Complete();
}break;

case 6: //Thunder Bluff
{
plr->SafeTeleport(1, 0, -1195.88, -56.5582, 160.034, 0);
plr->Gossip_Complete();
}break;

case 7: //Silvermoon City
{
plr->SafeTeleport(530, 0, 9492.45, -7279.12, 14.3036, 0);
plr->Gossip_Complete();
}break;

case 8: //Undercity
{
plr->SafeTeleport(0, 0, 1615.1, 239.786, -62.0774, 0);
plr->Gossip_Complete();
}break;

case 9: //Shattrath
{
plr->SafeTeleport(530, 0, -1852, 5432, -11, 0);
plr->Gossip_Complete();
}break;


}
};

void Pwarper::GossipEnd(Object * pObject, Player* plr)
{
GossipScript::GossipEnd(pObject, plr);
}

void SetupPwarper(ScriptMgr * mgr)
{
GossipScript * gs = (GossipScript*) new Pwarper();
mgr->register_item_gossip_script(60001,gs);
}
INSERT INTO `items` (`class`, `subclass`, `name1`, `name2`, `name3`, `name4`, `displayid`, `quality`, `buyprice`, `sellprice`, `itemlevel`, `ContainerSlots`, `unique`, `maxcount`, `bonding`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `dmg_min3`, `dmg_max3`, `dmg_type3`, `dmg_min4`, `dmg_max4`, `dmg_type4`, `dmg_min5`, `dmg_max5`, `dmg_type5`, `delay`, `range`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `armor`, `block`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`, `allowableclass`, `allowablerace`, `RequiredSkill`, `RequiredSkillRank`, `RequiredSkillSubRank`, `RequiredFaction`, `RequiredFactionStanding`, `requiredlevel`, `inventorytype`, `quest_id`, `sheathID`, `itemset`, `MaxDurability`, `Description`, `socket_color_1`, `socket_color_2`, `socket_color_3`, `socket_bonus`, `entry`) VALUES ('8', '-1', 'Portable Teleporter', '', '', '', '42629', '1', '0', '0', '0', '0', '1', '1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '33208', '0', '579', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1503', '1791', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '', '0', '0', '0', '0', '60001');

sve3n
28-08-08, 10:02 AM
thanks for share , i use and i very useful for Players .

Jinxd
01-09-08, 12:51 PM
looks nice