Ich hab mir überlegt, das man das Topic „Lass uns tauschen“ unterteilen könnte in ->
- Lager öffnen (so wie gehabt)
- Alles tauschen (Begleiter Inventar komplett ins Spieler Inventar verschieben)
Ist das Script technisch machbar und wenn ja, wie?
Hab diese Scriptzeile gefunden -> RemoveAllItems Player 0 1
mit ihr müsste das komplette Inventar des containers ins Spieler Inventar verschoben werden, glaube ich. Nur wie schaut der Rest aus?
Au, verflucht, das ist ja schon die Lösung!
Muss nur noch die Topic so ändern wie oben beschrieben, fertig!
Mist, Begleiter verliert auch seine Waffe und die Muni!
Nachtrag:
Boïndil hat mir inzwischen ein paar Möglichkeiten gezeigt, wie man das Problem lösen kann.
Momentan sind wir hier angekommen, falls ein Begleiter nur eine Waffe und eine Munitionsart im Inventar hat würde es so aussehen ->
Code:
RemoveItem EyeBot1HP 1
RemoveItem AmmoSmallEnergyCellRobot 1
RemoveAllItems Player 0 1
AddItem AmmoSmallEnergyCellRobot 1
AddItem EyeBot1HP 1
Boïndil zeigt mir hier, wie ich das Problem lösen kann, wenn mein EyeBot im Spiel über ein Terminal ein Waffen Upgrade bekommt, genauer gesagt wie man die aktuelle Waffe abfragt.
Z.B. hat mein wlwQuestScript oder wlwQuestSpawnScript viele Variablen, die von anderen Scripten in Actors oder Triggern ausgelesen wird.
Wenn du von einem anderen Script aus die Variablen einer Quest aufrufen möchtest, geht das z.B. so:
scn ActorScript
Begin GameMode
If wlwQuest.SurvivorMode == 2
RemoveItem wlwQuestSurvivorModeList 1
EndIf
End
Und bei dir wäre das dann ungefähr so:
If LazarusQuest.WeaponLevel == 1
Muss es jetzt bei drei möglichen Waffen so aussehen?
Code:
scn ActorScript
Begin GameMode
If aaaLazarusDialogue.WeaponLevel == 0
RemoveItem EyeBot1HP 1
RemoveItem AmmoSmallEnergyCellRobot 1
RemoveAllItems Player 0 1
AddItem AmmoSmallEnergyCellRobot 1
AddItem EyeBot1HP 1
EndIf
If aaaLazarusDialogue.WeaponLevel == 1
RemoveItem EyeBot2HPGreen 1
RemoveItem AmmoSmallEnergyCellRobot 1
RemoveAllItems Player 0 1
AddItem AmmoSmallEnergyCellRobot 1
AddItem EyeBot2HPGreen 1
EndIf
If aaaLazarusDialogue.WeaponLevel == 2
RemoveItem EDEZapGun 1
RemoveItem AmmoSmallEnergyCellRobot 1
RemoveAllItems Player 0 1
AddItem AmmoSmallEnergyCellRobot 1
AddItem EDEZapGun 1
EndIf
End
Das mit den Waffen und der Muni funktioniert, nur wird jetzt das Begleiter Inventar nicht mehr ins Spieler Inv. verschoben.