Blizz-ABS Bug and Suggestion Compilation

Started by winkio, April 21, 2010, 03:40:33 am

Previous topic - Next topic

winkio

The first one, I'm not quite sure on, but it may have to do with wait_for_movement.  What exactly does that do?

The second one is something I have to fix, and hopefully, it will be fixed soon.

fjurio

December 14, 2010, 11:33:16 am #301 Last Edit: December 14, 2010, 11:34:34 am by fjurio
Quote from: winkio on December 13, 2010, 03:09:33 pm
The first one, I'm not quite sure on, but it may have to do with wait_for_movement.  What exactly does that do?

The second one is something I have to fix, and hopefully, it will be fixed soon.


I use the command 355 fix by Zeriab (http://forum.chaos-project.com/index.php/topic,5336.0.html) in the following order:
Spoiler: ShowHide
class Interpreter
 SCRIPT_WAIT_RESULTS = [:wait, FalseClass]
 #--------------------------------------------------------------------------
 # * Script
 #--------------------------------------------------------------------------
 def command_355
   # Set first line to script
   script = @list[@index].parameters[0] + "\n"
   # Store index in case we need to wait.
   current_index = @index
   # Loop
   loop do
     # If next event command is second line of script or after
     if @list[@index+1].code == 655
       # Add second line or after to script
       script += @list[@index+1].parameters[0] + "\n"
     # If event command is not second line or after
     else
       # Abort loop
       break
     end
     # Advance index
     @index += 1
   end
   # Evaluation
   result = eval(script)
   # If return value is false
   if SCRIPT_WAIT_RESULTS.include?(result)
     # Set index back (If multi-line script call)
     @index = current_index
     # End and wait
     return false
   end
   # Continue
   return true
 end
end

Spoiler: ShowHide
class Game_Character
 ##
 # Returns :wait while the character is moving and
 # returns nil otherwise
 #
 def wait_for_movement
   if @move_route_forcing
     return :wait
   end
 end
end

Spoiler: ShowHide
class Interpreter
 ##
 # Wait for movement where: (Nothing will happen in combat)
 # id < 0: Current event (if there is one)
 # id = 0: Player
 # id > 0: Event with that id (if there is one)
 #
 def wait_for_movement(id = -1)
   # If in battle
   return if $game_temp.in_battle
   # Get actor
   actor = nil
   if id < 0 && @event_id > 0
     actor = $game_map.events[@event_id]
   elsif id == 0
     actor = $game_player
   else
     actor = $game_map.events[id]
   end
   # Wait for actor's movement
   unless actor.nil?
     actor.wait_for_movement
   end
 end
 ##
 # Wait for player's movement
 #
 def wait_for_players_movement
   wait_for_movement(0)
 end
end

#   $game_player.wait_for_movement
#   wait_for_players_movement # Wait for the player to finish movement
#   wait_for_movement # Wait for this event to finish movement
#   wait_for_movement(0) # Wait for player to finish movement
#   wait_for_movement(12) # Wait for event 12 to finish movement


They´re placed after Scene_Debug but before BABS.

Hope this will help. If you need other information just tell me.

LiTTleDRAgo

December 27, 2010, 09:00:31 am #302 Last Edit: January 02, 2011, 08:34:52 pm by LiTTleDRAgo
I got a problem
sometimes when I add a party member,
they got stuck like this
Spoiler: ShowHide


is this bug on caterpillar?

winkio


megaman30796

i have a problem on the part that decreases animation size by 50%......it suddenly won't work! Well It Worked B4 the it didnt work the next day!
"You know the world is going crazy," Chris Rock declared in 2003, "when the best rapper [Eminem] is a white guy, the best golfer [Tiger Woods] is a black guy, the tallest guy in the NBA [Yao Ming] is Chinese, the Swiss hold the America's Cup, France is accusing the U.S. of arrogance, Germany doesn't want to go to war, and the three most powerful men in America are named 'Bush,' 'Dick,' and 'Colon.' Need I say more?"

ForeverZer0

And why might you have changed in those mysterious 24 hours?
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

megaman30796

what r u talking about?.....i didn't do anything 2 the script or anything b'coz i dont know RGSS Scripting
"You know the world is going crazy," Chris Rock declared in 2003, "when the best rapper [Eminem] is a white guy, the best golfer [Tiger Woods] is a black guy, the tallest guy in the NBA [Yao Ming] is Chinese, the Swiss hold the America's Cup, France is accusing the U.S. of arrogance, Germany doesn't want to go to war, and the three most powerful men in America are named 'Bush,' 'Dick,' and 'Colon.' Need I say more?"

ForeverZer0

Did you add any scripts?
Did you change any script orders around?
Did you change events around?

Something changed. It is not going to run perfect, then suddenly not without some type of change, though the change could seem unrelated. This is how you track bugs down.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

[Luke]

About sizing down the animations:

Blizz-ABS calls the sizing down method in Scene_Title. RMX-OS doesn't use it, it calls Scene_Servers instead.

So, I'm 99% sure you have added RMX-OS script. Here's an addon for Blizz-ABS Plugin for RMX-OS, I had the same problem.
#==============================================================================
# Scene_Servers
#------------------------------------------------------------------------------
#  This class was enhanced to size down the animations upon loading.
#==============================================================================

class Scene_Servers
 
  #----------------------------------------------------------------------------
  # override main
  #----------------------------------------------------------------------------
  alias main_blizzabs_later main
  def main
    # call original method
    main_blizzabs_later
    # if SMALL_ANIMATIONS is turned on and scene exists
    if BlizzABS::Config::SMALL_ANIMATIONS && $scene != nil
      # size down animations
      $BlizzABS.util.animations_size_down
    end
  end
end

Tada! ;)

megaman30796

now i have another problem that says this whenever i open the game :???:

Script 'BABS2' line 2152: NameError occured
uninitialized constant BlizzABS::Processor::Map_Actor

if youre not sure about this check out this link

http://www.mediafire.com/download.php?ix27ku3ssps7uh4
"You know the world is going crazy," Chris Rock declared in 2003, "when the best rapper [Eminem] is a white guy, the best golfer [Tiger Woods] is a black guy, the tallest guy in the NBA [Yao Ming] is Chinese, the Swiss hold the America's Cup, France is accusing the U.S. of arrogance, Germany doesn't want to go to war, and the three most powerful men in America are named 'Bush,' 'Dick,' and 'Colon.' Need I say more?"

LiTTleDRAgo

I got this error after using beam skill to finish off boss battle


at line
Spoiler: ShowHide


The Niche

Duuuuuuude...so many scripts. Side view and ABS? Why? But I'd say that that is probably causing problems. Maybe not your current one, but still.
Level me down, I'm trying to become the anti-blizz!
Quote from: winkio on June 15, 2011, 07:30:23 pm
Ah, excellent.  You liked my amusing sideshow, yes?  I'm just a simple fool, my wit entertains the wise, and my wisdom fools the fools.



I'm like the bible, widely hated and beautifully quotable.

Dropbox is this way, not any other way!

LiTTleDRAgo

Quote from: The Niche on December 31, 2010, 06:37:07 am
Duuuuuuude...so many scripts. Side view and ABS? Why? But I'd say that that is probably causing problems. Maybe not your current one, but still.



ah nevermind, this is my own mistake in script call  :^_^':

because of this: ShowHide



I have total 45 script in my script editor and all work fine (including mode7 and rgss2 cross platform) :haha:
about sideview... i forgot to remove it

winkio

January 05, 2011, 06:19:49 pm #313 Last Edit: January 06, 2011, 01:50:41 pm by winkio
In an interesting turn of events, I have actually done something productive, which is to find the problem with force_actions.  Now, different people have different ideas of how these are supposed to work, so lets settle it once and for all.

How it works now: when you force an action, all conditions for the action to be used normally must be met.  That means:
1.  user has to have enough SP
2.  game must be in correct state (menu vs. battle)
3.  targeted skills must have a target in range (direct, homing, etc.)
4.  shooting skill must also have a target in range.

Obviously, condition 4 was a bug.

How it will work in the next version:  when you force an action, less conditions for the action to be used normally must be met.  That means:
1.  user has to have enough SP
2.  targeted skills must have a target in range (direct, homing, etc.)

These will be the only conditions.  This means you have to be careful to not use force_actions at a time that it will mess with your game (for example, using skills that target enemies in menus, or using any targeted skill on the first frame a map loads).  

I'm pretty sure everyone will welcome the change, I just wanted to be clear on exactly what is happening.

EDIT: so 2.81 is out, here is what I'm thinking of for 2.82:

fix sprite change event command.
manual creation of events on the map (with event names)
add actor battlers (non-party members)
diagonal passability option

If there's anything else that someone really needs, just say so.

EDIT: So I just finished manual event creation, but it's a pretty long script call.  I'll make sure to document it well in the manual for this version, but you are going to have to use the RMXP help file and look through the script editor if you want to do anything fancy.  I'll probably end up making an external event editor sometime in the future.  Or maybe the RMXP CP or RMXP Py people will first, I don't know.  But eventually, the plan is to have the same interface where you can just create events outside of RMXP, and it will produce the script call needed.

EDIT: On further inspection, due to the douchebaggery of RMXP not letting actors exist outside of a party, the third feature has been cancelled.  Now the list for 2.82 is
fix sprite change event command.
manual creation of events on the map (with event names)
diagonal passability option

The Niche

Quote from: winkio on January 05, 2011, 06:19:49 pm
add actor battlers (non-party members)


Duuuuude...what? Is that like, you make an enemy using the actors tab? What's the point in that? :???:
Level me down, I'm trying to become the anti-blizz!
Quote from: winkio on June 15, 2011, 07:30:23 pm
Ah, excellent.  You liked my amusing sideshow, yes?  I'm just a simple fool, my wit entertains the wise, and my wisdom fools the fools.



I'm like the bible, widely hated and beautifully quotable.

Dropbox is this way, not any other way!

WhiteRose

Quote from: The Niche on January 06, 2011, 02:17:32 pm
Quote from: winkio on January 05, 2011, 06:19:49 pm
add actor battlers (non-party members)


Duuuuude...what? Is that like, you make an enemy using the actors tab? What's the point in that? :???:


In case you want enemies with variable levels, or if you have to fight someone who at one point was/will be in your party.

[Luke]

Okay, an interesting thing coming up.

Charging. Right now it works like that: press a button - release it and wait - see the results or press the buttons again if "Trigger after charge".

How should it work?
Press a button and HOLD IT. The action executes in one of those options:

  • immediately after the charging time ends, you don't have to release the button

  • after you release the key (you can "hold" it for the best place to perform")

  • in the old way - you press, you wait for the skill to charge, you press again to execute (like crossbow)

  • Option to distinct "Move at Charge", "Sneak at Charge", "Trigger after Charge (Sneak till execute)", "Trigger after Charge (Sneak till charged, then move till execute)" and "Trigger after Charge (Move)"

  • Important option: for some actions the effect may vary if you hold down the key for a longer time. For example casting a Fireball would take 2 seconds to charge, but if you hold down the button and wait 3 seconds, it multiplies the damage by 1.5. Same for the normal sword attack. Normally it has no charge time, but if you hold down the attack key for some time, it multiplies the damage depenging on time, up to 2 seconds. (damage is multiplied by (max[180,100 + press time in frames]/100))



What would it enable people to do:


  • Melee weapon charging. Greater damage with some time to prepare the strike. Weapon charging stops you in place.

  • Bow charging. The stronger (longer) you pull the bowstring, the more damage the arrow deals. You can sneak while charging the attack.

  • Crossbow charging. (Additional option: When you use the weapon for the first time, it's charged). You press the attack button, then you load the crossbow (that forces you to sneaking). Right now when the trigger-after-charge action is loaded, you still sneak till you trigger it. Some actions should enable walking after charge complete (you press the button, charge the crossbow, wait, then you are free to go, but when you press the attack button, it immediately fires).

  • Charging Fireball charging :) You hold the button and you get damage boost depending on the time of charging.

  • Ice Wave charging - just like old Freeze ( :) ) or Sneak at Charge option, but you always have to hold the button until action is ready. Then, the skill is executed when you release the skill button or if you define other way, after the charging time.



And another enhancment for the config: Animations played when charging (looping) and when charging is complete (single informing animation, for the skills that execute after you release the button), with an option of global charging animation (for people who just want a single blink when all actions complete). It would be really great.

So, in the config menu, it would be like this:

  • No "Sneak on Charge" option in Movement&Lag Prevention tab

  • "Charging Animation" and "Charged Animation" in "Animations & Sprite Control" tab

In "Weapons", "Skills", "Items" and "Enemies" tab:

  • Activation Type: Immediate, Press and Wait, Hold and Wait

  • (only if "Press and Wait" or "Hold and Wait") Charge Movement: Freeze, Sneak, Move

  • Execute when ready? (checkbox, if no, the action will be executed only after key is pressed again (when Press and Wait - it's the old "Trigger after Charge") or released (when Hold and Wait))

  • Overcharge Type: None, Freeze, Sneak, Move

  • Execute overcharge when ready? (checkbox)

  • Charge Time (only if not "Immediate"), Overcharge Time (only if Overcharge Type isn't "None"), Overcharge Bonus (same as Time) (in percent, the result is (100 + overcharge_bonus * max[(time_you_spend_on_charging - charge_time)/overcharge_time,overcharge_time])/100  )

  • Charging Animation, Charged Animation


I can give fine examples of every configuration. Notice: for weapons that would have an option of charging the attack, you set the Activation type to "Immediate", Execute when ready to "yes" (you don't hold the sword charged, you prepare the big swing and peform it), Overcharge Type to Freeze (you have to stand still to make a big swing, for some weapons, like bow, it can be "Sneak"), Overcharge Time to 80 (2 seconds) and Overcharge Bonus to 60 (+60% damage). And the charge animations to "Sword_Charging"/"Default", "No" (no 'charged' animation is needed since the attack will perform just when it's overcharged and we don't need to inform the player that the weapon is ready. For bow it could be a "Blink", cause you can hold the bow when it's overcharged).


This shouldn't be that hard to do and it would improve the system A LOT. If you're planning to give it up, let me know and maybe I'll manage to do it by myself. I just want neither  to make it as a plug-in (lots of work and lots of config) nor to modify Blizz-ABS itself (easier, but what about updates?).

winkio

If we start complicating the charge system, where will it end?  Are we going to end up with 8 different charge stages that have different charge conditions, different animations, different damage curves, all for just one weapon or skill?

I may do it, but it won't be for a while.

[Luke]

Well, the first feature I thought of was the use of Input.press? instead of Input.trigger?, which I could make by myself with no problem. But then I realised that if that might be a part of the update, why don't we take the opportunity and include all those features? Key holding is just how it works in World of Warcraft, an advanced version (the wepon, bow and fireball ideas) I took from the Gothic 3 video game (charging sword hit, sneaking when charging bow/some spells) - I just mean that if the Blizz ABS focuses on action and keyboard, such a feature would improve the system a lot.

If you don't like the idea, I'm gonna make the plugin anyway... would you make that an official part of Blizz-ABS if I made it?

winkio

January 07, 2011, 10:35:38 am #319 Last Edit: January 07, 2011, 10:54:05 am by winkio
I'll probably add another option for Input.press, but that's it, I probably won't build the charge system up.  The main reason is that you can just do it with combos.

EDIT: priorities shifted, because the RMX-OS people have been needing something, so this is the features list for 2.82:
Fixed bug with Sprite Change commands.
Added the ability to manually create events on the map in-game via script call.
Fixed attack Forced Actions.
Added pathfinding ability for player.
Made combo Skill and Item commands work as force actions.

Probably release it today.