World of Gothic Archiv
> NWN-Hilfe Scripte führen zum absturz |
|
24.07.2002, 19:55 | #1 | ||
Omega Darkblade Beiträge: 257 |
Scripte führen zum absturz
Also ich hab ein Problem. Ich habe gerade 2 versionen von dem anfang meines Moduls. Die erste ist fast ogne scripts und funzt einwandfrei Die 2te hat 3 scripte mehr und wenn ich sie teste stürzt das Spiel immer ab also müsste ja theorethisch ein script davon falsch/kapput sein, oder? Die Scripte eine kleine belohnung void main() { GiveXPToCreature(GetPCSpeaker(), 10); CreateItemOnObject("nw_it_mpotion015", GetPCSpeaker(), 1); } Variable wird auf 1 gesetzt void main() { SetLocalInt(GetPCSpeaker(), "Maligat", 1); } Text erscheint wenn variable auf 1 int StartingConditional() { if(!(GetLocalInt(GetPCSpeaker(), "Maligat") == 1)) return FALSE; return TRUE; } die solten richtig sein. |
||
24.07.2002, 20:01 | #2 | ||
Equestris Beiträge: 397 |
HAste das mit dem Scriptwizard gemacht?Wenn ja dann liegts bestimmt nicht an den Scripten... |
||
24.07.2002, 20:03 | #3 | ||
Omega Darkblade Beiträge: 257 |
jo sind mit ausm scriptwizard. Aber es kann eigentlich an nix anderem liegen. |
||
24.07.2002, 20:08 | #4 | ||
GuradonHellsing Beiträge: 232 |
eohm das letzte sieht komisch aus müßte doch eher so aussehehen .... void main() { if () { // bla return true } return false; } |
||
24.07.2002, 20:10 | #5 | ||
Levi Beiträge: 43 |
Naja, jedenfals sollte keins der Skripte zum Absturz führen... Aber ich hab da auch eins: void main() { object oItem = GetModuleItemAcquired(); object oPC = GetItemPossessor(oItem); if ( (GetIsObjectValid(oItem)) && (GetIsObjectValid(oPC)) && (oItem == GetObjectByTag("Trick17"))) { ActionTakeItem(oItem, oPC); ActionGiveItem(oItem, GetObjectByTag("Regal1")); SendMessageToPC(oPC, "Test"); } } Das Skript sollte dem PC das Item mit dem Tag "Trick17" wegnehmen, sobald er es aufnimmt (bitte nicht nach dem Sinn fragen). Beide Objekte sind valid, oPC ist der gesuchte PC (Wenn ich die beiden Actions auskommentiere stürzt nix ab, und die Message kommt an), also sind alle Objekte (oPC, oItem) so wie sie sein sollten. Ich kann auch eine der Actions auskommentieren, das Spiel stürzt trotzdem ab, also lösen beide zeilen den Absturz aus. Ich fürchte wir sind beide opfer eines Bugs im Toolset. Hast du die dt-Version oder die us? |
||
24.07.2002, 20:11 | #6 | ||
Omega Darkblade Beiträge: 257 |
hmm der scriptwizard hat das so ausgespuckt das müsste dan so aussehen ,oder? int StartingConditional() { void main() { if(!(GetLocalInt(GetPCSpeaker(), "Maligat") == 1)) { return FALSE; { return TRUE; } |
||
24.07.2002, 20:14 | #7 | ||
Levi Beiträge: 43 |
quote: Nö, wenn du nur eine Zeile hast, im if-Block, brauchst du die geschweiften Klammern nicht. |
||
24.07.2002, 20:16 | #8 | ||
GuradonHellsing Beiträge: 232 |
ehm das if ist ne anweisung ich weis zwar nich ob das bei dieser komischen scriptsprache geht aber wenn du if() ohne block schreibst ist nicht klar wo die befehle der Anweisung aufhören und die des Hauptprogramms fortgesetzt werden ......... kann mir nich vorstellen das das gehen soll das program kann schwer 2 rückgabe werte haben ...... |
||
24.07.2002, 20:26 | #9 | ||
Levi Beiträge: 43 |
quote: Probiers doch aus. Der Block der if-anweisung geht in dem Fall einfach bis zum nächsten ; Das geht in Java, C++, PHP und ich müsste mich sehr wundern, wenns in "Aurora-Skript" nicht ginge. |
||
24.07.2002, 20:34 | #10 | ||
Omega Darkblade Beiträge: 257 |
also hab ma weitergemacht. Es kann nur an. int StartingConditional() { if(!(GetLocalInt(GetPCSpeaker(), "Maligat") == 1)) return FALSE; return TRUE; } oder void main() { SetLocalInt(GetPCSpeaker(), "Maligat", 1); } liegen *grübel* |
||
24.07.2002, 20:39 | #11 | ||
GuradonHellsing Beiträge: 232 |
mh wirds trotzdem ma probieren ..... P.S.: Levi du hast recht (grad nochma nachgeschlagen).... zu lange her das ich c++ gemacht habe wohl ...... |
||
24.07.2002, 20:44 | #12 | ||
Levi Beiträge: 43 |
quote: Hehe, is auch ein "Feature" das ich ganz schnell wieder vergessen würde. Das macht den Code ziemlich unübersichtlich und damit fehleranfällig. Ich würd lieber die 2 Zeilen zusätzlich tippen... |
||
24.07.2002, 20:49 | #13 | ||
Omega Darkblade Beiträge: 257 |
wär irgentjemand villeicht dazu bereit sich mein modul mal anzugucken? hab alles bis auf eine kleine map mit 3 häusern wieder gelöscht. |
||
24.07.2002, 20:52 | #14 | ||
GuradonHellsing Beiträge: 232 |
komm doch einfach mit irc in ---------------------------------------- chanal:#nwndev.ger server:Quakenet |
||
24.07.2002, 21:05 | #15 | ||
Omega Darkblade Beiträge: 257 |
Hmm war da grad hat nich geholfen, das modul funzt immer noch net *löl*fg* |
||
25.07.2002, 13:15 | #16 | ||
Omega Darkblade Beiträge: 257 |
*grml* da hilft nur noch modul löschen und neuanfangen, oder? [edit] Hab NWN jetzt schon mal neuinstaliert Hat auch nichts gebracht. hat jemad der n bischen ahnung hat mal lust sich das anzugucken? (is nur ein Gebiet mit 3 Häusern, 3 Gesprächen und n paar scripten (also das is von dem was ich hatte übergeblieben ) [/edit] |
||
25.07.2002, 15:45 | #17 | ||
Omega Darkblade Beiträge: 257 |
ach ja, es stürzt jetzt irgentwie nur beim kämpfen ab :( |
||
25.07.2002, 16:51 | #18 | ||
GuradonHellsing Beiträge: 232 |
exportier alles und mach neues modul und importier alles ...... |
||
25.07.2002, 17:06 | #19 | ||
Omega Darkblade Beiträge: 257 |
hab ich längst getan |
||
25.07.2002, 18:38 | #20 | ||
Omega Darkblade Beiträge: 257 |
Irgentwie bin ich mir gar nicht mehr sicher das es an den scrupten liegt. Jetzt funzt es auch ohne scripte nich mehr. Liegt das villei9cht an der deutschen fehlerhaften version des toolsets? |
||
25.07.2002, 19:01 | #21 | ||
Gawain15 Beiträge: 1.084 |
Hm also jemand hatte auch schonmal gesagt das die Module die mit deutschen Toolset erstellt wurden instabiler sind als die welche mit der englischen Version erstellt wurden wobei das nur ein Gerücht ist :) Aber eigentlich sollte es nicht am deutschen Toolset liegen... Betonung aus "sollte" :) |
||
25.07.2002, 19:05 | #22 | ||
Omega Darkblade Beiträge: 257 |
grml eigentlich "sollte" mein modul auch funzen. Da ich nichtmal ne hack datei oder ähnliches benutze. |
||
|