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

07-30-2008, 04:40 AM
|
|
Developer
|
|
Join Date: Mar 2007
Location: Ohio
Posts: 648
|
|
I'm still a little fuzzy on how exactly my functions, but I think it you declare my $cast at the beginning of the script, before sub EVENT_SPAWN, it will allow only that script to use it, and it will carry through all of the subs.
Then again, this:
Code:
if ($cast=1) {
if ($ulevel >= 5) {
if (defined($qglobals{illusion})) {
}
else {
quest::playerrace(quest::ChooseRandom(14,27,42,43,46,58,60,62,63,66,75,82,85,89,95,108,120,123,150,151,153,161,209,210,211,212,356,367,433,436,454,455,456,458,464,469,470,472,473));
quest::playertexture(quest::ChooseRandom(1,2,3,4,5));
quest::movepc(152, quest::ChooseRandom(-30,-25,-20,-15,-10,-5,0,5,10,15,20,25,30,35),quest::ChooseRandom(-30,-25,-20,-15,-10,-5,0,5,10,15,20,25,30,35),-30);
quest::setglobal("illusion", 1, 1, "M10");
}
}
}
Should probably be this:
Code:
if ($cast==1) {
if ($ulevel >= 5) {
if (!defined($qglobals{illusion})) {
quest::playerrace(quest::ChooseRandom(14,27,42,43,46,58,60,62,63,66,75,82,85,89,95,108,120,123,150,151,153,161,209,210,211,212,356,367,433,436,454,455,456,458,464,469,470,472,473));
quest::playertexture(quest::ChooseRandom(1,2,3,4,5));
quest::movepc(152, quest::ChooseRandom(-30,-25,-20,-15,-10,-5,0,5,10,15,20,25,30,35),quest::ChooseRandom(-30,-25,-20,-15,-10,-5,0,5,10,15,20,25,30,35),-30);
quest::setglobal("illusion", 1, 1, "M10");
}
}
}
Otherwise, all you're doing is seeing if a variable can set to be a value, which will always return true. The second part is just making the script a little simpler.
Hope this at least points you in the right direction.
|
 |
|
 |

07-30-2008, 08:40 AM
|
 |
Developer
|
|
Join Date: Mar 2003
Posts: 1,504
|
|
Another thing to look at: Is a 'my' variable script level or sub level?
|

07-30-2008, 09:55 AM
|
|
Discordant
|
|
Join Date: May 2004
Posts: 290
|
|
In PERL, "my" variables are private in scope. They're not the same as "local" variables, but they function as you'd expect a local variable would in this context. Not using "my" makes a variable global.
|

07-30-2008, 07:25 PM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
I think AndMetals suggestion cleared it up for me, though I didn't have time to fully test it yet. I was defining my variable in the subs instead of defining it 1 time before the subs to they all use the same one. That should allow each section to see any changes made to it.
|
| Thread Tools |
|
|
| Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 10:57 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |