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

02-24-2008, 05:47 PM
|
|
Dragon
|
|
Join Date: May 2006
Location: Cincinnati, OH
Posts: 689
|
|
Try this:
Code:
#Fast Zone Reset Test
my $counter;
sub EVENT_SPAWN {
quest::settimer("reset",61);
quest::settimer("warning1",1);
quest::settimer("warning2",31);
quest::settimer("warning3",41);
quest::settimer("warning4",51);
quest::settimer("warning5",56);
quest::settimer("warning6",60);
$counter = 0;
}
sub EVENT_TIMER{
if ($timer eq "warning1"){
quest::stoptimer("warning1");
quest::shout("NEXUS will be restarting in 60 seconds. Please zone out before that time.");
}
if ($timer eq "warning2"){
quest::stoptimer("warning2");
quest::shout("NEXUS will be restarting in 30 seconds. Please zone out before that time.");
}
if ($timer eq "warning3"){
quest::stoptimer("warning3");
quest::shout("NEXUS will be restarting in 20 seconds. Please zone out before that time.");
}
if ($timer eq "warning4"){
quest::stoptimer("warning4");
quest::shout("NEXUS will be restarting in 10 seconds. Please zone out before that time.");
}
if ($timer eq "warning5"){
quest::stoptimer("warning5");
quest::shout("NEXUS will be restarting in 5 seconds. Please zone out before that time.");
}
if ($timer eq "warning6"){
quest::stoptimer("warning6");
quest::shout("NEXUS will be restarting in 1 seconds. Please zone out NOW!");
}
if ($timer eq "reset"){
quest::stoptimer("reset");
quest::shout2("Nexus is being restarted right now! It will be back immediately, so you can zone back in right away.");
quest::echo("#zoneshutdown nexus");
quest::castspell(186107,35);
}
}
I've never used $timername, just $timer, and it's always worked fine for me. Also, "==" may work just as well as "eq", but I felt safer taking it from quest files that I have working right now. Without a good chance to test yours, I figured I'd go only with what I know to work 100%. Only test one variable at a time, and such
Anyway, give that a shot. I like the idea, to be sure.
|
 |
|
 |

02-24-2008, 06:27 PM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
Woot, that works! Now I just need to figure out how to crash the zone lol. Might have this up and running tonight (I hope).
|
 |
|
 |

02-24-2008, 11:11 PM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
Getting an NPC to crash a zone is apparently much harder than I suspected it would be. Seems like the devs made the emu too stable :P
So far I have tried:
quest::castspell(12011,0000) - to cast a spell on itself that doesn't exist.
quest::castspell(12011,13) - To have the NPC cast a spell on itself that does exist while it is wearing an item with an "unknown spell" for the focus type.
quest::selfcast(0000) - Does nothing without a target.
quest::depop(1111111111) - to depop a mob that doesn't exist.
quest::spawn(19011,0,0,0,0,-20) to spawn a mob I made that has a buff spell list I created which the spells in the list don't exist. The mob spawns, but doesn't cast anything.
quest::echo(#zoneshutdown) - Wouldn't it be awesome if that actually worked?
quest::shout("spam spam spam spam etc for about 10 lines worth") - Does the shout, but just truncates it.
I have been working on this for hours and can't figure out a way to do it. If anyone knows of a sure way to crash a zone without lagging the entire server, please let me know! Or if someone knows how to make a perl call that will let an NPC run the GM command for #zoneshutdown, that would be ideal!
Once I get this crash or shutdown working, this script will be ready to start using. I really think it will help clear up server lag enough to allow quite a few more players on a server at once, as well as less intervention from admins to reset the server daily. My events log on my PC reports 800 connections sometimes, even though I only get a max of 60ish on at once... I have a feeling that a lot of those connections are just left overs that can be cleared up with a zone reset or crash.
|
 |
|
 |

02-25-2008, 09:50 AM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
Derail:
LOL. Looks like a client issue to me. Did the fresh install of Titanium fix the problem? I would suspect that the problem was a bad copy of titanium (most likely illegal).
Back to the current issue, I am still looking for a way to reset or crash a zone via NPC script/quest.
More failed crash attempts:
quest::addloot(111111111); - bogus item ID, but it had no effect.
quest::settimer("reset",1); - restarted the same timer over and over without stopping it. The timer restarted and the shout went out every second, but no crash...
|

02-25-2008, 10:15 AM
|
|
Developer
|
|
Join Date: Feb 2004
Location: UK
Posts: 1,540
|
|
Quote:
Originally Posted by trevius
Derail:
Back to the current issue, I am still looking for a way to reset or crash a zone via NPC script/quest.
|
Try putting in your script. Crashes my zone under Linux.
Code:
sub EVENT_SAY {
if($text =~ /Hail/i) {
quest::say('Hello. I am the guild master.');
CORE::dump()
}
}
Edit: I just tried it in Windows ... says it's not supported there.
Last edited by Derision; 02-25-2008 at 06:19 PM..
|

02-25-2008, 11:12 AM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
Quote:
Originally Posted by Derision
Edit: I just tried it in Windows ... says it's not supported there.
|
Awwe! I was getting excited lol. Keep em coming guys. I can't wait to get this working and start using it on my server. I will post the exact scripts I use for it and will report any performance changes as a result of using them.
|
| 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 02:29 PM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |