PDA

View Full Version : Potime quest Check please?


kimura
05-01-2012, 10:31 AM
can anyone look at this and tell me why it would work one day and then the next day, it does everything except move the PC to the locs...didnt change a thing

i think it may have to do with instanced version and default versions of potimeb...suggestions?

sub EVENT_SAY {


if ($text =~/Hail/i)
{ quest::say("How could YOU defeat ME, $name? I have no choice but to send you to the next battle! Perhaps, you will taste death soon! Which way would you like to die? [Fire], [Water], [Undead], [Air] or [Earth]?"); }

if ($text =~/Fire/i)
{
quest::shout ("$name , go forth and DIE!!");
quest::movepc(-60,565,494);
}
if ($text =~/Water/i)
{
quest::shout ("$name , go forth and DIE!! ");
quest::emote ("waves his boney finger in a circle...");
quest::movepc(-60,852,494);
}
if ($text =~/Undead/i)
{
quest::shout ("$name , go forth and DIE!! ");
quest::emote ("waves his boney finger in a circle...");
quest::movepc(-33,1107,494);
}
if ($text =~/Air/i)
{
quest::shout ("$name , go forth and DIE!! ");
quest::emote ("waves his boney finger in a circle...");
quest::movepc(-54,1344,494);
}
if ($text =~/Earth/i)
{
quest::shout ("$name , go forth and DIE!! ");
quest::emote ("waves his boney finger in a circle...");
quest::movepc(-53,1630,494);
}
}

sub EVENT_SPAWN
{
quest::settimer("depop",3600);
}

sub EVENT_TIMER
{
if ($timer eq "depop")
{
quest::depop();
}
}

kimura
05-02-2012, 09:46 AM
any idea why the quest::movepc is not functioning? the npc does everything..even shouts "go forth and Die" but then you just sit there listening to *crickets*..it worked 2 days ago and now nothing

sorvani
05-02-2012, 10:19 AM
You are using the wrong command or the wrong arguments.
quest::movepc(zoneid,x,y,z,[heading]) - Moves the user that triggered the Event to the provided zone and loc. Heading is optional.
quest::gmmove(x,y,z) - Moves the user that triggered the Event to the provided loc.
quest::MovePCInstance(zoneid, instanceid, x, y, z) - Moves a player to an instance
Is your NPC already in PoTimeB? If so use quest::gmmove.
If they are not, then you can not just move the plaver to an instance with quest::movepc as it does not take an argument for instance id. That is what questMovePCInstance is for. I added the instance logic and put it in the fire response as an example for you. Otherwise I changed the rest to be gmmove.

my $InstID = 0;

sub EVENT_SAY {
$InstID = quest::GetInstanceID("potimeb",0);
if ($text =~/Hail/i) {
quest::say("How could YOU defeat ME, $name? I have no choice but to send you to the next battle! Perhaps, you will taste death soon! Which way would you like to die? [Fire], [Water], [Undead], [Air] or [Earth]?");
}
elsif ($text =~/Fire/i) {
quest::shout ("$name , go forth and DIE!!");
quest::emote ("waves his boney finger in a circle...");
quest::MovePCInstance(223,$InstID,-60,565,494);
}
elsif ($text =~/Water/i) {
quest::shout ("$name , go forth and DIE!! ");
quest::emote ("waves his boney finger in a circle...");
quest::gmmove(-60,852,494);
}
elsif ($text =~/Undead/i) {
quest::shout ("$name , go forth and DIE!! ");
quest::emote ("waves his boney finger in a circle...");
quest::gmmove(-33,1107,494);
}
elsif ($text =~/Air/i) {
quest::shout ("$name , go forth and DIE!! ");
quest::emote ("waves his boney finger in a circle...");
quest::gmmove(-54,1344,494);
}
elsif ($text =~/Earth/i) {
quest::shout ("$name , go forth and DIE!! ");
quest::emote ("waves his boney finger in a circle...");
quest::gmmove(-53,1630,494);
}
}

sub EVENT_SPAWN {
quest::settimer("depop",3600);
}

sub EVENT_TIMER {
if ($timer eq "depop") {
quest::depop();
}
}

kimura
05-02-2012, 10:24 AM
thank you for the response!

the npc pops after you kill the p1 bosses so that the player can be ported to the next appropriate location, (fire, water, undead, etc)

i cant wait to try your suggestion out..thanks !

sorvani
05-02-2012, 11:15 AM
yeah, I would use gmmove then.