I HAVE SOLVED RMVX VARIABLES!
Posts
Pages:
1
I'm not sure yet if anyone's cracked this case yet, but if you've been having the following problems in RMVX:
I have your solution. Again, I could be late to the scene and be the 47th person to do this, but I'm just posting this if this is anything new. Either way, someone on the EB team really dropped the ball here. If I'm indeed somehow the first to this fix, maybe they could give me a free code since I'm still in trial.. not really counting on that though lol.
Copy and paste over the entire Control Variables section under Game Interpreter:
- Extracting number of items OR any actor's statistics
- Multiplying a variable (e.g. 137 times 14) only to end up with your operand as the answer
I have your solution. Again, I could be late to the scene and be the 47th person to do this, but I'm just posting this if this is anything new. Either way, someone on the EB team really dropped the ball here. If I'm indeed somehow the first to this fix, maybe they could give me a free code since I'm still in trial.. not really counting on that though lol.
Copy and paste over the entire Control Variables section under Game Interpreter:
#--------------------------------------------------------------------------
# * Control Variables
#--------------------------------------------------------------------------
def command_122
value = 0
case @params[3] # Operand
when 0 # Constant
value = @params[4]
when 1 # Variable
value = $game_variables[@params[4]]
when 2 # Random
value = @params[4] + rand(@params[5] - @params[4] + 1)
when 3 # Item
value = $game_party.item_number($data_items[@params[4]])
# changed stuff from here...
when 4 # Actor
actor = $game_party.members[@params[4] - 1]
if actor != nil
case @params[5]
when 0 # Level
value = actor.level
when 1 # Experience
value = actor.exp
when 2 # HP
value = actor.hp
when 3 # MP
value = actor.mp
when 4 # Maximum HP
value = actor.maxhp
when 5 # Maximum MP
value = actor.maxmp
when 6 # Attack
value = actor.atk
when 7 # Defense
value = actor.def
when 8 # Spirit
value = actor.spi
when 9 # Agility
value = actor.agi
end
end
# ...to here
when 5 # Enemy
enemy = $game_troop.members[@params[4]]
if enemy != nil
case @params[5]
when 0 # HP
value = enemy.hp
when 1 # MP
value = enemy.mp
when 2 # Maximum HP
value = enemy.maxhp
when 3 # Maximum MP
value = enemy.maxmp
when 4 # Attack
value = enemy.atk
when 5 # Defense
value = enemy.def
when 6 # Spirit
value = enemy.spi
when 7 # Agility
value = enemy.agi
end
end
when 6 # Character
character = get_character(@params[4])
if character != nil
case @params[5]
when 0 # x-coordinate
value = character.x
when 1 # y-coordinate
value = character.y
when 2 # direction
value = character.direction
when 3 # screen x-coordinate
value = character.screen_x
when 4 # screen y-coordinate
value = character.screen_y
end
end
when 7 # Other
case @params[4]
when 0 # map ID
value = $game_map.map_id
when 1 # number of party members
value = $game_party.members.size
when 2 # gold
value = $game_party.gold
when 3 # steps
value = $game_party.steps
when 4 # play time
value = Graphics.frame_count / Graphics.frame_rate
when 5 # timer
value = $game_system.timer / Graphics.frame_rate
when 6 # save count
value = $game_system.save_count
end
end
for i in @params[0] .. @params[1] # Batch control
case @params[2] # Operation
when 0 # Set
$game_variables[i] = value
when 1 # Add
$game_variables[i] += value
when 2 # Sub
$game_variables[i] -= value
when 3 # Mul
$game_variables[i] *= value
when 4 # Div
$game_variables[i] /= value if value != 0
when 5 # Mod
$game_variables[i] %= value if value != 0
end
if $game_variables[i] > 99999999 # Maximum limit check
$game_variables[i] = 99999999
end
if $game_variables[i] < -99999999 # Minimum limit check
$game_variables[i] = -99999999
end
end
$game_map.need_refresh = true
return true
end
Replying to my own post, I know, and this is weird.
I compared my code to the one posted previously in another topic.
It seems I have but ONE variation to that bit of code, and it somehow doesn't seem like it would be in a spot to influence much (actors index), but yet when I try that other block of code, my variables turn to 1's and 0's, and with mine, my variables are not only unchanged otherwise, but actually operate as they should.
WEIRD.
I compared my code to the one posted previously in another topic.
It seems I have but ONE variation to that bit of code, and it somehow doesn't seem like it would be in a spot to influence much (actors index), but yet when I try that other block of code, my variables turn to 1's and 0's, and with mine, my variables are not only unchanged otherwise, but actually operate as they should.
WEIRD.
Bit of a necrobump, but holy crap thank you. GRS's script outright broke my game, but after implementing this and double-checking the math, it works. Thanks.
:D No problem. But yeah I had the same issue with that script - don't really know how the coding in this one works so differently from that other one, as it is nearly identical all said and done, but by golly, it does work.
That's weird. This script doesn't work for me (getting the first actor's anything returns zero) but mine does with the same test. Maybe different versions of RMVX are causing this problem? I've got v1.02
Pretty sure I'm using 1.02 as well. That's odd for such a small difference make it totally bug the game for some people but work fine for others. It seems only one of the scripts works per person.
The chances of that must be one in a billion.
The chances of that must be one in a billion.
Yeah I've noticed the same - how GRS's script worked fine for him and some others, but screwed up stuff for us; and likewise for my script and his. But yeah my version is 1.02 as well.. very odd but I guess at least we have two scripts out for now so if one script doesn't work for someone, the other one may.
There might be conflicts between people using the real version versus the pirated version. The popular pirated version is a translated Japanese one.
Just found this error right now.. right after Case 4 up top, the line for getting the actor should be:
actor = $game_actors[@params]
I found that the fix I had worked properly until I tried to do variables involving a fifth party member (not five in the party at a time, but someone outside of the first four members).
Yay, another thing Enterbrain got wrong.
actor = $game_actors[@params]
I found that the fix I had worked properly until I tried to do variables involving a fifth party member (not five in the party at a time, but someone outside of the first four members).
Yay, another thing Enterbrain got wrong.
Pages:
1