how do i compile a wow script? is it the same way as a normal 1? and i have 2 script, can you check them out, i get a bunch of errors even thouhg i think its fine
my title vendor, it the titles cost donar tokens btw
#include "setup.cpp"
#include "Setup.h"
class SCRIPT_DECL SexualHarrasmentPandaNPC : public GossipScript
{
public:
void GossipHello( Object * Ob, Player * Plr, bool AutoSend );
void GossipSelectOption( Object * Ob, Player * Plr, uint32 Id, uint32 IntId, const char * Code );
void GossipEnd( Object * Ob, Player * Plr );
void Destroy( )
{
delete this;
}
};
void SexualHarrasmentPandaNPC::GossipHello( Object * Ob, Player * Plr, bool AutoSend )
{
GossipMenu *Menu;
objmgr.CreateGossipMenuForPlayer( &Menu, Ob->GetGUID(), 1, Plr );
if( Plr->GetTeam() == 0 ) // alliance
{
Menu->AddItem( 2, "Alliance entries:" );
Menu->AddItem( 5, "Private", 101 );
Menu->AddItem( 5, "Corporal", 102 );
Menu->AddItem( 5, "Seargent", 103 );
Menu->AddItem( 5, "Master Seargent", 104 );
Menu->AddItem( 5, "Seargent Major", 105 );
Menu->AddItem( 5, "Knight", 106 );
Menu->AddItem( 5, "Knight-Leutenant", 107 );
Menu->AddItem( 5, "Knight-Captain", 108 );
Menu->AddItem( 5, "Knight-Champion", 109 );
Menu->AddItem( 5, "Lieutenant Commander", 110 );
Menu->AddItem( 5, "Commander", 111 );
Menu->AddItem( 5, "Marshal", 112 );
Menu->AddItem( 5, "Field Marshal", 113 );
Menu->AddItem( 5, "Grand Marshal", 114 );
} else { // horde
Menu->AddItem( 2, "Horde entries:" );
Menu->AddItem( 5, "Scout", 201 );
Menu->AddItem( 5, "Grunt", 202 );
Menu->AddItem( 5, "Seargent", 203 );
Menu->AddItem( 5, "Senior Seargent", 204 );
Menu->AddItem( 5, "First Seargent", 205 );
Menu->AddItem( 5, "Stone Guard", 206 );
Menu->AddItem( 5, "Blood Guard", 207 );
Menu->AddItem( 5, "Legionnaire", 208 );
Menu->AddItem( 5, "Centurion", 209 );
Menu->AddItem( 5, "Champion", 210 );
Menu->AddItem( 5, "Lieutenant General", 211 );
Menu->AddItem( 5, "General", 212 );
Menu->AddItem( 5, "Warlord", 213 );
Menu->AddItem( 5, "High Worlord", 214 );
}
if( AutoSend )
Menu->SendTo( Plr );
}
void SexualHarrasmentPandaNPC::GossipSelectOption( Object * Ob, Player * Plr, uint32 Id, uint32 IntId, const char * Code )
{
Creature * pCreature = ( Ob->GetTypeId() == TYPEID_UNIT ) ? Ob : NULL;
if( pCreature == 900122 )
return;
GossipMenu * Menu;
if( IntId == 0 )
{
GossipHello( Ob, Plr, true );
}
else if( IntId > 100 && IntId < 106 && Plr->GetTeam() == 0 )
{
switch( IntId )
{
case 101:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 102:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 103:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 104:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 105:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 106:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 107:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 108:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 109:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 110:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 111:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 112:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 113:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 114:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
}
}
else if( IntId > 200 && IntId < 206 && Plr->GetTeam() == 1 )
{
switch( IntId )
{
case 201:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 202:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 203:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 204:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 205:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 206:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 207:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 208:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 209:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 210:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 211:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 212:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 213:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
case 214:
if(plr->getItem 99062() <= 5)
Plr->GetItemInterface()->RemoveItemAmt( 99062, 5 );
Plr->BroadcastMessage("!!!!Please relog for title to become active!!!!");
/script PlaySoundFile("Data//patch-Z.MPQ//Custom//Sound//Song1.mp3");
else if(plr->getItem 99062() > 5)
Plr->BroadcastMessage("Sorry, you do not have enough Donation Tokens...");
}
if( AutoSend )
Menu->SendTo( Plr );
}
break;
}
}
else
{
Plr->BroadcastMessage("Error, Either You are not a Horde, or Alliance Faction, or there was an error with the script, please contact a Dev, or GM via ticket, or message");
}
if( AutoSend )
Menu->SendTo( Plr );
}
}
}
void SexualHarrasmentPandaNPC::GossipEnd( Object * Ob, Player * Plr )
{
GossipScript::GossipEnd( Ob, Plr );
}
void SetupSexualHarrasmentPandaNPC( ScriptMgr * mgr )
{
mgr->register_gossip_script( 0, (GossipScript*) new SexualHarrasmentPandaNPC() );
}
and heres my zombinpc wich this i know is fine so im really confused and it pisses me off.
#include "setup.cpp"
#include "Setup.h"
//created by DataStream
//Boss
#define Zombie 900099
// Spells
#define ZombieExplosion! 56528
#difine Lurch! 43949
#difine Retch! 51230
#difine InfectedWound 48485
#difine BeckoningGroan 56560
class ZombieAI : public ArcScriptBossAI
{
ARCSCRIPT_FACTORY_FUNCTION(ZombieAI, ArcScriptBossAI);
ZombieAI(Creature* pCreature) : ArcScriptBossAI(pCreature)
AddSpell(ZombieExplosion!, Target_Current, 15, 0, 40);
AddSpell(Lurch!, Target_RandomPlayer, 15, 1.5, 20);
AddSpell(Retch!, Target_RandomPlayer, 15, 0, 20);
AddSpell(InfectedWound, Target_ClosestPlayer, 20, 0, 16);
AddSpell(BeckoningGroan, Target_Current, 10, 0, 2);
AddEmote(Event_OnCombatStart, "I Hunger for..for......FLESH!", Text_Yell, 10289);
Addemote(Event_OnCombatStart, TEXTEMOTE_SNARL = 88, Text_Yell 8;
AddEmote(Event_OnTargetDied, "Spread Like AIDS!", Text_Yell, 11250);
Addemote(Event_OnTargetDied, TEXTEMOTE_MOAN = 63, Text_yell, 63);
AddEmote(Event_OnDied, TEXTEMOTE_Groan = 50, Text_Yell, 10291);
}
void AIUpdate()
{
if(GetHealthPercent()<=20)//phase 1
{
AddSpell(27780, Target_SecondMostHated, 90, 0, 20);
}
ParentClass::AIUpdate();
ParentClass::AIUpdate();
}
};
void SetupWorldBoss(ScriptMgr* pScriptMgr)
{
pScriptMgr->register_creature_script(Slayer, &ZombieAI::Create);
}