EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Plugins & Mods (https://www.eqemulator.org/forums/forumdisplay.php?f=678)
-   -   Akka's Diablo Loot Generator Script (https://www.eqemulator.org/forums/showthread.php?t=38291)

Akkadius 10-08-2014 06:03 PM

Quote:

Originally Posted by ionhsmith (Post 234584)
Ok I tried what you said and changed the multiplier to 1 but it still drops every time i kill ... nothing changed. any other suggestions?

What is dropping every time you kill? Pics, some detail.

ionhsmith 10-08-2014 07:09 PM

Mortow told me to run the script perl DioabloLoot.pl delete and then run the "all" function again ... that seemed to fix it ... thanks guys

I may have spoke to soon ... just killed 3 things and all 3 of them dropped several items ill post a pic ... at 5% that seems odd that 3 things in a row would drop something really good wouldnt u think?

Akkadius 10-08-2014 07:41 PM

Quote:

Originally Posted by ionhsmith (Post 234587)
Mortow told me to run the script perl DioabloLoot.pl delete and then run the "all" function again ... that seemed to fix it ... thanks guys

I may have spoke to soon ... just killed 3 things and all 3 of them dropped several items ill post a pic ... at 5% that seems odd that 3 things in a row would drop something really good wouldnt u think?

delete is ran when you use "all"

The drop rate should be inherited from the settings in the table so it just seems like you have something not configured right.

ionhsmith 10-08-2014 07:57 PM

well i have the drop rate set to 0.05 and the multiplier to 1 on every level ... not sure what else to change https://dl.dropboxusercontent.com/u/7283822/eqpic.png

here is a pic and i have looted 20 more things since i just took this pic

Pdizzle 04-13-2015 09:53 PM

Is there a way to use this tool to add a chance for ANY item in the game to drop on ANY NPC without taking the NPC's level and item level into consideration?

I've been trying to figure it out, but I suppose I'm hung up on understanding what the following means:

hp_min = the minimum HP the item must be in order to be inserted into a lootdrop entry
hp_max = the maximum HP the item must be in order to be inserted into the lootdrop entry


What is the HP of an item? The amount of HP on an item (doesn't make sense to me) or do all items have a HP amount assigned to them to help designate how powerful they are?

Pdizzle 04-22-2015 06:37 PM

I figured out the answers to my questions above...

Now I have a new question. I'm using Akka's repack, and have applied his diablo loot script to my database. What I've found is that there aren't really any raid mobs designated as ##. Some of the raid mobs are designated as #, and some named mobs are designated as # in their names. Is there an easy way for me to add # to all named NPCs and ## to all raid NPCs so the script can work properly? I'm not sure what type of identifier I can use to run a mass query.

Akkadius 04-22-2015 07:48 PM

Quote:

Originally Posted by Pdizzle (Post 239503)
I figured out the answers to my questions above...

Now I have a new question. I'm using Akka's repack, and have applied his diablo loot script to my database. What I've found is that there aren't really any raid mobs designated as ##. Some of the raid mobs are designated as #, and some named mobs are designated as # in their names. Is there an easy way for me to add # to all named NPCs and ## to all raid NPCs so the script can work properly? I'm not sure what type of identifier I can use to run a mass query.

There is no easy way.

It is a convention I came up with and you will have to adhere to if you want to use it.

All you have to do is add it to the names of the NPC's you want at that caliber.

Pdizzle 04-22-2015 08:35 PM

Quote:

Originally Posted by Akkadius (Post 239506)
There is no easy way.

It is a convention I came up with and you will have to adhere to if you want to use it.

All you have to do is add it to the names of the NPC's you want at that caliber.

Thanks for the quick response, Akka. Also, thanks for the tools you've provided.

chasem 08-21-2015 07:54 PM

First off thanks Akka for this super simple way to implement Diablo-style loot!

Question: Is there any way to keep it from adding random loot to summoned pets?

Thanks!!

royzzz 08-22-2015 01:56 AM

This is a really useful tool! Thanks Akka! Was easy to adjust all of the rows to customize the loot. My only complaint is the drop chance does not seem to be working right. Under drop_chance I used Heidi to change all to .15 with loottable_multiplier of 1. I am guessing maybe it does not allow a chance under 1?

Splose 08-22-2015 04:58 AM

Quote:

Originally Posted by royzzz (Post 242651)
This is a really useful tool! Thanks Akka! Was easy to adjust all of the rows to customize the loot. My only complaint is the drop chance does not seem to be working right. Under drop_chance I used Heidi to change all to .15 with loottable_multiplier of 1. I am guessing maybe it does not allow a chance under 1?

design table (at least in navicat) -> change data type from integer to float/decimal.. you can do this for the zone scaling system and it works straight out.. not sure if this would work with the diabloloot.. I haven't looked at it in months but I don't see why it wouldnt.

royzzz 08-22-2015 03:56 PM

The drop chance and aug drop chance are set to be float already. I was excited to try that, as I did not look at that before I posted, but Akka already had it set this way!

chasem 08-22-2015 09:54 PM

Anyone know if it's possible to not have pets spawn with random items? Tried a few different things without much success. Players can't give them weapons when they spawn with items.

Akkadius 08-22-2015 10:00 PM

Quote:

Originally Posted by chasem (Post 242694)
Anyone know if it's possible to not have pets spawn with random items? Tried a few different things without much success. Players can't give them weapons when they spawn with items.

You can add a check to skip NPC's that have an owner ID.

Code:

sub EVENT_SPAWN{
        #::: START: Akka's Diablo Loot Handler :::#
        $NTYPE = 0; #::: TRASH
        if(substr($npc->GetName(), 0, 1) eq "#" && substr($npc->GetName(), 1, 2) ne "#"){  $NTYPE = 1; } #::: NAMED
        if(substr($npc->GetName(), 0, 2) eq "##" && substr($npc->GetName(), 2, 3) ne "#"){ $NTYPE = 2; } #::: RAID
        $LID = (200000 + ($NTYPE * 1000) + $npc->GetLevel());
        if($npc->GetLoottableID() != $LID){
                if($npc->GetOwnerID() > 0){
                        return;
                }
                $npc->ModifyNPCStat("loottable_id", (210000 + ($NTYPE * 1000) + $npc->GetLevel())); $npc->AddLootTable();
                $npc->ModifyNPCStat("loottable_id", (200000 + ($NTYPE * 1000) + $npc->GetLevel())); $npc->AddLootTable();
        }
        #::: END: Akka's Diablo Loot Handler :::#
}


chasem 08-22-2015 10:39 PM

Awesome thanks Akka! Very much appreciated!!

royzzz 08-22-2015 11:32 PM

Figured out my issue. Once editor has run and you are happy, and dont plan on rerunning you can go under table loottable_entries and change the probability there with a sql script. That way you can adjust getting less than one item to drop from a mob. as even with having drop_chance set to a number less than one and float instead of integer set, once loottables are created the probablilty is 100. Hope that helps someone else with a similar issue! Again thank you Akka for this great tool!

Gregk 09-01-2015 05:40 PM

Help...
DBD::mysql::st execute failed: Column 'multiplier' cannot be null at diabloloot.
pl line 98, <F> line 59.
DBD::mysql::st execute failed: Column 'multiplier' cannot be null at diabloloot.
pl line 108, <F> line 59.
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the m
anual that corresponds to your MySQL server version for the right syntax to use
near 'ORDER by hp' at line 19 at diabloloot.pl line 132, <F> line 59.
Generating General Loot... Please wait...

kimura 07-12-2016 11:45 AM

Akkadius, this script is awesome :P

Would you consider adding a function to the script where devs could omit items from being selected. Such as custom items that could be disregarded by maybe the "source" column? Just an idea.

Thanks for the awesome stuff bro!

Kimura

Akkadius 07-12-2016 12:07 PM

Script is pretty much as is at this point, I have another way of doing this that does things completely on the fly in-game which is way faster and allows hot reloading.

kimura 07-12-2016 12:20 PM

eh, ok was just a suggestion, thanks for the quick response

trahelion 11-29-2016 09:14 AM

Hey guys, do you know what may be causing this error? I used the installer (Thank you infinitely for that) and have added in the perl updates as stated in the wiki. I am running it from the command line after CD'ing it to my directory. There doesn't appear to be anything dropping from mobs in game.

So the steps I have taken:
Created folder, named and set to .pl file type
Pasted Code in
Opened CMD and typed perl DiabloLoot.pl All

http://i.imgur.com/ZDgsBRw.png

Thanks for any help and your work on this project :)

trahelion 11-30-2016 11:30 PM

P.S.
Quote:

I think it might have something to do with this table

I don't know how to add a table to the database yet, but I'm reading and trying to figure it out. :)
So that was the case. If anyone takes the shortbus like me, here is how I added the table to my database and fixed the above error.

Load up HeidiSQL, put in the info to access the DB which is listed in the config file (User: Root PW: eqemu DB: peq)
Select 'New Query'
Paste the data from the table provided at the end of the instructions for the mod here.
press the triangle button to run the script

THEN you can run the mod and it will give a much nicer message.

Furinex 02-22-2025 01:17 PM

Is this still around? Cant find a working link :\


All times are GMT -4. The time now is 02:54 PM.

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