Gibt's eine Möglichkeit diese zu umgehen?
Gibt's eine Möglichkeit diese zu umgehen?
--[FONT="Book Antiqua"]Das verlorene Königreich[/FONT] - [FONT="Book Antiqua"]TuS[/FONT] - [FONT="Book Antiqua"]Prinz Pi[/FONT] - [FONT="Book Antiqua"]ToT[/FONT] - [FONT="Book Antiqua"]JuPis[/FONT]
Abgesehen von OBSE hast du mehrere Möglichkeiten.
* Du kannst du Scripte auslagern. Bedeutet geregelt über Globals das nächst in Gang setzen.
* Du kannst die Leerzeichen (Tabs) entfernen. Eine irrige Meinung ist die Zeilenbeschränkung. Die Scripte sind aber auf Zeichen Beschränkt. (ca. 32.000 pro Script) Dazu zählen auch die Tabs. Also näher zusammenrücken, bringt eine Menge.
--[FONT="Book Antiqua"]Das verlorene Königreich[/FONT] - [FONT="Book Antiqua"]TuS[/FONT] - [FONT="Book Antiqua"]Prinz Pi[/FONT] - [FONT="Book Antiqua"]ToT[/FONT] - [FONT="Book Antiqua"]JuPis[/FONT]
Die Abfrage nach GetButtonPressed muss im gleichen Script wie der MessageBox-Befehl stehen.
Für das Auslagern würde ich aber eher Activators empfehlen, da der OnActivate-Block nach einem Activate [Ref], 1 sofort ausgeführt wird und man nicht einen Frame auf das Ergebnis warten muss.
Nachteil ist, dass mit der normalen Activate-Funktion nur 5-6 pro Frame möglich sind.
Gleiches gilt für QuestStages & den SetStage-Befehl.
Zeig mal dein Script her, dann lässt sich da eher was machen.
--[FONT="Book Antiqua"]Das verlorene Königreich[/FONT] - [FONT="Book Antiqua"]TuS[/FONT] - [FONT="Book Antiqua"]Prinz Pi[/FONT] - [FONT="Book Antiqua"]ToT[/FONT] - [FONT="Book Antiqua"]JuPis[/FONT]
Lässt sich leicht auslagern:
Den Activator stellst du in irgendeine Dummy-Zelle, machst ihn zu einer Persistent Reference und gibst dem ein Script wie dieses:
Ich würde btw. nicht die FormID, sondern die EditorID des Objekts verwenden. Macht zwar keinen Unterschied, liest sich aber deutlich besser.
Hm, wenn ich das Script umsetze und den Activator in das Script einsetze sagt der mir:
Script Command "Name.Activate" not found.
--[FONT="Book Antiqua"]Das verlorene Königreich[/FONT] - [FONT="Book Antiqua"]TuS[/FONT] - [FONT="Book Antiqua"]Prinz Pi[/FONT] - [FONT="Book Antiqua"]ToT[/FONT] - [FONT="Book Antiqua"]JuPis[/FONT]
- REFID.activate (oder "Name".activate) benötigt die richtige RefID, nicht einfach "Name" übernehmen .
- OBSE entfernt die Begrenzung in Sachen nichtkompiliertes Script. Bei kompilierten Scripts fallen Sachen wie Tabs raus, auch sind diverse Sachen verkürzt. Das könnte also schon helfen.
--Wie die Zeit verfliegt...
--[FONT="Book Antiqua"]Das verlorene Königreich[/FONT] - [FONT="Book Antiqua"]TuS[/FONT] - [FONT="Book Antiqua"]Prinz Pi[/FONT] - [FONT="Book Antiqua"]ToT[/FONT] - [FONT="Book Antiqua"]JuPis[/FONT]
Das einzige was OBSE entfernt ist die maximale Zeilenanzahl (1000), das Problem mit der MaxScriptSize bleibt leider bestehen.
Da dafür die kompilierte Größe entscheidend ist sind vor allem Strings problematisch, da die einfach als bloße Daten (keine Ahnung wie genau das gemeint ist. IIRC hab ich da was von wegen Raw Data gelesen) gespeichert werden.
Die RefID erhälst du, wenn du z.B. im RenderWindow auf die Referenz einen Doppelklick machst (bzw. in der Liste Rechtsklick->Edit) und sie in das oberste Feld des sich öffnenden Fensters eingibst. Außerdem musst du noch einen Haken bei Persistent Reference machen (gleiches Fenster).
--[FONT="Book Antiqua"]Das verlorene Königreich[/FONT] - [FONT="Book Antiqua"]TuS[/FONT] - [FONT="Book Antiqua"]Prinz Pi[/FONT] - [FONT="Book Antiqua"]ToT[/FONT] - [FONT="Book Antiqua"]JuPis[/FONT]
Im Script werde die Variablen mit "short" deklariert, das weißt du sicher. Wenn du über "Globals" arbeiten möchtest, musst du erst eine "Global" anlegen. Das ist genauso zu sehen wie eine Deklaration mit "short".
CS ---> Gameplay --> Globals --> Rechtsklick --> New.
Die Global ist dann wie ein short auf "0" gesetzt. Es sei denn, du trägst es dort anders ein.
--[FONT="Book Antiqua"]Das verlorene Königreich[/FONT] - [FONT="Book Antiqua"]TuS[/FONT] - [FONT="Book Antiqua"]Prinz Pi[/FONT] - [FONT="Book Antiqua"]ToT[/FONT] - [FONT="Book Antiqua"]JuPis[/FONT]
Gibt es doch: $zuck
Wegen der Fehlermeldung:
Du hast das nicht zufällig in "" gesetzt?Zitat
Poste am besten das Script bei dem der meckert, so ergibt das nämlich recht wenig Sinn.
Zu Zetters Lösung:
Eine Global ist hier absolut nicht nötig, da man auch über [Quest/Reference].[Variable] auf die Variablen über ein anderes Script zugreifen kann.
Jetzt funktioniert's auf einmal.
Musste nur einen neuen Activator erstellen.
Trotzdem danke.
Ich bleib dann doch lieber bei dem anderen Smiley
--[FONT="Book Antiqua"]Das verlorene Königreich[/FONT] - [FONT="Book Antiqua"]TuS[/FONT] - [FONT="Book Antiqua"]Prinz Pi[/FONT] - [FONT="Book Antiqua"]ToT[/FONT] - [FONT="Book Antiqua"]JuPis[/FONT]