Page 2 of 13
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 2:14 pm
by Mr.Wolna
alles kalr dann muss ich es wohl selber finden!
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 2:19 pm
by Lexx
Guck dir doch einfach die anderen Scripte an, wie das da gemacht wurde. Sind ja genug Beispiele vorhanden.
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 2:25 pm
by Mr.Wolna
überall 004 bzw 4 egal wrldhe stadt! bist du dir sicher das die zahl hidner den node für reaktionen steht in der modreact hedder ist keine 4. da sit nur 0 für keine reaktion, 1 für gut, 2 für neutral und 3 für schlecht. Was hast du den imer in deinen Dialogen? Oder hast du überhaupt keine Zahl hinten stehen?
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 2:45 pm
by Lexx
Ah... lol. Jetzt fällt's mir gerade wieder ein. Ich glaube ehr, die Werte haben mit der Intelligenz des Spielers zutun. Soll heißen, die Optionen werden erst ab Intelligenz z. B. 4 angezeigt. Da wo kein Wert steht, wird die Option immer angezeigt, etc.
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 2:54 pm
by Mr.Wolna
so muss es sein
danke lexx!
und weiter gehts^^
Das ist der Ausschnit aus den becky script!
headers:
#include "..\headers\command.h"
#include "..\headers\ModReact.h"
#include "..\headers\Den.h"
Defination:
#define said_metzger_dead lvar_bit(LVAR_Flags, said_metzger_dead_bit)
#define set_said_metzger_dead set_lvar_bit_on(LVAR_Flags, said_metzger_dead_bit)
und die Local Varriables:
#define LVAR_Flags (4)
#define LVAR_Becky_Repair_Still_Time (5)
#define LVAR_BECKY_FRIENDS_DEAD (6)
#define LVAR_BECKY_DRINKS (7)
#define LVAR_Home_Tile (8)
#define LVAR_Home_Rotation (9)
Code:
end else if ((metzger_dead) and (said_metzger_dead == false)) then begin
set_said_metzger_dead;
start_dialog_at_node(Node022);
Im joshua script:
Defination:(Local Variables)
#define LVAR_Herebefore (4)
#define LVAR_Hostile (5)
#define LVAR_Personal_Enemy (6)
#define LVAR_Caught_Thief (7)
Headers:
#include "..\headers\command.h"
#include "..\headers\ModReact.h"
#include "..\headers\sanfran.h"
Ich krieg einfach den code nicht zu laufen. Das liegt wahrscheinlich an den L Varriables kann mir wer das näher erklären und helfen das Teil da reinzubekommen^^
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 3:04 pm
by Lexx
Ähm... ohne Fehlermeldung ist es schwer, dir zu helfen.
Ich verstehe jetzt z.B. nicht, was du von lokalen Variablen sprichst.. du zeigst mir nur eine Liste mit definierten lokalen Variablen. Daran kann ich keine Fehler erkennen.
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 3:08 pm
by Mr.Wolna
ich muss aufjeenfall den code da reinkriegen, damit wenn metzger tod sit, joshua ein neue node startet.
Hab die defination in den script gepackt und den code rein plus diese LVAR, und den header zur sicherheit rein, doch es kommt ne fehlermeldung das der befehl nicht dfefeniert ist
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 3:17 pm
by Lexx
Ich schlage dir vor, du ließt dir noch mal die Tutorials zum Scripten durch. Ich kann mir so ungefähr vorstellen, was du machen willst... aber das wird definitiv NICHT mit einer lokalen Variable funktionieren, sondern ehr mit einer globalen. Lokale Variablen funktionieren nur Script-intern, es sei denn, du exportierst diese z. B. ins Map Script und von da in das andere Script.
Ich kann dir erstmal nur empfehlen, klein anzufangen... kurze Dialoge und hier und da etwas rumspielen. Du versuchst hier auf 'nen Bullen aufzusteigen und kannst noch nicht mal ein Pony reiten.
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 3:19 pm
by Mr.Wolna
Cooler Vergleich
Das Problem ist, das ich das machen MUSS, weil sonst kommt ja keine Sau in den Bunker!
Tutorila habe ich zum 10x mal durch ,bringt nix mehr!
Könntest du mir diese Lvar Sache im allgemeinen erklären, das ich das mal checke, weil soweit ich aus deinen Tut entnehmen konnte sind Lvars im Script selber defeniert! Und wenn ja wo sind dann die Definationen von den Zahlen, weil die (4) in Beckys script ist was anderes alsdie (4) im Joshua Script, kann es sein das sich beide übershchneiden? Ich meine das!
Becky:
#define LVAR_Flags (4)
Joshua:
#define LVAR_Herebefore (4)
Wenn ich alles in einen reintue sieht dann so aus!
#define LVAR_Flags (4)
#define LVAR_Herebefore (4)
Ich weiß ist wahrscheinlic totaler Schwachsinn,aber ich steig da noch nicht so ganz durch!
Wie auch immer ich muss halt metzgers tod definieren das Problem ist WIE
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 3:22 pm
by Lexx
Die zahlen dahinter sind laufende Nummern! ... Jede lokale Variable bekommt eine eigene Nummer im Script. Die Reihenfolge ist scheiß egal, hauptsache es steht eine Nummer in Klammern dahinter.
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 3:28 pm
by Mr.Wolna
Also kann ich theoretisch die 4 aus becky script durch ne 9 ersetzen? oder mussen die Zahlen durch lafen? also nicht von 4 auf 6 sprinken oder ists egal solange einfach ne Zahl dahinter steht und sich nicht widerholt?
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 3:29 pm
by Lexx
Ich bin der Meinung das die Zahlen nicht unbedingt laufende Nummern sein müssen, würde mich aber nicht wundern, wenn es Fehler gibt, wenn sie nicht durchlaufend nummeriert sind. Im Zweifel immer so machen, wie in den Originalscripten.
Btw. die Zahlen müssen nicht durchlaufend sein im sinne von Script 1 hat 1, 2, 3, 4 und Script 2 dann 5, 6, 7, 8.... Jedes Script hat seinen eigenen Zahlensatz.
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 3:42 pm
by Mr.Wolna
Also ich habe es jetz so!
define LVAR_Herebefore (4)
#define LVAR_Hostile (5)
#define LVAR_Personal_Enemy (6)
#define LVAR_Caught_Thief (7)
#define LVAR_Flags (8)
#define said_metzger_dead lvar_bit(LVAR_Flags, said_metzger_dead_bit)
#define set_said_metzger_dead set_lvar_bit_on(LVAR_Flags, said_metzger_dead_bit)
und der code in der talk_p_proc:
if ((has_rep_slaver) or (has_rep_childkiller)) then begin
call Node010;
end else if (local_var(LVAR_Herebefore) == 0) then begin
start_gdialog(NAME,self_obj,4,-1,-1);
gSay_Start;
call Node001;
gSay_End;
end_dialogue;
end else if ((metzger_dead) and (said_metzger_dead == false)) then begin
set_said_metzger_dead;
start_dialog_at_node(Node012);
end else begin
call Node009;
end
set_local_var(LVAR_Herebefore, 1);
end
Trotz aller dem, kommt dieser Fehler
Lagsam macht mich das echt wütend^^
TEMP.I(9979): Error! Undefined symbol metzger_dead
FSE info --> Compiler reports unknown command or character.
"Please check whenever you have mistyped function or procedure name or not declared all variables."
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 3:44 pm
by Lexx
Hast du "said_metzger_dead" selbst erstellt bzw. definiert?
Noch ne Frage. Gehört das:
Code: Select all
set_local_var(LVAR_Herebefore, 1);
end
Nicht mehr mit dazu oder steht das _auch_ so in der Prozedur? Weil, wenn ja, hat die Wenn-dann-Abfrage ein Ende zu viel.
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 3:51 pm
by Mr.Wolna
set_local war, war schon so drinn hab das nicht angefasst es sit in der prozedur drinn!
und nein ich habe deat metger aus den rebecca script kopiert und dabe aber diese kleine Zeile vergessen
#define said_metzger_dead_bit bit_13
Jetz geht der script , die Frage sit nun ob es Ingame auch so funktioniert! Sag gleich bescheid! Drück mir die Daumen das es geht!
ES GEHT!!!
Jetz nur noch einen passenden Dialog dazu! Danke für deine Hilfe Lexx, ohne dich hätte ich es wohl kaum geschafft!
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 6:32 pm
by Mr.Wolna
ihh verstehe nicht warum dieser code nicht geht
procedure Node013 begin
if (dude_level > 4) then begin Reply(142);
// *** Msg file reference: {142}{}{Du hast der Welt einen großen Gefallen getan!} ***
end else begin Reply(143);
end
end
aber wenn ich stat replay
start_gdialog(NAME,self_obj,4,-1,-1);
gSay_Start;
call NodeXXX;
gSay_End;
end_dialogue;
mache geht es! mit allen anderen wie start dialog at node xxx oder call nidexxx gehts auch nicht nur mit gdialog! warum ist das so?
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 6:56 pm
by Helios2000
Es ist halt so.
Der Befehl
öffnet das Dialog Fenster. Die anderen Befehle stehen nur zur Verfügung wenn es offen ist. z.B. kann Replay kein Dialogfenster aufrufen. Sondern nur in einem verwendet werden.
Lies doch mal den das Tutorial das beim Mapper dabei ist. Da steht das auch alles drin.
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 7:00 pm
by Mr.Wolna
man nes geht so easy,wenn mans erst richtig kann ich komme soweit gut zu recht, das einzige problem das ich habe ist.
1.Das er nach den Gespräch nicht bei node 12 (metzgers tod) bleibt. Sondern zurück nach node 9 geht(float text "ich hab dir nix mehr zu sagen)
Und, das wenn man mit ihn das erste mal redet wenn metzger schon tod ist, erzählt er erstmal die alte geschichte (node 1).
Wenn ich das hinkriegen würde habe ich es geschafft, noch die Dilaoge anpassen(habe einfahve genommen umn erst die Struktur reinzukriegen).
Und volla dann habe ich ihn so wie ichn haben wollte, und kann endlich an die Konsole ran!
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 7:02 pm
by Helios2000
Das hab ich dir doch schon erklärt.
Wenn man sich deinen Code oben anguckt hat der keine Struktur. Würde das neu zusammenbauen und an deiner Stelle noch mit Kommentaren versehen. Sonst steigst du später wenn wir endlich Killaps Scripte haben da nicht mehr durch.
Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 7:05 pm
by Mr.Wolna
Wo wie warum, hab ich was verpasst? Erklärs bitte ncohmal, ich weiß ich nerv grad voll rum aber das wird wohl diese Woche so bleiben, denn ich habe mir vorgenommen das scripten zu lernen!
Und wenn ich mir was vornehme erreiche ich es auch meistens