[XP] Blizz-ABS

Started by Blizzard, January 09, 2008, 08:21:56 am

Previous topic - Next topic

Blizzard

April 08, 2008, 08:08:58 am #320 Last Edit: April 08, 2008, 08:19:04 am by Blizzard
I fixed it already, I just didn't release the version with a fix already. I use the Heal-on-LvlUp feature so the HP/SP change as well and so the display is being updated correctly. Just the max HP/SP values were missing from the refresh check, so I added that.

@nathmatt: I know. ._. I'm doing my best to move the forum away from this host to one that allows subdomains. -_-

@Aqua: Can you send me your game project? I have absolutely no idea why your caterpillar doesn't work right.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

86niS

Found an error. Well, not exactly the regular type but I have Weapon Sprites turned on just like I do in every version except this time I can use a weapon without having one equipped. Only difference between that and one having equipped is that you can attack but not deal damage to an enemy. I remember it used to be like where if you don't got a weapon equipped, it would make that "null noise" but not this time.

-Sin86(lost my password again)

diablosbud

I have some pretty cool ideas for attacking that you may want to add in the next Blizz-ABS version update. Idea 1 - Power Strikes - You can hold down the attack button for 2 whole seconds to be able to strike with more power (1.5 x the normal ammount of attack damage). Idea - 2 Stealth Attacks - If you have snuck up upon an enemy without them realizing you are there you can attack with more attack damage (3 x the normal ammount of attack damage). Note this next idea (3) may be an extremely hard feature to setup. Idea 3 - Adrenaline Kills - For this you must add an adreneline stat which will monitor this attack. Every time you hit an enemy you gain adrenaline which on specified enemies can cause an instant kill (that way bosses cannot be killed easily).

Hope you like the ideas, Diablosbud.

Blizzard

April 14, 2008, 06:04:23 am #323 Last Edit: April 14, 2008, 09:45:14 am by Blizzard
1. I was planning attacks/skills with delay before execution, I'll see what I can do about that.

2. That won't work. As soon as you press a button, you are considered "in action" and enemies can see/hear you at that moment, even if you snuck up. I'd have to change a critical part of the system to allow that feature and I want to avoid that. It's a critical part because edits could cause massive trouble.

3. Eeeehh... I don't think this will be such a good idea. I mean, this is an ABS that is supposed to support the "basic" features, not enhanced features like Limit Breaks, Overdrive or other similar systems.

@Sin86: I e-mailed you a temp password AGAIN. xD And yes, in the DBS if you don't have a weapon you also only do 0 damage. Somebody might be using an edit where you can actually do damage without a weapon, so I made it possible. It's been there for a while already.

EDIT:

Quote from: Aqua on April 05, 2008, 01:39:30 pm
I didn't use a save game when I get the glitchy caterpillar.


@Aqua: There's an event (with the name "Caterpillar Move") with two caterpillar manipulation commands that are set on parallel process. Of course it doesn't work right. (-_-') If you had tried another map you would have noticed that it works fine there. xD
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Aqua

Quote from: Blizzard on April 14, 2008, 06:04:23 am
Quote from: Aqua on April 05, 2008, 01:39:30 pm
I didn't use a save game when I get the glitchy caterpillar.


@Aqua: There's an event (with the name "Caterpillar Move") with two caterpillar manipulation commands that are set on parallel process. Of course it doesn't work right. (-_-') If you had tried another map you would have noticed that it works fine there. xD


Hm... I had that event with a self-switch of A being on as a condition... so I don't think it's that...

And I just confirmed that it isn't... the problem was caused by an event that was on parallel process that called a common event...

Memor-X

hay Blizz, i'm getting a problem with Blizz-Config, when i use it with megaman battle Guardian I: Hunters of memory it works fine but when i use it with Satilex, i get one strange error

now because i'm low on internet credit at my school and my laptop has been moved and not been set up again, i can't get a screenshot for you, so i'll type up the erroe

Unhandled exception has occurred in your application. if you click Continue, the application will ignore this error and attempt to continue, if you click quit, the application will close immediately

Index was out of range, must be non-negitive and less than size of the collection
parameter name: index

(when i hit the details button, hit the code button)
[code]ee the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at BlizzABS_Config.Config.reloadData()
   at BlizzABS_Config.Config.setupDefaultConfig()
   at BlizzABS_Config.Config.completeInit()
   at BlizzABS_Config.Config.Config_Load(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

[/code]

now if i hti continue, the programs starts up but i can load old config data, i did find a way around, i copyed my Megaman game and used it as a config folder and do all configuation there by copying the files in data and the resorces, audio, whatever, i foudn out that if i overwrite the old MapInfos.rxdata (the one from my Megaman game) with the one from my Satilex game, i get the error while all other files work fine, sure i can work around this and add the Map ID for ABSEAL into the script code but it's a pain in the ass, any idea what's going on

Blizzard

I have to change the .cfg format, it looks like I didn't design it well.
Can you send me the .cfg file so I can analyze what's wrong?
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

diablosbud

Blizzard when you get some free time do you think you could help me add the adrenaline stat and kills for my game, because it would make a nice custom game feature, please or maybe like in Assassin's Creed when you parry/block you can hit the attack button and if you are clicking the attack button and holding parry/block when they hit you, you can do a counter-attack which can instantly kill them? This would be great if you could please help, and I will give you special thanks and scripter (already are going to be for many things) if you would like.

Blizzard

As I say so often, I barely have time to work on this ABS, not to talk about an RGSS2 version or exotic extra features. -_-
Sorry, but I won't be able to help you.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

diablosbud

That's alright :D, that was only an unneeded feature. I have tons of scripts not even kidding like more than there are default scripts, ;D all add a great effect. So it's only a request don't worry, it was only a thought I didn't think I would get it anyway, would take a while.

Memor-X

sorry to have taken so long to reply, stupid uni computers, anyway, my laptop is now having problem with megauploads and i can't upload the file, and which config file did you want, Satilex, Megaman or both

also, you are still due to make the Ally AI in Version 2 right?

Blizzard

April 20, 2008, 03:27:31 pm #331 Last Edit: April 20, 2008, 03:28:44 pm by Blizzard
Yeah. Send me the defect file. Try sendspace.com instead.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

diablosbud

April 21, 2008, 06:33:33 pm #332 Last Edit: April 21, 2008, 06:35:23 pm by diablosbud
Blizzard, when you get some freetime I was wondering if you could please fix the compatibilty this ABS and Selwyn's Widescreen Script Effect. Also could you make it where when it starts the widescreen effect it hides all HUD features (HUD, skill tabs and minimap), because this will help me make profesional cutscenes/cinematics using events (also I can have the player be able to walk during cutscenes/cinematics). Thanks for reading this post :).

Widescreen Script: ShowHide
#==============================================================================
# ? WScreen
#------------------------------------------------------------------------------
# ?By Selwyn, Widescreen effect script
#   released the 1st of February
#
# This script allows to give some cutscenes a 'widescreen' effect.
#
# The script is off by default (when you first start the game).
#
# By default, when the widescreen mode is turned on, it hides one tile at the
#  top of the screen and one tile a the bottom.
#
# By default, the transition_speed is 3, you can change this value just a
#   few lines below
#
# To turn the script on, put 'WScreen.turn_on' in a call script command of
#   an event. Turn it off with 'WScreen.turn_off'
#
# To change the number tiles hidden in widescreen, use the following function
#   in a call script command of an event :
#   'WScreen.size = NUMBER'
#
#==============================================================================

module WScreen
  #--------------------------------------------------------------------------
  # ? define instance variables
  #--------------------------------------------------------------------------
  @state = false
  @tile_size = 1
  @transition_speed = 3
  #--------------------------------------------------------------------------
  # ? WScreen.on?
  #      checks if the widescreen mode is on.
  #--------------------------------------------------------------------------
  def self.on?
    return @state
  end
  #--------------------------------------------------------------------------
  # ? WScreen.off?
  #      checks if the widescreen mode is off.
  #--------------------------------------------------------------------------
  def self.off?
    return !@state
  end
  #--------------------------------------------------------------------------
  # ? WScreen.turn_on
  #      turns the widescreen mode on.
  #--------------------------------------------------------------------------
  def self.turn_on
    @state = true
    $game_player.center($game_player.x, $game_player.y)
  end
  #--------------------------------------------------------------------------
  # ? WScreen.turn_off
  #      turns the widescreen mode off.
  #--------------------------------------------------------------------------
  def self.turn_off
    @state = false
    $game_player.center($game_player.x, $game_player.y)
  end
  #--------------------------------------------------------------------------
  # ? WScreen.size
  #      returns the number of hidden tiles when the widescreen mode is on.
  #--------------------------------------------------------------------------
  def self.size
    return on? ? @tile_size : 0
  end
  #--------------------------------------------------------------------------
  # ? WScreen.size = INTEGER
  #      set the number of tiles to hide when the widescreen mode is on.
  #--------------------------------------------------------------------------
  def self.size=(value)
    @tile_size = [value % 9, 1].min
    $game_player.center($game_player.x, $game_player.y)
  end
  #--------------------------------------------------------------------------
  # ? WScreen.speed
  #      returns the transition speed between the off and on modes.
  #--------------------------------------------------------------------------
  def self.speed
    return @transition_speed
  end
end

#==============================================================================
# ? Game_Map
#------------------------------------------------------------------------------
# ?
#==============================================================================

class Game_Map
  #--------------------------------------------------------------------------
  # ? scroll_down
  #--------------------------------------------------------------------------
  def scroll_down(distance)
    ntiles = 15 - WScreen.size * 2
    @display_y = [@display_y + distance, (self.height - ntiles) * 128].min   
  end
end

#==============================================================================
# ? Game_Player
#------------------------------------------------------------------------------
# ?
#==============================================================================

class Game_Player < Game_Character
  #--------------------------------------------------------------------------
  # ? center_y
  #--------------------------------------------------------------------------
  def center_y
    n = 240 - WScreen.size * 32
    return (n - 16) * 4
  end
  #--------------------------------------------------------------------------
  # ? center
  #--------------------------------------------------------------------------
  def center(x, y)
    max_x = ($game_map.width - 20) * 128
    ntiles = 15 - WScreen.size * 2
    max_y = ($game_map.height - ntiles) * 128
    $game_map.display_x = [0, [x * 128 - CENTER_X, max_x].min].max
    $game_map.display_y = [0, [y * 128 - center_y, max_y].min].max
  end
  #--------------------------------------------------------------------------
  # ? update
  #--------------------------------------------------------------------------
  def update
    last_moving = moving?
    unless moving? or $game_system.map_interpreter.running? or
           @move_route_forcing or $game_temp.message_window_showing
      case Input.dir4
      when 2
        move_down
      when 4
        move_left
      when 6
        move_right
      when 8
        move_up
      end
    end
    last_real_x = @real_x
    last_real_y = @real_y
    super
    if @real_y > last_real_y and @real_y - $game_map.display_y > center_y
      $game_map.scroll_down(@real_y - last_real_y)
    end
    if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
      $game_map.scroll_left(last_real_x - @real_x)
    end
    if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
      $game_map.scroll_right(@real_x - last_real_x)
    end
    if @real_y < last_real_y and @real_y - $game_map.display_y < center_y
      $game_map.scroll_up(last_real_y - @real_y)
    end
    unless moving?
      if last_moving
        result = check_event_trigger_here([1,2])
        if result == false
          unless $DEBUG and Input.press?(Input::CTRL)
            if @encounter_count > 0
              @encounter_count -= 1
            end
          end
        end
      end
      if Input.trigger?(Input::C)
        check_event_trigger_here([0])
        check_event_trigger_there([0,1,2])
      end
    end
  end
end

#==============================================================================
# ? Spriteset_Map
#------------------------------------------------------------------------------
# ?
#==============================================================================

class Spriteset_Map
  alias init_widescreen initialize
  alias update_widescreen update
  #--------------------------------------------------------------------------
  # ? update
  #--------------------------------------------------------------------------
  def initialize
    init_widescreen
    if @viewport1.rect.height > 480 - (WScreen.size * 64)
      @viewport1.rect.height = @viewport2.rect.height =
        @viewport3.rect.height = 480 - (WScreen.size * 64)
      oy = (480 - @viewport1.rect.height) / 2
      @viewport1.rect.y = @viewport2.rect.y = @viewport3.rect.y = oy
    end
  end
  #--------------------------------------------------------------------------
  # ? update
  #--------------------------------------------------------------------------
  def update
    sy = 480 - (WScreen.size * 64)
    h = @viewport1.rect.height
    if h != sy
      n = [((sy - h) / WScreen.speed).abs, 1].max
      @viewport1.rect.height += h > sy ? - n : n
      @viewport2.rect.height += h > sy ? - n : n
      @viewport3.rect.height += h > sy ? - n : n
      oy = (480 - @viewport1.rect.height) / 2
      @viewport1.rect.y = @viewport2.rect.y = @viewport3.rect.y = oy
    end
    update_widescreen
  end
end

nathmatt

April 21, 2008, 08:37:48 pm #333 Last Edit: April 21, 2008, 08:39:02 pm by nathmatt
wouldnt it be ezer to just use bliz's movie strip ?
Join Dead Frontier
Sorry, I will no longer be scripting for RMXP. I may or may not give support for my scripts. I don't have the will to script in RGSS anymore.
My script


Blizzard

April 22, 2008, 02:18:29 am #334 Last Edit: April 22, 2008, 02:33:46 am by Blizzard
OH MY GOD, THERE IS A COMPLETELY OVERCOMPLICATED AND ON TOP INCOMPATIBLE SCRIPT FOR ONE OF THE EASIEST THINGS RMXP CAN DO WITH JUST ONE CLICK!!!

If it really HAS TO be one tile on top and bottom:





EDIT:

Quote from: My e-book about scripting in RGSS Ruby6.8. Scripts the World doesn't need

This is a matter hard to explain. Examples might be the best solution to understand what I mean:
Instead of dying from HP reaching zero, when SP reach zero, the hero dies.
Sometimes it's not easy to judge, but sometimes it's so obvious. The main reason in not making a script is that nobody's ever going to use it. Would you use this script? I wouldn't. Even from the view of the player I wouldn't want to see this function in a game. It would just annoy instead of adding spice to the game. Think about it.
The human mind is capable of inventing anything, even within abstract relations and that means they don't have to make sense. There are just scripts the world doesn't need. Another similar problem is the problem with scripts having pointless options. Would you ever want a skill to target 2 random heroes, the hero next one of them, the enemy you choose and one random enemy next to the enemy you've chosen?! Sorry, but this is idiotic.
Think about if a script really has a point to be made and think about how much sense it does to include options and which ones for that script. It's fine to have a few vital options for the user to customize it and/or make it maybe compatible with other scripts. But having too many options will only confuse the user, prevent him from using your script and most probably giving you a headache implementing them.
Imagine a 100 lines script with 30 options (that means actually only 70 lines of code). Does the user really need to set up if he wants to have a 13 or 14 frames transition, since it looks annoying if any other value is used anyway?! If there really is a user who needs this option, he will ask you and you will tell him to change just a line or two and it will work instead of you losing half an hour implementing this option and three other ones nobody's ever going to use. It's always better to have too few options than too many. If people need some special options that many would use, they will tell you. Good software development can be achieved through continuous work with the clients more easily than just you making it initially work with anything. You will simply waste your time for nothing.
Most people don't even read instructions and don't even know of what your script is capable of, especially if you include 30 pointless options. It's pretty discouraging if you get the new script that makes you shadows and reflections and see 5 pages of instructions  with 50 options that don't make sense at all. Normal users are not scripters, they are just happy with the black box you give them and it works fine by setting up just three or four options. Stick to quality, not quantity.


@nathmatt: You have to be more dramatic with stuff like that, you know. Then people will actually notice. I mean everybody will notice big bold red letters when just browsing through this topic. That way people will think twice before using a script like that.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

nathmatt

April 23, 2008, 02:42:48 pm #335 Last Edit: April 23, 2008, 02:46:32 pm by nathmatt
ill try & remember that
Join Dead Frontier
Sorry, I will no longer be scripting for RMXP. I may or may not give support for my scripts. I don't have the will to script in RGSS anymore.
My script


memyselforwho

Hey. The script is great, everything works swimmingly... Only it doesn't let me use parallel process on text for cut scenes.

Is this fixable?

Aqua

Quote from: memyselforwho on April 23, 2008, 08:43:38 pm
Hey. The script is great, everything works swimmingly... Only it doesn't let me use parallel process on text for cut scenes.

Is this fixable?


You should use Autorun for cutscenes.

memyselforwho

Quote from: Aqua on April 23, 2008, 09:05:44 pm
Quote from: memyselforwho on April 23, 2008, 08:43:38 pm
Hey. The script is great, everything works swimmingly... Only it doesn't let me use parallel process on text for cut scenes.

Is this fixable?


You should use Autorun for cutscenes.


Yeah, that's the first thing i tried changing. Still didn't work.

Aqua

Quote from: memyselforwho on April 23, 2008, 09:15:18 pm
Quote from: Aqua on April 23, 2008, 09:05:44 pm
Quote from: memyselforwho on April 23, 2008, 08:43:38 pm
Hey. The script is great, everything works swimmingly... Only it doesn't let me use parallel process on text for cut scenes.

Is this fixable?


You should use Autorun for cutscenes.


Yeah, that's the first thing i tried changing. Still didn't work.


Hm... can you tell me exactly what happens when the cutscenes don't work?