Problems with MSG

Lt_khorne

First time out of the vault
Hi 4 all
well , i try to explain in the best form ...

Im make a new critter (with one civilian from fot (thanks Wild Qwerty for this work ;) ) and add a script for a basic talk (is created with Fallout Script Editor , and for test :P)

Code:
#include "..\headers\define.h"
#define NAME                    SCRIPT_KDMOD001
#include "..\headers\command.h"

procedure start;
procedure node2000;
procedure node1001;
procedure node1000;
procedure node002;
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 start begin
end

procedure timed_event_p_proc begin
end

procedure use_p_proc begin
end

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

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
start_gdialog(NAME, self_obj, 4, -1, -1);
gsay_start;
if (get_critter_stat(Dude_obj, STAT_iq)>3) then
call node002;
else
call node2000;
gsay_end;
end_dialogue;
end

procedure node002
begin
gSay_Message(NAME,100,50);
 
end
 
procedure node1000
begin
 
end
 
procedure node1001
begin
 
end
 
procedure node2000
begin
 
end

The name of script is "exoma.int" , im put the MSG file with the lines 100 , 101 & 102 , called "exoma.msg" , im attach to the new critter using the bis mapper ... And put one of this critter at the beginning of the Artemple.map , when im try to talk , throw the dialogue windows , and get in the text : Error...

What is wrong ??? Im appreciate the help :D
Edit : Add information
Im add the name of script in the header "scripts.h" and in "scripts.lst"

Salut ;)
 
See this part?

Code:
#define NAME                    SCRIPT_KDMOD001

That part must correspond to the real name of your script. If you say that the name of the script file is "exoma.int" then the above code should read

Code:
#define NAME                    SCRIPT_EXOMA
 
Eyh! thanks for the fast reply ;)

Im change to EXOMA in SCRIPTS.H and in the INT and now works ;)

Very thanks
 
Well , now have a very strange problem :D

Im add this in SCRIPT.H

Code:
#define SCRIPT_EXAMO            (1304)  // examo.int       ; Texto de pruebas (Khorne)
#define SCRIPT_EXAMO2           (1305)  // examo2.int      ; Texto de pruebas 2 (Khorne)
#define SCRIPT_KNPT01           (1306)  // knpt01.int      ; Texto Expandible (Khorne)

The code for knpt01.int is this : (sorry for larger posts , but i don´t know more of scripting and no have idea what is wrong :S )

Code:
#include "..\headers\define.h"

#define NAME                    SCRIPT_KNPT01

#include "..\headers\command.h"

procedure start;
procedure node2000;
procedure node998;
procedure node999;
procedure node003;
procedure node002;
procedure node001;
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 start begin
end

procedure timed_event_p_proc begin
end

procedure use_p_proc begin
end

procedure look_at_p_proc begin
   script_overrides;
   if (local_var(LVAR_Herebefore) == 0) then
      display_msg(mstr(100));
   else
      display_msg(mstr(100));
end

procedure description_p_proc begin
   script_overrides;
   display_msg(mstr(100));
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
start_gdialog(NAME, self_obj, 4, -1, -1);
gsay_start;
if (get_critter_stat(Dude_obj, STAT_iq)>3) then
call node001;
else
call node2000;
gsay_end;
end_dialogue;
end
 
procedure node001
begin
Reply(102);
giq_option(4,NAME,103,node002,50);
giq_option(4,NAME,109,node999,50);
 
end
 
procedure node002
begin
Reply(104);
giq_option(4,NAME,105,node003,50);
 
end

procedure node003
begin
Reply(106);
giq_option(4,NAME,107,node998,50);
giq_option(4,NAME,108,node999,50);
giq_option(4,NAME,109,node999,50);
 
end
 
procedure node999
begin
 
end
 
procedure node998
begin
 
end
 
procedure node2000
begin
 
end

Well , the strange , is when in mapper , (in Artemple.map, the same) im try to attach this script to a new npc (or to a existent one) , no show me the popup to put the name of the script

and the more strange , is in game , when talk to the npc , read the MSG from EXOMA.MSG :S :S

Salut ;)
 
Not sure what you have on mind but this is some problem with script regitration.
If you have
#define SCRIPT_EXAMO (1304) // examo.int ; Texto de pruebas (Khorne)
#define SCRIPT_EXAMO2 (1305) // examo2.int ; Texto de pruebas 2 (Khorne)
#define SCRIPT_KNPT01 (1306) // knpt01.int ; Texto Expandible (Khorne)
in scripts.h then you should also have same order in scripts.lst.
If you don't see KNPT01 name in mapper then this script is not registered correctly.
If you use FSE then you used Register script option (F7) or add it manually to scripts.lst, scripts.h?
 
Ops , sorry , im no know this .

Im change and delete one script i add to the list and no in script.h , and put some error in tipping the name of description in script.lst :P

Now works !

Very thanks for the help :D

Salut ;)
 
Back
Top