[XP] Blizz-ABS

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

Previous topic - Next topic

Landith

Well it's okay if it can't be implemented because of compatibility issues, I was just wondering if it's possible because it would be a really cool feature to have.

winkio

Blizz, your config app has a problem.  When charge sprites are enabled and you try to configure the weapons, it get an unhandled error.  No big rush to re-release, I will just use the script to config for now.

Shadonking

also when will the running sprite error be updated. just checking





Creator Of Music And Games
Spoiler: ShowHide
]

keywords: ShowHide
rmxp rmvx blizz-abs rpg maker xp vx abs cbs cms script tons of addons charsets autotiles HUD


come here if you have a ps3
http://forum.chaos-project.com/index.php?topic=1952.0

Blizzard

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.

ALiCES_EMOTiON

Quote from: legacyblade on February 14, 2009, 02:56:31 pm
Section 3.2.13. Battleflow Controls

You use that stuff in the script call of an event's move route, if I'm correct. Set the event's move route to custom, and then use regular movement commands, and script calls for the battleflow controls. That should do it.



And now I have my own question. Is there a way to give an enemy a state that causes them to deal damage to any actor they touch? (I'm making a boss shoot through the air, and hurt anyone the touch. The reason I don't want to use a projectile is I want it to be possible to hurt the enemy while they're in the "I hurt you if I touch you" state. If I missed something in the manual that explains how to do this, sorry, I read through it.


I have read that and understand what you are saying, but I can't see where it tells me how to make the enemy execute an attack?

$BlizzABS.enemy_has_state?(event_id, state_id)
$BlizzABS.enemy_can_see?(event_id, target_type, target)
$BlizzABS.enemy_can_hear?(event_id, target_type, target)
$BlizzABS.enemy_can_perceive?(event_id, target_type, target)
$BlizzABS.enemy_has_memorized?(event_id, target_type, target)


I don't want any of them, I just want the line for the enemy to initiate one of my attacks/skills in the database. How do I go about this? Thanks.

tSwitch

Quote from: game_guy on February 15, 2009, 08:44:01 pm
Can't wait to try NAM's too. I also want to try yours landith and I can't wait.


it'll be released after Zylos is done tweaking things.
it's not the best BlizzABS can do, and I'm aiming to do better with my next game.
Though my next game won't be an example game.


FCF3a A+ C- D H- M P+ R T W- Z- Sf RLCT a cmn+++ d++ e++ f h+++ iw+++ j+ p sf+
Follow my project: MBlok | Find me on: tSwitch.us | Twitter | Tumblr

Shadonking

if looked in the manual and i cant see i certian thing i need. could anyone help.

i need to beable to save a certain monsters hp as a variable then when i go to another map i can tell an identical enemy on the map to have the same hp as what that variable says.





Creator Of Music And Games
Spoiler: ShowHide
]

keywords: ShowHide
rmxp rmvx blizz-abs rpg maker xp vx abs cbs cms script tons of addons charsets autotiles HUD


come here if you have a ps3
http://forum.chaos-project.com/index.php?topic=1952.0

tSwitch

Quote from: Shadonking on February 17, 2009, 11:05:32 am
if looked in the manual and i cant see i certian thing i need. could anyone help.

i need to beable to save a certain monsters hp as a variable then when i go to another map i can tell an identical enemy on the map to have the same hp as what that variable says.


as far as I know you can't do that.


FCF3a A+ C- D H- M P+ R T W- Z- Sf RLCT a cmn+++ d++ e++ f h+++ iw+++ j+ p sf+
Follow my project: MBlok | Find me on: tSwitch.us | Twitter | Tumblr

Aqua

Quote from: ALiCES_EMOTiON on February 17, 2009, 09:25:13 am
Quote from: legacyblade on February 14, 2009, 02:56:31 pm
Section 3.2.13. Battleflow Controls

You use that stuff in the script call of an event's move route, if I'm correct. Set the event's move route to custom, and then use regular movement commands, and script calls for the battleflow controls. That should do it.



And now I have my own question. Is there a way to give an enemy a state that causes them to deal damage to any actor they touch? (I'm making a boss shoot through the air, and hurt anyone the touch. The reason I don't want to use a projectile is I want it to be possible to hurt the enemy while they're in the "I hurt you if I touch you" state. If I missed something in the manual that explains how to do this, sorry, I read through it.


I have read that and understand what you are saying, but I can't see where it tells me how to make the enemy execute an attack?

$BlizzABS.enemy_has_state?(event_id, state_id)
$BlizzABS.enemy_can_see?(event_id, target_type, target)
$BlizzABS.enemy_can_hear?(event_id, target_type, target)
$BlizzABS.enemy_can_perceive?(event_id, target_type, target)
$BlizzABS.enemy_has_memorized?(event_id, target_type, target)


I don't want any of them, I just want the line for the enemy to initiate one of my attacks/skills in the database. How do I go about this? Thanks.


Hm... Blizz put 3.2.13 twice in the manual and skipped 3.2.12! XD
The one you're looking for is the first 3.2.13

The Manual!: ShowHide

Quote
3.2.13. Battleflow Controls
Because you cannot use the normal battleflow event commands, BlizzABS has them implemented in a different way so you can still control what is going on in the map. To call one of those commands, simply use a Call Script Event Command. You can call following methods with the given arguments:


$BlizzABS.enemy_change_hp(event_id, operation, type, operand, allow_kill)
$BlizzABS.enemy_change_sp(event_id, operation, type, operand)
$BlizzABS.enemy_change_state(event_id, change, state_id)
$BlizzABS.enemy_recover_all(event_id)
$BlizzABS.enemy_transform(event_id, enemy_id)
$BlizzABS.enemy_deal_damage(event_id, type, operand)
$BlizzABS.actor_deal_damage(party_position, type, operand)

The method's names are printed in blue and are self-explaining while the arguments are printed in green and are separated by commas. These are the allowed arguments' values:
event_id : either an event ID on the map (a number) or type TROOP to target all enemies on the map or @SELF which indicates at the calling event
operation : either INCREASE or DECREASE
type : either CONSTANT or VARIABLE
operand : if type is set to CONSTANT, this value represents the constant number to operate with, if type is set to VARIABLE this number represents the variable ID
allow_kill : either KILL or NO_KILL
change : either ADD or REMOVE
state_id : the ID of the status effect to operate with
enemy_id : the ID number of the enemy to operate with
party_position : either the position of the actor in the party (starts from 0!) or PARTY to target all actors in the party
Keep in mind that allow_kill may be left out as it if NO_KILL by defaultDue to the limitations of RMXP a script call might not fit into one row. You can continue typing in a when the last character in the row before was a "(" (opening bracket) or a "," (comma).


example:
$BlizzABS.enemy_recover_all(TROOP)
$BlizzABS.actor_deal_damage(PARTY, CONSTANT, 10)
$BlizzABS.enemy_change_hp(8, DECREASE, CONSTANT, 58, KILL)
$BlizzABS.enemy_change_sp(@SELF, INCREASE, VARIABLE, 12)
$BlizzABS.enemy_change_state(TROOP, ADD, 6)
$BlizzABS.enemy_transform(11, 3)
$BlizzABS.enemy_deal_damage(11, VARIABLE, 8)
$BlizzABS.actor_deal_damage(0, CONSTANT, 50)

In the given example the execution will be as following:
All enemies on the map will be recovered.
All party members will be damaged by a constant value of 10.
The event with ID 8, an enemy, will get the HP decreased by a constant value of 58 where the change can kill the enemy.
The executing event, an enemy, will get the SP increased by the value of variable with ID 12.
All enemies on the map will get inflicted with the status effect with ID 6.
The event with ID 11, an enemy, will get transformed into the enemy with ID 3 in the database.
The event with ID 11, an enemy, will be damaged by the value of variable with ID 8.
The actor at position 0 in the party (first position) will be damaged by a value of 50.
Keep in mind that, if you transform an enemy, you might want to change his spriteset and moving speed as well. Note that, if an enemy executes a code upon his death, he can get revived only if his HP are being increased. Also note that using @SELF does not make sense if the executing event is not an enemy. Here is another interesting example where the executing event actually is an enemy:


example:
$BlizzABS.enemy_transform(@SELF, 11)
$BlizzABS.enemy_recover_all(@SELF)

In the given example the execution will be as following:
The executing event will transform into enemy with ID 11.
The executing event will be recovered completely.
In other words, when you kill an enemy with such a code, he will transform into another one and be completely healed. It is recommended that you use a switch which prevents that this happens over and over. Note that any action can affect critters and lifeless objects as well. The last command to explain is the force action command which is quite complex. This is the method to call it:


$BlizzABS.enemy_force_action(event_id, target_type, target, action_type, data)
$BlizzABS.actor_force_action(party_position, target_type, target, action_type, data)

target_type : either ACTORS, ENEMIES or NONE (NONE will let the battler decide by himself)
target : if you are targeting ENEMIES, this argument acts like event_id, if you are targeting ACTORS, it acts like party_position
action_type : either ATTACK, DEFEND, ESCAPE (only for enemies), SKILL or ITEM (only for actors)
data : depending on which action_type you use it has a different meaning; if you use ATTACK, you can leave it out; if you use DEFEND, it defines the time in frames how long the battler will defend; if you use ESCAPE, it defines how long the enemy will keep running away in frames; if you use SKILL, it is the skill ID; if you use ITEM, it is the item ID (40 frames are 1 second)
There are a few important things you need to know when using this command. Skills that target all allies/enemies will be executed immediately and the battlers within the affection area will be targeted. If you use one-battler targeting skills or any other action, one of the targets you have specified will be chosen as actual target or reference target. That means if you define more than one target by using TROOP or PARTY as target, one actor/enemy will be chosen as target. Also keep in mind that it is possible to make a skill target the wrong type of target, i.e. with this command you can make a skill, that targets enemies, target actors. If the executing enemy is passive, he will turn aggressive as if he was attacked.


example:
$BlizzABS.actor_force_action(2, ACTORS, 0, ITEM, 4)
$BlizzABS.enemy_force_action(12, ENEMIES, NONE, ESCAPE, 11)
$BlizzABS.enemy_force_action(@SELF, ENEMIES, TROOP, DEFEND, 7)
In the given example the execution will be as following:
The actor at party position 2 (which is the 3rd actor) will use item with ID 4 on actor 0 in the party (the player).
The event with ID 12 will run away from a random enemy, chosen from the perception area for 11 seconds.
The executing event will defend itself from a random enemy on the map for 7 seconds.
Always keep in mind that actions cannot be executed by events, they MUST be battlers on the map!


legacyblade

Oh, another bug I've noticed with the AI.

Once the enemy has spotted me, they all start calling for help over and over. I mean even if there are only two enemies on the map, once they see me, they start calling for help over and over. Also, they never seem to run away, even when I'm beating the crap out of them.

Shadonking

February 17, 2009, 11:36:37 am #1530 Last Edit: February 17, 2009, 01:17:51 pm by Shadonking
Quote from: NAMKCOR on February 17, 2009, 11:13:19 am
Quote from: Shadonking on February 17, 2009, 11:05:32 am
if looked in the manual and i cant see i certian thing i need. could anyone help.

i need to beable to save a certain monsters hp as a variable then when i go to another map i can tell an identical enemy on the map to have the same hp as what that variable says.


as far as I know you can't do that.


didnt think you could, befor i open a request would something like that be posible

edit

made a request topic if anyone wants to help





Creator Of Music And Games
Spoiler: ShowHide
]

keywords: ShowHide
rmxp rmvx blizz-abs rpg maker xp vx abs cbs cms script tons of addons charsets autotiles HUD


come here if you have a ps3
http://forum.chaos-project.com/index.php?topic=1952.0

Aqua

@LB:  Did you give the enemies the escape action in the DB?

legacyblade

No, is that necessary to make them run? Guess I missed that in the manual. Thanks, Aqua!

Hellfire Dragon

Hey how would I change the color of the HUD? The HP and SP bars, I wanted to change the hp bar to a black/dark grey and the sp bar to a lighter grey. No hurry really, just wondering

ALiCES_EMOTiON

Thanks, I see now. One other question, can you set controls to activate scripts? For example, if I press A, it calls the script to turn my torch on? Thanks.

Aqua

The manual knows all!!! D:
Spoiler: ShowHide

Quote
3.2.4. Accessing the Keyboard
If you want to check if a keyboard key is pressed or not, if it's being hold pressed or not, etc. you can simply do so by accessing the Input module. Use following syntaxes for this:


- the basic keys:
Key['LETTER'] # letters (LETTER is A~Z)
Key['NUMBER'] # the number keys (NUMBER is 0~9)
Key['Numberpad NUMBER'] # the number pad keys (NUMBER is 0~9)
Key['FNUMBER'] # the F keys (NUMBER is 1~12)
- special keys:
Key[';']
Key['=']
Key[',']
Key['-']
Key['.']
Key['/']
Key['\\']
Key['\'']
Key['[']
Key[']']
Key['`']
Key['Backspace']
Key['Tab']
Key['Enter']
Key['Shift']
Key['Left Shift']
Key['Right Shift']
Key['Left Ctrl']
Key['Right Ctrl']
Key['Left Alt']
Key['Right Alt']
Key['Ctrl']
Key['Alt']
Key['Esc']
Key['Space']
Key['Page Up']
Key['Page Down']
Key['End']
Key['Home']
Key['Insert']
Key['Delete']
Key['Arrow Left']
Key['Arrow Up']
Key['Arrow Right']
Key['Arrow Down']
- in-game controls:
Down # the button for moving down
Left # the button for moving left
Right # the button for moving right
Up # the button for moving up
Confirm # the button for confirm
Cancel # the button for cancel
Attack # the button for attack
Prevpage # the button for previous page
Nextpage # the button for next page
Defend # the button for defend
Skill # the button for skill use
Item # the button for item use
Select # the button for changing the party leader
Hud # the button for turning on/off the HUD
Minimap # the button for turning on/off the Minimap
Hotkey # the button for turning on/off the Hotkey display
Run # the button for running
Sneak # the button for sneaking
Jump # the button for jumping
Turn # the button for turning around without moving
Keep in mind that you need to use the prefix Input::. That means, if you want to use the jump button, use Input::Jump; if you want to use the arrow down key, use Input::Key['Arrow Down'], etc. The different states are being checked with the following commands:
Input.trigger?(KEY) # pressed once
Input.pressed?(KEY) # hold pressed
Input.repeat?(KEY) # hold pressed with delay after first check


legacyblade

February 17, 2009, 02:55:04 pm #1536 Last Edit: February 17, 2009, 04:31:19 pm by legacyblade
and to check anywhere on the map if you pressed a button, make a parallel process event, and do a conditional branch with a script call of

Input.trigger?(Input::Key['P'])


then tell it to do whatever turns on your torch inside the conditional branch.

-edit, is there any way to clear the map of all corpses and dropped items? (it's distracting to have a dropped gold icon during cutscenes)

Blizzard

Not directly, but they do get removed when you reenter the map. You could make a small script call to iterate through all events and set the .terminate flag to true for all events that have a .terminate_count not equal to nil.
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

is it possible instead of using the hotkey menu to make a extra menu to call skills at will so say u hold the skill button it opens a ring type menu then u select the skill u want to activate of course the screen is in the back & it pauses
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


tSwitch

Quote from: nathmatt on February 18, 2009, 08:21:30 am
is it possible instead of using the hotkey menu to make a extra menu to call skills at will so say u hold the skill button it opens a ring type menu then u select the skill u want to activate of course the screen is in the back & it pauses


no, that's absolutely impossible.


FCF3a A+ C- D H- M P+ R T W- Z- Sf RLCT a cmn+++ d++ e++ f h+++ iw+++ j+ p sf+
Follow my project: MBlok | Find me on: tSwitch.us | Twitter | Tumblr