|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Support::Windows Servers Support forum for Windows EQEMu users. |
|
|
|
01-27-2015, 02:45 PM
|
|
Fire Beetle
|
|
Join Date: Nov 2014
Posts: 21
|
|
Guild Hall, Guild Bank, and Dynamic Zones
First, I'm looking into getting my Guild Hall working for all guilds on my server. Currently I can get it to work with all NPCs inside and all of them being functional except the Guild Banker. However, the Guild Hall doors in the Guild Lobby will often not create a Guild Hall instance, and will instead port people right back into the Guild Lobby. I'm guessing this is because of my player.pl file. Does anyone happen to have a working script for the Guild Hall that I could use?
Second, when trying to use the Guild Bank, the game simply crashes. I assume that's because I need a script or it isn't implemented. I am using the SoF and Titanium clients with the AXClassic repack, PEQ database. If it does require a script, could someone let me steal that as well?
And third...I use dynamic zones rather than static. For the most part it works perfectly fine, and I have zones staying up for 30 minutes before shutting down if no one is inside. However, corpses will disappear if someone kills something, camps or zones, then tries to come back on either the same or a different character and loot it. Perhaps I have a rule set to something I shouldn't. Has anyone else had this issue?
Thank you.
|
|
|
|
01-27-2015, 03:11 PM
|
|
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
You are probably using RoF2, the guild bank will make your client act strange so stay away from doing that.
Yes, you can remove instancing with the player.pl file, easy to do.
Keep in mind you will have to edit your doors for Guild Hall on the RoF2 client, otherwise there are none.
Hmm, just reread and you say you are using the SoF client? Most of the issues you discuss are related to RoF2.
|
01-27-2015, 04:01 PM
|
|
Fire Beetle
|
|
Join Date: Nov 2014
Posts: 21
|
|
Yes, I am using SoF. This repack I'm using doesn't support any higher or I'd use either UF or RoF2.
Any idea if the Guild Hall on Live uses instancing? I'd imagine it does, given the amount of guilds on Live servers, but I'm not entirely sure. I have multiple guilds on my server, so I still want more than just one Guild Hall zone unless I can't get the Guild Bank to work.
|
01-27-2015, 05:12 PM
|
|
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
Okay, I was thinking Guild Lobby, not Guild Hall.
Post your current player.pl for that zone.
|
|
|
|
01-27-2015, 05:36 PM
|
|
Fire Beetle
|
|
Join Date: Nov 2014
Posts: 21
|
|
This is inside the guildlobby player.pl. I haven't changed it at all.
Code:
sub EVENT_CLICKDOOR {
my $d_id = ($doorid % 256);
if($door_id == 2 || $d_id == 4) {
if($uguild_id > 0) {
if (defined($qglobals{"ginstance$uguild_id"})) {
$guildinstance = $qglobals{"ginstance$uguild_id"};
quest::AssignToInstance($guildinstance);
quest::MovePCInstance(345, $guildinstance, -1.2, -126, 2.2);
}
else {
$guildinstance = quest::CreateInstance("guildhall", 1, 86400);
quest::AssignToInstance($guildinstance);
quest::setglobal("ginstance$uguild_id",$guildinstance,7,"H24");
quest::MovePCInstance(345, $guildinstance, -1.2, -126, 2.2);
}
}
}
}
As for the Guild Hall...
Code:
sub EVENT_ENTERZONE {
if (defined $qglobals{whimsy}) {
quest::delglobal("whimsy");
}
if($hasitem{69059}) {
quest::settimer(1,72);
}
}
sub EVENT_SIGNAL {
if ($signal == 1)
{
quest::settimer("DoRegen", 6);
}
if ($signal == 2)
{
quest::stoptimer("DoRegen");
}
}
sub EVENT_ZONE {
#Stop the timer if they zone
quest::stoptimer("DoRegen");
}
sub EVENT_TIMER {
if ($timer eq "DoRegen")
{
quest::stoptimer("DoRegen");
# Set Regen Percent per tic here
my $RegenPercent = 5;
if ($client) {
my $HPRatio = $client->GetHPRatio();
if ($HPRatio < 100) {
my $HPMax = $client->GetMaxHP();
my $HPNew = (($HPRatio + $RegenPercent) / 100) * $HPMax;
$client->SetHP($HPNew);
}
my $ManaRatio = $client->GetManaRatio();
if ($ManaRatio < 100) {
my $ManaMax = $client->GetMaxMana();
my $ManaNew = (($ManaRatio + $RegenPercent) / 100) * $ManaMax;
$client->SetMana($ManaNew);
}
my $EnduranceRatio = $client->GetEnduranceRatio();
if ($EnduranceRatio < 100) {
my $EnduranceMax = $client->GetMaxEndurance();
my $EnduranceNew = (($EnduranceRatio + $RegenPercent) / 100) * $EnduranceMax;
$client->SetEndurance($EnduranceNew);
}
quest::settimer("DoRegen", 6);
}
}
if ($timer == 1) {
$whimsy_count++;
}
if($whimsy_count == 1) {
quest::setglobal("whimsy",1,5,"F");
}
if($whimsy_count == 2) {
quest::setglobal("whimsy",2,5,"F");
}
if($whimsy_count == 3) {
quest::setglobal("whimsy",3,5,"F");
}
if($whimsy_count == 4) {
quest::setglobal("whimsy",4,5,"F");
}
if($whimsy_count == 5) {
quest::setglobal("whimsy",5,5,"F");
}
if($whimsy_count == 6) {
quest::setglobal("whimsy",6,5,"F");
}
if($whimsy_count == 7) {
quest::setglobal("whimsy",7,5,"F");
}
if($whimsy_count == 8) {
quest::setglobal("whimsy",8,5,"F");
}
if($whimsy_count == 9) {
quest::setglobal("whimsy",9,5,"F");
}
if($whimsy_count == 10) {
quest::setglobal("whimsy",10,5,"F");
quest::stoptimer(1);
}
}
sub EVENT_POPUPRESPONSE {
if($popupid == 666) { #hateplaneb
quest::movepc(186,-393,656,3);
}
if($popupid == 674) { #airplane
quest::movepc(71,539,1384,-664);
}
if($popupid == 15891) { #dragonscale
#quest::movepc(442,-1954,3916,19);
}
if($popupid == 2708) { #northkarana
quest::movepc(13,1209,-3685,-5);
}
if($popupid == 4176) { #ecommons
quest::movepc(22,-140,-1520,3);
}
if($popupid == 534) { #lavastorm
quest::movepc(27,460,460,-86);
}
if($popupid == 2707) { #tox
quest::movepc(38,-916,-1510,-33);
}
if($popupid == 2706) { #gfaydark
quest::movepc(54,-441,-2023,4);
}
if($popupid == 2709) { #dreadlands
quest::movepc(86,9658,3047,1052);
}
if($popupid == 2284) { #iceclad
quest::movepc(110,385,5321,-17);
}
if($popupid == 2031) { #coboltscar
quest::movepc(117,-1634,-1065,299);
}
if($popupid == 3615) { #twilight
quest::movepc(170,-1028,1338,39);
}
if($popupid == 3794) { #stonebrunt
quest::movepc(100,673,-4531,0);
}
if($popupid == 6180) { #wallofslaughter
#quest::movepc(300,-943,13,130);
}
if($popupid == 5733) { #barindu
quest::movepc(283,209,-515,-119);
}
if($popupid == 8237) { #eastkorlach
#quest::movepc(362,-750,-1002,48);
}
if($popupid == 8967) { #arcstone
#quest::movepc(369,1630,-279,5);
}
if($popupid == 999) { #mesa
#quest::movepc(397,-85,-2050,19);
}
if($popupid == 1000) { #guild banner
#not implemented yet
}
if($popupid == 416) { #kattacastrum
#quest::movepc(416,-2,-425,-19);
}
if($popupid == 20543) { #potimea
quest::movepc(219,0,110,8);
}
if($popupid == 21986) { #brellsrest
#quest::movepc(480,-23,-619,36);
}
}
sub EVENT_COMBINE_SUCCESS {
if (($recipe_id == 10904) || ($recipe_id == 10905) || ($recipe_id == 10906) || ($recipe_id == 10907)) {
$client->Message(15,"The gem resonates with power as the shards placed within glow unlocking some of the stone's power. You were successful in assembling most of the stone but there are four slots left to fill, where could those four pieces be?");
}
if ($recipe_id == 10903) {
if (($class eq "Bard") || ($class eq "Beastlord") || ($class eq "Paladin") || ($class eq "Ranger") || ($class eq "Shadowknight")) {
quest::summonitem(67666);
quest::summonitem(67704);
}
elsif (($class eq "Warrior") || ($class eq "Monk") || ($class eq "Berserker") || ($class eq "Rogue")) {
quest::summonitem(67665);
quest::summonitem(67704);
}
elsif (($class eq "Cleric") || ($class eq "Shaman") || ($class eq "Druid")) {
quest::summonitem(67667);
quest::summonitem(67704);
}
elsif (($class eq "Necromancer") || ($class eq "Wizard") || ($class eq "Enchanter") || ($class eq "Magician")) {
quest::summonitem(67668);
quest::summonitem(67704);
}
$client->Message(1,"Success");
}
if ($recipe_id == 10346) {
if (($class eq "Bard") || ($class eq "Beastlord") || ($class eq "Paladin") || ($class eq "Ranger") || ($class eq "Shadowknight")) {
quest::summonitem(67661);
quest::summonitem(67704);
}
elsif (($class eq "Warrior") || ($class eq "Monk") || ($class eq "Berserker") || ($class eq "Rogue")) {
quest::summonitem(67660);
quest::summonitem(67704);
}
elsif (($class eq "Cleric") || ($class eq "Shaman") || ($class eq "Druid")) {
quest::summonitem(67662);
quest::summonitem(67704);
}
elsif (($class eq "Necromancer") || ($class eq "Wizard") || ($class eq "Enchanter") || ($class eq "Magician")) {
quest::summonitem(67663);
quest::summonitem(67704);
}
$client->Message(1,"Success");
}
if ($recipe_id == 10334) {
if (($class eq "Bard") || ($class eq "Beastlord") || ($class eq "Paladin") || ($class eq "Ranger") || ($class eq "Shadowknight")) {
quest::summonitem(67654);
quest::summonitem(67704);
}
elsif (($class eq "Warrior") || ($class eq "Monk") || ($class eq "Berserker") || ($class eq "Rogue")) {
quest::summonitem(67653);
quest::summonitem(67704);
}
elsif (($class eq "Cleric") || ($class eq "Shaman") || ($class eq "Druid")) {
quest::summonitem(67655);
quest::summonitem(67704);
}
elsif (($class eq "Necromancer") || ($class eq "Wizard") || ($class eq "Enchanter") || ($class eq "Magician")) {
quest::summonitem(67656);
quest::summonitem(67704);
}
$client->Message(1,"Success");
}
}
Last edited by Missneye; 01-27-2015 at 05:39 PM..
Reason: Adding information
|
|
|
|
01-28-2015, 10:16 AM
|
|
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
AXClassic is quite old and outdated. Your source code is probably from before the guild bank was even implemented into EQEmu at all. I am guessing SoF is the newest client your server supports?
If you want guild bank to work, you are most likely going to have to update your source code (compile the latest), and update your database to match the latest source. We have an auto-update script for database updates now, but I am pretty sure it doesn't go back as far as AXClassic would need yet. So, you would probably have to do some of it manually.
As far as scripts go; you can download the PEQ scripts and check them out/copy them yourself.
|
02-01-2015, 09:27 PM
|
|
Fire Beetle
|
|
Join Date: Nov 2014
Posts: 21
|
|
Thanks, trevius!
I've been using some of the files from current PEQ and testing them the last few days. The GH seems to work fine now, and I managed to fix a lot PoP raids just by replacing those files or editing the scripts a little. Oddly enough, some of my old files worked where the most recent PEQ files didn't, such as with the PoNightmare maze raid. My server only goes up to LDoN, so getting PoP fully functional is pretty much essential. Thanks again.
|
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 01:07 PM.
|
|
|
|
|
|
|
|
|
|
|
|
|