EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   Instances. (https://www.eqemulator.org/forums/showthread.php?t=36298)

liquest 01-21-2013 07:52 PM

Im actually curious about this aswell if there is a fixed script for this.

c0ncrete 01-21-2013 09:02 PM

what do you mean fixed? fixed for what?

Zamthos 01-21-2013 09:36 PM

By fixed he means one that sends the entire group to the same instance rather than making an instance per person, what I would like to see is the delete and enter button for each instance type.

c0ncrete 01-21-2013 09:47 PM

hfjkdshkahkh

that's it.. back to linear display mode for me. i keep overlooking posts in hybrid mode. <grumble>

Zamthos 01-21-2013 09:52 PM

You know what I'm asking, correct?

c0ncrete 01-21-2013 09:57 PM

does the npc you are using have qglobal access enabled? if not, the plugin won't work correctly.

Zamthos 01-21-2013 10:06 PM

Let me see if what you said will fix it.

Zamthos 01-21-2013 10:09 PM

I believe you fixed it, didn't realize it was that simple, but that still doesn't have the delete or enter option.

c0ncrete 01-21-2013 10:24 PM

you'll want to write your own plugin combining bits of both popup_window_utils.pl and Instances.pl then.

that being said... allowing just anyone to delete instances they did not create, but have access to, is probably a bad idea.

Zamthos 01-21-2013 10:27 PM

I know servers, LootFest and EZ Server, that have this and it only allows you to delete if there aren't any players within it.

NatedogEZ 01-21-2013 11:51 PM

Here is the instance code I am using.

Currently allows Solo / Group / Guild

Guild and group will only show up if you are in.. well... a GUILD or GROUP! =p

If that guild / group / solo -- has an instance already defined you have 2 options now!

Can either Enter the instance or Delete it -- I might have to add a pop-up for delete so people don't just go ... OOPS deleted.

The event spawn / timer were not written by me but adds a neat effect to the NPC.

Use this / pick through it --- might help you with what you are trying to do.


One thing I need to add is an Instance Wipe .. but I am lazy


Code:

sub EVENT_SPAWN {

    my $x = $npc->GetX();
        my $y = $npc->GetY();
        my $z = $npc->GetZ();
        my $range = (15);
        quest::set_proximity($x - $range, $x + $range, $y - $range, $y + $range, $z - 10, $z + 20);
        quest::settimer("effect",1);
        quest::settimer("effect2",1);
}

sub EVENT_ENTER
{
                        $client->Message(315, "For Waypoint Options: Target the portal and Hail for options.");       
}

sub EVENT_TIMER
{
        if($timer eq "effect"){
                $npc->SpellEffect(178);
                $npc->SpellEffect(203);
                $npc->SendAppearanceEffect(77,78);
                quest::stoptimer("effect");
                quest::settimer("effect",12);
        }
        if($timer eq "effect2"){
                $npc->SendAppearanceEffect(77,78);
                quest::stoptimer("effect2");
                quest::settimer("effect2",4);
        }
}

sub EVENT_SAY
{
                        my $Cx = $client->GetX();
                        my $Cy = $client->GetY();
                        my $Cz = $client->GetZ();
                        my $createsolo = quest::saylink("Create Solo",1);
                        my $entersolo = quest::saylink("Enter Solo",1);
                        my $deletesolo = quest::saylink("Delete Solo",1);
                        my $createguild = quest::saylink("Create Guild",1);
                        my $enterguild = quest::saylink("Enter Guild",1);
                        my $deleteguild = quest::saylink("Delete Guild",1);
                        my $creategroup = quest::saylink("Create Group",1);
                        my $entergroup = quest::saylink("Enter Group",1);
                        my $deletegroup = quest::saylink("Delete Group",1);
                        my $space = "_";
                        my $instguild = "guild";
                        my $soloinst = "solo";
                        my $groupinst = "group";
                        my $soloname = "$name";
                        my $sologlob = "$name$space$soloinst$space$zonesn";
                        my $guildglob = "$uguild_id$space$instguild$space$zonesn";
                        my $qglobals = plugin::var('qglobals');       
                        my $GETGROUP = plugin::GetGroupID();
                        my $groupglob = "$GETGROUP$space$groupinst$space$zonesn";
                       
                       
        if($text=~/Hail/i)
        {
                               
                        $client->Message(15,"---------- ");
                #Check to see if player has solo instance in current zone       
                        if (defined $qglobals{$sologlob})
                        {
                                $client->Message(15,"$entersolo instance!");
                                $client->Message(15,"$deletesolo instance!");
                        }
                        else
                        {
                                $client->Message(15,"$createsolo instance!");
                        }
                        $client->Message(15,"----------");
                #End solo check
               
                #Check if player is in guild otherwise no prompt for guild
                if($uguild_id >=1)
                        {
                                if (defined $qglobals{$guildglob})
                                {
                                        $client->Message(15,"$enterguild instance!");
                                        $client->Message(15,"$deleteguild instance!");
                                }
                                else
                                {
                                        $client->Message(15,"$createguild instance!");
                                }
                        }
                #End Guild check
                       
                       
                        $client->Message(15,"----------");  #break
                       
                #Check if player is grouped otherwise no prompt
                if ($GETGROUP >= 1)
                        {
                        if (defined $qglobals{$groupglob})
                                {
                                $client->Message(15,"$entergroup instance!");
                                $client->Message(15,"$deletegroup instance!");
                                }
                        else
                                {
                                $client->Message(15,"$creategroup instance!");
                                }
                        }
                #End Group Check
        }       
                #Start Create
                       
                        #Create solo start
                        if($text=~/Create Solo/i && !defined $qglobals{$sologlob})
                        {
                        plugin::SendToInstance("solo", "$zonesn", 0, $Cx, $Cy, $Cz, solo, 86400);
                        }
                        elsif($text=~/Create Solo/i && defined $qglobals{$sologlob})
                        {
                        $client->Message(15,"You have a solo instance type - $entersolo!");
                        }
                        #Create solo end
                       
                       
                        #Create group start
                        if($text=~/Create Group/i && !defined $qglobals{$groupglob})
                        {
                                my $isgrouped = $client->GetGroup();
                       
                                if($isgrouped >= 1)
                                        {
                                                my $groupsid = $isgrouped->GetID();
                                                plugin::SendToInstance("group", "$zonesn", 0, $Cx, $Cy, $Cz, group, 86400);
                                        }                               
                                else
                                        {
                                                $client->Message(315,"You must be in a Group to create a Group Instance!");
                                        }
                        }
                        elsif($text=~/Create Group/i && defined $qglobals{$groupglob})
                        {
                        $client->Message(15,"You have a guild instance type - $entergroup!");
                        }
                        #Create group end
               
                        #Create guild start
                        if($text=~/Create Guild/i && !defined $qglobals{$guildglob})
                                {
                                if ($uguild_id >=1)
                                        {
                                        plugin::SendToInstance("guild", "$zonesn", 0, $Cx, $Cy, $Cz, guild, 259200);
                                        }
                                else {
                                $client->Message(15,"You must be in a guild to create a guild instance!");
                                        }
                                }
                        elsif($text=~/Create Guild/i && defined $qglobals{$guildglob})
                                {
                                $client->Message(15,"You have a guild instance type - $enterguild!");
                                }
                        #Create guild end
                       
                #END CREATE
                               
                               
                #Start ENTER
                        if($text=~/Enter Solo/i && defined $qglobals{$sologlob})
                                {
                                        my $instid = $qglobals->{$sologlob};
                                        quest::AssignToInstance($instid);
                                        quest::MovePCInstance($zonesn, $instid, $Cx, $Cy, $Cz);
                                }
                        if($text=~/Enter Guild/i && defined $qglobals{$guildglob})
                                {
                                        my $instid = $qglobals->{$guildglob};
                                        quest::AssignToInstance($instid);
                                        quest::MovePCInstance($zonesn, $instid, $Cx, $Cy, $Cz);                               
                                }
                        if($text=~/Enter Group/i && defined $qglobals{$groupglob})
                                {
                                        my $instid = $qglobals->{$groupglob};
                                        quest::AssignToInstance($instid);
                                        quest::MovePCInstance($zonesn, $instid, $Cx, $Cy, $Cz);                               
                                }
                #End Enter
               
               
                #Start Delete
                        if($text=~/Delete Solo/i && defined $qglobals{$sologlob})
                                {
                                        quest::delglobal($sologlob);
                                }
                        if($text=~/Delete Group/i && defined $qglobals{$groupglob})
                                {
                                        quest::delglobal($groupglob);
                                }
                        if($text=~/Delete Guild/i && defined $qglobals{$guildglob})
                                {
                                        quest::delglobal($guildglob);
                                }                               
                #End Delete
}


Zamthos 01-22-2013 12:04 AM

Thanks for that Nate, you've helped a lot!


All times are GMT -4. The time now is 04:43 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.