Log in

View Full Version : random loot generator (not understanding)


Xenerox
08-06-2014, 06:08 PM
http://wiki.eqemulator.org/p?Diablo_Loot_Generator_Script&frm=Main--Perl_Plugins_Master_Reference im sorry but could someone please explain this one to me a little better ? how do i use it where do i put it ?

Akkadius
08-06-2014, 06:21 PM
http://wiki.eqemulator.org/p?Diablo_Loot_Generator_Script&frm=Main--Perl_Plugins_Master_Reference im sorry but could someone please explain this one to me a little better ? how do i use it where do i put it ?

I don't know how the page doesn't explain it better, both the questions you just answered are clearly in the page:

"Run the script in your server directory as 'DiabloLoot.pl'"

"Example of how you run the script: perl DiabloLoot.pl all - does a complete cycle of the script, deletes old entries and creates all new - You should probably just run this option if you don't know what you're doing"

And I go into the detail of the pre-requisites on the page.

?

Xenerox
08-06-2014, 07:11 PM
its just it says open it just opens a black screen and closes idk what im doing incorrectly

Kingly_Krab
08-06-2014, 07:22 PM
Ah, I see your issue, you open this with the command prompt. You can run them from the command prompt (http://stackoverflow.com/questions/17748688/running-perl-script-from-command-line). So suppose you had the file in C:\EQ\Scripts you would open the command prompt, type cd C:\EQ\Scripts then hit enter then type perl DiabloLoot.pl all.

Xenerox
08-06-2014, 07:34 PM
okay i tried its not connecting for some odd reason so i download the georges tools diablo tool and it keeps giving me runtime errors after installing the ODBC drivers

Xenerox
08-06-2014, 07:45 PM
C:\PEQ RIP\EQ\EQEmuServer>DiabloLoot.pl all
DBI connect(':localhost:3306','',...) failed: Access denied for user 'ODBC'@'lo
alhost' (using password: NO) at C:\PEQ RIP\EQ\EQEmuServer\DiabloLoot.pl line 35
DBI connect(':localhost:3306','',...) failed: Access denied for user 'ODBC'@'lo
alhost' (using password: NO) at C:\PEQ RIP\EQ\EQEmuServer\DiabloLoot.pl line 36
Can't call method "prepare" on an undefined value at C:\PEQ RIP\EQ\EQEmuServer\
iabloLoot.pl line 54.
Loading Loot Definitions...
C:\PEQ RIP\EQ\EQEmuServer>

Akkadius
08-06-2014, 08:04 PM
It's not getting a valid database connection.

It uses your database credentials from eqemu_config.xml, if that is not correct then the script is going to have trouble making a successful connection to your database.

Xenerox
08-06-2014, 08:50 PM
idk i tried everything

Mill3nia
08-25-2014, 04:27 AM
also having the same issues, perhaps we're not completely understanding how to run it. my config file is fine, when I try to run the script I get no database is selected error

Akkadius
08-25-2014, 12:10 PM
also having the same issues, perhaps we're not completely understanding how to run it. my config file is fine, when I try to run the script I get no database is selected error

Can you post a screenshot or something else?

Mill3nia
08-25-2014, 01:44 PM
here is a screenshot of what happens when I try to load it http://imgur.com/UCwTyLG
any help getting this running would be awesome, been wanting to run another random loot drop server, the old diablo loot tool I used no longer works, this seems to be the only option I have left. thanks in advance!

Akkadius
08-25-2014, 02:26 PM
here is a screenshot of what happens when I try to load it http://imgur.com/UCwTyLG
any help getting this running would be awesome, been wanting to run another random loot drop server, the old diablo loot tool I used no longer works, this seems to be the only option I have left. thanks in advance!

Need to make sure that your database configuration in your eqemu_config.xml is valid and that you can actually connect to your DB using it.

Mill3nia
08-25-2014, 02:40 PM
yeah the configuration is fine, I'm able to run the server, connect, and play no problems. perhaps the format is wrong of my configuration?
and if I turn off mysql, I receive a Cannot Connect error in place of what I posted previously.
<?xml version="1.0"?>
<server>
<world>
<shortname>Roxor</shortname>
<longname>Roxor</longname>

<!-- Only specify these two if you really think you need to. (read: You don't) -->
<!-- <address>some.server.com</address> -->
<!-- <localaddress>24.247.126.26</localaddress> -->

<!-- Loginserver information. Defaults shown -->
<loginserver>
<host>login.eqemulator.net</host>
<port>5998</port>
<account></account>
<password></password>
</loginserver>

<!-- Server status. Default is unlocked -->
<!--<locked/>-->
<!-- <unlocked/> -->

<!-- Sets the ip/port for the tcp connections. Both zones and console (if enabled). Defaults are shown -->
<tcp ip="127.0.0.1" port="9000" telnet="disable"/>

<!-- Sets the shared key used by zone/launcher to connect to world -->
<key>some long random string</key>

<!-- Enable and set the port for the HTTP service. Defaults are shown -->
<http port="9080" enabled="false" mimefile="mime.types" />
</world>

<!-- Chatserver (channels) information. Defaults shown -->
<chatserver>
<host>channels.eqemulator.net</host>
<port>7778</port>
</chatserver>

<!-- Mailserver (in-game mail) information. Defaults shown -->
<mailserver>
<host>channels.eqemulator.net</host>
<port>7778</port>
</mailserver>

<zones>
<defaultstatus>20</defaultstatus>

<!-- Sets port range for world to use to auto configure zones -->
<ports low="7000" high="7100"/>
</zones>

<!-- Database configuration, replaces db.ini. Defaults shown -->
<database>
<host>127.0.0.1</host>
<port>3306</port>
<username>root</username>
<password>PASSWORD</password>
<db>peq</db>
</database>

<qsdatabase>
<host>127.0.0.1</host>
<port>3306</port>
<username>root</username>
<password>PASSWORD</password>
<db>peq</db>
</qsdatabase>

<!-- Launcher Configuration -->
<launcher>
<!-- <logprefix>logs/zone-</logprefix> -->
<!-- <logsuffix>.log</logsuffix> -->
<!-- <exe>zone.exe or ./zone</exe> -->
<!-- <timers restart="10000" reterminate="10000"> -->
</launcher>

<!-- File locations. Defaults shown -->
<files>
<!-- <spells>spells_us.txt</spells> -->
<!-- <opcodes>opcodes.conf</opcodes> -->
<!-- <logsettings>log.ini</logsettings> -->
<!-- <eqtime>eqtime.cfg</eqtime> -->
</files>
<!-- Directory locations. Defaults shown -->
<directories>
<!-- <maps>Maps</maps> -->
<!-- <quests>quests</quests> -->
<!-- <plugins>plugins</plugins> -->
</directories>
</server>

Mill3nia
08-26-2014, 11:17 AM
any possibly answers? really looking forward to using this =\

looks like the code to go in and read config is wonky, seems to work by bypassing it.

wolfwalkereci
08-26-2014, 02:41 PM
Ok random question, do you have the correct modules installed?

Akkadius
08-26-2014, 09:49 PM
any possibly answers? really looking forward to using this =\

looks like the code to go in and read config is wonky, seems to work by bypassing it.

The code works just fine, I used it for years.

Make sure you have DBI installed correctly.

http://wiki.eqemulator.org/p?Installing_Perl_DBI_and_other_Modules&frm=Main--Perl_Plugins_Master_Reference

pennywse
08-29-2014, 02:38 AM
I am having the same issue.. I have went over the instructions at least 30 times and checked to make sure I did everything right. Still get the following error. I can start my server up, and log in and play so I know my eqemu_config settings are okay (at least I hope).

DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 95.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 97.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 99.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 105.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 107.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 109.
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 133.
Generating General Loot... Please wait...
DBD::mysql::st fetchrow_array failed: fetch() without execute() at DiabloLoot.pl
line 137.
Items Processed: 0
DBD::mysql::st execute failed: No database selected at DiabloLoot.pl line 186.
Generating Augments Loot... Please wait...
DBD::mysql::st fetchrow_array failed: fetch() without execute() at DiabloLoot.pl
line 189.

Loot has been successfully generated
Items Processed: 0


Job took 1 seconds

C:\EQ\EQEmuserver>

pennywse
08-30-2014, 02:36 AM
I came up with a solution and it might help others that are having the same problem. Change the mysql values to your own and it should execute properly.

################################################## #########
#::: Akka's Diablo Loot
#::: This script is designed to generate thousands of lootdrop entries to be dynamically assigned on top of an NPC's original loot.
#::: This script is ran pre-server-up once, or as many times as you wish until you feel like you have your loot the way you want it.
#::: This script has been designed to be ran as many times as you wish as it will purge all of the created entries each time you run it, only to create loads of new entries based on the new criteria that you have fed it.
#::: All criteria that this script uses is strictly specified in the table `cust_npc_loot_scale` that is shown below
#::: Example: perl DiabloLoot.pl
################################################## #########

if(!$ARGV[0]) { print "Usage create - creates entries, delete - deletes entries, all - does a complete cycle"; }
else{
use DBI;
use DBD::mysql;
my $start_run = time();

my $Debug = 1;

# CONFIG VARIABLES - Parsed from eqemu_config.xml
my $confile = "eqemu_config.xml"; #default
open(F, "<$confile") or die "Unable to open config: $confile\n";
my $indb = 0;
while(<f>) {
s/\r//g;
if(/<database>/i) { $indb = 1; }
next unless($indb == 1);
if(/<\/database>/i) { $indb = 0; last; }
if(/<host>(.*)<\/host>/i) { $host = $1; }
elsif(/<username>(.*)<\/username>/i) { $user = $1; }
elsif(/<password>(.*)<\/password>/i) { $pass = $1; }
elsif(/<db>(.*)<\/db>/i) { $db = $1; }
}

# CHANGE THESE VALUES
$db=your_db;
$user=your_username;
$pass=your_password;

# PERL DBI CONNECT
$dsn = "dbi:mysql:$db:localhost:3306";
if(!$connect){ $connect = DBI->connect($dsn, $user, $pass); }
if(!$connect2){ $connect2 = DBI->connect($dsn, $user, $pass); }
################################################## ###

$n = 0;
while($ARGV[$n]){ if($ARGV[$n] eq "debug"){ $Debug = " " ; } else{ $Debug = ""; } $n++; }

#::: Script Options :::#
$MaxLevel = 110;
$BaseLoottableID = 200000;
$BaseLoottableIDAugs = 210000;
$TypeMultiplier = 1000;
$GenName = "Akkas_Diablo_Loot";
$GenNameAugs = "Akkas_Diablo_Loot_Augs";

####################

### Load Loot Definitions into Memory so it can be quickly iterated through
print "Loading Loot Definitions...";
$query_handle = $connect->prepare("SELECT level, type, hp_min, hp_max, drop_chance, loottable_multiplier, min_plat, max_plat, aug_hp_min, aug_hp_max, aug_ac_max, aug_drop_chance, aug_drop_multiplier FROM `cust_npc_loot_scale` ORDER BY `type`, `level`"); $query_handle->execute();
while(@row = $query_handle->fetchrow_array()){ $LootDefs[$row[0]][$row[1]] = [@row]; }
print " Done\n\n";

if($ARGV[0] eq "delete" || $ARGV[0] eq "all"){
for($i = 0; $i <= 1; $i++){
if($i == 0){ $ID = $BaseLoottableID; $LT = "'General Loot'"; }
elsif($i == 1) { $ID = $BaseLoottableIDAugs; $LT = "'Aug Loot'"; }
print "Creating Loot Table ID's\n" if $Debug;
$query = "DELETE FROM `lootdrop_entries` WHERE `lootdrop_id` >= " . $ID . " AND `lootdrop_id` <= " . ($ID + 3000) . ";";
$query_handle = $connect->prepare($query);
my $row = $query_handle->execute(); if($row eq "0E0"){ $row = 0; }
print "Purging Diablo lootdrop_entries... " . $LT . " rows affected ". $row . "\n";

$query = "DELETE FROM `lootdrop` WHERE `id` >= " . $ID . " AND `id` <= " . ($ID + 3000) . ";";
$query_handle = $connect->prepare($query);
my $row = $query_handle->execute(); if($row eq "0E0"){ $row = 0; }
print "Purging Diablo lootdrop... " . $LT . " rows affected ". $row . "\n";

$query = "DELETE FROM `loottable_entries` WHERE `lootdrop_id` >= " . $ID . " AND `lootdrop_id` <= " . ($ID + 3000) . ";";
$query_handle = $connect->prepare($query);
my $row = $query_handle->execute(); if($row eq "0E0"){ $row = 0; }
print "Purging Diablo loottable_entries... " . $LT . " rows affected ". $row . "\n";

$query = "DELETE FROM `loottable` WHERE `id` >= " . $ID . " AND `id` <= " . ($ID + 3000) . ";";
$query_handle = $connect->prepare($query);
my $row = $query_handle->execute(); if($row eq "0E0"){ $row = 0; }
print "Purging Diablo loottable... " . $LT . " rows affected ". $row . "\n";

}
if($ARGV[0] eq "delete"){ return; }
}

if($ARGV[0] eq "create" || $ARGV[0] eq "all"){
print "Creating Loot Table ID's\n" if $Debug;
for($t = 0; $t <= 2; $t++){
for($i = 1; $i < $MaxLevel; $i++){

### Create General Loot Tables ###
$ID = ($BaseLoottableID + ($TypeMultiplier * $t) + $i);
$query_handle = $connect->prepare("REPLACE INTO `loottable` (id, name, mincash, maxcash, avgcoin) VALUES (?, ?, ?, ?, ?)");
$query_handle->execute($ID, $ID . "_" . $GenName, ($LootDefs[$i][$t][6] * 1000),($LootDefs[$i][$t][7] * 1000), 0);
$query_handle = $connect->prepare("REPLACE INTO `lootdrop` (id, name) VALUES (?, ?)");
$query_handle->execute($ID, $ID . "_" . $GenName);
$query_handle = $connect->prepare("REPLACE INTO `loottable_entries` (loottable_id, lootdrop_id, multiplier, droplimit, mindrop, probability) VALUES (?, ?, ?, ?, ?, ?)");
$query_handle->execute($ID, $ID, $LootDefs[$i][$t][5], 1, 0, 100);
#sprint $LootDefs[$i][$t][5] . "\n";

### Create Augment Tables ###
$ID = ($BaseLoottableIDAugs + ($TypeMultiplier * $t) + $i);
$query_handle = $connect->prepare("REPLACE INTO `loottable` (id, name, mincash, maxcash, avgcoin) VALUES (?, ?, ?, ?, ?)");
$query_handle->execute($ID, $ID . "_" . $GenNameAugs, 0, 0, 0);
$query_handle = $connect->prepare("REPLACE INTO `lootdrop` (id, name) VALUES (?, ?)");
$query_handle->execute($ID, $ID . "_" . $GenNameAugs);
$query_handle = $connect->prepare("REPLACE INTO `loottable_entries` (loottable_id, lootdrop_id, multiplier, droplimit, mindrop, probability) VALUES (?, ?, ?, ?, ?, ?)");
$query_handle->execute($ID, $ID, $LootDefs[$i][$t][12], 1, 0, 100);
}
}
if($ARGV[0] eq "create"){ return; }
}

$query_handle = $connect->prepare("SELECT
items.id,
items.minstatus,
items.`Name`,
items.augtype,
items.hp,
items.mana,
items.ac,
items.price,
items.reclevel,
items.reqlevel,
items.itemtype
FROM
items
WHERE hp > 0
AND augtype = 0
AND minstatus = 0
AND hp > " . $LootDefs[1][0][3] . "
ORDER by hp"); $query_handle->execute();
print "Generating General Loot... Please wait...\n";

$n = 0;
while(@row = $query_handle->fetchrow_array()){
my ($id, $MinStatus, $Name, $AugType, $hp, $mana, $ac, $price, $reclevel, $reqlevel, $itemtype) = ($row[0], $row[1], $row[2], $row[3], $row[4], $row[5], $row[6], $row[7], $row[8], $row[9], $row[10]);
print "Loop: $n HP: " . $row[4] . " ID: " . $row[0] . " NAME: " . $row[2] . " " . "\n" if $Debug;

$TypeCycle = 0;
while($TypeCycle <= 2){
$InRange = 0;
$LevIter = 1;
while($LevIter < 250){
$Mult = 1;
if($itemtype == 1 || $itemtype == 4 || $itemtype == 35){ $Mult = 1.79 } ### We use a multiplier for 2 handed weapons...
$HPMIN = $LootDefs[$LevIter][$TypeCycle][2] * $Mult;
$HPMAX = $LootDefs[$LevIter][$TypeCycle][3] * $Mult;
if($hp > $HPMIN && $hp < $HPMAX){
print "(($BaseLoottableID + ($TypeMultiplier * $TypeCycle)) + $LevIter);\n" if $Debug;
$ID = (($BaseLoottableID + ($TypeMultiplier * $TypeCycle)) + $LevIter);
if($TypeCycle == 1){ print "INSERTING REG - ITEM ID: " . $id . " HP " . $hp . " " . $ID . " LVL " . $LevIter . " Type " . $TypeCycle . "\n" if $Debug; }
$query_handle2 = $connect2->prepare("INSERT INTO `lootdrop_entries` (lootdrop_id, item_id, item_charges, equip_item, chance, minlevel, maxlevel, multiplier) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
$query_handle2->execute($ID, $id, 1, 1, $LootDefs[$LevIter][$TypeCycle][4], 0, 250, 1);
$InRange = 1;
}
elsif($InRange == 1){ last; }
$LevIter++;
}
#if($TypeCycle > 0){ print $TypeCycle . "\n"; }
$TypeCycle++;
}
$n++;
}

print "Items Processed: " . $n . "\n";

### Process Augment Items ###
$query_handle = $connect->prepare("SELECT
items.id,
items.minstatus,
items.`Name`,
items.augtype,
items.hp,
items.mana,
items.ac,
items.price,
items.reclevel,
items.reqlevel
FROM
items
WHERE hp > 0
AND augtype > 0
AND minstatus = 0
ORDER by hp"); $query_handle->execute();
print "Generating Augments Loot... Please wait...\n";

while(@row = $query_handle->fetchrow_array()){
my ($id, $MinStatus, $Name, $AugType, $hp, $mana, $ac, $price, $reclevel, $reqlevel) = ($row[0], $row[1], $row[2], $row[3], $row[4], $row[5], $row[6], $row[7], $row[8], $row[9]);
print "Loop: $n HP: " . $row[4] . " ID: " . $row[0] . " NAME: " . $row[2] . " " . "\n" if $Debug;
$TypeCycle = 0;
while($TypeCycle <= 2){
$InRange = 0;
$LevIter = 1;
while($LevIter < 250){
### Make sure the definitions fall within the stat ranges specified
if($hp > $LootDefs[$LevIter][$TypeCycle][8] && $hp < $LootDefs[$LevIter][$TypeCycle][9]){
$ID = (($BaseLoottableIDAugs + ($TypeMultiplier * $TypeCycle)) + $LevIter);
$query_handle2 = $connect2->prepare("INSERT INTO `lootdrop_entries` (lootdrop_id, item_id, item_charges, equip_item, chance, minlevel, maxlevel, multiplier) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
$query_handle2->execute($ID, $id, 1, 1, $LootDefs[$LevIter][$TypeCycle][11], 0, 250, 1);
$InRange = 1;
}
elsif($InRange == 1){ last; }
$LevIter++;
}
#if($TypeCycle > 0){ print $TypeCycle . "\n"; }
$TypeCycle++;
}
$n++;
}

print "\n Loot has been successfully generated\n";
print "Items Processed: " . $n . "\n";

my $end_run = time();
my $run_time = $end_run - $start_run;
print "\n\nJob took $run_time seconds\n";

}

Akkadius
08-30-2014, 03:13 AM
The problem is that you're not running the script in the directory of the server.

The script needs to be in the root directory of the server and your command line needs to be CD'ed to it as the working directory.

pennywse
08-30-2014, 12:36 PM
I was running it in the server directory. I was also running the cmd from the server directory via shift+right click "open command window here".

http://i1035.photobucket.com/albums/a433/pennywse/server_directory_zpsdef7e1ec.jpg (http://s1035.photobucket.com/user/pennywse/media/server_directory_zpsdef7e1ec.jpg.html)

cleramsey
08-30-2014, 03:44 PM
Try opening the command window with the start menu then navigating over to your server directory instead of opening the command window there. I've had to do it that way on a couple things to get them to take my commands properly.