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)

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


All times are GMT -4. The time now is 05:47 PM.

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