Back to Desktop Crash

If you're looking for mapping help or you reckon you're a mapping guru, post your questions / solutions here

Moderator: Moderators

Post Reply
FIVEBOY
Colour Sergeant
Posts: 94
Joined: Thu Feb 27, 2003 3:09 pm
Location: England
Contact:

Back to Desktop Crash

Post by FIVEBOY »

After all the hard work my map crashes back to the desktop in ramdomly :( :(

Im not sure if its the .bsp or the scr i created. Heres the log file.

Code: Select all

sv_maxclients will be changed upon restarting.
g_gametype will be changed upon restarting.
g_gametypestring will be changed upon restarting.
cheats will be changed upon restarting.
------ Server Initialization ------
Server: obj/obj_st_floretes_3
Called FadeSound with: 0.000000
Called FadeSound with: 0.000000
------- S_StopAllSounds (stop music) -------
------- S_StopAllSounds Complete-------
------- S_StopAllSounds (stop music) -------
------- S_StopAllSounds Complete-------
Called FadeSound with: 0.000000
Setting up Shaders
UI_DrawConnect called
^~^~^ Add the following line to the *_precache.scr map script:
cache models/emitters/wider_black_tall.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/emitters/generic_spark.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/weapons/mp44.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/weapons/m1_garand.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/miscobj/coffee_kettle.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/corona_red.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/statweapons/flak88base.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/emitters/firesmoke.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/statweapons/flak88turret.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/items/pulse_explosive.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/animate/vehicle_german_opeltruckgreen.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/lights/lightbulb_caged_red.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/lights/lightbulb_caged_red-lit.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/dummy.tik
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/allied_oss.skc' or 'models/player/allied_oss.skc'
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/allied_oss_fps.skc' or 'models/player/allied_oss_fps.skc'
^~^~^ Box data is corrupted for 'models/human/allied_pilot/allied_pilot.skd'
^~^~^ Morph targets data is corrupted for 'models/human/allied_pilot/allied_pilot.skd'
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/german_elite_gestapo.skc' or 'models/player/german_elite_gestapo.skc'
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/german_elite_gestapo_fps.skc' or 'models/player/german_elite_gestapo_fps.skc'
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/german_winter1.skc' or 'models/player/german_winter1.skc'
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/german_winter1_fps.skc' or 'models/player/german_winter1_fps.skc'
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/german_winter2.skc' or 'models/player/german_winter2.skc'
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/german_winter2_fps.skc' or 'models/player/german_winter2_fps.skc'
------ Server Initialization Complete ------  5.57 seconds
Called FadeSound with: 0.000000
------- Sound Begin Registration -------
------- S_StopAllSounds (stop music) -------
------- S_StopAllSounds Complete-------
------- Sound Begin Registration Complete -------


-----------PARSING 'stf3_sound.scr'------------
Any SetCurrentTiki errors means that tiki wasn't prefetched and tiki-specific sounds for it won't work. To fix prefetch the tiki. Ignore if you don't use that tiki on this level.
^~^~^ Event 'local.master' does not exist.
^~^~^ Failed execution of event for class 'ClientGameCommandManager'
^~^~^ Event 'local.master' does not exist.
^~^~^ Failed execution of event for class 'ClientGameCommandManager'
^~^~^ Event 'local.master' does not exist.
^~^~^ Failed execution of event for class 'ClientGameCommandManager'
^~^~^ Event 'local.master' does not exist.
^~^~^ Failed execution of event for class 'ClientGameCommandManager'
Parse/Load time: 0.148000 seconds.
-------------PARSING 'stf3_sound.scr' DONE---------------



-----------PARSING 'uberdialog.scr'------------
Any SetCurrentTiki errors means that tiki wasn't prefetched and tiki-specific sounds for it won't work. To fix prefetch the tiki. Ignore if you don't use that tiki on this level.
Parse/Load time: 0.337000 seconds.
-------------PARSING 'uberdialog.scr' DONE---------------



-----------PARSING 'ubersound.scr'------------
Any SetCurrentTiki errors means that tiki wasn't prefetched and tiki-specific sounds for it won't work. To fix prefetch the tiki. Ignore if you don't use that tiki on this level.
Parse/Load time: 3.014000 seconds.
-------------PARSING 'ubersound.scr' DONE---------------

stitched 0 LoD cracks
...loaded 7102 faces, 41 meshes, 0 trisurfs, 0 flares
R_LevelMarksLoad: maps/obj/obj_st_floretes_3.dcl not found
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/allied_oss.skc' or 'models/player/allied_oss.skc'
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/allied_oss_fps.skc' or 'models/player/allied_oss_fps.skc'
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/german_elite_gestapo.skc' or 'models/player/german_elite_gestapo.skc'
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/german_elite_gestapo_fps.skc' or 'models/player/german_elite_gestapo_fps.skc'
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/german_winter1.skc' or 'models/player/german_winter1.skc'
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/german_winter1_fps.skc' or 'models/player/german_winter1_fps.skc'
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/german_winter2.skc' or 'models/player/german_winter2.skc'
SkeletorCacheFileCallback: Could not open binary file 'newanim/models/player/german_winter2_fps.skc' or 'models/player/german_winter2_fps.skc'
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_paper_lite.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_paper_hard.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_wood_lite.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_wood_hard.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_metal_lite.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_metal_hard.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_stone_lite.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_stone_hard.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_dirt_lite.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_dirt_hard.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_grass_lite.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_grass_hard.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_mud_lite.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_mud_hard.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_water_lite.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_water_hard.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_glass_lite.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_glass_hard.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_sand_lite.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_sand_hard.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_foliage_lite.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_foliage_hard.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_snow_lite.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_snow_hard.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_carpet_lite.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_carpet_hard.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_human_uniform_lite.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bh_human_uniform_hard.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/water_trail_bubble.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/grenexp_base.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bazookaexp_base.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/heavyshellexp_base.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/tankexp_base.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/grenexp_paper.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/grenexp_wood.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/grenexp_metal.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/grenexp_stone.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/grenexp_dirt.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/grenexp_grass.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/grenexp_mud.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/grenexp_water.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/grenexp_gravel.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/grenexp_sand.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/grenexp_foliage.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/grenexp_snow.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/grenexp_carpet.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/heavyshellexp_dirt.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/heavyshellexp_stone.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/heavyshellexp_snow.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/tankexp_dirt.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/tankexp_stone.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/tankexp_snow.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bazookaexp_dirt.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bazookaexp_stone.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/bazookaexp_snow.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/water_ripple_still.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/water_ripple_moving.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/barrel_oil_leak_big.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/barrel_oil_leak_medium.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/barrel_oil_leak_small.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/barrel_oil_leak_splat.tik
^~^~^ Add the following line to the *_precache.scr map script:
cache models/fx/barrel
and here the scr file a created each every feature works but may need improving.

Code: Select all

//// Saint Floretes 3
//// ARCHITECTURE: FIVEBOY
//// SCRIPTING:.map men

main:

setcvar "g_obj_alliedtext1" "Destory the gun"
setcvar "g_obj_alliedtext2" "ON IT"
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" "Prevent Allies from"
setcvar "g_obj_axistext2" "destroying the Flak88"
setcvar "g_obj_axistext3" "Viel Spass"

setcvar "g_scoreboardpic" "obj_st_floretes_3" 

local.master = spawn ScriptMaster
local.master aliascache crossing_bell sound/bridge/xing3.wav soundparms 1.0 0.0 1.0 0.0 1024 6000 auto loaded maps "m dm moh obj "
local.master aliascache bridge_open sound/bridge/Fence_Open.wav soundparms 1.0 0.0 1.0 0.0 1024 6000 auto loaded maps "m dm moh obj "
local.master aliascache bridge_open2 sound/bridge/Mec_GeneratorRun_01.wav soundparms 1.0 0.0 1.0 0.0 1024 6000 auto loaded maps "m dm moh obj "
local.master aliascache bridge_open3 sound/bridge/Gate_Metal_Locked.wav soundparms 1.0 0.0 1.0 0.0 1024 6000 auto loaded maps "m dm moh obj "


///////////////////////
level waitTill prespawn
///////////////////////

//Precache Dm Stuff

exec global/DMprecache.scr
level.script = maps/obj/obj_st_floretes_3.scr
exec global/ambient.scr mohdm4
thread global/exploder.scr::main // Initialize the exploder subsystem
exec global/ai.scr
exec global/door_locked.scr::lock



$bridge2 bind $bridge1
	
	thread truckride
	thread bridge
	thread red_light
	thread elevator_prep
	thread upper_button_pushed
	thread mid_button_pushed
	thread lower_button_pushed
	thread force_updoors
	thread force_mddoors
	thread force_dndoors
	thread fifisetup
	

	// prep
	
	$faketruck_model anim idlelights
	$faketruck_collision bind $faketruck_model	
	$wm_fire2 anim stop
	$wake_left anim start
	$wake_right anim start
	level.elipos = 1
	level.rdoorpos = 0

/////////////////////
level waittill spawn
////////////////////

level.bomb_damage = 200
level.bomb_explosion_radius = 640
level.defusing_team = "axis"
level.planting_team = "allies"
level.targets_to_destroy = 1
level.dmrespawning = 0 // 1 or 0
level.dmroundlimit = 5 // round time limit in minutes
level.clockside = axis // set to axis, allies, kills, or draw


level waittill roundstart

$flak88_explosive1 thread global/obj_dm.scr::bomb_thinker


$flak88_explosive1 thread axis_win_timer
thread allies_win_bomb

end

//*** --------------------------------------------
//*** "Axis Victory"
//*** --------------------------------------------

axis_win_timer:

level waittill axiswin

end

//*** --------------------------------------------
//*** "Allied Victory"
//*** --------------------------------------------

allies_win_bomb:

while(level.targets_destroyed < level.targets_to_destroy)
waitframe

teamwin allies
end

truckride:
	
	wait 2
	$faketruck_model playsound m4l3_truck1
	$faketruck_model followpath $faketruck_entrypath
	$faketruck_model waitmove
	$faketruck_model loopsound m4l2_truckidle
	wait 2
	$faketruck_model stoploopsound
end

thread bridge

end


bridge:

	$bridge_trigger waittill trigger
	$boom loopsound crossing_bell
	wait 15
	$boom time 6
	$boom rotatezup 90
	$boom waitmove
	wait 6
	$bridge1 playsound bridge_open
	$bridge1 wait 0.1
	$bridge1 loopsound bridge_open2
	$bridge1 time 20
	$bridge1 rotatexup 50
	$bridge1 moveto $bridge_way1
	$bridge1 waitmove
	$bridge1 stoploopsound bridge_open2
	$bridge1 playsound bridge_open3
	wait 20
	//$bridge1 playsound bridge_open
	$bridge1 loopsound bridge_open2
	$bridge1 time 20
	$bridge1 rotatexdown 50
	$bridge1 moveto $bridge_way2
	$bridge1 waitmove
	$bridge1 stoploopsound bridge_open2
	$bridge1 playsound bridge_open3
	wait 3
	$boom time 6
	$boom rotatezdown 90
	$boom stoploopsound crossing_bell
	$boom waitmove
	
	goto bridge

end

red_light:

	$lh_red_light show
	$lh_clight_on show
	$lh_clight_off hide
	$lh_dlight light 1 .2 .1 80
	wait 2
	$lh_red_light hide
	$lh_clight_on hide
	$lh_clight_off show
	$lh_dlight light 0 0 0 0
	wait 2
	goto red_light

end

//-----------------------------------------------------------> 
// Three Story Elevator 
//-----------------------------------------------------------> 

elevator_prep: 

	$elevator_button_up bind $elevator // Attaches the trigger to the elevator so it moves with it.
	$elevator_button_dn bind $elevator // Attaches the trigger to the elevator so it moves with it. 
	$elevator_door_rt bind $elevator // makes door move with the elevator.
	$elevator_door_lt bind $elevator
	$elevator_hatch moveWest 384  // replaces hatch moved for lighting
	$elevator_hatch waitmove
	$elevator_hatch rotateXdown 75  //closes the hatch
	$elevator_hatch move
	$elevator_hatch_trigger bind $elevator
	$elevator_hatch  bind $elevator
	$elevator speed 64 // sets the elevator move speed, 64 units per second in this case
	$lowerdoor_rt speed 48
	$lowerdoor_lt speed 48
	$mid_door_rt speed 48
	$mid_door_lt speed 48
	$upperdoor_rt speed 48
	$upperdoor_lt speed 48
	$elevator_door_lt speed 45
	$elevator_door_rt speed 45
	$elevator_hatch time 2.5  // speed does not work for rotating objects
	$floor_id_1 time 4
	$floor_id_2 time 4
	$floor_id_3 time 4
	thread elevator_standby_up
	thread elevator_standby_down
	thread escape_hatch
 
end


lower_button_pushed: 

	$lower_button waittill trigger
	thread triggers_off 
	if (level.elipos == 0) // If elevator at the top, use this thread. 
	{
	thread indicator_move_down2
	$elevator moveto $way_floor1
	$elevator loopsound lighthouse_run
	$elevator waitmove // wait till the elevator has completed the move before doing anything else
	$elevator loopsound lighthouse_run wait // stops the sound
	$elevator playsound snd_ping
	wait 1
	thread lower_doors_cycle
	level.elipos = 1
	wait 10
	thread triggers_on
	goto lower_button_pushed
	}
	else
	if (level.elipos == 2) // If elevator is midway, use this thread. 
	{
	thread indicator_move_down
	$elevator moveto $way_floor1
	$elevator loopsound lighthouse_run
	$elevator waitmove // wait till the elevator has completed the move before doing anything else
	$elevator loopsound lighthouse_run wait // stops the sound
	$elevator playsound snd_ping
	wait 1
	thread lower_doors_cycle
	level.elipos = 1
	wait 10
	thread triggers_on
	goto lower_button_pushed
	}
	else
	if (level.elipos == 1) // If elevator at the botom, use this thread. 
	{
	thread lower_doors_cycle
	wait 10
	thread triggers_on
	goto lower_button_pushed
	}

end

mid_button_pushed: 

	$mid_button waittill trigger
	thread triggers_off
	if (level.elipos == 0) // If elevator at the top, use this thread. 
	{
	thread indicator_move_down 
	$elevator moveto $way_floor2
	$elevator loopsound lighthouse_run
	$elevator waitmove // wait till the elevator has completed the move before doing anything else
	$elevator loopsound lighthouse_run wait // stops the sound
	$elevator playsound snd_ping
	wait 1
	thread mid_doors_cycle
	level.elipos = 2
	wait 10
	thread triggers_on
	goto mid_button_pushed
	}
	else
	if (level.elipos == 2) // If elevator at the top, use this thread. 
	{
	thread mid_doors_cycle
	wait 10
	thread triggers_on
	goto mid_button_pushed
	}
	else
	if (level.elipos == 1) // If elevator at the top, use this thread. 
	{
	thread indicator_move_up 
	$elevator moveto $way_floor2
	$elevator loopsound lighthouse_run
	$elevator waitmove // wait till the elevator has completed the move before doing anything else
	$elevator loopsound lighthouse_run wait // stops the sound
	$elevator playsound snd_ping
	wait 1
	thread mid_doors_cycle
	level.elipos = 2
	wait 10
	thread triggers_on
	goto mid_button_pushed
	}

end 

upper_button_pushed: 

	$upper_button waittill trigger
	thread triggers_off 
	if (level.elipos == 2) // If elevator is midway, use this thread. 
	{
	thread indicator_move_up 
	$elevator moveto $way_floor0
	$elevator loopsound lighthouse_run
	$elevator waitmove // wait till the elevator has completed the move before doing anything else
	$elevator loopsound lighthouse_run wait // stops the sound
	$elevator playsound snd_ping
	wait 1
	thread upper_doors_cycle
	level.elipos = 0
	wait 10
	thread triggers_on
	goto upper_button_pushed
	}
	else
	if (level.elipos == 1) // If elevator at the bottom, use this thread. 
	{
	thread indicator_move_up2 
	$elevator moveto $way_floor0
	$elevator loopsound lighthouse_run
	$elevator waitmove // wait till the elevator has completed the move before doing anything else
	$elevator loopsound lighthouse_run wait // stops the sound
	$elevator playsound snd_ping
	wait 1
	thread upper_doors_cycle
	level.elipos = 0
	wait 10
	thread triggers_on
	goto upper_button_pushed
	}
	else
	if (level.elipos == 0) // If elevator at the top, use this thread. 
	{
	thread upper_doors_cycle
	wait 10
	thread triggers_on
	goto upper_button_pushed
	}

end 

lower_doors_cycle:

	thread triggers_off 
	$elevator_door_rt moveNorth 48 // open
	$elevator_door_rt move
	$elevator_door_lt moveSouth 48
	$elevator_door_lt move
	$elevator playsound lighthouse_lever
	wait .1
	$lowerdoor_rt moveNorth 48 // open
	$lowerdoor_rt move
	$lowerdoor_lt moveSouth 48
	$lowerdoor_lt move
	$elevator playsound lighthouse_lever
	wait 10
	$lowerdoor_rt moveSouth 48 // close
	$lowerdoor_rt move
	$lowerdoor_lt moveNorth 48
	$lowerdoor_lt move
	$elevator playsound lighthouse_lever
	wait .1
	$elevator_door_rt moveSouth 48 // close
	$elevator_door_rt move
	$elevator_door_lt moveNorth 48
	$elevator playsound lighthouse_lever
	$elevator_door_lt waitmove
	thread triggers_on

	goto lower_button_pushed

end

mid_doors_cycle:

	thread triggers_off 
	$elevator_door_rt moveNorth 48 // open
	$elevator_door_rt move
	$elevator_door_lt moveSouth 48
	$elevator_door_lt move
	$elevator playsound lighthouse_lever
	wait .1
	$mid_door_rt moveNorth 48 // open
	$mid_door_rt move
	$mid_door_lt moveSouth 48
	$mid_door_lt move
	$elevator playsound lighthouse_lever
	wait 10
	$mid_door_rt moveSouth 48 // close
	$mid_door_rt move
	$mid_door_lt moveNorth 48
	$mid_door_lt move
	$elevator playsound lighthouse_lever
	wait .1
	$elevator_door_rt moveSouth 48 // close
	$elevator_door_rt move
	$elevator_door_lt moveNorth 48
	$elevator playsound lighthouse_lever
	$elevator_door_lt waitmove
	thread triggers_on

	goto mid_button_pushed

end

upper_doors_cycle:

	thread triggers_off 
	$elevator_door_rt moveNorth 48 // open
	$elevator_door_rt move
	$elevator_door_lt moveSouth 48
	$elevator_door_lt move
	$elevator playsound lighthouse_lever
	wait .1
	$upperdoor_rt moveNorth 48 // open
	$upperdoor_rt move
	$upperdoor_lt moveSouth 48
	$upperdoor_lt move
	$elevator playsound lighthouse_lever
	wait 10
	$upperdoor_rt moveSouth 48 // close
	$upperdoor_rt move
	$upperdoor_lt moveNorth 48
	$upperdoor_lt move
	$elevator playsound lighthouse_lever
	wait .1
	$elevator_door_rt moveSouth 48 // close
	$elevator_door_rt move
	$elevator_door_lt moveNorth 48
	$elevator playsound lighthouse_lever
	$elevator_door_lt waitmove
	thread triggers_on

	goto upper_button_pushed

end

elevator_standby_up: 

	$elevator_button_up waittill trigger
	thread triggers_off 
	if (level.elipos == 0) // If elevator at the top, use this thread. 
	{ 
	wait 1
	thread upper_doors_cycle
	wait 10
	thread triggers_on
	goto elevator_standby_up
	} 
	else 
	if (level.elipos == 2) // If elevator is mid way, use this thread. 
	{ 
	$elevator moveto $way_floor0
	$elevator loopsound lighthouse_run
	thread indicator_move_up
	$elevator waitmove // wait till the elevator has completed the move before doing anything else.
	$elevator loopsound lighthouse_run wait // stops the sound
	$elevator playsound snd_ping
	wait 1
	thread upper_doors_cycle
	level.elipos = 0
	wait 10
	thread triggers_on
	goto elevator_standby_up 
	}  
	else 
	if (level.elipos == 1) // if elevator state is at the bottom, use this thread. 
	{ 
	$elevator moveto $way_floor2
	$elevator loopsound lighthouse_run
	thread indicator_move_up
	$elevator waitmove // wait till the elevator has completed the move before doing anything else.
	$elevator loopsound lighthouse_run wait // stops the sound
	$elevator playsound snd_ping
	wait 1
	thread mid_doors_cycle
	level.elipos = 2
	wait 10
	thread triggers_on
	goto elevator_standby_up
	}

end

elevator_standby_down: 

	$elevator_button_dn waittill trigger
	thread triggers_off 
	if (level.elipos == 0) // If elevator at the top, use this thread. 
	{ 
	$elevator moveto $way_floor2
	$elevator loopsound lighthouse_run
	thread indicator_move_down
	$elevator waitmove // wait till the elevator has completed the move before doing anything else.
	$elevator loopsound lighthouse_run wait // stops the sound
	$elevator playsound snd_ping
	wait 1
	thread mid_doors_cycle
	level.elipos = 2
	wait 10
	thread triggers_on
	goto elevator_standby_down
	} 
	else 
	if (level.elipos == 2) // If elevator is mid way, use this thread. 
	{
	$elevator moveto $way_floor1
	$elevator loopsound lighthouse_run
	thread indicator_move_down
	$elevator waitmove // wait till the elevator has completed the move before doing anything else.
	$elevator loopsound lighthouse_run wait // stops the sound
	$elevator playsound snd_ping
	wait 1
	thread lower_doors_cycle
	level.elipos = 1
	wait 10
	thread triggers_on
	goto elevator_standby_down 
	}  
	else 
	if (level.elipos == 1) // if elevator state is at the bottom, use this thread. 
	{ 
	wait 1
	thread lower_doors_cycle
	wait 10
	thread triggers_on
	goto elevator_standby_down
	}

end

escape_hatch:

	$elevator_hatch_trigger waittill trigger
	$elevator_hatch rotateXup 75
	$elevator_hatch playsound lighthouse_lever
	$elevator_hatch waitmove
	wait 20
	$elevator_hatch rotateXdown 75
	$elevator_hatch playsound lighthouse_lever
	$elevator_hatch waitmove

	goto escape_hatch

end

indicator_move_up:

	$floor_id_1 rotateZup -90
	$floor_id_1 move
	$floor_id_2 rotateZup -90
	$floor_id_2 move
	$floor_id_3 rotateZup -90
	$floor_id_3 move

end

indicator_move_up2:

	$floor_id_1 time 8
	$floor_id_2 time 8
	$floor_id_3 time 8
	$floor_id_1 rotateZup -180
	$floor_id_1 move
	$floor_id_2 rotateZup -180
	$floor_id_2 move
	$floor_id_3 rotateZup -180
	$floor_id_3 move
	$floor_id_1 time 4
	$floor_id_2 time 4
	$floor_id_3 time 4

end

indicator_move_down:

	$floor_id_1 rotateZup 90
	$floor_id_1 move
	$floor_id_2 rotateZup 90
	$floor_id_2 move
	$floor_id_3 rotateZup 90
	$floor_id_3 move

end

indicator_move_down2:

	$floor_id_1 time 8
	$floor_id_2 time 8
	$floor_id_3 time 8
	$floor_id_1 rotateZup 180
	$floor_id_1 move
	$floor_id_2 rotateZup 180
	$floor_id_2 move
	$floor_id_3 rotateZup 180
	$floor_id_3 move
	$floor_id_1 time 4
	$floor_id_2 time 4
	$floor_id_3 time 4

end

triggers_off:

	$elevator_button_up nottriggerable // No triggers work while elevator is moving or doors are open.
	$elevator_button_dn nottriggerable
	$upper_button nottriggerable
	$mid_button nottriggerable
	$lower_button nottriggerable
	$force_upper nottriggerable
	$force_mid nottriggerable
	$force_lower nottriggerable

end

triggers_on:

	$elevator_button_up triggerable // All triggers work when elevator is at rest and doors are closed.
	$elevator_button_dn triggerable
	$upper_button triggerable
	$mid_button triggerable
	$lower_button triggerable
	$force_upper triggerable
	$force_mid triggerable
	$force_lower triggerable

end

force_updoors:

	$force_upper waittill trigger
	if (level.elipos == 0) // If elevator is at the top, use this thread. 
	{
	thread upper_doors_cycle
	wait 10
	goto force_updoors 
	}  
	else 
	thread triggers_off 
	$upperdoor_rt moveNorth 48 // open
	$upperdoor_rt move
	$upperdoor_lt moveSouth 48
	$upperdoor_lt move
	$upperdoor_rt playsound lighthouse_lever
	wait 10
	$upperdoor_rt moveSouth 48 // close
	$upperdoor_rt move
	$upperdoor_lt moveNorth 48
	$upperdoor_lt playsound lighthouse_lever
	$upperdoor_lt waitmove
	thread triggers_on

	goto force_updoors

end

force_mddoors:

	$force_mid waittill trigger
	if (level.elipos == 2) // If elevator is mid way, use this thread. 
	{
	thread mid_doors_cycle
	wait 10
	goto force_mddoors 
	}  
	else 
	thread triggers_off 
	$mid_door_rt moveNorth 48 // open
	$mid_door_rt move
	$mid_door_lt moveSouth 48
	$mid_door_lt move
	$mid_door_rt playsound lighthouse_lever
	wait 10
	$mid_door_rt moveSouth 48 // close
	$mid_door_rt move
	$mid_door_lt moveNorth 48
	$mid_door_lt playsound lighthouse_lever
	$mid_door_lt waitmove
	thread triggers_on

	goto force_mddoors

end

force_dndoors:

	$force_lower waittill trigger
	if (level.elipos == 1) // If elevator is mid way, use this thread. 
	{
	thread lower_doors_cycle
	wait 10
	goto force_dndoors 
	}  
	else 
	thread triggers_off 
	$lowerdoor_rt moveNorth 48 // open
	$lowerdoor_rt move
	$lowerdoor_lt moveSouth 48
	$lowerdoor_lt move
	$lowerdoor_rt playsound lighthouse_lever
	wait 10
	$lowerdoor_rt moveSouth 48 // close
	$lowerdoor_rt move
	$lowerdoor_lt moveNorth 48
	$lowerdoor_lt playsound lighthouse_lever
	$lowerdoor_lt waitmove
	thread triggers_on

	goto force_dndoors

end

fifisetup:
	thread fifi-triggersetup
	level.spawneddogs = 0
	level.aggressive = 0
	if ($dogpos == NULL)
		{
		level.dogposs = 0
		println "*** ERROR no spawnpoints - "
		println "Make spawnpoints with script_origins"
		println "with $targetname/dogpos"
		}
		else
		{
		level.dogposs = $dogpos.size
		}

	if (level.dogposs > 0)
	{
		level.dogpos = exec global/makearray.scr $dogpos
	}
	//local.origin1 = (0 80 17)
	println " fifi inititialized"
	while (1)
	//iprintlnbold "fifi setup while-loop"
	{
	println "fifi idle loop "
	if (level.spawneddogs < 1)	
		{
			level.aggressive = 0
			if ( randomint (20) < 1)
				{
				iprintlnbold "Warning: Fifi is hungry"
				level.fifihungry = 1
				}
			//iprintlnbold "No fifi's - now spawning"
			wait 5
			local.ent = spawn animal/german_shepherd.tik "targetname" "spawned_dog"
			local.r =   randomint ($dogpos.size) + 1
			println "local.r=" local.r
			local.ent.origin = ($dogpos[local.r].origin)
			local.ent.angle = ($dogpos[local.r].angle)
			
			local.ent.health = 10000000
			local.ent.sound_awareness = 100
			local.ent.noticescale = 50
			local.ent.fov = 180
			local.ent.hearing = 1600
			local.ent.accuracy = 100
			local.ent.sight = 4000
			local.ent.leash = 10000
			if (level.fifihungry == 1)
				local.ent.health += 100
			level.spawneddogs++
			level.dog = local.ent
			//iprintlnbold level.dog
			println "fifi spawned waiting for victim - still in mainloop sapwnddogs>0"
			
			println "Fifi spawned - triggered victim = " local.victim.origin
			println "Fifi spawned waiting for trigger - subloop halted"
			local.ent thread fifi-die
			
			//$fifitrigger waittill trigger
			//println "Fifi spawned - triggered"
			
			
			//println "Fifi awake - triggered victim = " local.victim.origin
			//local.ent thread fifi-attack 
			 

			
		}
	wait 15
	}
end

fifi-triggersetup:
for (local.i = 1 ; local.i <= $fifitrigger.size ; local.i ++)
	{
	println "*********************" local.i
	$fifitrigger[local.i] thread fifiwaittrigger
	}

end

fifiwaittrigger:

while (1)
{
//iprintlnbold "fifiwaittrigger loop"
local.self waittill trigger
	//iprintlnbold "triggered"
	if (level.spawneddogs > 0 && level.aggressive < 1 )
		{
		//iprintlnbold "triggered aggressive"
		level.dog thread fifi-attack
		}
	wait 15
}
end
	
fifi-attack:
	level.aggressive = 1
	self.enemy = parm.other
	self forceactivate
	while (isalive self)		
	{
	
		
		self thread fifi-bite
		
		wait .1
		
	}
end
					
fifi-die:
	println "deadthread waiting..."
	self waittill death
	//iprintlnbold "fifi died aggressive = 0 "
	level.aggressive = 0
	level.spawneddogs--
	println "Fifi died - spawnddog should be zero"
	wait 5
	self delete	
	println "Dead Fifi removed from thread"
	
end

fifi-bite:
	
	if (isalive self.enemy == 1)
{
	
	if ( self istouching self.enemy == 1)
	
//bite!!
	{
		
		self setmotionanim dog_bite_leg
		if ( self . enemy != $player )
			{	
			
			self.enemy damage self 75 self (0 0 0) (0 0 0) (0 0 0) 1 9 0 0;
			self.enemy damage $world  75 $world (0 0 0) (0 0 0) (0 0 0) 1 24 24 0;
			
			self.health += 15
			}
			else
			{
			local . dir = $player . origin - self . origin;
			if (level.fifihungry == 1)
			{
			//EXTRA STRONG !!:-)
			self.enemy damage self.enemy  140 $world (0 0 0) local . dir (0 0 0) 1 2 0 0;
			}
			else
			{
			self.enemy damage self.enemy 75 $world (0 0 0) local . dir (0 0 0) 1 2 0 0;
			}
			
			//fifi eated some of your meat and will become stronger
			self.health += 15
			}

		self waittill flaggedanimdone
		
	}
	else
	{
//chase enemy
		self setmotionanim dog_run
		self waittill flaggedanimdone
	}

}
end	
	
//goto fifi-bite
sorry its so long

thx 5
User avatar
tltrude
Chuck Norris
Posts: 4774
Joined: Sun Jul 07, 2002 4:03 am
Location: Oklahoma, USA
Contact:

hmmm

Post by tltrude »

Hard to tell, but it may be a problem with sound. It is having a hard time with local.master and talks about a sound script.

Also, try taking out this line: level waittill roundstart

The thinker lines should be under prespawn, I think.
Tom Trude,

Image
FIVEBOY
Colour Sergeant
Posts: 94
Joined: Thu Feb 27, 2003 3:09 pm
Location: England
Contact:

Post by FIVEBOY »

Thx Tom we did try the map on are clan server and all seems to be ok noone crashed and we played for 1 hour without any changes from above.

Only 1 thing was that the truck stop working as the truck would not move, it just makes the correct sound and moves a really tiny bit, like it wants to move. i think its to due with the
level waittill roundstart
line which i will remove, and try again. as the truck is not connected to tigger, it should move as soon as the map starts or restarted.

Hopefully map will be out in two weeks with the .map file

cheers 5
Post Reply