Re: Ein paar Scriptfragen.
Posted: Thu May 01, 2008 7:06 pm
Ich hab ca. ein Jahr gebraucht, um bei den Fallout Scripten voll durchzusteigen. Eine Woche könnte knapp werden.
procedure talk_p_proc begin
Evil_Critter:=0;
Slavery_Tolerant:=SLAVE_TOLERANT;
Karma_Perception:=KARMA_PERCEPTION1;
CheckKarma;
GetReaction;
//Hostile is handled in combat
//Door alert is handled by timer event
set_status_known(GVAR_SAN_FRAN_JASHUA_STATUS)
if ((has_rep_slaver) or (has_rep_childkiller)) then begin
call Node010;
end else if ((metzger_dead) and (said_metzger_dead == false)) then begin
set_said_metzger_dead;
start_dialog_at_node(Node012);
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 begin
call Node009;
end
set_local_var(LVAR_Herebefore, 1);
end
// Gespräch nach Metzgers Tod um in den Bunker zu kommen //
procedure Node012 begin
set_metzger_known;
// *** Msg file reference: {138}{}{So, so Metzger ist also tot. Ich werde nicht das Gefühl los, das du damit was zu tun haben könntest.} ***
Reply(138);
// *** Msg file reference: {139}{}{Das war ein harter Kampf.} ***
NOption(139, Node013, 004);
// *** Msg file reference: {140}{}{Kann ich dir eine Frage stellen?} ***
NOption(140, Node013, 004);
// *** Msg file reference: {141}{}{Auf Widersehen.} ***
NOption(141, Node999, 004);
end
procedure Node013 begin
if (dude_level > 4) then begin start_gdialog(NAME,self_obj,4,-1,-1);
gSay_Start;
call Node014;
end else begin start_gdialog(NAME,self_obj,4,-1,-1);
gSay_Start;
call Node015;
end
end
procedure Node014
begin
// *** Msg file reference: {143}{}{Komm zu der BOS.} ***
Reply(143);
NOption(145, Node999, 004);
NOption(146, Node999, 004);
end
procedure Node015
begin
// *** Msg file reference: {142}{}{Du hast der Welt einen großen Gefallen getan!} ***
Reply(142);
NOption(144, Node999, 004);
end
Nein es gibt keine Liste aber der Name der Msg muss gleich mit dem Scriptnamen sein.Nur bei den neuen script findet er einfach die msg datei nicht. Gibt es etwa eine List Datei für die Dialoge??? Nicht das ich wüsste, ODER? Weiß echt nicht weiter
Code: Select all
procedure look_at_p_proc begin
script_overrides;
if (local_var(LVAR_Herebefore) == 0) then
display_msg(mstr(100));
else
display_msg(mstr(101));
end
Code: Select all
procedure look_at_p_proc begin
script_overrides;
if (local_var(LVAR_Herebefore) == 0) then begin
display_msg(mstr(100));
end else begin
display_msg(mstr(101));
end
end
Code: Select all
procedure talk_p_proc begin
if (local_var(LVAR_Herebefore) == 1) then begin
start_gdialog(NAME,self_obj,4,-1,-1);
gSay_Start;
call Node005;
gSay_End;
end_dialogue;
end else begin
start_dialog_at_node(Node001);
end
Code: Select all
procedure talk_p_proc begin
start_gdialog(NAME,self_obj,4,-1,-1);
gSay_Start;
if (local_var(LVAR_Herebefore) == 1) then begin
call Node005;
end else begin
call Node001;
end
gSay_End;
end_dialogue;
end
Code: Select all
procedure use_p_proc begin
dialogue_system_enter;
end
Code: Select all
procedure use_p_proc begin
call talk_p_proc;
end
Code: Select all
procedure Node001 begin
// *** Msg file reference: {103}{}{Willkommen zum Brotherhood of Steel Kommunikationsnetwerk. Bitte wählen sie eine Aktion.} ***
Reply(103);
Code: Select all
#include "..\headers\define.h"
#define NAME SCRIPT_DENCOMP
#include "..\headers\command.h"
#include "..\headers\scripts.h"
procedure start;
procedure use_p_proc;
procedure look_at_p_proc;
procedure description_p_proc;
procedure use_skill_on_p_proc;
procedure use_obj_on_p_proc;
procedure damage_p_proc;
procedure map_enter_p_proc;
procedure map_update_p_proc;
procedure talk_p_proc;
#define LVAR_Herebefore (4)
#define LVAR_Hostile (5)
#define LVAR_Personal_Enemy (6)
procedure Node998; // This Node is Always Combat
procedure Node999; // This Node is Always Ending
procedure Node001;
procedure Node005;
procedure start begin
end
procedure timed_event_p_proc begin
end
procedure use_p_proc begin
call talk_p_proc;
end
procedure look_at_p_proc begin
script_overrides;
if (local_var(LVAR_Herebefore) == 0) then begin
display_msg(mstr(100));
end else begin
display_msg(mstr(101));
end
end
procedure description_p_proc begin
script_overrides;
display_msg(mstr(102));
end
procedure use_skill_on_p_proc begin
end
procedure use_obj_on_p_proc begin
end
procedure damage_p_proc begin
end
procedure map_enter_p_proc begin
end
procedure map_update_p_proc begin
end
procedure talk_p_proc begin
if (local_var(LVAR_Herebefore) == 0) then begin
set_local_var(LVAR_Herebefore,1);
start_gdialog(NAME,self_obj,4,-1,-1);
gSay_Start;
call Node005;
gSay_End;
end_dialogue;
end else begin
call Node001;
end
end
procedure Node999 begin
end
procedure Node998 begin
set_local_var(LVAR_Hostile,2);
end
procedure Node001 begin
floater_rand(100,120);
end
procedure Node005 begin
Reply(103);
NOption(104, Node999, 4);
NOption(105, Node999, 4);
NOption(106, Node999, 4);
NOption(107, Node999, 4);
end