• The Eevee Expo Game Jam #10 has concluded, congratulations to all participants! Now it's time for the judges to play through the games, and you can play along to vote who deserves the community choice spotlight.
    You can check out the submitted games here!
    Play through the games and provide some feedback to the devs while you're at it!
  • Hi, Guest!
    Some images might be missing as we move away from using embedded images, sorry for the mess!
    From now on, you'll be required to use a third party to host images. You can learn how to add images here, and if your thread is missing images you can request them here.
    Do not use Discord to host any images you post, these links expire quickly!
Resource icon

Resource Essentials Deluxe [v20.1] [DEPRECATED] v1.2.8

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
Thanks for looking into it so quickly!

Thanks for clarifying the :ignore key as well - so I currently only have the small issue that the Aqua Ring Effect always triggers, even when my opponent fainted (my current script is not using the :ignore key); that's basically just an inconvenience and a visual glitch (the trainer slides in, trying to give their fainted Pokémon Aqua Ring haha :) ), but how could I get around that? I could set up the Aqua Ring Effect for each Pokémon separately maybe? However, looking at the tutorial, I think the Damage Check Triggers (damageTaken/halfHP etc.) cannot be set up for one particular Pokémon (like "damageTakenSQUIRTLE"), or can they?
Not currently, but that can be easily added in.
 

A¹¹

Novice
Member
Joined
Oct 24, 2021
Posts
44
Ok so first of, any apologies if this is any unsolvable or dumb problem.

A thing I noticed is that for testing I used the DEMO_ROTOM one and it always crashed, then I went to the PokéCommunity thread and saw that since it was a NilClass error code it meant that there was something missing as usual so I tested with a clean new copy of Essentials 20.1, a clean new copy of Essentials Deluxe and a clean new copy of the v20.1 Hotfixes and it gave me the same error even though it should be impossible for something to even happen wrong in this case.

Do you have any idea of how could this even theoretically happen?
1677452190643.png
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
Ok so first of, any apologies if this is any unsolvable or dumb problem.

A thing I noticed is that for testing I used the DEMO_ROTOM one and it always crashed, then I went to the PokéCommunity thread and saw that since it was a NilClass error code it meant that there was something missing as usual so I tested with a clean new copy of Essentials 20.1, a clean new copy of Essentials Deluxe and a clean new copy of the v20.1 Hotfixes and it gave me the same error even though it should be impossible for something to even happen wrong in this case.

Do you have any idea of how could this even theoretically happen?
View attachment 16070
There's a bunch of tiny bugs and inconsisties in v1.2.2 right now, and I haven't really looked at any of the original demo examples since i first released the plugin, so its no surprise to me that there would be bugs.

The upcoming v1.2.3 that I plan on releasing soon ia gonna be a huge update, and gives a much needed facelift to the midbattle speech, and fixes like a dozen different bugs and issues. So im sure whatever bug this is has already been addressed.
 

KRLW890

The Beast
Member
Joined
Oct 11, 2022
Posts
61
There's a bunch of tiny bugs and inconsisties in v1.2.2 right now, and I haven't really looked at any of the original demo examples since i first released the plugin, so its no surprise to me that there would be bugs.

The upcoming v1.2.3 that I plan on releasing soon ia gonna be a huge update, and gives a much needed facelift to the midbattle speech, and fixes like a dozen different bugs and issues. So im sure whatever bug this is has already been addressed.
Is there an estimated date for v1.2.3? Planning to release a patch to my game early March, but if Deluxe is going to be updating really soon, I might want to delay my patch so that it can include the new version.
Thanks for all your hard work!
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
Is there an estimated date for v1.2.3? Planning to release a patch to my game early March, but if Deluxe is going to be updating really soon, I might want to delay my patch so that it can include the new version.
Thanks for all your hard work!
Its been done for a while, its just a matter of typing up all the documentation for the tutorial, which is somehow 10× more work than the code.
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
Lucidious89 updated Essentials Deluxe [v20.1] with a new update entry:

v1.2.3 Update

NOTE: This update heavily overhauls many of the previous systems used in this plugin. Even if you are well versed in how to use it, It's highly recommended that you go through the tutorial again to get a handle on what's been changed and/or added.

Midbattle Triggers
I've overhauled and renamed a ton of the existing midbattle triggers. I know this'll be annoying for those of you who have a lot of...

Read the rest of this update entry...
 

OkunoShio

Cooltrainer
Member
Joined
Oct 22, 2022
Posts
128
After I hesitated a few days to update and fix all my scripts again, I finally did it yesterday - thanks for all the improvements! I love the random percent option, and "delay" seems to work just fine now! Also, adding some more functionality to other triggers is nice! However, my Aqua Ring example still has the small issue of triggering after the Pokémon is fainted; here is the new script:

"defenderDamagedPELIPPER_foe" => {
:delay => ["defenderHPHalf_foe", "defenderHPLow_foe"],
:ignore => "faintedPELIPPER_foe",
:speech => "{1}, let the water protect you!",
:effects => [ [PBEffects::AquaRing, true] ]
},

I think the problem is that "faintedPELIPPER_foe" is only checked after the script has been executed, meaning while it is executing, Pelipper is still alive and therefore the script is not ignored, correct? If so, is there a way of getting around this?

Furthermore, is there a way to have the capture rate of a wild encounter at 0% at first (this is done with ":nocapture" or ":setcapture => false", and increase for example after a certain amount of rounds? I could not find the respective Values for that.
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
After I hesitated a few days to update and fix all my scripts again, I finally did it yesterday - thanks for all the improvements! I love the random percent option, and "delay" seems to work just fine now! Also, adding some more functionality to other triggers is nice! However, my Aqua Ring example still has the small issue of triggering after the Pokémon is fainted; here is the new script:

"defenderDamagedPELIPPER_foe" => {
:delay => ["defenderHPHalf_foe", "defenderHPLow_foe"],
:ignore => "faintedPELIPPER_foe",
:speech => "{1}, let the water protect you!",
:effects => [ [PBEffects::AquaRing, true] ]
},

I think the problem is that "faintedPELIPPER_foe" is only checked after the script has been executed, meaning while it is executing, Pelipper is still alive and therefore the script is not ignored, correct? If so, is there a way of getting around this?

Furthermore, is there a way to have the capture rate of a wild encounter at 0% at first (this is done with ":nocapture" or ":setcapture => false", and increase for example after a certain amount of rounds? I could not find the respective Values for that.


I feel like you're overcomplicating this. I don't get why you don't just use this to begin with:
Code:
Expand Collapse Copy
"defenderHPHalfPELIPPER_foe" => {
  :speech => "{1}, let the water protect you!",
  :effects => [ [PBEffects::AquaRing, true] ]
}
This will trigger when the opponent's Pelipper reaches half HP or less. I don't see the need to even use the delay/ignore triggers here at all, unless I'm just not getting what you're trying to do.

But yeah, you're right as far as "faintedPELIPPER_foe" not registering because it hasn't happened yet. Everything that is happening within the "defenderDamagedPELIPPER_foe" hash is running immediately after registering that damage has been dealt to Pelipper. The calculation for checking if anything has fainted yet hasn't even occurred yet while everything in this trigger is being ran through. Which obviously means "faintedPELIPPER_foe" hasn't triggered yet, which means the ignore function wouldn't trigger.

As far as capture rates, no, you can't alter them. You can just permanently set Poke Balls to always work, always fail, or disable them from being used entirely for the duration of this battle. I could see myself adding a feature to toggle Poke Ball availability mid-battle (this is something I've already implemented in the Terastal Phenomenon plugin for capturing wild Tera mons). However, I don't see myself adding a feature to alter capture rates, because that honestly just seems too niche for the amount of work involved.
 

Zephyrias

Novice
Member
Joined
Mar 6, 2023
Posts
19
I get this error which it looks to be coming from Essentials Deluxe plugin. It states it compatible with the BW Item storage and Bag with Interactable party screen.

[Pokémon Essentials version 20.1]
[v20.1 Hotfixes 1.0.7]

Script error in event 3 (coords 11,1), map 9 (Cedolan City)
Exception: ArgumentError
Message: wrong number of arguments (given 2, expected 1)

***Full script:
pbPokeCenterPC

Backtrace:
[BW Storage System] BW ItemStorage.rb:74:in `pbStartScene'
[Essentials Deluxe] Interactable Bag Screen.rb:408:in `pbWithdrawItemScreen'
297:UI_PC:27:in `block (2 levels) in pbPCItemStorage'
082:MessageConfig:570:in `pbFadeOutIn'
297:UI_PC:24:in `block in pbPCItemStorage'
297:UI_PC:6:in `loop'
297:UI_PC:6:in `pbPCItemStorage'
297:UI_PC:124:in `block in pbTrainerPCMenu'
297:UI_PC:118:in `loop'
297:UI_PC:118:in `pbTrainerPCMenu'

Update: I was able to fix it by adding the (bag, party) in the 74 of BW ItemStorage plugin.rb. In addition to doing that in step 2 for the Interactable Bag Plugin. It needed to be added in the BW Item one as well.
 
Last edited:

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
Does :speech still default to your opponent (with their sprite sliding in and everything)? Since when I used it after the new update, I become the one saying my rival's lines?
It defaults to whoever owns the Pokemon who activated the specific trigger.
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
View attachment 16318View attachment 16319Did I format something wrong? The black bars show up but the error appears before the trainer sprite loads in.
The code is fine, I'm guessing the issue is that you've deleted and/or renamed the default Essentials window skins, so the name display is crashing whenever speech tries to load because the window skin doesn't exist.

For reference, the default window skin that name boxes use is whatever is defined in MENU_WINDOWSKINS in Essentials' Settings script. Specifically, the default window skin uses whatever is defined as the first entry in this array (a skin named "choice 1" by default), female speakers default to whatever the third entry is defined as in this array (a skin named "choice 3" by default), and male speakers default to whatever the fifth entry is defined as in this array (a skin named "choice 5" by default).
 
Last edited:

RegalSword

Pokemon Itinerant Developer
Member
Joined
Feb 13, 2021
Posts
521
The code is fine, I'm guessing the issue is that you've deleted and/or renamed the default Essentials window skins, so the name display is crashing whenever speech tries to load because the window skin doesn't exist. For reference, the default window skin that name boxes use is whatever is defined in MENU_WINDOWSKINS in Essentials' Settings script. Specifically, the default window skin uses whatever is defined as the first entry in this array (a skin named "choice 1" by default), female speakers default to whatever the third entry is defined as in this array (a skin named "choice 3" by default), and male speakers default to whatever the fifth entry is defined as in this array (a skin named "choice 5" by default).
Is there a way to force all three to default to whatever windowskin I have defined in MENU_WINDOWSKINS?
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
Is there a way to force all three to default to whatever windowskin I have defined in MENU_WINDOWSKINS?
Well, like I said, it already defaults to skins 1, 3, and 5 that are set in that array (based on gender). So as long as there are valid names to window skins in those positions in that array, itll work fine. Did you just remove everything that was set in there?
 

RegalSword

Pokemon Itinerant Developer
Member
Joined
Feb 13, 2021
Posts
521
Well, like I said, it already defaults to skins 1, 3, and 5 that are set in that array (based on gender). So as long as there are valid names to window skins in those positions in that array, itll work fine. Did you just remove everything that was set in there?
I only have one windowskin, named "choice".
 

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,185
I only have one windowskin, named "choice".
Ok, then you must have deleted all of your window skins i guess. An easy fix would just be to duplicate the same window skin in that array 5 times to resolve the error. All your speakers will default to the same window skin though, but itll work at least.
 

RegalSword

Pokemon Itinerant Developer
Member
Joined
Feb 13, 2021
Posts
521
Ok, then you must have deleted all of your window skins i guess. An easy fix would just be to duplicate the same window skin in that array 5 times to resolve the error. All your speakers will default to the same window skin though, but itll work at least.
I changed line 266 in Battle_Scene.rb to always call the windowskin named "choice". Problem solved!
 

llk

Novice
Member
Joined
Oct 4, 2022
Posts
14
When I first started using this plugin, I could still display information on the "FORMS" interface. I don't know if I changed something to make it not displayed. Then I output the ret of the pbGetAvailableForms function in Essentials Deluxe \[000] Essentials Patches \Pokedex.rb in Debug Output and got the following results
======================================
[["雄性", 0, 0, false, false], ["雌性", 1, 0, false, false], ["超级喷火龙 X 雄性", 0, 1, false, false], ["超级喷火龙 X 雌性", 1, 1, false, false], ["超级喷火龙 Y 雄性", 0, 2, false, false], ["超级喷火龙 Y 雌性", 1, 2, false, false]]
======================================
======================================
[["雄性", 0, 0, false, false], ["雌性", 1, 0, false, false]]
======================================
======================================
[["雄性", 0, 0, false, false], ["雌性", 1, 0, false, false]]
======================================
======================================
[["雄性", 0, 0, false, false], ["雌性", 1, 0, false, false], ["超级喷火龙 X 雄性", 0, 1, false, false], ["超级喷火龙 X 雌性", 1, 1, false, false], ["超级喷火龙 Y 雄性", 0, 2, false, false], ["超级喷火龙 Y 雌性", 1, 2, false, false]]
======================================
So it just doesn't show. Is there any way to solve it? I just changed the language text in the code to Chinese.Maybe it's related to the picture that I use gif as pokemon?
 

llk

Novice
Member
Joined
Oct 4, 2022
Posts
14
1678466108341.png

When I first started using this plugin, I could still display information on the "FORMS" interface. I don't know if I changed something to make it not displayed. Then I output the ret of the pbGetAvailableForms function in Essentials Deluxe \[000] Essentials Patches \Pokedex.rb in Debug Output and got the following results
======================================
[["雄性", 0, 0, false, false], ["雌性", 1, 0, false, false], ["超级喷火龙 X 雄性", 0, 1, false, false], ["超级喷火龙 X 雌性", 1, 1, false, false], ["超级喷火龙 Y 雄性", 0, 2, false, false], ["超级喷火龙 Y 雌性", 1, 2, false, false]]
======================================
======================================
[["雄性", 0, 0, false, false], ["雌性", 1, 0, false, false]]
======================================
======================================
[["雄性", 0, 0, false, false], ["雌性", 1, 0, false, false]]
======================================
======================================
[["雄性", 0, 0, false, false], ["雌性", 1, 0, false, false], ["超级喷火龙 X 雄性", 0, 1, false, false], ["超级喷火龙 X 雌性", 1, 1, false, false], ["超级喷火龙 Y 雄性", 0, 2, false, false], ["超级喷火龙 Y 雌性", 1, 2, false, false]]
======================================
So it just doesn't show. Is there any way to solve it? I just changed the language text in the code to Chinese.Maybe it's related to the picture that I use gif as pokemon?
such like this
 
Back
Top