Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - HopefulTarnished

Pages: [1]
1
Hi, I am currently developing a mod that replaces the main character (Zidane) with another character (Beatrix). I noticed that in a couple of posts it was mentioned that it was a bad idea to remove Zidane from the party at certain points, did you run into any issues with this? What was the reason that Zidane was needed in the party? Was it linked to his character id (0)? Or some other reason?

Thanks!
Hope

2
Thank you! I can't believe I didn't see that panel before omg...

Yes! Sorry about the edit. I've modified the post to include the original question. I deleted it before because I didn't realise anyone had replied, I figured out my own workaround, and didn't want to waste anyone's time with an unnecessary question. I'll leave all future posts as they are!

Thanks for the reply, that's amazing! That variable panel is SO helpful for keeping track.

I'd really like to know also is there a way to modify the item drop rate chances (256/256, 96/256, etc)?
And with character-specific trance styles (like Steiner getting 300% damage, Zidane having access to Dyne, or Dbl Wht), are they hardcoded into the character id's (0 for zidane etc), or are they controlled some other way?

3
@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?

Code: [Select]
    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

4
I want a function to apply specifically to the player controlled character, but in entries where the function DefinePlayerCharacter could apply to either Zidane OR Dagger, is there a way to achieve this?

EDIT: amended after accidentally deleting the post so people can see the original question. Apologies.

Pages: [1]