World of Gothic Archiv
> Editing Theoretische Verständnisprobleme |
|
14.11.2003, 15:42 | #1 | ||
HornOx Beiträge: 1.458 |
Theoretische Verständnisprobleme
Hi, ich versteh ein paar Sachen an den Scripten nicht die zwar eigentlich unwichtig sind aber mich trotzdem interessieren:
|
||
14.11.2003, 17:16 | #2 | ||
Cool Moe Di Beiträge: 120 |
mal sehen, ob was richtig beantworten kann :-) 1. Ich denke, dass NULL direkt an C++ übergeben wird - und in C++ ist es definiert. 2. Sind negative Zahlen nicht auch "false"? Womit man mit -1 Gothic sagen würde, dass der NPC keine trägt. 3. Irgendwo stand mal, dass sonst nicht auf den NPC zugegriffen werden kann...ich hab aber noch nicht rausgefunden, wo Zugriffsprobleme dann auftreten... 4. Ich könnte mir vorstellen, dass der Compiler dann das Dateiende-Zeichen nicht findet, weil du es für ihn auskommentiert hast und er dann erst bemerkt, dass die Datei zu Ende ist, wenn der Datenstrom aufhört...aber warum das als Fehler ausgegeben wird? Vielleicht macht das Performanceprobleme oder eine Funktion im Compiler wird falsch ausgeführt... ciao Moe |
||
14.11.2003, 17:19 | #3 | ||
knörx Beiträge: 440 |
zu 2.:Ich glaube, der nimmt den Btrag der Zahl, also von 3=3, von 0=0 und von -5=5. Aber im Gunde weiß ichs net |
||
14.11.2003, 18:45 | #4 | ||
HornOx Beiträge: 1.458 |
quote:Aber in C++ ist es ein Pointer, kein INT :( quote:IIRC ist alles was nicht 0 ist wahr. Aber eigentlich stört mich nur das da c_Item und Int gemischt werden. |
||
14.11.2003, 23:27 | #5 | ||
NicoDE Beiträge: 1.398 |
quote:Es gibt in Daedalus keine strikte Trennung zwischen Pointern und Integern (IMHO leider, da man schnell mal eine Instanz(-ID) statt einem (erzeugten Instanz-)Objekt übergibt und vis versa). Hlp_GetNpc() wurde oft benutzt, weil die NPCs in verschiedenen Situationen 'verloren gehen' können (neuer NPC eingefügt - und schon ist die Variable nicht mehr aktuell). Wird oft bei NPCs benutzt, die mit mehreren Instanzen umgesetzt wurden (Leute die Verschwinden und wieder auftauchen, etc.). Da es keine allumfassenden Konventionen gab, hat jeder Skripter, mehr oder weniger, seinen eigenen Stil entwickelt. Aber alleine durch die Erfahrungen bei Gothic I sehen die Skripte von Gothic II im Vergleich dazu strukturierter und übersichtlicher aus (es ist aber immernoch eine unglaubliche Menge an geschriebenem Text - der auch noch Sinn ergibt :)). Bei den begrenzten Möglichkeiten lassen sich aber umständliche Konstrukte und 'Hacks' kaum vermeiden, wenn man versucht neue Ideen mit den alten Mitteln umzusetzen (manchmal ist ein 'Skripthack' besser zu ertragen als der Aufwand die Engine dafür zu ändern und ewig zu testen, manchmal muss es schnell gehen und manchmal sieht man den Baum vor lauter Wäldern nicht). In diesem Sinne... Gruß Nico ps: 4. kannte ich nocht nicht :) |
||
15.11.2003, 12:16 | #6 | ||
HornOx Beiträge: 1.458 |
Also ist Null ein Schlüsselwort? *ins Wiki eintrag* [edit]Sind die dynamische Variablen (self, other usw) nicht eigentlich dynamische Instanzen?[/edit] |
||
15.11.2003, 12:40 | #7 | ||
NicoDE Beiträge: 1.398 |
quote:Es sind globale Skriptvariablen, die allerdings auch der Engine bekannt sind und von der selbigen gelesen und gesetzt werden (haupsächlich beim Aufruf der Enginefunktionen (Externals)). |
||
15.11.2003, 14:03 | #8 | ||
HornOx Beiträge: 1.458 |
klar, mich stört eigentlich nur das sie im script so: und nicht so:code\: festgelegt sind.code\: |
||
17.11.2003, 16:44 | #9 | ||
SuperGomez Beiträge: 72 |
ALsoooo ich hatte das gleiche Problem, doch dann hab ich alles gelöscht und es ging wieder!!:D Nee, jetzt im ernst |
||
17.11.2003, 20:36 | #10 | ||
Horn0x Beiträge: 64 |
Will da jemand testen ob ich einen selbsterstellten Thread wegen Spam schließe? *g* |
||
18.11.2003, 00:20 | #11 | ||
GülleMüller Beiträge: 472 |
[EDIT] (hoffentlich hat das keiner gelesen... *peinlichberührtinsbettsteig*) [/EDIT] |
||
25.11.2003, 11:50 | #12 | ||
HornOx Beiträge: 1.458 |
Noch was: Der Name der NPC Instanz ist laut der Instanzdefinition ein Array, durch testen hab ich rausbekommen das npc.name==npc.name[0] ist. Kann man npc.name[1] bis npc.name[4] frei verwenden (also ähnlich wie npc.aivar nur mit strings) oder werden die 4 Strings doch für irgendwas verwendet? Veränderungen des Namens werden zwar nicht mitgespeichert aber z.b. bei ZS könnte es trozdem praktisch sein... |
||
|