Okay, on my server I am testing some scripts.. I have a weird problem though. I setup various scripts that I have found on MMOwned that are known to work for ArcEmu.. Now, I compiled these scripts correct and everything and in the ArcEmu - World It loads the script up. However, once I go in-game and spawn the npc it just says.. "Hello.. blah blah" and does not perform the script features. I have tried this on 3 different types of scripts and it does the same thing. I will post screenshots and information that may help you, help me with my problem. 
The first script is supposed to open a window and have you type in a players name -- then you teleport to that player for 500g.. THIS WAS NOT MADE BY ME.
My first script I'm using:
Code:
#include "StdAfx.h"
#include "Setup.h"
//The cost of the port
#define FRIENDCOST 5000000
class SCRIPT_DECL FriendPorter : 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 FriendPorter::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
{
if(Plr->GetUInt32Value(PLAYER_FIELD_COINAGE) < FRIENDCOST)
{
Plr->BroadcastMessage("You don't have enough gold to teleport to another player.");
return;
}
GossipMenu *Menu;
objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 2593, Plr);
Menu->AddItem(1, "Teleport to Friend (500 Gold)", 1, 1);
if(AutoSend)
Menu->SendTo(Plr);
}
void FriendPorter::GossipSelectOption(Object* pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code)
{
switch(IntId)
{
case 0:
{
GossipHello(pObject, Plr, true);
}break;
case 1:
{
if(!Code)
return;
Player * pTarget = objmgr.GetPlayer(Code, false);
if(!pTarget)
{
Plr->BroadcastMessage("Player does not exist.");
Plr->Gossip_Complete();
return;
}
if(pTarget->GetTeam() != Plr->GetTeam())
{
Plr->BroadcastMessage("Player is from the opposing faction.");
Plr->Gossip_Complete();
return;
}
uint32 pMap = pTarget->GetMapId();
if(pMap != 0 && pMap != 1 && pMap != 530)
{
Plr->BroadcastMessage("Cannot port to a player inside an instance");
Plr->Gossip_Complete();
return;
}
Plr->SetUInt32Value(PLAYER_FIELD_COINAGE, Plr->GetUInt32Value(PLAYER_FIELD_COINAGE)-FRIENDCOST);
float pX = pTarget->GetPositionX();
float pY = pTarget->GetPositionY();
float pZ = pTarget->GetPositionZ();
float pO = pTarget->GetOrientation();
Plr->Gossip_Complete();
Plr->EventTeleport(pMap, pX, pY, pZ);
Plr->SetOrientation(pO);
}break;
}
};
void FriendPorter::GossipEnd(Object * pObject, Player* Plr)
{
GossipScript::GossipEnd(pObject, Plr);
}
void SetupFriendPorter(ScriptMgr * mgr)
{
GossipScript * gs = (GossipScript*) new FriendPorter();
mgr->register_item_gossip_script(60012, gs);
}
I believe everything is working fine script wise.. Maybe it's a NPC problem?
Entry ID: 60012
Flags1: 1
Type: 7
Family: 0
Faction: 35
Here's what it looks like when I talk to him:

I have also noticed that when I move my mouse of the NPC I spawned the mouse disappears.
I also have 3 other scripts (Gambling Script and some other) that do the same exact thing. I really think my NPC Flags or something is messed up.
What exactly does Flags1 do? Is there a list of Flags1 that I should know about? Also, is there a list of Family IDs and Type IDs?