EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Custom (https://www.eqemulator.org/forums/forumdisplay.php?f=671)
-   -   Merchant Maker. (https://www.eqemulator.org/forums/showthread.php?t=39701)

Kingly_Krab 05-25-2015 08:04 PM

Merchant Maker.
 
This script will create merchants for you, all you have to do is change $id and @idarray, I wrote this a while ago but never released it. It writes to a .sql file that you can easily copy and paste from or import using HeidiSQL or Navicat.
Code:

sub Create {
    print "Starting!\n";
    my $id = CHANGEME;
    my @idarray = (CHANGEME);
    open my $file, ">Merchant $id.sql";
    my $message = "INSERT INTO `merchantlist` VALUES\n";
    my $slot = 0;
    foreach my $item (@idarray) {
        $message .= "('$id', '" . ++$slot . "', '$item', '-1100', '0', '0', '65535', '100')" . (($item != $idarray[$#idarray]) ? ",\n" : ";");
    }
    print "Done!\n";
    say $file $message;
    close $file;
}
Create();


Kingly_Krab 08-29-2015 05:51 PM

I have since updated this script:
Code:

sub Create {
    my $merchant_id = shift;
    my $data = shift;
    my @items = split(/ /, $data);
    chomp $items[$#items];
    print "Starting!\n";
    open my $file, ">Merchant $merchant_id.sql";
    my $message;
    my $n = 1;
    foreach my $item (@items) {
        print "Adding item $item.\n";
        $message .= "INSERT INTO `merchantlist` VALUES ('$merchant_id', '" . $n++ . "', '$item', '-1100', '', '0', '65535', '100');\n";
    }
    say $file $message;
    print "Done!\n";
    close $file;
}
print "What is the merchant id?\n";
my $merchant_id = int(<STDIN>);
print "List the items you would like on the merchant.\n";
my $data = <STDIN>;
Create($merchant_id, $data);

Here is an example of use:
http://i.imgur.com/NjomYml.png

Kingly_Krab 08-31-2015 05:28 PM

Found an issue:
Code:

$message .= "INSERT INTO `merchantlist` VALUES ('$merchant_id', '" . $n++ . "', '$item', '-1100', '', '0', '65535', '100');\n";
Should be:
Code:

$message .= "INSERT INTO `merchantlist` VALUES ('$merchant_id', '" . $n++ . "', '$item', '-1100', '0', '0', '65535', '100');\n";


All times are GMT -4. The time now is 11:20 AM.

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