manji
RPG Making Novice
Posts: 64
|
Post by manji on Feb 4, 2006 19:32:05 GMT -5
i am doing my best to work on my custom battle system, but i can't figure out the scripting of it for the life of me.. firstly, i have made enemy event models that wander around on the map. when touched, it activates battle mode. the screen breaks away and shatters with an 'apply wipe' script command and then shifts to a custom battle map(which i made with the dungeon editor). the perspective is isometric and resembles super mario rpg. basically what i've done is registered my battle map in the 'world organization' menu & in the 'enter map' slot, i've placed the start-up of the battle. when the enemy model is touched, it warps to this battle map and the enter map script handles everything so far. in this battle map mode, i turn my party invisible(so i can have camera control) and place a single character model event that's the same as my party leader so everything looks natural & so i can tell the event what to do in terms of movement and animation when he attacks, etc.(i haven't implemented any attacks yet, but i plan on using VFX and some event model movement and effects to get what i'm looking for). i also have placed an enemy character event model(for test purposes, i'm using the slime model) on the same map. now, this is where i lose it, because i dont know how to initiate an actual turn-based battle between these two.. 1. i need to assign hp, mp, strength, defense, agility, intelligence & luck to my slime. how do i do this? do you data load and then script variables under it, representing it's stats? what variables would i use? bloodknight has tried helping me at the pavilion boards with this question, telling me i can use some pre-set variables to do this, but i still dont' get it.. 2. how do you let the game know there's a battle going on? everything seems so empty! my battle screen comes up, but there's nothing to go on. i guess i need to know how to make the game constantly check who's turn it is and go back and forth until someone's dead, right? how do i do that? i also made a multiple choice branch for my character to choose battle options from(attack, defend, item, etc.), however that gets me nowhere as well, because the game isn't checking for anything yet! it's just an empty multiple choice branch. i have it come up after i warp into this battle map because i don't know what else to do or how to operate any of it properly. what i want is this: a relatively simple turn-based battle system, much like the default battle system itself, only in my battle map perspective, but i honestly don't know where to start..i'm sorry because i know this is a lot to ask. i'm trying to flip through pre-set battle scripts in normal mode to see how things work, but i'm still not catching on. please help.
|
|
tuah
RPG Maker-in-Training
Posts: 33
|
Post by tuah on Feb 4, 2006 19:44:58 GMT -5
Tons of people are working on this, and I am also trying to figure out a good system.
What I'm thinking is setting battles to be like normal movement, but when a character chooses to move, they activate a ring which limits their movement, kind of like in Quest 64. Then, when you attack, a script would tell the system to designate any enemy in the direction of the attack, and apply the effect.
I really think we should just wait for the people who are working on it to finish it, for they are more of experts than either of us are! I believe one person's name was Vex or something?
|
|
|
Post by Shattered Rift on Feb 4, 2006 19:54:42 GMT -5
So you've set up your battle scenario without flipping the switch with any of the game's flags? In some ways (possibly in every way) that's going to be easier than what I'm doing (which is an attempt to work around the default battle system). Until Dungeon Warden comes around and spots this thread, you're going to need to look through his guide for the variables and such that register everything battle-related, and start working off of those.
That's the ounce of help I can offer. Good luck with this.
|
|
|
Post by BloodKnight on Feb 4, 2006 23:58:25 GMT -5
An easy way to set stats for your enemy is with a character's normal/battle data. For example, for the first monster in a battle, you'd set up "dummy character 1"'s variables to be the HP, MP, etc. of that monster.
Here's an example of how a battle would go:
-Script Branch Repeat
-multiple choice
-Condition Flag "battle end"On *show victory message -Script Condition End
[enemy attack script]
-Condition Flag "party dead"On *show defeat message -Script Condition End
-Script Branch End
I'll probably edit it(or not) later, but that's the gist of a CBS script.
|
|
|
Post by Doan the Nado on Feb 5, 2006 3:17:48 GMT -5
The "CBS Problem" is one that a lot of us are working on, and is one of the many things we've said are things which "you have to figure out on your own". If I would sit here and tell you how to write a CBS, I may as well be writing one myself. Depending on what all is involved in your Battle System, different ones could differ immensely.
For example, in mine, I'm going to have a dummy event placed somewhere with a Motion script that will run my entire battle. It will be incrementing a time variable (I am using an Active Time Battle System), updating VFX displays of Member and Enemy Stats, designating who is available to attack, and more. Another dummy event will have an Action script which checks which buttons are being pressed and steps through various menus to allow the player to do stuff in the battle.
What I'm getting at is that we all have different things in mind for how we want our battles to act out on screen. I have really only considered my style of CBS and haven't even thought about how I would implement a CBS from Content Scripts, which might be what would work best for you.
You really have to get to know this game before asking for help on complex stuff like this. Play around with variables, flags, inputs, sorts, repeats, conditions, and everything else you're going to need to make a battle system. These things will become your best friends, and it is really a bad idea to try to learn variable manipulation while writing your battle system. It's important to really know how to script and control events before trying to get someone to tell you how to make a battle system. It's just not that easy.
If someone wants to help you out, more power to them. I'm not trying to discourage anyone from giving you help. I'm just telling you that it might be a bad idea to wait/hope for an easy answer when there isn't one, and that your best bet is probably to try to answer this one on your own.
|
|
|
Post by Rodak on Feb 5, 2006 3:45:30 GMT -5
1. i need to assign hp, mp, strength, defense, agility, intelligence & luck to my slime Why? Nobody will ever see them in this type of battle system. I would just start by getting the motions down. Make things look like they are working, then worry about the interior mechanics and math. The player only sees what happens on screen, so you could even get away with no stats for enemies. That's what I did for my IACBS (Imitation Active Custom Battle System) in The Clean Underwear Quest for fighting Giant Beer Mugs. Mmmmmmmmmm... Beeeer. Gotta Go! Peace.
|
|
manji
RPG Making Novice
Posts: 64
|
Post by manji on Feb 5, 2006 9:06:25 GMT -5
i understand what you're saying doan. it would be like someone making my game for me, which isn't what anybody helping me would want, and it's not what i want either, because most of the fun is had by having my touch in all parts of my game's creation. that's what makes it mine after all. nash helped me out quite a bit last night, but he didn't hand me everything. and while i'd like everything to be simple, i guess it's just not gonna be like that. most of my trouble is in how the game registers and reads script commands and how those script commands work(but i guess that's most everyone's issue! ). and rodak, i would really prefer having a fully functioning battle system, not just a pretty picture. but, if anybody wants to help, feel free! i'll always appreciate any help. ;D (speaking of which, thank you again, bloodknight.)
|
|
|
Post by LunarMoon2 on Feb 20, 2006 23:00:45 GMT -5
1. i need to assign hp, mp, strength, defense, agility, intelligence & luck to my slime. how do i do this? do you data load and then script variables under it, representing it's stats? what variables would i use? bloodknight has tried helping me at the pavilion boards with this question, telling me i can use some pre-set variables to do this, but i still dont' get it..
I personally perform this with scripted variables, as you said.
2. how do you let the game know there's a battle going on? everything seems so empty! my battle screen comes up, but there's nothing to go on. i guess i need to know how to make the game constantly check who's turn it is and go back and forth until someone's dead, right? how do i do that?
As for many other things, this will require the use of variables. Have the variable increase each time a character attacks and have a condition so that the enemy attacks when the variable that monitors your turns gets to a certain number (1 less than the total number of members in your party). In order to make sure that a dead character doesn't get to attack, you'll have to have a condition around the turn condition that asks whether the character in question is dead or not and if (s)he is dead, that characters turn is skipped. Since the actual script instruction for this is a content script that can’t be used in an action script, you’re going to have to make it so a flag turns on when a specific characters dies (mess with the “New Death” script. The scripts that takes care of attacking should look something like this (I’m using the characters from Xenogears as examples for the party members and I’m assuming that there are 4 members and one enemy): Script Branch: Repeat Data: Variable [Enemy HP] = 50 Input: Multiple Choice 8 (10, 12) [“Attack” “Magic”… Script Branch: Condition: User Choice 1 Data: Variable [Member’s Turn] = [Member Turn] + 1 Script Branch: Sort: Variable [Member’s Turn] Script Branch: Apply if: Number is 0 Script Branch: Condition: Flag [Fei’s Dead] = Off Event Control: Change Target to [Fei] Event Move: Direction Move W 5 Steps Effect: [Metal Sword] Event Event Move: Direction Move E 5 Steps Event Move: Direction Change W Data: Variable [Enemy HP] = [Enemy HP] – 15 Script Branch: Condition End Script Branch: Condition End Script Branch: Sort: Variable [Member’s Turn] Script Branch: Apply if: Number is 1 Script Branch: Condition: Flag [Elly’s Dead] = Off Event Control: Change Target to [Elly] Event Move: Direction Move W 5 Steps Effect: [Staff] Event Event Move: Direction Move E 5 Steps Event Move: Direction Change W Data: Variable [Enemy HP] = [Enemy HP] – 10 Script Branch: Condition End Script Branch: Condition End …. (Etcetera and so on) …. … Script Branch: Sort: Variable [Member’s Turn] Script Branch: Apply if: Number is 4 Event Control: Change Target to [Enemy] Effect: Event Data: Variable [Health Points] = [Health Points] – 20 Data: Variable [Member’s Turn] = 0 Script Branch: Condition End
Keep in mind that this script has not been tested so feel free to modify it as you see fit. I suggest that you explore it for yourself.
As for knowing if a battle is going on, I have a flag that turns on in an intro event. I use this so that the player can only jump in battle. Please tell me if this helped you a bit (I just spent more than half an hour typing this up).
|
|
manji
RPG Making Novice
Posts: 64
|
Post by manji on Feb 21, 2006 12:11:35 GMT -5
wow. yes, this is most helpful. thank you very very much. i appreciate that part most. i will experiment with this and see what i can come up with.
|
|
|
Post by KuroShinnen on Aug 10, 2006 0:47:30 GMT -5
I know this topic is really old, but I just wanted to say that that battle example is really helpful lunarmoon. Thanks. ;D
|
|