EQEmulator Forums

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

sorvani 03-05-2012 09:25 PM

if you do not want to post your script, just PM it to me. I'll look at it later tonight sometime

blackdragonsdg 03-05-2012 11:45 PM

Well I got it to work in a controlled manner. If anyone else wants to know how here ya go:
Code:

use DBI;
my $dbh = DBI->connect("DBI:mysql:database=peq;host=localhost", "root", "password", {'RaiseError' => 1});

sub EVENT_SAY {
        if($text=~/Hail/i) {
                $AcctID = $client->AccountID();
                $query = "update account set status = 5 where id = $AcctID;";
                $dbh->do($query);
                  quest::emote("'You now have access to the Kunark Expansion.'");
        }
}

Thank you Sorvani for the suggested rewrite of the script. It help me clean up my original script.

sorvani 03-05-2012 11:53 PM

great that it helps.
To the OP: you will also want to think about spacing out your status per expansion in case you want to give anything else to them or something down the road. If you are sure you won't then just 0-10 or whatever would work fine.

Also in a default DB there are a lot of # commands available to the genreal public (status 0).

Valdis01 03-06-2012 01:31 AM

Code:

my $NewStatus = $status;
my $AcctID = $client->AccountID();
my $SQLQuery = '';

sub EVENT_ITEM
{
  if(plugin::check_handin(\%itemcount, <itemid> => 1, <itemid> => 1, <itemid => 1))
  {
        $NewStatus = $NewStatus + 1;
        $SQLQuery = 'update account set status = '.$NewStatus.' where id = '.$AcctID.';';
        $status = idk;
        $dbh->do($SQLQuery);
        $client->Message(315, "$NPCNAME whispers to you, 'Congratulations, you now have flags for <enter name>.'");
  }
  else
  {
        $client->Message(315,"$NPCNAME whispers to you, 'What is this carp?'");
        plugin::return_items(\%itemcount);
  }
}

is a template my coder worked out... Not sure if it's okay, or....

sorvani 03-06-2012 10:26 AM

you need the use DBI and $dbh = lines at the top. also you REALLY need to take into account someone getting the items again and repeating the quest. as is, if i did this quest 250 times I would have pretty much maximum gm powers.

Valdis01 03-06-2012 11:40 AM

And how do you prevent that from happening?

Valdis01 03-06-2012 11:46 AM

And how would we go about doing that? Email me, sinclipse@gmail.com

lerxst2112 03-06-2012 02:59 PM

Query their existing status, and if it is equal or greater than the status they should have from turning in a specific item or killing a specific mob don't add any more to it.


All times are GMT -4. The time now is 12:23 PM.

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