Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Database/World Building

Development::Database/World Building World Building forum, dedicated to the EQEmu MySQL Database. Post partial/complete databases for spawns, items, etc.

Reply
 
Thread Tools Display Modes
  #1  
Old 11-28-2007, 06:49 PM
demen302
Fire Beetle
 
Join Date: Jan 2006
Posts: 12
Default

Is this file still around anywhere? link is not working. time.tar.gz Would to try the day night shifts. Thanks!
Reply With Quote
  #2  
Old 11-28-2007, 10:38 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

Quote:
Originally Posted by demen302 View Post
Is this file still around anywhere? link is not working. time.tar.gz Would to try the day night shifts. Thanks!
The link works, just a little slow to start sometimes - try a few times and you'll get it
Reply With Quote
  #3  
Old 01-12-2008, 12:08 PM
Knightly
Accomplished Programmer
 
Join Date: Nov 2006
Location: Honolulu, HI
Posts: 91
Default

I'm not sure if this should go in this thread or not, but I've made some changes to Angelox's time script on my own server and thought I'd share in case anyone else is as lazy as I am.

I really like the time sync, but I tend to change my database password from time to time and the shifts.pl was a problem for me to edit every time (again - laziness). I also don't like keeping track of extra directories, so I took out the need for the hourX.sql files.

Finally, I run a Windows Server most of the time and seeing a blank window makes me feel like it's not doing anything. Obviously, I can look in the database and see that it is, but I added output anyway (take out the green line below if you don't want this).

My shifts.pl is as follows (you'll need to change the variables at the top of the script to match your database login information):
Code:
#!/usr/bin/perl -w
$dbhost = "localhost";
$dbuser = "user";
$dbpass = "pass";
$database = "db";
$timenow = 8;

while (1) {
	print "Setting time shifter value to $timenow.\n"
	`mysql --host=$dbhost --user=$dbuser --password=$dbpass --database=$database --execute="UPDATE quest_globals set value='$timenow' where name ='shifter';"`;
	sleep 180;
	$timenow++;
	if ($timenow > 24) {
		$timenow = 1;
	}
}
This eliminates the need for the time.tar.gz file, but you'll still need to follow Angelox's instructions above for starting the script as well as complete the insert steps in Angelox's post above:
Code:
INSERT INTO quest_globals
   (`charid`, `npcid`, `zoneid`, `name`, `value`)
VALUES
   (0, 0, 0, 'shifter', '1');

INSERT INTO quest_globals
   (`charid`, `npcid`, `zoneid`, `name`, `value`)
VALUES
   (0, 0, 20, 'kith', '1');

INSERT INTO quest_globals
   (`charid`, `npcid`, `zoneid`, `name`, `value`)
VALUES
   (0, 0, 51, 'lrathe', '1');
Also, I wasn't clear when I first set this up about adding the quest lines but Angelox helped me out on that one. From his quests, he has this spawn event for NPCs in zones he wants the time to be updated on (mostly it's on the Nexus Scion and Priest of Discord templates since they're in so many zones):
Code:
# Night and Day checker
#Angelox's 
#This script will re-sync zone time 
sub EVENT_SPAWN { 
if ($shifter==20) {quest::settime(20,0);}
elsif ($shifter==21){quest::settime(21,0);}
elsif ($shifter==22){quest::settime(22,0);}
elsif ($shifter==23){quest::settime(23,0);}
elsif ($shifter==24){quest::settime(24,0);}
elsif ($shifter==1){quest::settime(1,0);}
elsif ($shifter==2){quest::settime(2,0);}
elsif ($shifter==3){quest::settime(3,0);}
elsif ($shifter==4){quest::settime(4,0);}
elsif ($shifter==5){quest::settime(5,0);}
elsif ($shifter==6){quest::settime(6,0);}
elsif ($shifter==7){quest::settime(7,0);}
elsif ($shifter==8){quest::settime(8,0);}
elsif ($shifter==9){quest::settime(9,0);}
elsif ($shifter==10){quest::settime(10,0);}
elsif ($shifter==11){quest::settime(11,0);}
elsif ($shifter==12){quest::settime(12,0);}
elsif ($shifter==13){quest::settime(13,0);}
elsif ($shifter==14){quest::settime(14,0);}
elsif ($shifter==15){quest::settime(15,0);}
elsif ($shifter==16){quest::settime(16,0);}
elsif ($shifter==17){quest::settime(17,0);}
elsif ($shifter==18){quest::settime(18,0);}
elsif ($shifter==19){quest::settime(19,0);}
}
I had a problem comparing the diffs between quests because such a huge block was different when adding this code in, so I shortened it to the following:
Code:
sub EVENT_SPAWN { 
	if ($shifter > 0 && $shifter < 25) {quest::settime($shifter,0);}
}
Day & Night shifts add such nostalgia for me that this is one of my favorite addons for the emulator. Mahalo Angelox!
Reply With Quote
Reply

Thread Tools
Display Modes

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 12:34 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3