[XP] Blizz-ABS

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

Previous topic - Next topic

LiTTleDRAgo

Quote from: Stray on April 10, 2012, 07:05:36 am
Quote from: LiTTleDRAgo on April 08, 2012, 11:18:03 pm
Quote\e[42]\nm[Dat Girl]\t1
\e[042]\nm[Dat Hero]\t2


is there any difference between \e[42] and \e[042]?

could you upload a demo?


There's no difference.
UMS-Demo here
if it doesn't work again:
Mirror 1
Mirror 2

I checked if it works with the normal, unchanged Blizz ABS. But it's somehow a different thing.
Here with my example-project:
Example


Umm, there is no error between UMS demo and unchanged BlizzABS
it's problem probably in your other scripts

your example game is more than 20 mb in 2shared which I can't download
can you upload it in Mediafire, if possible with smaller size since my connection is suck

Stray

Now it has only 9 MB.
I had no time to sign up to mediafire. Instead, I uploaded it somewhere else. I hope it's ok.
2shared
Megafileupload
I'm very grateful to you all for your great help.

LiTTleDRAgo

Quote from: Stray on April 12, 2012, 08:48:59 pm
Now it has only 9 MB.
I had no time to sign up to mediafire. Instead, I uploaded it somewhere else. I hope it's ok.
2shared
Megafileupload


Here, place it after UMS

Spoiler: ShowHide
Quote#==============================================================================
# Window_Message
#----------------------------------------------------
# This class was modified to override Blizz-ABS battle handling for correct
# window position display.
#==============================================================================

class Window_Message

  #--------------------------------------------------------------------------
  # Override reset_window
  #--------------------------------------------------------------------------
  alias reset_window_blizzabs_later reset_window
  def reset_window(change_opacity = true)
    # store old in_battle flag and set new in_battle flag
    tmp, $game_temp.in_battle = $game_temp.in_battle, false
    # if ccoa's UMS is being used
    if $game_system.ums_mode != nil
      # call original method with parameter
      reset_window_blizzabs_later(change_opacity)
    else
      # call original method
      reset_window_blizzabs_later
    end
    # restore in_battle flag
    $game_temp.in_battle = tmp
  end

end

Stray

Thanks, you guys are awesome. You're totally mentioned in the credits.
I'm very grateful to you all for your great help.

Skwig

Hillo
Just wonering if there's a way to edit the speed of weapons or the pEnalty
Dont't go "omg noob" yet
The thing is, i want to do this ingame. Such as thru states n stuff
The point: i want to make an ability that speeds up attacks.. So it lowers the penalty on certain items temporarily
Example: your attacks take 16 frames. You take the haste potion and your attacks take 12 frames for 30 seconds.
Thanks

winkio

It would require a small custom script.

Heretic86

nm, wrong thread...   :haha:
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)

Bob423

i have an event that has this
player move route:
move down
wait for moves completion

what should happen, is prevent the player from passing the tile, or even staying on the tile.r
it is a one way path, but for some reason, blizz abs makes it so, if the player holds up, they can move past the tile. i want to make it so the tile works exactly the way is does without blizz abs. is there a way to do this? like a script fix, or something?

Skwig

Is there a way to move the weapon sprites (_wpn_X) a little more up? I have some sprites, but i'm too retarded to edit it and i lack the talent to do so.
-> There are too many sprites to edit, IMO it will be easier to change some numbers in part 2 or 3 of ABS
Thanks. :3


pic to help you
the _atk one is the location of the player

Andreavnn

Anyone up for a challenge that can help me fix this script to work with BABS?

Spoiler: ShowHide
#==============================================================================
# ** Sprite Mirror
#------------------------------------------------------------------------------
#    Based on Sprite Shadow
#    modified by Rataime
#    New Edits by DerVVulfman
#    February 12, 2008
#------------------------------------------------------------------------------
#
# Introduction:
#  This system allows you and events to have their image reflected on various
#  tagged surfaces.
#
#------------------------------------------------------------------------------
#
# Revisions to note:
#
#  1) Added formatted headers and comments throughout the script.
#
#==============================================================================



#==============================================================================
# ** Sprite_Mirror
#------------------------------------------------------------------------------
#  This sprite is used to position character mirror reflections relative to map
#  position.  It observes the Game_Character class and automatically changes
#  sprite conditions.
#==============================================================================

class Sprite_Mirror < RPG::Sprite
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :character
  attr_accessor :events
  attr_accessor :event_y
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     viewport  : viewport
  #--------------------------------------------------------------------------
  def initialize(viewport = nil)
    super(viewport)
    @character = $game_player
    @events = 0
    @event_y = 0
    self.opacity = 0
    update
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    # If tile ID, file name, or hue are different from current ones
    if @tile_id != @character.tile_id or
       @character_name != @character.character_name or
       @character_hue != @character.character_hue
      # Remember tile ID, file name, and hue
      @tile_id = @character.tile_id
      @character_name = @character.character_name
      @character_hue = @character.character_hue
      # If tile ID value is valid 
      if @tile_id >= 384
        self.bitmap = RPG::Cache.tile($game_map.tileset_name,
          @tile_id, @character.character_hue)
        self.src_rect.set(0, 0, 32, 32)
        self.ox = 16
        self.oy = 32
      # If tile ID value is invalid
      else
        self.bitmap = RPG::Cache.character(@character.character_name,
          @character.character_hue)
        @cw = bitmap.width / 4
        @ch = bitmap.height / 4
        self.ox = @cw / 2
        self.oy = @ch
      end
    end
    # Set visible situation
    self.visible = (not @character.transparent)
    # If graphic is character
    if @tile_id == 0
      sx = (@character.pattern) * @cw
      sy = (@character.direction - 2) / 2 * @ch
      if @character.direction==8
        sy = 0 * @ch
      end
      if @character.direction==2
        sy = 3 * @ch
      end
      self.src_rect.set(sx, sy, @cw, @ch)
    end
    # Set sprite coordinates     
    self.x = @character.screen_x
    self.y = self.event_y - ($game_player.screen_y - self.event_y).abs + 30
    self.z = 10
    # Set blend method and bush depth
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth
    # Animation
    if @character.animation_id != 0
      animation = $data_animations[@character.animation_id]
      animation(animation, true)
      @character.animation_id = 0
    end
  end
end



#==============================================================================
# ** Sprite_Character
#------------------------------------------------------------------------------
#  This sprite is used to display the character.It observes the Game_Character
#  class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Character < RPG::Sprite
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias mirror_initialize initialize
  alias mirror_update update 
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     viewport  : viewport
  #     character : character (Game_Character)
  #-------------------------------------------------------------------------- 
  def initialize(viewport, character = nil)
    @character = character
    super(viewport)
    if character.is_a?(Game_Player)
      $game_map.mirror = Sprite_Mirror.new(viewport)
    end
    # Perform the original call
    mirror_initialize(viewport, @character)
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #-------------------------------------------------------------------------- 
  def update
    # Perform the original call
    mirror_update
    if (@mirror != nil and character.is_a?(Game_Event) and
      character.list != nil and character.list[0].code == 108 and
      character.list[0].parameters == ["m"])
      if $game_player.screen_y - self.y < 80 and
        self.y < $game_player.screen_y and
        ($game_player.screen_x - self.x).abs < 17
        if (character.list[1]!=nil and character.list[1].code == 108)
          @mirror.opacity=character.list[1].parameters[0].to_f
        else
          @mirror.opacity=$game_player.opacity
        end
        @mirror.events = self.id
        @mirror.event_y = self.y
      else
        if @mirror.events == self.id
          @mirror.events = 0
        else
          if @mirror.events == 0
            @mirror.opacity = 0
          end
        end
      end
    end
    @mirror = $game_map.mirror
    if character.is_a?(Game_Player)
      @mirror.update
    end
  end
end



#==============================================================================
# ** Scene_Save
#------------------------------------------------------------------------------
#  This class performs save screen processing.
#==============================================================================

class Scene_Save < Scene_File
  #--------------------------------------------------------------------------
  # * Alias Listings
  #-------------------------------------------------------------------------- 
  alias mirror_write_save_data write_save_data
  #--------------------------------------------------------------------------
  # * Write Save Data
  #     file : write file object (opened)
  #-------------------------------------------------------------------------- 
  def write_save_data(file)
    $game_map.mirror = nil
    # Perform the original call
    mirror_write_save_data(file)
  end
end



#==============================================================================
# ** Game_Map
#------------------------------------------------------------------------------
#  This class handles the map. It includes scrolling and passable determining
#  functions. Refer to "$game_map" for the instance of this class.
#==============================================================================

class Game_Map
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------   
  attr_accessor :mirror
end



#==============================================================================
# ** Spriteset_Map
#------------------------------------------------------------------------------
#  This class brings together map screen sprites, tilemaps, etc.
#  It's used within the Scene_Map class.
#==============================================================================

class Spriteset_Map
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------   
  alias mirror_map_initialize initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------   
  def initialize
    $game_map.mirror = nil
    # Perform the original call
    mirror_map_initialize
  end
end

Blizzard

Try changing this line:

class Sprite_Character < RPG::Sprite


to this:

class Sprite_Character_ABSEALed


and put it below Blizz-ABS. It might just work.
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.

Andreavnn

Thanks Blizz I'll give it a shot when I get off work tonight.

Grogy

Quote from: Skwig on April 23, 2012, 10:09:03 am
Is there a way to move the weapon sprites (_wpn_X) a little more up? I have some sprites, but i'm too retarded to edit it and i lack the talent to do so.
-> There are too many sprites to edit, IMO it will be easier to change some numbers in part 2 or 3 of ABS
Thanks. :3


pic to help you
the _atk one is the location of the player

Does anyone know how to do this? I want to use xas attack sprites too

Andreavnn

April 26, 2012, 01:28:33 pm #4753 Last Edit: April 26, 2012, 01:30:29 pm by Andreavnn
Use a photo editor, I would use GIMP, make the canvass size bigger (I don't know by know much maybe like 5 or 6) then Ctrl+A and use the arrow up key to move the image up. Save & export. Then import the new image into RGPXP and see if it works, you might need to do some trial and error.

Spoiler: ShowHide
Thanks SP

Grogy

Quote from: Andreavnn on April 26, 2012, 01:28:33 pm
Use a photo editor, I would use GIMP, make the canvass size bigger (I don't know by know much maybe like 5 or 6) then Ctrl+A and use the arrow up key to move the image up. Save & export. Then import the new image into RGPXP and see if it works, you might need to do some trial and error.

Spoiler: ShowHide
Thanks SP


The thing is i would need to edit every dimension of parts of the sprite and not the whole image.. And i have like 15 sprites sooo...

Andreavnn

No you shouldn't need to edit anything. _atk1 needs to be an actor swinging a weapon without the weapon and _wpn needs to just be a picture of the weapon and everything will line up correctly. However, you are using two images that are the same where both are a character swinging an axe. So you need to edit the _wpn image or find a image of just an axe. You can try here  http://forum.chaos-project.com/index.php/topic,6563.0.html

_atk1 replaces the actor and _wpn is placed over the _atk1 image it is displaced a little because normally is it just a weapon. How that isn't too complicating.  :facepalm:

Grogy

1.) I already have sprites, that's why I want a script edit because the weapon sprite doesn't appear there from thin air
2.) I already checked out like all the weapon sprites and the only ones worth are the default ones.. every other one either animates weirdly or doesn't fit the default character

Andreavnn

Spoiler: ShowHide
Quote2.6.5. Actor Action Sprites
Enabling this option changes the spritesets of actors when they are attacking, defending, using a skill, or using an item and plays a sprite animation. Additionally, you can enable a more extensive action sprite control for attacking, defending, skill, and item sprites individually by checking their boxes. This more extensive system will use a seperate sprite for each weapon, sheild, skill, or item. Note that this option applies to both the player and allies.



Spoiler: ShowHide
Quote5.1.1. Action Sprites (Actors and Enemies)
Action sprites are used when attacking, defending, using a skill, or using an item. The sprites must be named according to this convention:


example:
normal spriteset - arshesKnight.png
defending spriteset - arshesKnight_def.png
skill spriteset - arshesKnight_skl.png
item spriteset - arshesKnight_itm.png
example:
normal spriteset - jason.png
defending spriteset - jason_def.png
skill spriteset - jason_skl.png
item spriteset - jason_itm.png

The suffices_def, _skl and _itm need to be added on defending, skill spritesets and item spritesets respectively like in the examples. Attack sprites need to be named slightly differently. Since it is possible to create different weapon types for actors, it is necessary to use a special sprite for each weapon type for actors. The suffix _atk needs to be added together with the weapon type number.


example:
normal spriteset - lord marius.png
attack spriteset for swords - lord marius_atk1.png
attack spriteset for flails - lord marius_atk3.png

Additionally you have to specify weapon sprites for the types. The sprites have the same name as the attack sprites with _wpn added behind. This is necessary because weapon sprites can be displayed under the enemy and need to be separated from the actual action sprite.


example:
normal spriteset - lord marius.png
weapon spriteset for spears - lord marius_wpn2.png
weapon spriteset for shuriken - lord marius_wpn7.png
Each attack type requires one weapon sprite which may be a 1x1 pixel sprite if necessary. Keep in mind that all spriteset files must have the same dimensions or else the system will cause a glitch with animations being displayed on the sprites. Usually the weapon is alone on the weapon sprite without the character, but you can alternatively use an empty sprite (with the same dimensions as the original sprite) for the action sprite and put both the character and the weapon on the weapon sprite. Weapon sprites are not displayed like characters sprites, they are centered around the character sprite. This feature can increase the quality of the game, but it requires a lot more effort because of the creation of extra spritesets for the characters. If the spritesets are not named correctly, the system will not work! Read Blizz-ABS Weapon Types for more information about weapon types.

Since enemies don't have weapon types, the weapon type number needs to be omitted in the file names for enemies.


example:
normal spriteset - dragon.png
attack spriteset - dragon_atk.png
normal spriteset - harpy.png
attack spriteset - harpy_atk.png

Additionally you have to specify weapon sprites for the types. The sprites have the same name as the attack sprites with _wpn added behind. This is necessary because weapon sprites can be displayed under the enemy and need to be separated from the actual action sprite.


example:
normal spriteset - monster 34.png
weapon spriteset - monster 34_wpn.png
normal spriteset - alterEgo.png
weapon spriteset - alterEgo_wpn.png

Each enemy requires only one weapon sprite which may be a 1x1 pixel sprite if necessary. Keep in mind that all spriteset files must have the same dimensions or else the system will cause a glitch with animations being displayed on the sprites. Usually the weapon is alone on the weapon sprite without the character, but you can alternatively use an empty sprite (with the same dimensions as the original sprite) for the action sprite and put both the character and the weapon on the weapon sprite. Weapon sprites are not displayed like characters sprites, they are centered around the character sprite. This feature can increase the quality of the game, but it requires a lot more effort because of the creation of extra spritesets for the characters. If the spritesets are not named correctly, the system will not work!
5.1.2. Weapon Sprites (Actors Only)
Weapon sprites use a special sprite for each weapon, instead of each weapon type. Usually the weapon is alone on the weapon sprite without the character, but you can alternatively use an empty sprite (with the same dimensions as the original sprite) for the action sprite and put both the character and the weapon on the weapon sprite. Weapon sprites are not displayed like characters sprites, they are centered around the character sprite. The weapon spritesets need to be named exactly the same as the actor's normal sprite followed by _wpn_ID where ID is the weapon's database ID without leading zeros. It is independent from weapon types.


example:
normal spriteset - zeriab.png
attack spriteset for spears - zeriab_atk2.png
attack spriteset for flails - zeriab_atk3.png
Weapon ID 1 - zeriab_wpn_1.png
Weapon ID 34 - zeriab_wpn_34.png

Since a separate weapon sprite is used for each actor that uses the weapon, it is possible to let two different actors handle the same weapon differently, i.e. a strong knight would swing a huge sword differently than a little girl would. This feature can increase the quality of the game, but it requires a lot more effort because of the creation of extra spritesets for the characters. If the spritesets are not named correctly, the system will not work! Read Blizz-ABS Weapon Types for more information about weapon types.


You _wpn_ sprite must be the same dimensions as your actor sprite from what I can tell they are, but your  _wpn_ sprite isn't being displayed on top of your actor, but rather below it because is it a _wpn. May Blizz can help you better, I had the same problem with my actor and I had to edit the image to fix it not the script because they script is built to display _wpn sprites that way.

Blizzard

I haven't read everything that was written, but...

While your normal sprites are centered at the bottom (like RMXP default), the weapon sprites (and I think the attack sprites as well) are centered in the center of the file.
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.

Skwig

Quote from: Blizzard on April 27, 2012, 07:33:07 pm
I haven't read everything that was written, but...

While your normal sprites are centered at the bottom (like RMXP default), the weapon sprites (and I think the attack sprites as well) are centered in the center of the file.

Sorry, I wasn't checking the forums for a bit.
So do you know how to change that centering?
Or atleast tell me +- where is the part with _wpn sprites in the script so i'd try to fiddle around with it
Thanks