RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
A problem with RPGMVXA

0 Members and 1 Guest are viewing this topic.

**
Rep: +0/-0Level 55
RMRK Junior
Hello there, I didn't know where to post this, so I thought this was the place which best fit, if I did wrong please notify me or move it wherever it should be.

I'm trying to do a skill in RPGMVXA but I don't know how to. May be I need an script or something, or it's just that I'm to unskilled.
What I want my skill to do is simple, it's an attack (with a TP cost asociated) which, apart from doing some damage, I want it to reduce phisical defense of the victim a fixed amount, for example 25, and I want it to be cumulative, so if I use it three times the enemy will have 75 less defense for the rest of the battle than in the beggining. The problem is that RPGMVXA only let me change enemy attributes by percentages or debuffing, which is still a percentage...

Optionally I'd like some enemies to be resistant to this mechanic, but this is not reallly necesary, can I do this without scripting? If not, should I ask for an script in the script section?

-----------------

Hola, no sabía muy bien donde postear esto así que pensé que este era el lugar más adecuado, si me he equivocado, por favor, avisadme o moverlo al lugar que corresponda.

Quiero diseñar una habilidad en RPGMVXA que haga lo siguiente: Un ataque que, aparte de hacer algo de daño, reduzca de forma permanente y costante la defensa física del enemigo que lo recibe, así, si por ejemplo el ataque reduce la defensa en 25, usarlo tres veces haría, durante el resto de la batalla que el enemigo tuviero 75 puntos menos de defensa que al principio. El problema es que el RPGMVXA sólo me deja modificar los atributos en porcentajes.

Opcionalmente me gustaría que algunos enemigos pudieran ser resistentes a esta mecánica, pero eso no esrealmente necesario. ¿Puedo hacer esto sin recurrir a scripts? Si no, ¿Debo pedir un script en la sección de scripts?

***
Rep:
Level 77
RMRK Junior
This can help. Also, enemies can have debuff rates, just not buff rates.

**
Rep: +0/-0Level 55
RMRK Junior
Thank you very much, I think I can do it with that script ^^

**
Rep: +0/-0Level 55
RMRK Junior
Hello again, I'm having troubles using the script you recommended me. Il show you the base code I'm modifying:

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Buff Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # These settings adjust how buffs play out in your game and the way they
    # modify a battler's stats such as the maximum times a stat can be buffed
    # and the buff boost formula. Note that these maximums apply to both buffs
    # and debuffs.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    DEFAULT_BUFF_LIMIT = 4     # Normal times you can buff a stat. Default: 2
    MAXIMUM_BUFF_LIMIT = 8     # Maximum times you can buff a stat. Default: 2
   
    # This is the formula used to apply the rate used for buffs and debuffs.
    BUFF_BOOST_FORMULA = "buff_level(param_id) * 1.25 + 1.0"
   
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Reapplying State Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # These settings adjust how the rules apply to states when they are
    # reapplied onto an actor with the state already intact. If you wish to
    # have specific states use different rules, use notetags to have them
    # adjust turns differently.
    #   0 - Ignored. Default VX setting.
    #   1 - Turns reset back to existing turns. Default VX Ace Setting.
    #   2 - Default turns added onto existing turns.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    REAPPLY_STATE_RULES = 1
   
  end # BUFF_STATE_MANAGER
end # YEA

#==============================================================================
# ? Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================

Then with the changes I made (I changed DEFAULT_BUFF_LIMIT from 4 to 100, MAXIMUN_BUFF_LIMIT from 8 to 100 but those two doesn't seem to make problems, but when I change  BUFF_BOOST_FORMULA from buff_level(param_id) * 1.25 + 1.0 to buff_level(param_id) + 25 it seems to change all the parameters of everithing by a mysterious number (an enemy with 25000 HP had in fact a new amount of 62500 Hp...):

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Buff Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # These settings adjust how buffs play out in your game and the way they
    # modify a battler's stats such as the maximum times a stat can be buffed
    # and the buff boost formula. Note that these maximums apply to both buffs
    # and debuffs.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    DEFAULT_BUFF_LIMIT = 100     # Normal times you can buff a stat. Default: 2
    MAXIMUM_BUFF_LIMIT = 100     # Maximum times you can buff a stat. Default: 2
   
    # This is the formula used to apply the rate used for buffs and debuffs.
    BUFF_BOOST_FORMULA = "buff_level(param_id) + 25"
   
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Reapplying State Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # These settings adjust how the rules apply to states when they are
    # reapplied onto an actor with the state already intact. If you wish to
    # have specific states use different rules, use notetags to have them
    # adjust turns differently.
    #   0 - Ignored. Default VX setting.
    #   1 - Turns reset back to existing turns. Default VX Ace Setting.
    #   2 - Default turns added onto existing turns.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    REAPPLY_STATE_RULES = 1
   
  end # BUFF_STATE_MANAGER
end # YEA

#==============================================================================
# ? Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================

The code for  BUFF_BOOST_FORMULA seems to be:

#==============================================================================
# ? Game_BattlerBase
#==============================================================================

class Game_BattlerBase
 
  #--------------------------------------------------------------------------
  # overwrite method: param_buff_rate
  #--------------------------------------------------------------------------
  def param_buff_rate(param_id)
    return eval(YEA::BUFF_STATE_MANAGER::BUFF_BOOST_FORMULA)
  end

But, anyway it doesn't seem to be working either, even if I let BUFF_BOOST_FORMULA to "buff_level(param_id) * 1.25 + 1.0" it doesn't seem to apply the debuff multiple times, I debuffed an enemy's 60 times having change the limit of debuffs to 100 in the script and in the notetag of the enemy and it didn't appeared any change on the damage I did to him...

The only thing that is working on my game from the script is the state and debuff timer which appears at the top of the state icons, which after all is nice, but not what I wanted.

Thank you for your time, hope i've been clear enough.