If you find a bug with any the scripts within my $D13x Engine, please leave the information on this page.

When leaving a bug report, I request that you provide the following details;

1:- Make sure you have the latest version of my scripts. (each one that you use)
2:- Tell me which scripts are getting errors AND what the errors say. (screenshots are helpful)
3:- Provide me with details of what you where doing when the error occurred,
:- also provide additional details you feel are relevant to the issue.
:- ie, details of a skill if its not working properly..


Please note: I will not provide bug fixes for any scripts outwith the $D13x Engine.

Thank you.


56 thoughts on “Bug Reports

  1. simplestchaos says:

    Ah, I was going to put this under your ATL/DFL page but then I saw this.

    If I try to use the script calls to add Attack Levels or Defense Levels to an actor, I get this error:

    Script ‘Game_Interpreter’ line 1411: NoMethodError occurred.
    undefined method ‘[]’ for nil:NilClass

    Furthermore, even your master demo seems to have very similar errors. I decided that I wanted to see if the problem occurred in your master demo and then a different but similar error occurs when you first step outside the house and try to pick up the “Cheap Sword”:

    Script ‘Game_Interpreter’ line 1411: TypeError occurred.
    can’t convert NilClass into Color

    Dunno what these issues are, but since it’s in your demo I can at least say it isn’t a compatibility issue. I didn’t change anything in your demo, just started it up to see what happens naturally and was very surprised when it started having problems immediately.

    1. simplestchaos says:

      I forgot to tell you which script call I was using.


      It isn’t just a problem in the way I input it is it? That should be “Actor 1” and “one point of Defense Level” right? The same happens with the attack level btw.


  2. Dekita-RPG says:

    People keep mentioning the can’t convert NilClass into Color bug; however, the only way I can recreate this is by removing a portion of code from my core script.
    The only way that error *would* happen would be if a weapon wasn’t given its Text Color (All equipment is given white as default text color by my core script) and then the randomized equipment scripts allow for alternate colors to be given. As you can tell by this, ALL equipment have a color as long as my core script is in the project.
    I’ve double and triple checked things and can’t figure why this is happening for some people 😦

    Also, and I feel bad that this fix is so simple, the reason that the script call you mentioned isn’t working is because there is no thing as $game_actor. Your missing an ‘s’ at the end…
    will work fine. I loaded my master demo and checked to make sure(I also checked the cheap sword which I got fine, without error) πŸ™‚

    Also, while on the subject, I think my demo could use a little re-vamp :/
    I’ve been putting it off while I finish other scripts (commissions and my ABS and equip scripts) but maybe I should just update what I can …

    Anyway, that should solve the script call issue πŸ™‚

  3. simplestchaos says:

    Oh wow, I should really try to learn more about script terminology myself, lol… Thanks for the fix on that script call, worked perfectly.

    And that’s weird about your master demo. Could it just be that some computers don’t have the color or something? O.o I know something similar happens with new fonts and you’re supposed to get people to download the font if you use some weird one, but this doesn’t even make sense with color.

    I feel like, when you can’t recreate the problem and the same is for some other people, it’s got to be the computer though. How frustrating such a glitch is!

  4. simplestchaos says:

    So, I’ve come across a weird problem? I could have sworn this worked before so I grabbed your base scripts fresh off of Pastebin, shoved them into a clean project with no scripting done in it, and I’m running into an odd problem.

    Scripts in use:
    $D13x Core script
    Elemental Control
    (I used the status screen script to make sure that the actor’s element was actually changing from the script call, but for the sake of testing I removed it to be sure it wasn’t that script)

    The problem: If I increase an actor’s attack element for water, and give them a water element skill that does exactly 100 damage with no variance and no crit, the damage stays the same. I’ve tried increasing it by 50, 100, and 200%, but I always get 100 damage.

    When I use the tag (element_ID 6 is water) (They have absolutely no other elemental resistances from any other source) and put that tag on the enemy being targeted, they still take 100 damage (It should be 200 right?)

    However, oddly enough, when I give the actor 100% attack element, and the enemy the above tag, the enemy takes 300 damage. That much seems to be acting how it should act, I suppose. If the actor has 50% attack element, and the enemy has the above tag, they take 200 damage. Again, seems to be acting right.

    However, using either of them alone just does not work and I’m not sure why. I’m hoping that it’s just something I’m doing wrong and you can correct me, heh.

  5. Dekita-RPG says:

    Thats not really a bug…

    The element control script doesnt take an item/skills element into account (funnily enough). It simply differentiates between attack and defence elements and allows for them to be distributed.

    If you are attacking something, which is not weak to an element you are attacking with (your actors stats, not the skill/item) it wouldnt increase your damage. Regardless of weather the item used is of the same element.

    It only takes effect when the target is susceptible to the element.

  6. simplestchaos says:

    Ohhhhhh, I misunderstood that then. XD I had never actually tested attack elements before, so I hadn’t noticed that. Sorry about that, sometimes I just don’t quite ‘get’ it right away.

    Ok, so then how about the defense aspect of it. If the target has a defense element rate of 200%, and the attack element is 0% is it supposed to just stay the same? And then changing attack element to 50% means that 100 damage becomes 200 damage? With what you’re saying, it seems like the attack element is doing more than it should maybe?

    Sorry for being dumb with this, it’s just that it doesn’t work the way I expected so now I’m kind of confused… XD

  7. Dekita-RPG says:

    lmao , you have also confused me.

    I will have a mess around with the elements control script shortly. Just to refresh myself with its capabilities. Its been quite a while since I had a need for an element… lol

    I’m just uploading some things here and there for a ‘small…’ update …

    1. simplestchaos says:

      I’m sorry for bothering you. XD I hadn’t realized just how much it seems to change the basic structure of elemental resistances lol. I know you’re busy so just take your time~

  8. Dekita-RPG says:

    Lol its no bother. If you have found a potential flaw in my engine I will have it rectified A.S.A.P. I am literally in the middle of uploading a few scripts and a new demo (not master demo).

    Once I have done that I will look into it πŸ™‚

  9. Dekita-RPG says:

    Ok, I am pretty sure I have thought of the perfect ‘fix’

    put the code below in the element control script at line 512

        if (item.damage.element_id != 0)
          if user.atk_elements.include(item.damage.element_id) 
            var *= (1.0 + user.atk_element_rate(i))

    so that the method looks like this…

      def item_element_rate(user, item)
        return 1.0 if user.atk_elements.empty?
        return 1.0 if item.no_ele_mod
        case Ele_Fixx::DMG_Type
        when 0 # Default Type
          var = elements_max_rate(user.atk_elements)
        when 1 # $D13x Type
          var = sD13x_element_rate(user,user.atk_elements)
        when 2 # Adding Type
          var = elements_add_rate(user.atk_elements)
        when 3 # Average Type
          var = elements_ave_rate(user.atk_elements)
        if (item.damage.element_id != 0)
          if user.atk_elements.include(item.damage.element_id) 
            var *= (1.0 + user.atk_element_rate(i))
    #    p "[ #{user.name} ] << attacker | element rate is = #{var}"
        return var

    I am positive that will do it. Well, it will basically increase the damage dealt (when using a skill/item with an element) by the percentage of the users attack element.
    E.g , 30$ fire attack makes fire skills hurt 30% more.

    Thats what you where after yea ?

    I will update the script tomorrow as I’m going to bed soon. Let me know how you get on with implementing that and if you find any faults ^_^

    It will still perform the other calculations accordingly. so if the enemy is also weak to the element, it will hurt modify the damage again πŸ™‚

    1. simplestchaos says:

      I added the code exactly like you said, but it gave me a no method error:

      “Script ‘Elemental_Control’ line 527: NoMethodError occurred.
      undefined method ‘include’ for [1]:Array”

      It happens any time I try to attack with an elemental attack against an enemy. I copy pasted it exactly the way you put it up.

      And, to answer the question, yes that was exactly what I was after. :3 I would hope the resistances work the same way but in the opposite direction, as well, and that the two stack so that:

      “30% elemental attack vs 30% resistance (70% Defense Element Rate) = regular damage”, if that makes sense.

  10. Dekita-RPG says:

    It should work that way. It can be hard to predict stat mods without precise testing, which i will conduct tomorrow.
    As for the error, that was my fault. it should be ‘include?’ rather than ‘include’ on that line. (notice the ‘?’)
    That should solve that :p

  11. simplestchaos says:

    Another error… XD

    Script ‘Elemental_control’ line 528: NameError occurred.

    undefined local variable or method ‘i’ for #

    This time it happens when I have any amount of attack element above 0%, and then try to attack. Incidentally, changing the enemy defense element does absolutely nothing. lol

    1. simplestchaos says:

      Agh darn you tag lines! D=

      After that last # it should read (Game_Enemy:0xb5cfafc) except with the less than/ greater than symbols instead of parentheses. XD

      (By the way, thought you said you were going to bed? :p)

  12. Dekita-RPG says:

    lol I should have went to bed hours ago. I’ve been making some cool icons and I’m ‘in the zone’.
    I usually dont get my icons looking so nice, but I really like how these ones have turned out.

    I will fix the script when i get home tomorrow. I WILL be going to bed after I do this… ( I feel like I keep telling myself that lol )

    1. simplestchaos says:

      Haha, I know how you feel. I’ve been there, when designing maps. I’d spend the whole day intending to work on one and get nothing done, then when I should go to bed I just end up drawing the entire thing. It’s silly, but I guess that’s just how some people work. XD

  13. simplestchaos says:

    AHHHH so I’ve been doing some more tests and I realize why I’m having issues with your script.

    Answer this question before you edit your script: Are the attack elements supposed to automatically make an ability do more damage, and defense elements are only supposed to resist attack elements?

    Does that mean you can’t have someone that has a water-only spell and then a fire-only spell at the same time? If this is the case, then I have completely misunderstood what your script is supposed to do.

  14. Dekita-RPG says:

    My script simply completely ignores and overwrites some of the normal element calculations. It then allows for atk and defense element differentiation.

    If you completely notetag everything you want elements on, it works the exact same as my attack and defense levels, except it accounts for elemental variance.

    So, if battler A has 30% Fire attack and 30% thunder attack, battler B has 85% fire def (only feels 85% of fire damage) and 95% thunder def only feel 95% of thunder element damage)…
    Battler A uses a skill that deals exactly 100 damage (within the formula box). This is how the formula would look…

        # // sets the default damage multiplication rate
        rate = 1.0
        users attack elements.each do | i | # i is the element id
          # // gets the defenders elemental defence %
          erate = element_rate(i)
          # // gets the attackers elemental attack %
          uatkr = user.atk_element_rate(i)
          # // if defenders element rate for element [ i ] is above 1.0 (1.0 = 100%)
          # // then add damage percentage onto attack
          rate += uatkr * (1.0*erate) if erate > 1.0
          # // if defenders element rate for element [ i ] is below 0.0 
          # // then remove damage percentage from attack, ie absorbed damage.
          rate -= uatkr * (1.0-erate) if erate < 0.0
        # returns the overall damage rate after all element modifications are done

    And that’s the calculation taken directly from the script and made slightly more reader friendly.

    So basically, it doesn’t take any of the default database elements into account. It overwrites them. There are alternative calculation types (ie, add, average, default etc..) that work differently, but i didnt really test those methods at all πŸ˜€

    Does that help you to understand it any better?

    I do agree that some things could be improved upon.. Like increasing skill damage if the skill is an element that the user is ‘fluent’ in.

  15. simplestchaos says:

    Ahhh, I think I understand what it is now. I thought it was something entiiiirely simpler than what you have. XD

    So, the elemental script is the Attack Level / Defense Level script, except with elements… interesting. I had thought that, for example, increasing the fire attack element on an actor = increasing the power of all their fire element skills.

    Alright! Sorry for taking up so much of your time, the way this works is actually pretty cool. I’ll see if I can find a way to use it with this information in mind! :3

  16. Dekita-RPG says:

    I still think certain improvements should be made.

    For example, if you use a fire skill and have 50% fire atk element, your attack should deal 50% more damage.

    I should also separate a skill into element percentages, for example, skill does 100 damage, 25% of which is fire damage, 45% thunder damage and 30% is earth damage. It would then perform individual calculations for each element.

    Just ideas :p

    1. simplestchaos says:

      That first thing you said is like, all I was wanting from the script in the first place. luls

      Separating a skill into different percentages of elements would make for some cool abilities I think, such as combining wind and lightning for an electric tornado, but the tornado is the bigger part of the damage. Calculating 40% electric damage and 60% wind damage against someone who is weak to lightning but resistant to wind… It’d be interesting for each part to be calculated separately. But Idk how you’d do that in your script unless you changed how it worked I guess, lol.

  17. Dekita-RPG says:

    Actually, it would be relatively simple.

    For example…

      # Get Element Modifier for Skill/Item
      def item_element_rate(user, item)
        return 1.0 if user.atk_elements.empty?
        return 1.0 if item.no_ele_mod
        case Ele_Fixx::DMG_Type
        when 0 # Default Type
          var = elements_max_rate(user.atk_elements)
        when 1 # $D13x Type
          var = sD13x_element_rate(user,user.atk_elements, item)
        when 2 # Adding Type
          var = elements_add_rate(user.atk_elements)
        when 3 # Average Type
          var = elements_ave_rate(user.atk_elements)
    #    p "[ #{user.name} ] << attacker | element rate is = #{var}"
        return var
      # Elements Max Rate (For Reference)
    #  def elements_max_rate(elements)
    #    elements.inject([0.0]) {|r, i| r.push(element_rate(i)) }.max
    #  end
      # $D13x Element Rate
      def sD13x_element_rate(user,elements,item)
        rate = 1.0
        all_eles = elements.clone << item.damage.element_id
        all_eles.each do |i|
          erate  = element_rate(i)
          uatkr  = user.atk_element_rate(i)
          rate  += uatkr * (1.0*erate) if erate > 1.0
          rate  -= uatkr * (1.0-erate) if erate < 0.0

    Replacing those two methods, around line 500 of the script would add the items element into the formula.

    I am just finishing some icons (for skills) and then I will start updating the script…
    I’m getting sick of pixels now…

  18. Dekita-RPG says:

    Ok, so I updated the element control script to work slightly differently (if using calculation type 1 – $D13x type)

    Now, if you are attacking with a fire skill, your fire damage will increase by a percentage value of your attack element.

    You can also set it so that all damage is modified by elements and if using a skill of an element you have attack element for, you will deal double the value of your attack element damage.

    Sounds very confusing, its fixed the way you wanted now though πŸ™‚
    And really, it should have done that from the start :p

  19. MikeB says:

    I had a project that was running with your Core and Stat control scripts with the old 2.1 core.
    It worked fine with that, but when I changed to the 2.5 core I started getting an error in the stat control script….it said:

    line 340 name error occurred
    undefined method ‘load_unique_shit’ for class ‘RPG::BaseItem’

  20. simplestchaos says:

    Hey Dekita, you probably already know but in case you don’t, you’ll have to update the Attack/Defense Level script as well. :3

    When I go to the status page in your distribution script that has ATL/DFL on it, I get this error:

    Script ‘$D13x_Core’ line 1519: NameError occurred.

    uninitialized constant Vocanicon::Def_Level

    I’m guessing it just isn’t updated to match with the new setup since there’s no way to define the color of the text currently, or the icon. I’ve been updating all the scripts today because I was a few versions behind (which you noticed when I falsely recorded an error earlier LOL sorry about that btw) so I’m pretty sure I have everything as up to date as I can. Hopefully this one is correct. XD

      1. simplestchaos says:

        Sweetsauce, good stuff. It looks like the primary goal of the new way you’re setting them all up is to improve organization? I like it, even if I have to redo a lot of things. lol

        Btw, you still haven’t updated the param formulas I think? So the error when attacking with normal element is still there. Just reminding you. :3

  21. Dekita-RPG says:

    Yea I changed it because I was getting annoyed with defining the same things over and over, for like, font color and icons and such. The new way keeps all the data in one place – for easy changing of names and icons.

    Also, I updated the stat formula script just now.

    Furthermore, I will be uploading a new Master Demo and releasing some new scripts tomorrow. I am just finalizing some crap for the demo.

    1. simplestchaos says:

      Awesome! πŸ˜€ Thank you so much for all your hard work. I’ll check out your demo when you have it up! :3

      And yeah, I agree with your point. Things will be much more efficient this way. Can’t wait to see what you have in store~

  22. Dekita-RPG says:

    I have some new stuff, but no ABS yet. I removed it for now as I am not fully satisfied with the way my characters look when battling.
    That should’nt be too much longer though…

  23. icecluster92 says:

    I know you must be really busy with all your new projects (which are great imo), so I’m sorry to bother you again, but I think I’ve found a major bug with your skill upgrade script.

    Everything works fine, as long as you try to learn new skills, but when it comes to leveling them up, the problem occurs:
    Everytime I try to purchase Level 2 of a skill, it checks the requirements and consumes the costs (SP, Gold, etc) if possible, but doesn’t upgrade the skill, even though the message “Skil XY Lv2 has been learned” appears. The skill always stays on Lv1.

    First I thought, I did something wrong with how I set up the scripts, but then I tried it in your Master Demo and the same problem occured.
    I’m using the newest versions of all required scripts in my project.

    Btw: Are you still doing the Item Popup fix?

  24. simplestchaos says:

    D13 Core v2.7
    Status Scene 1.5

    If you try to access the Status screen you get an error. These are COMPLETELY unedited versions of these two scripts, put into a clean project on my computer with no other scripts whatsoever. I don’t know exactly what happened here. The exact same error on the exact same line was occuring on my (much more heavily edited) personal project when I tried entering the ISPDS Distribution screen. I’m not including that currently because mine is outdated oops.

    The popup: http://i.imgur.com/3aFlJce.png

  25. John Joe Johnson says:

    I’m getting an error on line 1440 of the core script (v2.7) when I open the Stat distribution page (v1.5). I tested the scripts on a blank
    project, but I am getting the same error. “Can’t convert NilClass into color”.
    Thanks for your help.

    1. John Joe Johnson says:

      I tried the demo, and it works fine in there, but when I copy paste the scripts for the Stat Distribution (Core, Statistic Control, Stat Distribution) in the
      right order in a blank project, I get the same error. Could it be that it requires another one of your scripts that you forgot to mention?

      Thanks and sorry for bothering you.

  26. AeghtyAteKees says:

    Small quirky thing about your animated map name script for VXA: If you end the game, but go “to title” rather than “shutdown”, the map name will not display when you load a save.

    1. AeghtyAteKees says:

      Oops. I apologize for asking. I just realized you asked us not to post bugs about scripts outside $D13x. Sorry! >.>

  27. Lucas says:

    Dekita me ajuda por favor, em seu excelente script de atualização de equipamentos (+1,+2,+3…+12) ocorreu um bug. Esse script ”Refine Script” (Perfect Equip Refine System v0.9) anula a retirada de algum equipamento pelo comando de evento, poderia arrumar esse bug.
    PS: Sou brasileiro e um grande fΓ£ de seu trabalho. Parabens πŸ™‚ πŸ™‚ πŸ™‚

    1. knighteen says:

      tambΓ©m to tendo o memo bug
      mas ele atualizo o script
      Γ© so baixa novament q nem eu vo faze
      PS fala ingles
      also having same problem
      but hes updated it
      download again. also im also doin dat same
      PS english plz

    2. knighteen says:

      trans of lucas comment
      Dekita help me plz. ur exclent equipps atualiz (1+,2+,3+… 12+)s bugged. The script’Refine script'(Perfect Equip Refine System 0.9) nulls removal of equips by eventing; could u fix? πŸ™‚
      PS: i am brazilian and im #1 fan of you work πŸ™‚ congratulations. πŸ™‚

  28. RPG Maker Fan says:

    hi dekita, i have a problem regarding the D13x – Proficiency (Skill) script for RMVXA. so i put the script below D13x – Statictic control. the Elemental proficiency works fine, but there is problem with Weapon proficiency. whenever i create a skill with notetag somehow it increase all kind of output damage (from weapon, elemental, including Healing skill). in example:
    mean: increase weapon ID 1 by 10%.
    and it increase the output damage of all skill including elemental magic and healing.
    i even use the D13x – Core Script in fresh project, but the problem still persist.

    – D13x – Core (v2.7)
    – D13x – Statistic Control (v1.8)
    – D13x – Proficiency Skill (v1.1)

    thank in advance.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s