PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Script Editor max. Zeichen erreicht



Eagle_Four
01.08.2010, 12:22
Hallo,
wollte gerade mein Companion-Gruppen-Befehls Script testen und stellte fest, daß im Script Editor des Gecks nur eine bestimmte Anzahl Zeichen zugelassen sind, weiß jemand wie ich die erhöhe oder den Geck überliste, daß bedeutend mehr Zeichen in den Editor passen?

Hab schon in den .inis des Geck geschaut, aber leider keinen Eintrag gefunden.


Edit: Es gibt wohl ein Limit von 32767 Zeichen, ist wohl auch nicht zu umgehen, wenn jemand doch ne Lösung parat hat, wäre ich sehr dankbar. Hab das hier gefunden :

http://cs.elderscrolls.com/constwiki/index.php/Category_talk:Scripting#Script_Limit

Aaaaaimbot
02.08.2010, 11:18
geht nur mit Workarounds (oder zumindest ist mir keine andere Lösung bekannt): wenn man im Skript auf Quests verweist, z.B. mit "setstage", und in diese Quests dann zusätzliche Skriptzeilen einfügt. Ziemlich umständlich, aber leider gibts da dieses blöde Limit... :(

Darth Bane
02.08.2010, 16:20
Yep, ich mache es ähnlich wie Aaaaaimbot mit solchen Tricks. Anders geht es leider nicht....

Eagle_Four
02.08.2010, 22:17
oh, jeminee, jetzt wirds aber kompliziert.

Kann mir einer von euch vielleicht etwas genauer erklären, wie ich von einem Script in ein anderes springe und dann wieder zurück. Praktisch als Subroutine,

das heißt einen Teil der Abfragen mache ich in Script 1 und den zweiten Teil in Script 2, wobei Script eins das aufgerufene Script über ein Inventaritem ist.

Am besten natürlich so, daß ich es nicht bemerke.

Ok,genauer. Ich rufe übers Inventar oder Hotkey,wie üblich mein Begleitermenü auf. Dort erscheinen dann alle Begleiter, die ich angeheuert habe (Begleiter 1-7), auf nem zweiten Menü erscheinen die Begleiter 8-14. Zusätzlich gibt es auf beiden Menüs den Menüpunkt Gruppenbefehle. Ich kann jetzt jeden Begleiter einzeln aufrufen und dann einzeln Befehle geben (Folgen,Folgen auf Distanz, Warten,Entlassen,nachHause usw.) oder ich gebe diese Befehle als Gruppenbefehl, dann werden alle Begleiter, die gehired sind angesprochen. Das blöde ist, das ich sehr viele Abfragen drin habe und nicht hin-und herspringen kann.Ich muß wirklich für jeden Begleiter die Befehle einzeln erteilen, dadurch wird der Code sehr lang.

Einfach wäre es, wenn ich für jeden Begleiter in ein eigenes Script springen könnte(mit Parameterübergabe, den Befehl erteilen und wieder ins Haupscript zurück), geht das irgendwie? Dann wäre das Hauptscript viel kleiner und es gebe kein Limit-Problem.

Momentan habe ich es so gelöst, daß ich von 14 möglichen Begleitern nur 8 über das Begleitermenü ansprechen kann. Das paßt so eben mit der Anzahl der Zeichen (schon alles zusammengestaucht).Die Lösung ist natürlich nicht sehr befriedigend und nervt mich.Ich möchte die anderen auch mit drin haben, wenigstens wegen der Vollständigkeit halber.

Eagle_Four
04.08.2010, 23:16
Ähm, will ja nicht aufdringlich sein, aber was ist denn mit den Tricks?

Aaaaaimbot
09.08.2010, 13:02
das ist ziemlich schwer zu erklären... Aber ich versuchs mal: Du hast Dein Skript, nennen wir es einfach mal "JerichoScript", der Einfachheit halber. Dieses ist schon fast voll, Du hast schon 32'500 Zeichen und nur noch 268 Stück passen also noch rein. Um trotzdem noch paar komplizierte Skriptbefehle einfügen zu können, kann man einen neuen Quest erstellen: Quests -> New, den nennt man dann irgendwie (z.B. "JerichoExceedQuest"). "Start Game Enabled" anhaken, "Enable Repeated Stages" und das andere "Enable Repeated soundso" auch anhaken (wichtig!!! Weil die Stages müssen immer wieder aufgerufen werden können!). Jetzt unter "Quest Stages" eine neue Stage erstellen, z.B. mit der Nummer 10, und rechts einen neuen "Log Entry" erstellen. Da ist dann so ein kleines Skriptfenster, in dem man Zeug reinschreiben kann. Da paßt zwar nicht so viel rein, aber man kann mit der rechten Maustaste bei den Log Entries einfach auf "New" gehen und noch einen erstellen, sodaß man wieder ein neues Skriptfenster kriegt, in das man auch noch ganz viel reinschreiben kann. Das läßt sich so oft wiederholen, bis der Platz endlich ausreicht. In diese Skriptfenster schreibt man jetzt den Teil vom Skript rein, der im Originalskript nicht mehr reingepaßt hat.

Um das alles aufzurufen, muß im Originalskript, also hier im JerichoScript, folgende Befehlszeile kommen:
setstage JerichoExceededQuest 10
Dann werden all die Skripte, die in dieser speziellen QuestStage stehen (also hier in der Stage 10), ausgeführt. :D Man kann sehr viele solche Stages in einem einzigen Quest erstellen, so viel ich weiß über 100 Stück, die dann alle einzeln abrufbar sind über das "setstage"-Kommando.

Kompliziert wird es allerdings leider dadurch, daß die Referenzen, die im ursprünglichen Skript stehen, hier vielleicht nicht mehr gehen. Wenn da also z.B. steht "additem caps001 50" und es sich um das Jericho-Skript handelt, so müßte dann im Queststagescript sowas stehen wie "JerichoREF.additem caps001 50".

Darth Bane
09.08.2010, 23:10
Seh gut erklärt, besser gehts nicht, danke

Eagle_Four
11.08.2010, 21:50
Super, vielen Dank. Ich werde mich damit mal am Wochende beschäftigen und berichten, ob ich es hinbekommen habe.