[XP] Blizz-ABS

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

Previous topic - Next topic

Blizzard

November 22, 2009, 04:25:31 am #2740 Last Edit: November 22, 2009, 04:39:36 am by Blizzard
Double check your script order anyway. You want to avoid further problems after all.

@Aqua: Yeah. Each weapon can have a unique range so that would be the most reasonable. You have the code for circles and rectangles in Blizz-ABS (but you don't have a partial rectangle for i.e. sword type).
Check out our game brands:

Daygames
Game Night Games
Chugnar Games

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.

G_G

November 23, 2009, 09:16:37 pm #2741 Last Edit: November 23, 2009, 09:40:53 pm by game_guy
I'm sure there is a really simple way to do this and I'm not seeing it, but how do we make bombs blow up rocks for example?

I have the rock set like this
\e[1] \g[4]

But I only want bombs to blow it up which would be a trap.

EDIT:
Well I went to test out my trap to see if what I did worked. But I couldnt test it, the rocks disappeared when I opened the menu to set my bomb to a hotkey.

Scripts (In Exact Order):
Enemy Elements
Skill Shop
============= <-- This is just a seperator.
ToA
Blizz-Abs
Z-Hud

Aqua

The rocks would have a custom trigger of the skill of the bomb.
:D

G_G

K that does work but it doesnt solve the problem of it disappearing when I go into the menu. The event is from the tileset. Thats probably why. Also when I put down a bomb it didnt show up.

Here's my config, I probably didnt do something right. Does the item need its own character sheet?
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Blizz-ABS by Blizzard
# Version: 2.57
# Auto-Generated Configuration Script
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#
#                                    PART 1
#
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Copy-paste this auto-generated script into the script slot instead of Part 1
# of the default Blizz-ABS script.
#
# If you find any bugs, please report them here:
# http://forum.chaos-project.com
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

#==============================================================================
# BlizzABS
#------------------------------------------------------------------------------
#  This is the master control, configuration, utility and battle process
#  module for Blizz-ABS.
#==============================================================================

module BlizzABS
 
  #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
  # BlizzABS::Control
  #----------------------------------------------------------------------------
  #  This module provides in-game control configurations.
  #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
 
  module Control
   
    CUSTOM_CONTROLS = false
    DISABLE_DEFAULT = true
    UP = "Key['Arrow Up']"
    LEFT = "Key['Arrow Left']"
    DOWN = "Key['Arrow Down']"
    RIGHT = "Key['Arrow Right']"
    PREVPAGE = "Key['Q']"
    NEXTPAGE = "Key['E']"
    CONFIRM = "Key['Space']"
    CANCEL = "Key['A']"
    ATTACK = "Key['V']"
    DEFEND = "Key['C']"
    SKILL = "Key['X']"
    ITEM = "Key['Z']"
    SELECT = "Key['K']"
    HUD = "Key['P']"
    HOTKEY = "Key['O']"
    MINIMAP = "Key['I']"
    RUN = "Key['Left Shift']"
    SNEAK = "Key['Left Ctrl']"
    JUMP = "Key[',']"
    TURN = "Key['U']"
   
  end
 
  #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
  # BlizzABS::Config
  #----------------------------------------------------------------------------
  #  This module provides Blizz-ABS configurations.
  #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
 
  module Config
   
    # 2.1. # Basic Configuration
    MAX_PARTY = 8
    MAX_PETS = 3
    MAX_MONSTERS = 3
    MAX_SUMMONS = 6
    CATERPILLAR = true
    ANIMATED_IDS = [10]
    HEAL_ON_LVLUP = true
    DISABLE_ABS_MODE = 0
    MENU_COLOR_TINT = 1
    ITEM_TIME = 30
    ITEM_PICKUP_SOUND_FILE = RPG::AudioFile.new('056-Right02', 80, 100)
    DROP_GOLD = ''
    GOLD_PICKUP_SOUND_FILE = RPG::AudioFile.new('', 80, 100)
    EVENT_LOCK = 40
    FULL_DEFEND = true
    CORPSES = false
    EMPTY_CORPSES = false
    DIRECT_HOTKEYS = false
    AUTO_GAMEOVER = true
    DROP_AMMO = false
   
    # 2.2. # Movement Configuration
    PIXEL_MOVEMENT_RATE = 2
    REPAIR_MOVEMENT = true
    EIGHT_WAY_MOVEMENT = true
    NORMAL_SPEED = 4
    RUN_SPEED = 5
    SNEAK_SPEED = 3
    JUMPING = 2
    NO_JUMP_TAGS = []
    ALLOW_JUMP_TAGS = []
    NO_FLOOR_TAGS = []
    SNEAK_ON_CHARGE = false
   
    # 2.3. # Lag Prevention Configuration
    INTELLIGENT_PASSABILTY = false
    ABSEAL_AUTOKILL = true
    FACTOR = 4
    DISABLE_ANTILAG_IDS = []
   
    # 2.4. # Game Info Configuration
    HUD_ENABLED = true
    HUD_POSITION = 0
    HUD_TYPE = 2
    MINIMAP = true
    HOTKEYS = true
    ENEMY_HEALTH_BARS = 255
    MATCH_HEALTH_BAR_WIDTH = true
    BOUNCING_DAMAGE = false
    WEAPON_DATA_MODE = [0, 0]
    SKILL_DATA_MODE = [0, 0, 0]
    ITEM_DATA_MODE = [0, 0, 0]
   
    # 2.5. # Enemy Behavior Configuration
    AI_DEFAULT_ATTRIBUTES = '00000000'
    AI_DELAY_TIME = 40
    VIEW_RANGE = 8
    HEARING_RANGE_RATIO = 45
    RESPAWN_TIME = 0
    WALL_TAGS = []
    NO_ENEMY_TAGS = [7]
   
    # 2.6. # Animation Configuration
    ANIMATIONS = true
    SMALL_ANIMATIONS = true
    DISPLAY_LVLUP = true
    LVLUP_ANIMATION_ID = 0
    FLEE_LOOP_ANIMATION_ID = 0
    CALL_HELP_ANIMATION_ID = 0
    DEFEND_LOOP_ANIMATION_ID = 0
    UNSUMMON_ANIMATION_ID = 0
   
    # 2.7. # Sprite Control Configuration
    A_ACTION_SPRITES = false
    A_WEAPON_SPRITES = false
    A_DEFEND_SPRITES = false
    A_SKILL_SPRITES = false
    A_ITEM_SPRITES = false
    A_IDLE_SPRITES = false
    A_CHARGE_SPRITES = false
    A_CHARGE_WEAPON_SPRITES = false
    A_CHARGE_SKILL_SPRITES = false
    A_CHARGE_ITEM_SPRITES = false
    E_ACTION_SPRITES = false
    E_SKILL_SPRITES = false
    E_IDLE_SPRITES = false
    E_CHARGE_SPRITES = false
    E_CHARGE_SKILL_SPRITES = false
    RUNNING_SPRITES = false
    SNEAKING_SPRITES = false
    JUMPING_SPRITES = false
   
  end
 
  #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
  # BlizzABS::Alignments
  #----------------------------------------------------------------------------
  #  This module provides alignment configurations.
  #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
 
  module Alignments
   
    GROUPS = [1, 2, 3, 4, 5, 6]
    LIFELESS_GROUPS = [4]
    LINKED_GROUPS = [5, 6]
    PERMANENT_GROUPS = [5, 6]
    ACTOR_GROUP = 1
    ENEMY_GROUP = 2
   
    def self.enemies(id)
      case id
      when 1 then return [2]
      when 2 then return [1, 3, 5, 6]
      when 5 then return [2]
      end
      return []
    end
   
    def self.allies(id)
      case id
      when 1 then return [1]
      when 2 then return [2]
      when 5 then return [5, 6]
      when 6 then return [5, 6]
      end
      return []
    end
   
    def self.neutral(id)
      return []
    end
   
  end
 
  #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
  # BlizzABS::Weapons
  #----------------------------------------------------------------------------
  #  This module provides weapon configurations.
  #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
 
  module Weapons
   
    def self.type(id)
      return SWORD
    end
   
    def self.range(id)
      return 1.5
    end
   
    def self.penalty(id)
      return 16
    end
   
    def self.frames(id)
      return [3, 3, 3, 3]
    end
   
    def self.charge(id)
      return [CHARGENone, 0]
    end
   
    def self.charge_frames(id)
      return [3, 3, 3, 3]
    end
   
    def self.consume(id)
      return []
    end
   
  end
 
  #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
  # BlizzABS::Skills
  #----------------------------------------------------------------------------
  #  This module provides skill configurations.
  #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
 
  module Skills
   
    def self.type(id)
      case id
      when 82 then return [SUMMON, 0.0] # Summon Ice Spirit
      when 83 then return [SUMMON, 0.0] # Summon Slime
      when 84 then return [SUMMON, 0.0] # Summon Zombie
      when 85 then return [SUMMON, 0.0] # Summon Harpy
      end
      return [DIRECT, 0.0]
    end
   
    def self.range(id)
      return 1.0
    end
   
    def self.penalty(id)
      return 24
    end
   
    def self.frames(id)
      return [3, 3, 3, 3]
    end
   
    def self.charge(id)
      return [CHARGENone, 0]
    end
   
    def self.charge_frames(id)
      return [3, 3, 3, 3]
    end
   
    def self.trap(id)
      return 10
    end
   
    def self.summon(id)
      case id
      when 82 then return [SUMMONPet, 10, 30] # Summon Ice Spirit : Ice Spirit
      when 83 then return [SUMMONPet, 11, 30] # Summon Slime : Slime
      when 84 then return [SUMMONPet, 12, 30] # Summon Zombie : Zombie
      when 85 then return [SUMMONPet, 13, 30] # Summon Harpy : Harpy
      end
      return [SUMMONNone, 0, 0]
    end
   
  end
 
  #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
  # BlizzABS::Items
  #----------------------------------------------------------------------------
  #  This module provides item configurations.
  #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
 
  module Items
   
    def self.type(id)
      case id
      when 2 then return [TIMED, 3.0, 99] # Bomb
      end
      return [DIRECT, 0.0]
    end
   
    def self.range(id)
      case id
      when 2 then return 3.0 # Bomb
      end
      return 5.5
    end
   
    def self.penalty(id)
      case id
      when 2 then return 12 # Bomb
      end
      return 24
    end
   
    def self.frames(id)
      return [3, 3, 3, 3]
    end
   
    def self.charge(id)
      return [CHARGENone, 0]
    end
   
    def self.charge_frames(id)
      return [3, 3, 3, 3]
    end
   
    def self.trap(id)
      case id
      when 2 then return 2 # Bomb
      end
      return 10
    end
   
    def self.summon(id)
      return [SUMMONNone, 0, 0]
    end
   
  end
 
  #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
  # BlizzABS::Enemies
  #----------------------------------------------------------------------------
  #  This module provides enemy configurations.
  #:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
 
  module Enemies
   
    def self.type(id)
      return SWORD
    end
   
    def self.range(id)
      return 1.5
    end
   
    def self.penalty(id)
      return 16
    end
   
    def self.frames(id)
      return [3, 3, 3, 3]
    end
   
    def self.charge(id)
      return [CHARGENone, 0]
    end
   
    def self.charge_frames(id)
      return [3, 3, 3, 3]
    end
   
    def self.enemy_set(id)
      return ''
    end
   
    def self.delay(id)
      return nil
    end
   
    def self.perception(id)
      return nil
    end
   
    def self.ai(id)
      return nil
    end
   
    def self.destruct(id)
      return 0
    end
   
    def self.respawn(id)
      return 0
    end
   
  end
 
end

legacyblade

I was wondering if there is any way to make the selected actor "break off" from the rest of the party. In essence, this would cause the caterpillar to be disabled for a specific actor. The other members of the party would stay behind. However, if you switch to one of the other actors, the actors other than the one who has "broken off" will move in the caterpillar normally. My game mimics "The Four Swords" in the style of puzzles seen, so this is a feature I REALLY need for my game. If nothing else, just the ability to disable the caterpillar altogether and have each actor move independently (everyone but the one you're controlling stands around like a moron when you press the button to disable the caterpillar)

Blizzard

Well, technically this is already present in Blizz-ABS. I just didn't allow the caterpillar state to be modified or used from the outside. It's the way Blizz-ABS handles actors autonomously breaking from the caterpillar to attack enemies. I can add a feature to allow to disable the return-to-the-caterpillar mechanism so you could walk around with actors as you please. I am probably going to release 2.6 soon so I hope you can wait that long.

@G_G: I'm not sure, but it could be that Blizz-ABSEAL is messing with you. Can you quickly make a small demo? I'd like to take a better look at that.
Check out our game brands:

Daygames
Game Night Games
Chugnar Games

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.

droneseven

Did anyone know how to use auto-fire in BABS for bows and arrows weapon types?

(see this topic for my question: http://forum.chaos-project.com/index.php/topic,5044.0.html)

Blizzard

No need to post stuff multiple times.
Check out our game brands:

Daygames
Game Night Games
Chugnar Games

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.

G_G

Here's the demo, talk to the purple haired guy to get bombs, I'm sure I'm not setting the trap up right >___> its not showing up when I set one down. And the rocks are tileset graphic events not actual characters they disappear when you go into the menu.
http://www.mediafire.com/download.php?djiznjeyjzz

Blizzard

I replicated your bug. I think it has something to do with ABSEAL, but I can't say for sure for the time being. In any case I'll fix it in the next version. I hope you can wait until then. If not, you can always use a character set.
Check out our game brands:

Daygames
Game Night Games
Chugnar Games

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.

legacyblade

@blizz, yup, I can wait till the next version if it comes out within the next month or so. If it's not too much trouble, could you add some way to check the location of other party members, and also to move them? That would help a lot with the kind of puzzles I'm planning.

Blizzard

You have "$BlizzABS.actors[PARTY_INDEX].x", "$BlizzABS.actors[PARTY_INDEX].y" and "$BlizzABS.actors[PARTY_INDEX].moveto(x, y)" already. :P
Check out our game brands:

Daygames
Game Night Games
Chugnar Games

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.

legacyblade

Perfect! Can't wait for the next version then.

G_G

November 24, 2009, 05:17:43 pm #2753 Last Edit: November 24, 2009, 06:12:01 pm by game_guy
EDIT:
Figured out the trap thing.

One question though can we make it where only the healthbar doesn't display above some enemies?

Blizzard

There's a \hide option. :P
Check out our game brands:

Daygames
Game Night Games
Chugnar Games

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.

SOTD

I have 3 questions and YES I HAVE read the manual.

1.  Can someone explain the Custom Event Triggers like set up an example for me where the main actor talks to the enemy and then he attacks.

2. I keep getting a Script is hanging error after my enemy has one life left and i got to attack him

3. The program keeps saying it needs a grpahic for this certain skill but i made sure that in the script it dose not require animation for that.

Blizzard

November 26, 2009, 04:05:29 am #2756 Last Edit: November 26, 2009, 04:08:02 am by Blizzard
1. Make a normal event using the Custom Event Trigger to activate on button trigger. In the event change the alignment group of the event to an enemy and that's it.

2. I'll need a demo for that one. Either one of your other scripts are messing it up or you did something horribly wrong.

3. "Graphic" are not the same as "Animation". It's not even the same word. So do as it says. You need a spriteset graphic.
Check out our game brands:

Daygames
Game Night Games
Chugnar Games

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.

Holyrapid

Hi, Blizz. I was thinking, would it be easy to make either a small hud section, or a small pop up window for messages in battle and field. I.e you kill a enemy, it drops, say a potion, and when you take that potion, either there would be a small message in a HUD for messages saying something like 'You received a potion' (without the quotes...) or a small window would pop up, say the same thing, and then after few seconds disappear.

Blizzard

November 27, 2009, 11:21:00 am #2758 Last Edit: November 27, 2009, 11:29:41 am by Blizzard
I have already planned to do something like that. But I think in the end it would be easier if I made that a plugin.

Version 2.6 is up.



Blizz-ABS Config Legacy

If you have been using a version older than 2.6, Blizz-ABS Config 2.6 and higher will not be able to load your saved configuration files from versions before 2.6. Instead of the original Blizz-ABS Config 2.6 use Blizz-ABS Config Legacy 2.6 which can be downloaded from here:
Blizz-ABS Config Legacy 2.6
Use this only if you have configurations which you don't want to create again!
It is recommended that you switch to the actual Blizz-ABS Config as soon as possible because Blizz-ABS Config Legacy will not be supported for too long.
Check out our game brands:

Daygames
Game Night Games
Chugnar Games

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