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 01-10-2015, 11:19 AM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default RoF Guild Lobby Question

I notice that through scripting, everyone has been very persistent redirecting any RoF players to a separate instance of the Guild Hall. Since this can be a bit of a hub zone for some servers, it separates the players. Why the separate instances for RoF players? I removed it temporarily and only see an issue with the doors not appearing, which I would think would be fixable?

Maybe someone knows (Trevius)?
Reply With Quote
  #2  
Old 01-11-2015, 12:49 PM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default

Yeah thats an issue I run into on my server aswell, A temporary fix is to have the script direct you to the old zone and have a proxy npc setup where the door would be so when you walk up to the blank space it ports you to PoK
Reply With Quote
  #3  
Old 01-12-2015, 11:12 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

I haven't really had time to look into what causes the doors issue in Guild Lobby yet. The doors appear to be in the same location on the map as previous clients, so I don't know why they show up in completely different locations. I believe the only reason PEQ DB/Scripts move RoF+ chars to another instance is just to fix the doors. So, if we can fix doors without needing to use a separate instance, that would be ideal. I just haven't had time to look into what causes it or anything related to it yet.

Maybe whoever coded the script/instance could chime in. I don't know who did it offhand.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #4  
Old 01-12-2015, 04:27 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Why RoF+ uses a specfic instance over a 'common' one? Might be due to neighborhoods.

I don't know if they actually send you to another zone, or are a part of the guild lobby..which would necessitate a 'guild' instance of lobby.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #5  
Old 01-12-2015, 04:33 PM
vsab's Avatar
vsab
Discordant
 
Join Date: Apr 2014
Location: United Kingdom
Posts: 276
Default

They're different zones/ instances of sunrise hills (or sunset hills, I forget)
Reply With Quote
  #6  
Old 01-12-2015, 06:16 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Quote:
Originally Posted by Uleat View Post
Why RoF+ uses a specfic instance over a 'common' one? Might be due to neighborhoods.

I don't know if they actually send you to another zone, or are a part of the guild lobby..which would necessitate a 'guild' instance of lobby.
Yes, that is the main reason, neighborhood access.
Reply With Quote
  #7  
Old 01-17-2015, 11:52 AM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

I made quite a few small changes, not sure which one did it but I have the guild lobby working without it being an instance and the doors are working.
Reply With Quote
  #8  
Old 01-17-2015, 01:03 PM
Nightrider84's Avatar
Nightrider84
Discordant
 
Join Date: Aug 2010
Location: Colorado
Posts: 410
Default

Lol details would be great
Reply With Quote
  #9  
Old 01-17-2015, 02:00 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Working on that.
Reply With Quote
  #10  
Old 01-17-2015, 02:22 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Let me do more testing on my test server, then the production server. Once I am confident that it is working on all clients I will put the code here.
Reply With Quote
  #11  
Old 02-06-2015, 10:24 AM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

If anyone still needs these then just PM me and I will fashion you a delete and replace. There were a few changes on our end.
Reply With Quote
  #12  
Old 02-06-2015, 05:43 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

I got a report back that this worked, so I am posting it here. Backup your stuff and restart the server after you do it.

Code:
UPDATE `doors` SET `version` = 0 WHERE `id` = 36630;
UPDATE `doors` SET `version` = 0, `dest_x` = 1327, `dest_y` = -391, `dest_z` = -124.940002441406, `dest_heading` = 189 WHERE `id` = 36631;
UPDATE `doors` SET `version` = 0 WHERE `id` = 36632;
UPDATE `doors` SET `door_param` = 0, `dest_instance` = 0, `client_version_mask` = 4294967295 WHERE `id` = 36666;
UPDATE `doors` SET `dest_instance` = 0, `client_version_mask` = 4294967295 WHERE `id` = 36667;

COMMIT;
\quests\guildhall\player.pl

Code:
# Guild Hall Regen Pool Script - Player Portion

sub EVENT_SIGNAL {
  if ($signal == 1) {
    quest::settimer("DoRegen", 6);
  }
  if ($signal == 2) {
    quest::stoptimer("DoRegen");
  }
}

sub EVENT_ENTERZONE {
  quest::settimer("ZoneIn", 3);
}

sub EVENT_ZONE {
  quest::stoptimer("DoRegen"); #Stop the timer if they zone
}

sub EVENT_TIMER {
  if ($timer eq "ZoneIn") {
    quest::stoptimer("ZoneIn");
    quest::signalwith(345004,$charid);
  } else {
    quest::stoptimer("DoRegen");
    my $RegenPercent = 10; # Set Regen Percent per tic here
    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);
    }
  }
}

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_CLICKDOOR
{
# This will move RoF clients to their instance, the rest are handled in the DB
  if (($client->GetClientVersionBit() & 4294967264) != 0) {
    if ($doorid == 2 || $doorid == 5) {
        quest::MovePCInstance(344, 5, 0, 588, 1.75, 130);
    }
  }
}
\quests\guildlobby\player.pl

Code:
sub EVENT_CLICKDOOR 
{
	if($doorid == 2 || $doorid == 4 || $doorid == 40 || $doorid == 42) 
	{
    		if($uguild_id > 0) 
    		{
      			if (defined($qglobals{"ginstance$uguild_id"})) 
      			{
        			$guildinstance = $qglobals{"ginstance$uguild_id"};
        			quest::AssignToInstance($guildinstance);
        			quest::MovePCInstance(345, $guildinstance, -1.00, -1.00, 3.34);
      			}
      			else 
      			{
        			$guildinstance = quest::CreateInstance("guildhall", 1, 86400);
        			quest::AssignToInstance($guildinstance); 
        			quest::setglobal("ginstance$uguild_id",$guildinstance,7,"H24");
        			quest::MovePCInstance(345, $guildinstance, -1.00, -1.00, 3.34)
      			}
    		}
  	}
  	if((($doorid >= 5) && ($doorid <= 38)) ||  (($doorid >= 43) && ($doorid <= 76)))
  	{
		$client->OpenLFGuildWindow();
  	}
}
	
sub EVENT_TIMER 
{
	if($timer == 1)
	{
		quest::MovePCInstance(344,5,$x,$y,$z,225);
	}
	if($timer == 2)
	{
		quest::movepc(344,$x,$y,$z,225);
	}
}
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 11:09 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