3
« on: 2024-08-31 17:26:35 »
@tirlititi
I've managed to reach Dali in terms of scripting, even re-writing the scenes and it's going really really well. I'm a bit overwhelmed by the party changing scripts used by the devs though. Is there a special reason they are so long?
if ( General_FieldEntrance == 65535 ) {
set Setting_PartyReserve = 15
SetPartyReserve( Setting_PartyReserve )
set VAR_GlobInt16_8 = ( VAR_GlobInt16_10 = ( VAR_GlobInt16_12 = ( VAR_GlobInt16_14 = 0 ) ) )
set VAR_GlobInt16_8 = 0
while ( VAR_GlobInt16_8 <= 11 ) {
if ( IsInParty(VAR_GlobInt16_8) ) {
set VAR_GlobInt16_10 |= ( 1 << VAR_GlobInt16_8 )
}
set VAR_GlobInt16_8++
}
if ( 1 ) {
set VAR_GlobInt16_12 |= 1
}
if ( 1 ) {
set VAR_GlobInt16_12 |= 4
}
if ( 0 ) {
set VAR_GlobInt16_12 |= 2147483648L
}
if ( 0 ) {
set VAR_GlobInt16_12 |= 2147483648L
}
set VAR_GlobInt16_14 = ( VAR_GlobInt16_10 ^ VAR_GlobInt16_12 )
set VAR_GlobInt16_8 = 0
while ( VAR_GlobInt16_8 <= 11 ) {
if ( ( VAR_GlobInt16_14 >> VAR_GlobInt16_8 ) & 1 ) {
RemoveParty( VAR_GlobInt16_8 )
}
set VAR_GlobInt16_8++
}
if ( IsInParty(0) == 0 ) {
set VAR_GlobBool_147 = AddParty(0)
}
if ( IsInParty(2) == 0 ) {
set VAR_GlobBool_147 = AddParty(2)
}
if ( IsInParty(65535) == 0 ) {
set VAR_GlobBool_147 = AddParty(65535)
}
if ( IsInParty(65535) == 0 ) {
set VAR_GlobBool_147 = AddParty(65535)
}
set VARL_GenUInt8_303 = 0
set VAR_GlobInt16_8 = ( VAR_GlobInt16_10 = ( VAR_GlobInt16_12 = ( VAR_GlobInt16_14 = 99 ) ) )
if ( 1 ) {
set VARL_GenUInt8_303++
set VAR_GlobInt16_8 = 0
}
if ( 1 ) {
set VARL_GenUInt8_303++
set VAR_GlobInt16_10 = 2
}
if ( 0 ) {
set VARL_GenUInt8_303++
set VAR_GlobInt16_12 = 65535
}
if ( 0 ) {
set VARL_GenUInt8_303++
set VAR_GlobInt16_14 = 65535
}
set VAR_GlobBool_148 = ( VAR_GlobBool_149 = ( VAR_GlobBool_150 = ( VAR_GlobBool_151 = 0 ) ) )
if ( VAR_GlobInt16_8 != 99 ) {
if ( GetHP(VAR_GlobInt16_8) == 0 ) {
set VAR_GlobBool_148 = 1
}
}
if ( VAR_GlobInt16_10 != 99 ) {
if ( GetHP(VAR_GlobInt16_10) == 0 ) {
set VAR_GlobBool_149 = 1
}
}
if ( VAR_GlobInt16_12 != 99 ) {
if ( GetHP(VAR_GlobInt16_12) == 0 ) {
set VAR_GlobBool_150 = 1
}
}
if ( VAR_GlobInt16_14 != 99 ) {
if ( GetHP(VAR_GlobInt16_14) == 0 ) {
set VAR_GlobBool_151 = 1
}
}
if ( ( ( ( VAR_GlobBool_148 + VAR_GlobBool_149 ) + VAR_GlobBool_150 ) + VAR_GlobBool_151 ) == VARL_GenUInt8_303 ) {
if ( ( VAR_GlobInt16_8 != 99 ) && ( VAR_GlobBool_148 == 1 ) ) {
SetHP( VAR_GlobInt16_8, 1 )
}
if ( ( VAR_GlobInt16_10 != 99 ) && ( VAR_GlobBool_149 == 1 ) ) {
SetHP( VAR_GlobInt16_10, 1 )
}
if ( ( VAR_GlobInt16_12 != 99 ) && ( VAR_GlobBool_150 == 1 ) ) {
SetHP( VAR_GlobInt16_12, 1 )
}
if ( ( VAR_GlobInt16_14 != 99 ) && ( VAR_GlobBool_151 == 1 ) ) {
SetHP( VAR_GlobInt16_14, 1 )
}
}
CureStatus( 0, 127 )
CureStatus( 1, 127 )
CureStatus( 3, 127 )
CureStatus( 2, 127 )
CureStatus( 4, 127 )
CureStatus( 5, 127 )
CureStatus( 7, 127 )
CureStatus( 6, 127 )
CureStatus( 8, 127 )
if ( IsInParty(5) ) {
set Setting_OptionalQuina = 1
} else {
set Setting_OptionalQuina = 0
}
if ( ( ( Setting_PartyInitialized >> 0 ) & 1 ) == 0 ) {
SetCharacterData( 0, 1, 255, 9, 0 )
set Setting_PartyInitialized |= 1
}
if ( ( ( Setting_PartyInitialized >> 2 ) & 1 ) == 0 ) {
SetCharacterData( 2, 1, 255, 6, 2 )
set Setting_PartyInitialized |= 4
}
set Setting_OptionalQuina = 0
set Setting_DaggerDepresses = 0
set Setting_MPx4 = 1
SetHP( 0, 9999 )
SetHP( 1, 9999 )
SetHP( 3, 9999 )
SetHP( 2, 9999 )
SetHP( 4, 9999 )
SetHP( 5, 9999 )
SetHP( 7, 9999 )
SetHP( 6, 9999 )
SetHP( 8, 9999 )
SetMP( 0, 999 )
SetMP( 1, 999 )
SetMP( 3, 999 )
SetMP( 2, 999 )
SetMP( 4, 999 )
SetMP( 5, 999 )
SetMP( 7, 999 )
SetMP( 6, 999 )
SetMP( 8, 999 )
CureStatus( 0, 127 )
CureStatus( 1, 127 )
CureStatus( 3, 127 )
CureStatus( 2, 127 )
CureStatus( 4, 127 )
CureStatus( 5, 127 )
CureStatus( 7, 127 )
CureStatus( 6, 127 )
CureStatus( 8, 127 )
if ( General_ScenarioCounter == 2639 ) {
if ( IsInParty(2) ) {
RemoveParty( 2 )
set VARL_GenUInt8_303 = 0
set VAR_GenInt8_60 = ( VAR_GenInt8_61 = ( VAR_GenInt8_62 = ( VAR_GenInt8_63 = ( VAR_GlobInt16_8 = ( VAR_GlobInt16_10 = ( VAR_GlobInt16_12 = ( VAR_GlobInt16_14 = 65535 ) ) ) ) ) ) )
set VAR_GlobInt16_14 = 0
while ( VAR_GlobInt16_14 <= 11 ) {
if ( IsInParty(VAR_GlobInt16_14) ) {
switch 4 ( ++VARL_GenUInt8_303 ) from 1 {
case +0:
set VAR_GenInt8_60 = VAR_GlobInt16_14
break
case +1:
set VAR_GenInt8_61 = VAR_GlobInt16_14
break
case +2:
set VAR_GenInt8_62 = VAR_GlobInt16_14
break
case +3:
set VAR_GenInt8_63 = VAR_GlobInt16_14
break
}
}
set VAR_GlobInt16_14++
}
switch 1 ( VARL_GenUInt8_303 ) from 0 {
case +0:
set VAR_GlobBool_148 = AddParty(2)
if ( GetHP(2) == 0 ) {
SetHP( 2, 1 )
}
CureStatus( 2, 127 )
break
default:
set VARL_GenUInt8_303 = 0
set VAR_GlobInt16_8 = ( VAR_GlobInt16_10 = ( VAR_GlobInt16_12 = ( VAR_GlobInt16_14 = 99 ) ) )
if ( VAR_GenInt8_60 != 65535 ) {
set VARL_GenUInt8_303++
set VAR_GlobInt16_8 = VAR_GenInt8_60
}
if ( VAR_GenInt8_61 != 65535 ) {
set VARL_GenUInt8_303++
set VAR_GlobInt16_10 = VAR_GenInt8_61
}
if ( VAR_GenInt8_62 != 65535 ) {
set VARL_GenUInt8_303++
set VAR_GlobInt16_12 = VAR_GenInt8_62
}
if ( VAR_GenInt8_63 != 65535 ) {
set VARL_GenUInt8_303++
set VAR_GlobInt16_14 = VAR_GenInt8_63
}
set VAR_GlobBool_148 = ( VAR_GlobBool_149 = ( VAR_GlobBool_150 = ( VAR_GlobBool_151 = 0 ) ) )
if ( VAR_GlobInt16_8 != 99 ) {
if ( GetHP(VAR_GlobInt16_8) == 0 ) {
set VAR_GlobBool_148 = 1
}
}
if ( VAR_GlobInt16_10 != 99 ) {
if ( GetHP(VAR_GlobInt16_10) == 0 ) {
set VAR_GlobBool_149 = 1
}
}
if ( VAR_GlobInt16_12 != 99 ) {
if ( GetHP(VAR_GlobInt16_12) == 0 ) {
set VAR_GlobBool_150 = 1
}
}
if ( VAR_GlobInt16_14 != 99 ) {
if ( GetHP(VAR_GlobInt16_14) == 0 ) {
set VAR_GlobBool_151 = 1
}
}
if ( ( ( ( VAR_GlobBool_148 + VAR_GlobBool_149 ) + VAR_GlobBool_150 ) + VAR_GlobBool_151 ) == VARL_GenUInt8_303 ) {
if ( ( VAR_GlobInt16_8 != 99 ) && ( VAR_GlobBool_148 == 1 ) ) {
SetHP( VAR_GlobInt16_8, 1 )
}
if ( ( VAR_GlobInt16_10 != 99 ) && ( VAR_GlobBool_149 == 1 ) ) {
SetHP( VAR_GlobInt16_10, 1 )
}
if ( ( VAR_GlobInt16_12 != 99 ) && ( VAR_GlobBool_150 == 1 ) ) {
SetHP( VAR_GlobInt16_12, 1 )
}
if ( ( VAR_GlobInt16_14 != 99 ) && ( VAR_GlobBool_151 == 1 ) ) {
SetHP( VAR_GlobInt16_14, 1 )
}
}
CureStatus( 0, 127 )
CureStatus( 1, 127 )
CureStatus( 3, 127 )
CureStatus( 2, 127 )
CureStatus( 4, 127 )
CureStatus( 5, 127 )
CureStatus( 7, 127 )
CureStatus( 6, 127 )
CureStatus( 8, 127 )
break
}
}
if ( 0 ) {
set Setting_OptionalQuina = 0
}
}
}
Is there no more succinct way to achieve saving a party formation and recalling it?
Thank you so much for taking the time to reply. I had no background in code only a week ago, and have learned to script some pretty decent scenes in the last week using your tool. I'm blown away how good it is to be honest!
Oh last question, is there a list anywhere of the VAR_GlobInt values used in the base game? I'm cautious about using them in case I overwrite something important to the original code.
Hope