Okay, I'm taking my first real stab at trying to make my own script, but aside from the fact that I still don't know how to acutally use stuff that I make, I'm really not sure if these codes will work. Soooo......I was hoping that someone having experience could help me out, and tell me if I got all of this right. Basically this is the script for a really really stupid (Torr stupid) guard in some slavers' basement.
Her is the map script so far:
#ifndef SLAVERS_H
#define SLAVERS_H
// Map vars for Slavers House
// Comments
//MAP_GLOBAL_VARS:
//GLOBAL NUMBER
// All Map Vars need to start w/ MVAR_
#define MVAR_Slavers_hostile (0)
#endif // SLAVERS_H
Okay, next here is the .msg file for this guy:
{100}{}{You see a slaver.}
{101}{}{You see Jerkey, the slaver.}
{102}{}{You see a man holding a club, and rambling with the other man next to him. You think he's a slaver, and he doesn't look to bright.}
{200}{}{Ugg...}
{201}{}{Unng? Narlf.}
{202}{}{flarg.}
{203}{}{G'nung}
{300}{}{Ugg...}
{301}{}{What?}
{302}{}{I agree.}
{303}{}{Uh, yea. Nevermind.}
{400}{}{Unga}
{401}{}{Hrng. Mrff.}
{402}{}{Sharlf.}
{403}{}{Twart.}
{500}{}{Ooka!}
{501}{}{*Sigh* Maybe your friend will be more helpful...}
{600}{}{Krej.}
{601}{}{*Sigh* Maybe your friend will be more helpful...}
And finally here is the actual script file:
/*
Name: Jerkey the Slaver
Location: Slaver Basement
Description:
*/
/* Include Files */
#include "..\headers\define.h"
#include "..\headers\slavers.h"
#define NAME SCRIPT_SCJERKEY
#define TOWN_REP_VAR GVAR_TOWN_REP_SLAVERS
#include "..\headers\command.h"
#include "..\headers\ModReact.h"
/*#include "..\headers\DenRes1.h"(not sure what to replace this with, since I'm using another script as a pallete.*/
/* Standard Script Procedures */
procedure start;
procedure critter_p_proc;
/*procedure pickup_p_proc;(what is this one for?All the other functions are pretty intuitive*/
procedure talk_p_proc;
procedure destroy_p_proc;
procedure look_at_p_proc;
procedure description_p_proc;
procedure use_skill_on_p_proc;
procedure damage_p_proc;
procedure map_enter_p_proc;
// dialog nodes
procedure Node000;
procedure Node001;
procedure Node002;
procedure Node003;
procedure Node004;
procedure Node005;
procedure Node006;
procedure Node998; // This Node is Always Combat
procedure Node999;
//import variable jerkey_obj;
procedure start begin
end
procedure map_enter_p_proc begin
if (is_loading_game == false) then begin
if (map_first_run) then begin
critter_add_trait(self_obj, TRAIT_OBJECT, OBJECT_TEAM_NUM, TEAM_SLAVERS);
critter_add_trait(self_obj, TRAIT_OBJECT, OBJECT_AI_PACKET, AI_SLAVER;
end
end
jerkey_obj := self_obj;
end
procedure critter_p_proc begin
if (self_can_see_dude) then begin
if ((hostile) or (slavers_hostile)) then begin
self_attack_dude;
end
end
end
procedure damage_p_proc begin
if (source_obj == dude_obj) then begin
call Node998;
set_slavers_hostile:=1;
end
end
procedure pickup_p_proc begin
/*if (source_obj == dude_obj) then begin
call Node998;
end*/
end
procedure talk_p_proc begin
check_forced_dialog
else begin
GetReaction;
start_gdialog(NAME,self_obj,4,-1,-1);
gSay_Start;
if(dude_is_stupid==true)
call Node002;
end else call Node 003;
end
gSay_End;
end_dialogue;
script_overrides;
end
end
procedure destroy_p_proc begin
jerkey_obj := 0;
set_jerkey_dead;
end
procedure look_at_p_proc begin
script_overrides;
display_mstr(100)
end
procedure description_p_proc begin
script_overrides;
display_mstr(102);
end
procedure use_skill_on_p_proc begin
end
procedure Node999 begin
// to exit dialogs
end
procedure Node998 begin
// sets up combat
set_slavers_hostile;
set_hostile;
end
procedure Node002 begin
Reply(200);
begin
NOption(201,Node004,001);
NOption(202,Node004,001);
NOption(203,Node004,001);
end
procedure Node003 begin
Reply(300);
NOption(301,Node005,004);
NOption(302,Node006,004);
NOption(303,Node999,004);
end
procedure Node004 begin
Reply(400);
NOption(401, Node999, 001);
NOption(402, Node999, 001);
NOption(403, Node999, 001);
end
procedure Node005 begin
debug_msg("Node005");
Reply(500);
NOption(501,Node999,004);
end
procedure Node006 begin
debug_msg("Node006");
Reply(600);
NOption(601,Node999,004);
end
So yea, syntax errors, logic errors, help me find them! I'm really set on making my own fallout, so I would give like 50000 karma points to anyone who would be nice enough to help me = D
Is this scripts right?
- burgermeister01
- SDF!
- Posts: 20
- Joined: Wed Apr 23, 2003 10:46 pm
- Location: Rockford, IL
Is this scripts right?
My mantra: "Please for the love of God, just work..."
well first if you use compiler or p.bat file from its standart location
..Fallout 2 Mapper\scripts then erase this dots in include lines like his:
/* Include Files */
#include "headers\define.h"
#include "headers\slavers.h"
#define NAME SCRIPT_SCJERKEY
#define TOWN_REP_VAR GVAR_TOWN_REP_SLAVERS
#include "headers\command.h"
#include "headers\ModReact.h"
procedure pickup_p_proc is used when somone steals item from your critter or (if it is in item script) when you take this item
..Fallout 2 Mapper\scripts then erase this dots in include lines like his:
/* Include Files */
#include "headers\define.h"
#include "headers\slavers.h"
#define NAME SCRIPT_SCJERKEY
#define TOWN_REP_VAR GVAR_TOWN_REP_SLAVERS
#include "headers\command.h"
#include "headers\ModReact.h"
procedure pickup_p_proc is used when somone steals item from your critter or (if it is in item script) when you take this item