[Bug] StutterBug: Yoshimo

Dieses Thema im Forum "BiG World Forum - Spielinhalt" wurde erstellt von Liareth, 26. September 2015.

  1. Liareth

    Liareth Junior Member

    Registriert seit:
    Sep. 2015
    Beiträge:
    8
    Zustimmungen:
    0
    Hallo zusammen,

    Wie der Titel schon sagt, habe ich ein Problem mit Yoshimo. Und zwar hat er irgendwann während der Kupferkronen Quest angefangen alle paar Sekunden stehen zu bleiben und alle Aktionen abzubrechen.
    Er dreht sich also immer zu meinem Hauptcharakter hin, als ob er mit ihm sprechen möchte, sagt dann aber nix.

    Ich bin hier im Forum auf das Stutter Debug Tool gestoßen, das mir, wenn ich es verwenden auf der Konsole ständig das folgende ausgibt:
    "Running block 18 of Yoshimo.bcs".

    Ich hab jetzt mal versucht die entsprechende Datei aus dem override Ordner mit NearInfinity zu öffnen und die sieht so aus:

    IF
    Global("WWBooGone","GLOBAL",1)
    Global("BYoshimo13","LOCALS",0)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237188)) // Running block 0 of Yoshimo.BCS
    SetGlobal("BYoshimo13","LOCALS",90)
    END

    IF
    Global("WWBooGone","GLOBAL",2)
    Global("BYoshimo13","LOCALS",90)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237189)) // Running block 1 of Yoshimo.BCS
    SetGlobal("BYoshimo13","LOCALS",0)
    END

    IF
    Global("ISHYoshi","GLOBAL",0)
    AreaCheck("ARISH1")
    See("9xStoryT")
    CombatCounter(0)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237190)) // Running block 2 of Yoshimo.BCS
    StartDialog("YOSHJ",Player1)
    Continue()
    END

    IF
    InParty(Myself)
    Global("SPRITE_IS_DEADYoshimo","GLOBAL",1)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237191)) // Running block 3 of Yoshimo.BCS
    SetGlobal("SPRITE_IS_DEADYoshimo","GLOBAL",0)
    END

    IF
    InParty(Myself)
    AreaCheck("AR0300")
    !Global("WorkingForBodhi","GLOBAL",1)
    See(Player1)
    !StateCheck(Player1,STATE_SLEEPING)
    Global("YoshimoMentionsRenal","LOCALS",0)
    Global("TalkedToRenal","GLOBAL",0)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237192)) // Running block 4 of Yoshimo.BCS
    StartDialogueNoSet(Player1)
    END

    IF
    GlobalTimerExpired("YoshimoRemindsRenal","GLOBAL")
    InParty(Myself)
    Global("TalkedToRenal","GLOBAL",0)
    !Global("WorkingForBodhi","GLOBAL",1)
    AreaType(OUTDOOR)
    AreaType(CITY)
    !AreaCheck("AR2000")
    !Global("Chapter","GLOBAL",4)
    !Global("Chapter","GLOBAL",5)
    !Global("Chapter","GLOBAL",7)
    See(Player1)
    !StateCheck(Player1,STATE_SLEEPING)
    GlobalLT("YoshimoReminder","LOCALS",2)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237193)) // Running block 5 of Yoshimo.BCS
    StartDialogueNoSet(Player1)
    END

    IF
    GlobalGT("AsylumPlot","GLOBAL",55)
    Global("ButtPluggingCumBubble","GLOBAL",0)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237194)) // Running block 6 of Yoshimo.BCS
    SetGlobal("ButtPluggingCumBubble","GLOBAL",1)
    Kill(Myself)
    LeaveParty()
    END

    IF
    InParty(Myself)
    InParty("Mazzy")
    See("Mazzy")
    !Dead("Mazzy")
    !StateCheck("Mazzy",STATE_SLEEPING)
    HPPercentLT("Mazzy",50)
    CombatCounter(0)
    Global("BYoshimo1","LOCALS",0)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237195)) // Running block 7 of Yoshimo.BCS
    Interact("Mazzy")
    END

    IF
    InParty(Myself)
    RealGlobalTimerExpired("YoshimoTalksPC","GLOBAL")
    See(Player1)
    !StateCheck(Player1,STATE_SLEEPING)
    CombatCounter(0)
    Global("BYoshimo3","LOCALS",0)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237196)) // Running block 8 of Yoshimo.BCS
    Interact(Player1)
    END

    IF
    InParty(Myself)
    RealGlobalTimerExpired("I#YoshimoTalksPC2","GLOBAL")
    Global("PCYosh","LOCALS",1)
    See(Player1)
    !StateCheck(Player1,STATE_SLEEPING)
    CombatCounter(0)
    Global("BYoshimo4","LOCALS",0)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237197)) // Running block 9 of Yoshimo.BCS
    Interact(Player1)
    END

    IF
    InParty(Myself)
    InParty("Edwin")
    Gender("Edwin",FEMALE)
    Global("SetItOnce","LOCALS",0)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237198)) // Running block 10 of Yoshimo.BCS
    SetGlobal("SetItOnce","LOCALS",1)
    SetGlobalTimer("YoshimoMakesFun","GLOBAL",ONE_DAY)
    END

    IF
    InParty(Myself)
    GlobalTimerExpired("YoshimoMakesFun","GLOBAL")
    InParty("Edwin")
    Gender("Edwin",FEMALE)
    See("Edwin")
    !Dead("Edwin")
    !StateCheck("Edwin",STATE_SLEEPING)
    CombatCounter(0)
    Global("BYoshimo14","LOCALS",0)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237199)) // Running block 11 of Yoshimo.BCS
    Interact("Edwin")
    END

    IF
    PartyHasItem("misc5m") // Leiche des Leutnants
    InParty(Myself)
    See(Player1)
    !StateCheck(Player1,STATE_SLEEPING)
    OR(3)
    !InParty("Keldorn")
    Dead("Keldorn")
    StateCheck("Keldorn",STATE_SLEEPING)
    OR(3)
    !InParty("Anomen")
    Dead("Anomen")
    StateCheck("Anomen",STATE_SLEEPING)
    Global("FoundAegis","GLOBAL",0)
    Global("FoundAegis2","LOCALS",0)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237200)) // Running block 12 of Yoshimo.BCS
    SetGlobal("FoundAegis2","LOCALS",1)
    StartDialogueNoSet(Player1)
    END

    IF
    Allegiance(Myself,ENEMY)
    !InParty(Myself)
    Global("NPCFight","LOCALS",0)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237201)) // Running block 13 of Yoshimo.BCS
    SetGlobal("NPCFight","LOCALS",1)
    ChangeAIScript("yoshx",SPECIFICS)
    ChangeAIScript("useitem",GENERAL)
    ChangeAIScript("",DEFAULT)
    SetDialog("")
    Continue()
    END

    IF
    Allegiance(Myself,NEUTRAL)
    AttackedBy([GOODCUTOFF],DEFAULT)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237202)) // Running block 14 of Yoshimo.BCS
    ChangeAIScript("yoshx",SPECIFICS)
    ChangeAIScript("useitem",GENERAL)
    ChangeAIScript("",DEFAULT)
    Enemy()
    Continue()
    END

    IF
    !Allegiance(Myself,ENEMY)
    !InParty(Myself)
    Global("NPCFight","LOCALS",1)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237203)) // Running block 15 of Yoshimo.BCS
    SetGlobal("NPCFight","LOCALS",0)
    ChangeAIScript("",GENERAL)
    ChangeAIScript("",SPECIFICS)
    Continue()
    END

    IF
    Global("M#AmberKidnap","GLOBAL",4)
    CombatCounter(0)
    !StateCheck(Player1,STATE_PANIC)
    !StateCheck(Player1,STATE_BERSERK)
    !StateCheck(Player1,STATE_CHARMED)
    !StateCheck(Player1,STATE_CONFUSED)
    See(Player1)
    Global("M#YoshimoKidnapResponse","GLOBAL",1)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237204)) // Running block 16 of Yoshimo.BCS
    Dialogue(Player1)
    END

    IF
    RealGlobalTimerExpired("YoshimoTalksPC3","GLOBAL")
    InParty(Myself)
    Global("I#Yoshimo_BY5","GLOBAL",1)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237205)) // Running block 17 of Yoshimo.BCS
    SetGlobal("I#Yoshimo_BY5","GLOBAL",2)
    RealSetGlobalTimer("I#YoshimoFriendTalksTimer","GLOBAL",TWELVE_HOURS)
    SetGlobal("I#YoshimoFriendshipActive","GLOBAL",2)
    SetGlobal("I#YoshimoFriendStart","GLOBAL",1)
    END

    IF
    RealGlobalTimerExpired("YoshimoTalksPC3","GLOBAL")
    InParty(Myself)
    Global("I#Yoshimo_BY5","GLOBAL",2)
    Global("BYoshimo5","LOCALS",0)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237206)) // Running block 18 of Yoshimo.BCS
    Interact(Player1)
    END

    IF
    InParty(Myself)
    See(Player1)
    !StateCheck(Myself,CD_STATE_NOTVALID)
    !StateCheck(Player1,CD_STATE_NOTVALID)
    RealGlobalTimerExpired("I#YoshimoFriendTalksTimer","GLOBAL")
    CombatCounter(0)
    !See([ENEMY])
    OR(4)
    Global("I#YoshimoFriendTalks","GLOBAL",3)
    Global("I#YoshimoFriendTalks","GLOBAL",5)
    Global("I#YoshimoFriendTalks","GLOBAL",7)
    Global("I#YoshimoFriendTalks","GLOBAL",11)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237207)) // Running block 19 of Yoshimo.BCS
    MoveToObject(Player1)
    StartDialogueNoSet(Player1)
    END

    IF
    InParty(Myself)
    See(Player1)
    RealGlobalTimerExpired("I#YoshimoFriendTalksTimer","GLOBAL")
    OR(4)
    Global("I#YoshimoFriendTalks","GLOBAL",2)
    Global("I#YoshimoFriendTalks","GLOBAL",4)
    Global("I#YoshimoFriendTalks","GLOBAL",6)
    Global("I#YoshimoFriendTalks","GLOBAL",10)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237208)) // Running block 20 of Yoshimo.BCS
    IncrementGlobal("I#YoshimoFriendTalks","GLOBAL",1)
    END

    IF
    InParty(Myself)
    See(Player1)
    !StateCheck(Myself,CD_STATE_NOTVALID)
    !StateCheck(Player1,CD_STATE_NOTVALID)
    RealGlobalTimerExpired("I#YoshimoFriendTalksTimer","GLOBAL")
    Global("I#YoshimoFriendStart","GLOBAL",1)
    OR(6)
    AreaCheck("AR0300")
    AreaCheck("AR0400")
    AreaCheck("AR0500")
    AreaCheck("AR0021")
    AreaCheck("AR0313")
    AreaCheck("AR0406")
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237209)) // Running block 21 of Yoshimo.BCS
    SetGlobal("I#YoshimoFriendTalks","GLOBAL",1)
    IncrementGlobal("I#YoshimoFriendStart","GLOBAL",1)
    END

    IF
    InParty(Myself)
    See(Player1)
    !StateCheck(Myself,CD_STATE_NOTVALID)
    !StateCheck(Player1,CD_STATE_NOTVALID)
    Global("I#YoshimoFriendTalks","GLOBAL",1)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237210)) // Running block 22 of Yoshimo.BCS
    MoveToObject(Player1)
    StartDialogueNoSet(Player1)
    END

    IF
    InParty(Myself)
    See(Player1)
    !StateCheck(Myself,CD_STATE_NOTVALID)
    !StateCheck(Player1,CD_STATE_NOTVALID)
    RealGlobalTimerExpired("I#YoshimoFriendTalksTimer","GLOBAL")
    Global("I#YoshimoFriendTalks","GLOBAL",8)
    GlobalGT("chapter","GLOBAL",2)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237211)) // Running block 23 of Yoshimo.BCS
    IncrementGlobal("I#YoshimoFriendTalks","GLOBAL",1)
    END

    IF
    InParty(Myself)
    See(Player1)
    !StateCheck(Myself,CD_STATE_NOTVALID)
    !StateCheck(Player1,CD_STATE_NOTVALID)
    Global("I#YoshimoFriendTalks","GLOBAL",9)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237212)) // Running block 24 of Yoshimo.BCS
    MoveToObject(Player1)
    StartDialogueNoSet(Player1)
    END

    IF
    InParty(Myself)
    See(Player1)
    !StateCheck(Myself,CD_STATE_NOTVALID)
    !StateCheck(Player1,CD_STATE_NOTVALID)
    RealGlobalTimerExpired("I#YoshimoFriendTalksTimer","GLOBAL")
    Global("I#YoshimoFriendTalks","GLOBAL",12)
    Global("LassalVampires","GLOBAL",3)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237213)) // Running block 25 of Yoshimo.BCS
    IncrementGlobal("I#YoshimoFriendTalks","GLOBAL",1)
    END

    IF
    InParty(Myself)
    See(Player1)
    !StateCheck(Myself,CD_STATE_NOTVALID)
    !StateCheck(Player1,CD_STATE_NOTVALID)
    Global("I#YoshimoFriendTalks","GLOBAL",13)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237214)) // Running block 26 of Yoshimo.BCS
    MoveToObject(Player1)
    StartDialogueNoSet(Player1)
    END

    IF
    InParty(Myself)
    See(Player1)
    !StateCheck(Myself,CD_STATE_NOTVALID)
    !StateCheck(Player1,CD_STATE_NOTVALID)
    Global("I#YoshimoFriendTalks","GLOBAL",14)
    OR(3)
    AreaCheck("AR1600")
    AreaCheck("AR1602")
    AreaCheck("AR1603")
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237215)) // Running block 27 of Yoshimo.BCS
    IncrementGlobal("I#YoshimoFriendTalks","GLOBAL",1)
    RealSetGlobalTimer("I#YoshimoFriendTalksTimer","GLOBAL",TEN_TURNS)
    END

    IF
    InParty(Myself)
    See(Player1)
    !StateCheck(Myself,CD_STATE_NOTVALID)
    !StateCheck(Player1,CD_STATE_NOTVALID)
    Global("I#YoshimoFriendTalks","GLOBAL",15)
    RealGlobalTimerExpired("I#YoshimoFriendTalksTimer","GLOBAL")
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237216)) // Running block 28 of Yoshimo.BCS
    MoveToObject(Player1)
    StartDialogueNoSet(Player1)
    END

    IF
    InParty(Myself)
    See(Player1)
    !StateCheck(Myself,CD_STATE_NOTVALID)
    !StateCheck(Player1,CD_STATE_NOTVALID)
    Global("I#YoshimoFriendTalks","GLOBAL",16)
    AreaCheck("AR1515")
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237217)) // Running block 29 of Yoshimo.BCS
    IncrementGlobal("I#YoshimoFriendTalks","GLOBAL",1)
    END

    IF
    InParty(Myself)
    See(Player1)
    !StateCheck(Myself,CD_STATE_NOTVALID)
    !StateCheck(Player1,CD_STATE_NOTVALID)
    Global("I#YoshimoFriendTalks","GLOBAL",17)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237218)) // Running block 30 of Yoshimo.BCS
    MoveToObject(Player1)
    StartDialogueNoSet(Player1)
    END

    Der entscheidende Ausschnitt scheint wohl der hier zu sein:
    IF
    RealGlobalTimerExpired("YoshimoTalksPC3","GLOBAL")
    InParty(Myself)
    Global("I#Yoshimo_BY5","GLOBAL",2)
    Global("BYoshimo5","LOCALS",0)
    THEN
    RESPONSE #100
    ActionOverride(Player1,DisplayString(Myself,237206)) // Running block 18 of Yoshimo.BCS
    Interact(Player1)
    END

    Nur habe ich jetzt keine Ahnung was ich machen kann, damit Yoshimo sich wieder ordentlich verhält.
    Weiß da einer von euch Rat?
     
    Zuletzt bearbeitet: 26. September 2015
  2. Maus

    Maus Senior Member

    Registriert seit:
    Aug. 2002
    Beiträge:
    6.490
    Zustimmungen:
    18
    Nehmen wir der Einfachkeit halber mal an, dass der Bug auf einem Mod beruht. Dann hat aller Wahrscheinlichkeit nach der Modder vergessen, die Variable hochzuzählen (müsste man halt genauer in der Yoshimo.bcs nachschauen.

    Daher würde ich mal vorschlagen, mittels CLUAConsole die Global("I#Yoshimo_BY5","GLOBAL") auf 3 zu setzen.
    Müsste ungefähr der folgende Syntax sein:
    SetGlobal("I#Yoshimo_BY5","GLOBAL",3)

    Dann dürfte der Dialog nicht mehr starten, weil die Bedingung nicht mehr gegeben ist. Kann halt sein, dass es dann den Mod durcheinanderbringt, falls da irgendwie die Variablen immer um 2 hochgezählt werden. Das kann vorkommen, wenn die Leute zwei parallel Dialogentwicklungen fortführen, und dann die ungeraden und geraden Variablenwerte jeweils den beiden Dialogsträngen zuordnen. Macht auch das Originalspiel an einigen Stellen, an denen sich der Spieler entscheiden muss.
     
  3. Liareth

    Liareth Junior Member

    Registriert seit:
    Sep. 2015
    Beiträge:
    8
    Zustimmungen:
    0
    Danke dir,

    CLUAConsole:SetGlobal("I#Yoshimo_BY5","GLOBAL",3)

    hat geholfen. Er verhält sich jetzt wieder so wie er soll. :-)
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden