Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Q&A

Quests::Q&A This is the quest support section

Reply
 
Thread Tools Display Modes
  #1  
Old 01-13-2013, 11:41 PM
javewow's Avatar
javewow
Sarnak
 
Join Date: Aug 2012
Location: work
Posts: 74
Default varlink--DOWN ZONE

varlink--->Items Lead to ZONE DOWN

Help!

Code:
        my $Warriora = quest::varlink(101229);
	my $Clericbb = quest::varlink(83935);
        my $Paladinc = quest::varlink(83937);
        my $Monk =  quest::varlink(83936);

sub EVENT_SPAWN {
quest::settimer("dreadlands5min",300); #Live like is 900
}

sub EVENT_TIMER {
if ($timer eq "dreadlands5min") {
quest::stoptimer("dreadlands5min");
quest::say("The portal to Luclin will become active in five minutes. Please begin gathering at the Spires if you wish to travel.rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
quest::settimer("dreadlands3min",120);
}
if ($timer eq "dreadlands3min") {
quest::stoptimer("dreadlands3min");
quest::say("As a reminder, the portal will become active in three minutes rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk].");
quest::settimer("dreadlands2min",60);
}
if ($timer eq "dreadlands2min") {
quest::stoptimer("dreadlands2min");
quest::say("Two minutes till teleportation. Please be prepared to step inside the circle of Spires. rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
quest::settimer("dreadlands1min",60);
}
if ($timer eq "dreadlands1min") {
quest::stoptimer("dreadlands1min");
quest::say("One minute till teleportation. Please be prepared to step inside the circle of Spires. rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
quest::settimer("dreadlandstimer",60);
}
if ($timer eq "dreadlandstimer") {
quest::stoptimer("dreadlandstimer");
quest::say("The portal to Luclin is about to become active. Please stand inside the circle of Spires and have a shard upon your person. rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
quest::setglobal(nexus_dre,1,3,"S60"); #when the portal is open, global is set true for 1 min.
quest::settimer("dreadlands5min",900);
quest::signalwith(86051,101,0); #triggers the flavor
}
 }

next pl Cannot display Warriora ->Item=101229

Code:
sub EVENT_SAY {

        my $Warriora = quest::varlink(101229);
	my $Clericbb = quest::varlink(83935);
        my $Paladinc = quest::varlink(83937);
        my $Monk =  quest::varlink(83936);

sub EVENT_SPAWN {
quest::settimer("dreadlands5min",300); #Live like is 900
}

sub EVENT_TIMER {
if ($timer eq "dreadlands5min") {
quest::stoptimer("dreadlands5min");
quest::say("The portal to Luclin will become active in five minutes. Please begin gathering at the Spires if you wish to travel.rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
quest::settimer("dreadlands3min",120);
}
if ($timer eq "dreadlands3min") {
quest::stoptimer("dreadlands3min");
quest::say("As a reminder, the portal will become active in three minutes rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk].");
quest::settimer("dreadlands2min",60);
}
if ($timer eq "dreadlands2min") {
quest::stoptimer("dreadlands2min");
quest::say("Two minutes till teleportation. Please be prepared to step inside the circle of Spires. rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
quest::settimer("dreadlands1min",60);
}
if ($timer eq "dreadlands1min") {
quest::stoptimer("dreadlands1min");
quest::say("One minute till teleportation. Please be prepared to step inside the circle of Spires. rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
quest::settimer("dreadlandstimer",60);
}
if ($timer eq "dreadlandstimer") {
quest::stoptimer("dreadlandstimer");
quest::say("The portal to Luclin is about to become active. Please stand inside the circle of Spires and have a shard upon your person. rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
quest::setglobal(nexus_dre,1,3,"S60"); #when the portal is open, global is set true for 1 min.
quest::settimer("dreadlands5min",900);
quest::signalwith(86051,101,0); #triggers the flavor
}
 }

I want to see if NPC --But not's Working??
__________________
To create the most beautiful server for "!!~[BP] PLARYBOT EQ~!" Welcome to our server
Reply With Quote
  #2  
Old 01-13-2013, 11:45 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,072
Default

No idea what in the hell you are trying to achieve here but you have basic script errors going on here:

- You can't declare your variables as my inside of a sub event if you want to reference them in another sub event because they become localized
- You don't have a bracket finishing off EVENT_SAY

Code:
sub EVENT_SAY {
	$Warriora = quest::varlink(101229);
	$Clericbb = quest::varlink(83935);
	$Paladinc = quest::varlink(83937);
	$Monk =  quest::varlink(83936);
}
	
sub EVENT_SPAWN {
	quest::settimer("dreadlands5min",300); #Live like is 900
}

sub EVENT_TIMER {
	if ($timer eq "dreadlands5min") {
		quest::stoptimer("dreadlands5min");
		quest::say("The portal to Luclin will become active in five minutes. Please begin gathering at the Spires if you wish to travel.rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
		quest::settimer("dreadlands3min",120);
	}
	if ($timer eq "dreadlands3min") {
		quest::stoptimer("dreadlands3min");
		quest::say("As a reminder, the portal will become active in three minutes rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk].");
		quest::settimer("dreadlands2min",60);
	}
	if ($timer eq "dreadlands2min") {
		quest::stoptimer("dreadlands2min");
		quest::say("Two minutes till teleportation. Please be prepared to step inside the circle of Spires. rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
		quest::settimer("dreadlands1min",60);
	}
	if ($timer eq "dreadlands1min") {
		quest::stoptimer("dreadlands1min");
		quest::say("One minute till teleportation. Please be prepared to step inside the circle of Spires. rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
		quest::settimer("dreadlandstimer",60);
	}
	if ($timer eq "dreadlandstimer") {
		quest::stoptimer("dreadlandstimer");
		quest::say("The portal to Luclin is about to become active. Please stand inside the circle of Spires and have a shard upon your person. rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
		quest::setglobal(nexus_dre,1,3,"S60"); #when the portal is open, global is set true for 1 min.
		quest::settimer("dreadlands5min",900);
		quest::signalwith(86051,101,0); #triggers the flavor
	}
}
Reply With Quote
  #3  
Old 01-13-2013, 11:45 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

1) use proper indentation or your scripts are difficult to read.
2) post the entire script or it's impossible to debug.
3) i see at least one missing closing curly brace in your second script (excerpt?).
Reply With Quote
  #4  
Old 01-13-2013, 11:49 PM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

Get rid of
Code:
sub EVENT_SAY {
at the beginning of the second file.
Reply With Quote
  #5  
Old 01-13-2013, 11:53 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

Darnit, wanted to help you, but, I had to pick up pieces of my brain. Fortunately, others have replied with sound advice.

Please do at least post the entire script, if you did... oh.
Reply With Quote
  #6  
Old 01-14-2013, 12:12 AM
javewow's Avatar
javewow
Sarnak
 
Join Date: Aug 2012
Location: work
Posts: 74
Default

Quote:
Originally Posted by Akkadius View Post
No idea what in the hell you are trying to achieve here but you have basic script errors going on here:

- You can't declare your variables as my inside of a sub event if you want to reference them in another sub event because they become localized
- You don't have a bracket finishing off EVENT_SAY

Code:
sub EVENT_SAY {
	$Warriora = quest::varlink(101229);
	$Clericbb = quest::varlink(83935);
	$Paladinc = quest::varlink(83937);
	$Monk =  quest::varlink(83936);
}
	
sub EVENT_SPAWN {
	quest::settimer("dreadlands5min",300); #Live like is 900
}

sub EVENT_TIMER {
	if ($timer eq "dreadlands5min") {
		quest::stoptimer("dreadlands5min");
		quest::say("The portal to Luclin will become active in five minutes. Please begin gathering at the Spires if you wish to travel.rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
		quest::settimer("dreadlands3min",120);
	}
	if ($timer eq "dreadlands3min") {
		quest::stoptimer("dreadlands3min");
		quest::say("As a reminder, the portal will become active in three minutes rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk].");
		quest::settimer("dreadlands2min",60);
	}
	if ($timer eq "dreadlands2min") {
		quest::stoptimer("dreadlands2min");
		quest::say("Two minutes till teleportation. Please be prepared to step inside the circle of Spires. rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
		quest::settimer("dreadlands1min",60);
	}
	if ($timer eq "dreadlands1min") {
		quest::stoptimer("dreadlands1min");
		quest::say("One minute till teleportation. Please be prepared to step inside the circle of Spires. rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
		quest::settimer("dreadlandstimer",60);
	}
	if ($timer eq "dreadlandstimer") {
		quest::stoptimer("dreadlandstimer");
		quest::say("The portal to Luclin is about to become active. Please stand inside the circle of Spires and have a shard upon your person. rewards[$Warriora]-[$Clericbb]-[$Paladinc]-[$Monk]");
		quest::setglobal(nexus_dre,1,3,"S60"); #when the portal is open, global is set true for 1 min.
		quest::settimer("dreadlands5min",900);
		quest::signalwith(86051,101,0); #triggers the flavor
	}
}
add } but Link item Can't display Warriora

help!
__________________
To create the most beautiful server for "!!~[BP] PLARYBOT EQ~!" Welcome to our server
Reply With Quote
  #7  
Old 01-14-2013, 12:23 AM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

Quote:
Originally Posted by javewow View Post
add } but Link item Can't display Warriora

help!
because you're not following the instructions provided to you.

read your (quest) log files. they will tell you where your errors are. you'll probably see a few lines regarding uninitialized variables.

the reason for this is that you are declaring and defining variables in one block of code and then trying to use them in another. this will not work.

google "perl variable scope" for more information.
Reply With Quote
  #8  
Old 01-14-2013, 12:30 AM
javewow's Avatar
javewow
Sarnak
 
Join Date: Aug 2012
Location: work
Posts: 74
Default

this

A little but not display
__________________
To create the most beautiful server for "!!~[BP] PLARYBOT EQ~!" Welcome to our server
Reply With Quote
  #9  
Old 01-14-2013, 12:33 AM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

Quote:
Originally Posted by javewow View Post
this

A little but not display
That about did it for me chief.

1. You don't listen to the advice given by those with a great amount of experience and knowledge.

2. You never seem to answer questions.

3. You appear as though you want everything done for you.

4. Your scripts do not appear to make any sense what-so-ever in more cases than none.

5. Do you ever check PM's?

Good luck bud, but, I fear you're testing the patience of more than one here. :(
Reply With Quote
  #10  
Old 01-14-2013, 01:01 AM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

I think Noport should be his personal helper. I'm guessing it's bad opcodes breaking them scripts.
Reply With Quote
  #11  
Old 01-14-2013, 01:17 PM
wolfwalkereci
Discordant
 
Join Date: Dec 2005
Posts: 435
Default

Language barrier issues maybe?
Reply With Quote
  #12  
Old 01-14-2013, 07:49 PM
Noport
Opcode Ninja
 
Join Date: Mar 2009
Location: San francisco
Posts: 426
Default

lerxst2112 I am sad to say, "it's The Humble Programmers." You Want to be a Programmer heheha
Reply With Quote
  #13  
Old 01-14-2013, 10:43 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

Code:
package Noport::Response;

use 5.012;
use constant ONLINE => 1;

sub RandomThing {
    rand 99 > 49 ? 'try ' . UnrelatedOpcode() : 'incoherent nonsense';
}

sub UnrelatedOpcode {
    '0x' . join '', map { unpack "H*", chr rand 256 } 1 .. 2;
}

say RandomThing() while ONLINE;
Reply With Quote
  #14  
Old 01-14-2013, 11:05 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,072
Default

Quote:
Originally Posted by c0ncrete View Post
Code:
package Noport::Response;

use 5.012;
use constant ONLINE => 1;

sub RandomThing {
    rand 99 > 49 ? 'try ' . UnrelatedOpcode() : 'incoherent nonsense';
}

sub UnrelatedOpcode {
    '0x' . join '', map { unpack "H*", chr rand 256 } 1 .. 2;
}

say RandomThing() while ONLINE;
I was saddened by my results when I tried to install this module:

Code:
cpan[1]> install Noport::Response
CPAN: Storable loaded ok (v2.20)
Going to read '/root/.cpan/Metadata'
  Database was generated on Tue, 31 Jul 2012 01:12:42 GMT
CPAN: Time::HiRes loaded ok (v1.9719)
You do not meet the qualified access level:
Opcode Ninja
Reply With Quote
  #15  
Old 01-29-2013, 07:55 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

i figured out why you were having zone crashes at least...

http://www.eqemulator.org/forums/showthread.php?t=36351
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 10:08 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3