Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 23, 2005 4:42:35 GMT -5
I've tried everything I could think of and haven't found anything close to a solution.
I've...
switched back and forth between using the default 'Check Flee' script and mine, examined both of them thoroughly, and they should both work properly
changed all my Action Indirect Effects from 'Incapacitate' to 'Flee' and back to 'Incapacitate'
done everything I could think of script-wise
Anyways, the error that the Default Battle System has that I haven't found a solution to is this:
When a player's whole party is afflicted with 'Incapacitate' Action Indirect Effects (like Sleep, Stun, etc., ones that come off naturally and should not kill the party), the player tries to flee/run-away, and the player fails at fleeing, the game will think that the whole party is dead and execute the script for Death. It would be easy to nullify the Death script, but to reset them to where they were in battle (or even restart the battle) would be absolutely horrendous to attempt. The only plausible solution I've found so far is to heavily warn the player not to ever do this or it will mess-up and think they've lost, but I'm hoping that's not the only way. If anyone has any ideas go ahead and say them. Please feel free to test this on your own games to see if it is also a problem in your games. Post any information you learn here.
|
|
|
Post by Rodak on Jun 23, 2005 4:46:31 GMT -5
I am really weak on the battle system, but couldn't you just put a flag in your indirect effects scripts and then place a force script end in the death script (first lines) conditional on that flag?
Or would that effect real deaths?
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 23, 2005 4:52:00 GMT -5
Well, it only happens when the whole party is afflicted with them, so that means you'd have to (in the death script) check which party members are in the party, and verify that they are not sleep, stun, etc., but even then you'd only be skipping the stuff that happens in the death script (the party actually loses command of the battle and control of everything when the death script is first called). Thank you though.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 23, 2005 5:12:47 GMT -5
I thought of something that I think might work. DW, does this sound like it would fix the problem to you?...
Make a Flag, turn it on when the player fails to flee in the 'Flee Check' or 'Error Messages' script, turn it off every round of battle that follows through by a constant custom indirect effect
Make a script condition in the 'Party Defeated' script that makes the normal death stuff only occur when this flag is Off (the player was not wrongfully killed), and a script condition in the 'Party Defeated' script that calls the scripts that would normally occur when the party flees from battle like 'Battle Exit' etc. when this flag is On (wrongfully killed)
Make an auto event in every location with an event battle that if this flag is on, moves the party back 1 space (there by making them re-move over the event if the event is an Equal event)
Make every event battle's flag/variable to make the event not happen again come after the actual event battle script command (thus not occuring unless the party wins)
Before I try all this I'll try the perhaps simpler/easier solution of turning the flag for when the party is defeated off where I'd otherwise turn this custom flag on. Hopefully that works instead.
|
|
|
Post by thetruecoolness on Jun 23, 2005 15:13:02 GMT -5
This is wierd, and I will invistigate this further tonight. I know in the first post you said you tried setting the type to flee, but this only works with enemies, when you afflict a party member with the action status flee, it is the same as death, but for enemies it makes them run away.
I was trying to get a flee command to work during a specific party members turn, but don't think this will be possible as the game handles flee, and even if flee check is successful during the persons turn, it just continues on with the current turn and the next person goes.
This is odd though as no where in the flee scripts does it even hint at checking for death. Now if it were to do this by default anytime the whole party is incapacitated it would kind of make sense, if they were thinking of incapacitate as petrify, but I doubt this is the case.
Well this happened on mine as well so looks like it might have to do with the unchangable part of the battle system, so this might take a while to figure out.
|
|
|
Post by Rodak on Jun 23, 2005 16:04:32 GMT -5
when you afflict a party member with the action status flee, it is the same as death, Actually, that is not true. My NPC character has a random chance of fleeing every turn and when he does so he still gets experience after the battle. That does not happen with death. In fact, his "purpled" out name reverts to normal after the "Victory" message. It's in my demo if you can stomach it. You were right... this is weird. Oy.
|
|
|
Post by Dungeon Warden on Jun 23, 2005 18:27:21 GMT -5
OK, I tested it out on a new file and what happens is if the party is asleep and you try to flee when No Flee is on, the battle system crashes and you are dumped back on the map with the screen display masked. You can open your menu and use the Travel Map to get the screen back.
This has nothing to do with the Death Flag and the party doesn't die (at least not when sleep is used). The battle system just ends without the default ending. I tried different things to fix this and nothing works. I think it really is a glitch in the system.
I suggest making action status rare so that the whole party isn't affected in a single battle or encourage players to heal effects. You could also change the Flee check script so the party can always flee. This means either not using bosses that cause Action Status effects (so No Flee can be on for Boss Battles) or making sure Boss Battles are set up so if the party flees they will still have to fight the battle to continue. (Ex. check if the party has the item that they should have won from the battle.)
Alternatively, you could create a no attack flag and use a condition status instead of an action one for things like sleep. You would use this flag in the check start script of the direct effect of every weapon and prevent the player from attacking if they are asleep (or bond, stunned, etc.). This is done for Silence (no magic) and Seal (no Skills) so you should be able to do this for Weapons as well.
I'm sure this problem is not likely to happen very often, unless you use status effects heavily in your game, but it is good to be aware that the problem exists.
|
|
|
Post by BloodKnight on Jun 23, 2005 19:36:38 GMT -5
I knew action statuses were trouble when my party couldn't move in the field as a result of having one. Good thing I never used them.
|
|
|
Post by thetruecoolness on Jun 23, 2005 22:16:01 GMT -5
Well I hadn't played around with flee too much, just going by what the Help said, and the one time I tried it out, since I wanted to have a flee option at each party members turn, but it looks like that is not possible as flee is done by the system at the beginning of a battle turn, and not by any script commands. Of course I could be wrong about this but I think I'll just leave that as is.
As for this glitch, I think DW's suggestion is the best course of action, just have a condition status that doesn't allow a person to take their turn. I agree that it is a bonafide glitch as it does not call the full party wipeout script, and leaves the screen black (didn't see if it halved the money too)..
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 24, 2005 5:38:26 GMT -5
"Before I try all this I'll try the perhaps simpler/easier solution of turning the flag for when the party is defeated off where I'd otherwise turn this custom flag on. Hopefully that works instead." I tried this and it didn't work, ugh... I think I'm just gonna tell the party that they aren't allowed to flee when the whole party is stunned/etc.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 24, 2005 7:11:01 GMT -5
All hail Lord William!!! ;D ;D ;D I have found a solution and tested it completely, and it works perfectly. I'll be posting it up now. One thing I would like to say is: I have only done this on my file with my battle system. I see no reason why this would not work with ALL preset stuff, but if someone would be willing to try it out (I guess everyone'll be trying it out on the game they're making), the whole community and I would be very appreciative. Alas, without further ado, the solution...
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 24, 2005 7:23:56 GMT -5
These are the steps to doing it. In the next post I will try to explain how it works.
1) Make a custom flag called 'Falsely Killed'
2) In the default script 'Error Messages', after the 'Unable to flee.' message turn flag 'Falsely Killed' On
3) In the default script 'Battle Opening', before anything else happens turn 'Falsely Killed' Off
4) Make a script/event that (this is all it has to do) turns flag 'Falsely Killed' Off
5) Make an Indirect Effect: Priority = 999, Length = 0 for all options, Type = Custom, Usable = Both, put script/event from #4 in the 'Turn Start' slot
6) Indirect Effect from #5 and put it on EVERY party member under Party Members>Adv>Traits>Custom Status
7) In the default 'Party Defeated' script, change it to this:
Script: Condition: 'Falsely Killed' = Off (what normally happens) Condition End Script: Condition: 'Falsely Killed' = On Call: [Battle Fade] (default script) Call: [Battle Exit] (default script) Condition End
8) 'Auto' event with 'Apply' script of this placed in EVERY place with a battle of ANY type:
Script: Condition: 'Falsely Killed' = On Call [MovePartyBack1] (in #9) Message 'Leader: We can't give up!' Data: Flag 'Falsely Killed' = Off Condition End
9) Make a script called 'MovePartyBack1' like so:
(can be used for many things)
Data: Game Info: Load Sort: Variable: var85 'Party: Dir' Apply If 0 move party west 1 space To End Apply If 1 move party northwest 1 space To End ... Branch End
10) EVERY Event Battle, put the flag/variable that makes event go away AFTER the battle, make EVERYTHING after the battle like so:
Script: Condition: var17 'Battle Result' = 1 (what happens after player wins battle) Condition End
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 24, 2005 7:31:01 GMT -5
Basically, this custom flag is On when the player is falsely killed, and it alters the game into doing different stuff than when the party is found to be dead. I've covered everything I could think of like event battles and such. One thing I just thought of is...
(I went and made and tested this and it works perfectly)
At end of default script 'Battle Exit' put this:
Script: Condition: flag 'Falsely Killed' On Script: Condition: flag 'Event Battle' Off Data: Variable: var 'Encounter Ratio' = 2000 + 0 Condition End Condition End
and in the default 'Battle Opening' script before anything else happens (before or after line for #3) put this:
Data: Variable: var 'Encounter Ratio' = 100 + 0
...
This will make the player get into another random battle in one step IF the fight he cheatingly ran away from was a random battle.
Any ways, good luck to everyone. Post anything you learn here!
|
|
|
Post by Dungeon Warden on Jun 24, 2005 14:38:40 GMT -5
This works because as I said, you don't die, the battle just crashes. The screen is blank because the Screen is Black after battles and Battle Fade makes the screen fade back in. Since Battle Fade and Battle Exit don't run, the screen stays black (the same thing happens if you uncheck the default ending box in the Event Battle command).
William's idea is to use a flag to stick the normal battle end scripts back onto the battle if the party flees and the battle ends. You could just use a Screen : Color (100% Transparent) command and do the same thing, but there are other things the battle scripts do was well.
Since you can't prevent the party from running when they are incapacitated, forcing them into a new battle is the next best thing. It's an imperfect solution but at least it gets rid of the blank screen problem. Well done.
|
|