Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 07-14-2016, 08:39 PM
purpose
Fire Beetle
 
Join Date: Apr 2003
Posts: 21
Default Auto Zone Controller Scripts w/installer help!

Moved from http://www.eqemulator.org/forums/sho...d=1#post249992

Trying to implement zone controller.

Installed Windows Server installer, followed setup and server runs great.

Used the updater to pull most recent binaries (option 11).

Using this guide http://www.eqemulator.org/forums/showthread.php?t=37660 I created a global_player.pl, global_npc.pl and zonecontroller.pl (none of them exsisted, only global_player.lua).

Tried with them in quests/global, didnt work. Tried them a template folder I made, still not working.

Stuck... any ideas?

Thanks!
Reply With Quote
  #2  
Old 07-14-2016, 08:43 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Not sure on the totality of the issue..

..but, if you have both lua and perl scripts, the lua takes precedence and the perl is not invoked.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #3  
Old 07-14-2016, 08:52 PM
purpose
Fire Beetle
 
Join Date: Apr 2003
Posts: 21
Default

Ah okay, for some reason I thought that it would just invoke the lua first and then the perl.

For a person starting out, would it be best to attempt to translate the required code into lua or change the global_player.lua to perl?
Reply With Quote
  #4  
Old 07-14-2016, 09:01 PM
N0ctrnl's Avatar
N0ctrnl
Discordant
 
Join Date: Jan 2007
Posts: 443
Default

As a practical matter, it's whatever you're most comfortable with that supports all the functions you need. Pretty much as simple as that.

Quote:
I created a global_player.pl, global_npc.pl and zonecontroller.pl (none of them exsisted, only global_player.lua).
Also, make sure you have zone_controller.pl (or 10.pl).
__________________
Ender - Lead GM/Developer
Vegarlson Asylum Server - http://www.vegarlson-server.org/
Reply With Quote
  #5  
Old 07-14-2016, 10:33 PM
purpose
Fire Beetle
 
Join Date: Apr 2003
Posts: 21
Default

Ah okay, I am starting to understand a bit better (I think).

So according to

Quote:
== 12/29/2015 ==
Akkadius: Implemented standardized zone controller scripts (Rule Zone, UseZoneController) Defaulted to true
- When a zone boots, it will spawn an invisible npc by the name of zone_controller
- Lua and Perl scripts can be represented with this npc as zone_controller.pl/lua
- This NPC's ID is ruled be define ZONE_CONTROLLER_NPC_ID 10
- Two EVENT's uniquely are handled with this NPC/controller (They only work with the zone_controller NPC)
- EVENT_SPAWN_ZONE :: All NPC spawns in the zone trigger the controller and pass the following variables:
$spawned_entity_id
$spawned_npc_id
- EVENT_DEATH_ZONE :: All NPC deaths in the zone trigger the controller event and pass the following variables:
$killer_id
$killer_damage
$killer_spell
$killer_skill
$killed_npc_id
This guide http://www.eqemulator.org/forums/showthread.php?t=37660is now outdated, and the script for zonecommander (now should be zone_commander) needs to have the new variables ($spawned_entity_id, $spawned_npc_id, etc) used. Also, it used ID 50 and the new ID is 10.

Am I on the right track?

As an aside, I did a complete reinstall of the windows server compile, and didnt realize in its default state it WAS spawning zone_commander without me having to add the NPC in the database or implement the .pl files.

Still a bit confused as I cant find the zone_commander under the database npc_types ID 10, but the NPC is spawning!!
Reply With Quote
  #6  
Old 07-14-2016, 11:33 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,071
Default

I don't know where you're getting the word 'zone_commander', it's zone_controller

Before when the original scaling plugin was written you needed to create your own zone_controller NPC

Now it is just implemented within the server itself to spawn zone_controller in every zone. This NPC does NOT exist in the database, it is a floating NPC in the zone that represents a script that controls zone based events.

You can retrofit the old system for id 10, but you will have to do it yourself.
Reply With Quote
  #7  
Old 07-14-2016, 11:42 PM
purpose
Fire Beetle
 
Join Date: Apr 2003
Posts: 21
Default

Yes, zone_controller, just a mistake on my part. Commander sounded so... important like.

Thank you Akkadius, seems alot simpler now.

Just have to figure out how to rewrite the scaling script to include the new variables.

Cheers.
Reply With Quote
  #8  
Old 07-15-2016, 11:51 AM
purpose
Fire Beetle
 
Join Date: Apr 2003
Posts: 21
Default

Working through this slowly (should be my nickname).

Just a couple questions:

1- now that the zone_controller is spawned already, I dont need the global_npc.pl spawn entry, correct?

2- retrofitting the old system, is it as simple as replacing the references in global_player.pl from 50 to 10, and replacing the references in the zone_controller.pl from zonecontroller to zone_controller?

I did source the cust_npc_scale_tables.sql.

Maybe Im in over my head, but what you have created seems like such an amazing tool!!
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 02:46 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