Page 2 of 2

Posted: Fri Jan 21, 2005 1:07 pm
by Kalti
Ehrm... I have several parts of script which all control or run different events... any chance I can sort my script and get a clean and clear looking script ?

Again, I have no idea how to do it and the example scripts I did check, had different ideas of tidying up the place.

Can I create a thread for every part of the script and just call the threads ?

Code: Select all

thread boat_prep
thread lift_prep
//thread door_prep
thread doorsign_prep
//thread spawn_prep
thread bind_prep
And after waittill spawn:

Code: Select all

//*** Boatrock
boat_prep:
while (1)
{
self time 4
self rotateyup 4
self rotatezup 4
self rotatexdown 2
self waitmove
self time 4
self rotateydown 4
self rotatezdown 4
self rotatexup 2
self waitmove
self time 4
self rotateydown 4
self rotatezdown 4
self rotatexup 3
self waitmove
self time 4
self rotateyup 4
self rotatezup 4
self rotatexdown 3
self waitmove
}
end
//*** END Boatrock

//*** Elevator
lift_prep:
	$el_wire_01 moveUp 340
	$el_wire_01 move
	$el_wire_02 moveUp 540
	$el_wire_02 move
	$el_wire_03 moveUp 740
	$el_wire_03 move
	$el_wire_04 moveUp 940
	$el_wire_04 waitmove
	$lift_up_trigger nottriggerable
end

liftup:
	$lift_up_trigger nottriggerable
	$lift loopsound crane_run
	$lift time 6
	$lift moveUp 800
	$lift move
	$el_wire_01 time 6
	$el_wire_01 moveUp 800
	$el_wire_01 move
	$el_wire_02 time 6
	$el_wire_02 moveUp 600	
	$el_wire_02 move
	$el_wire_03 time 6
	$el_wire_03 moveUp 400
	$el_wire_03 move
	$el_wire_04 time 6
	$el_wire_04 moveUp 200
	$el_wire_04 move
	$weight time 6
	$weight moveDown 800
	$weight move
	$we_wire_01 time 6
	$we_wire_01 moveDown 600
	$we_wire_01 move
	$we_wire_02 time 6
	$we_wire_02 moveDown 400
	$we_wire_02 move
	$we_wire_03 time 6
	$we_wire_03 moveDown 200
	$we_wire_03 waitmove
	$lift loopsound crane_run wait
	$lift_dw_trigger triggerable
end

liftdown:
	$lift_dw_trigger nottriggerable
	$lift loopsound crane_run
	$lift time 6
	$lift moveDown 800
	$lift move
	$el_wire_01 time 6
	$el_wire_01 moveDown 800
	$el_wire_01 move
	$el_wire_02 time 6
	$el_wire_02 moveDown 600
	$el_wire_02 move
	$el_wire_03 time 6
	$el_wire_03 moveDown 400
	$el_wire_03 move
	$el_wire_04 time 6
	$el_wire_04 moveDown 200
	$el_wire_04 move
	$weight time 6
	$weight moveUp 800
	$weight move
	$we_wire_01 time 6
	$we_wire_01 moveUp 600
	$we_wire_01 move
	$we_wire_02 time 6
	$we_wire_02 moveUp 400
	$we_wire_02 move	
	$we_wire_03 time 6
	$we_wire_03 moveUp 200
	$we_wire_03 waitmove
	$lift loopsound crane_run wait
	$lift_up_trigger triggerable
end
//*** END Elevator

//*** Lock/Unlock targetname Doors
door_prep:
	//$forestdoor1 lock // If locked; it's recommended to unlock forestdoor2 (access to forest skybox)
	//$forestdoor1 unlock // If unlocked; it's strongly recommended to lock forestdoor2
	//$forestdoor2 lock
	//$forestdoor2 unlock
end
//*** END Lock/Unlock targetname Doors

//*** Show/Hide Door Closed or Door Open sign
doorsign_prep:
	if forestdoor1 lock
	{
	//$forestdoor1 lock
	$dooropensign hide
	$doorclosedsign show
	}
	else
	{
	// we're unlocking it 
	//$forestdoor1 unlock
	$dooropensign show
	$doorclosedsign hide
	}
end
//*** END Show/Hide Door Closed or Door Open sign

//*** Enable/Disable Spawnpoints
spawn_prep:
	//$spawn1 disablespawn
	//$spawn2 disablespawn
	//$spawn3 disablespawn
end
//*** END Enable/Disable Spawnpoints


//*** Binding
bind_prep:
	$boat1_clip bind $boat1 
	//$boat2_clip bind $boat2
end
//*** END Binding
Now I might be way off... but still trying to understand it all.

The lift and the boatrock don't work with the current script (above) so my attempt at cleaning up the script could be a little too straightforward.

Posted: Fri Jan 21, 2005 11:10 pm
by Green Beret

Code: Select all

thread boat_prep
thread lift_prep
//thread door_prep
thread doorsign_prep
//thread spawn_prep
thread bind_prep
And after waittill spawn:

Code: Select all

//*** Boatrock
boat_prep:
while (1)
{
self time 4
self rotateyup 4
self waitmove
self rotatezup 4
self waitmove
self rotatexdown 2
self waitmove
self time 4
self rotateydown 4
self waitmove
self rotatezdown 4
self waitmove
self rotatexup 2
self waitmove
self time 4
self rotateydown 4
self waitmove
self rotatezdown 4
self waitmove
self rotatexup 3
self waitmove
self time 4
self rotateyup 4
self waitmove
self rotatezup 4
self waitmove
self rotatexdown 3
self waitmove
}
end
//*** END Boatrock

//*** Elevator
lift_prep:
	$el_wire_01 moveUp 340
	$el_wire_01 move
	$el_wire_02 moveUp 540
	$el_wire_02 move
	$el_wire_03 moveUp 740
	$el_wire_03 move
	$el_wire_04 moveUp 940
	$el_wire_04 waitmove
	$lift_up_trigger nottriggerable
end

liftup:
	$lift_up_trigger triggerable
	$lift_up_trigger nottriggerable
	$lift loopsound crane_run
	$lift time 6
	$lift moveUp 800
	$lift move
	$el_wire_01 time 6
	$el_wire_01 moveUp 800
	$el_wire_01 move
	$el_wire_02 time 6
	$el_wire_02 moveUp 600	
	$el_wire_02 move
	$el_wire_03 time 6
	$el_wire_03 moveUp 400
	$el_wire_03 move
	$el_wire_04 time 6
	$el_wire_04 moveUp 200
	$el_wire_04 move
	$weight time 6
	$weight moveDown 800
	$weight move
	$we_wire_01 time 6
	$we_wire_01 moveDown 600
	$we_wire_01 move
	$we_wire_02 time 6
	$we_wire_02 moveDown 400
	$we_wire_02 move
	$we_wire_03 time 6
	$we_wire_03 moveDown 200
	$we_wire_03 waitmove
	$lift loopsound crane_run wait
	$lift_dw_trigger triggerable
end

liftdown:
	$lift_dw_trigger nottriggerable
	$lift loopsound crane_run
	$lift time 6
	$lift moveDown 800
	$lift move
	$el_wire_01 time 6
	$el_wire_01 moveDown 800
	$el_wire_01 move
	$el_wire_02 time 6
	$el_wire_02 moveDown 600
	$el_wire_02 move
	$el_wire_03 time 6
	$el_wire_03 moveDown 400
	$el_wire_03 move
	$el_wire_04 time 6
	$el_wire_04 moveDown 200
	$el_wire_04 move
	$weight time 6
	$weight moveUp 800
	$weight move
	$we_wire_01 time 6
	$we_wire_01 moveUp 600
	$we_wire_01 move
	$we_wire_02 time 6
	$we_wire_02 moveUp 400
	$we_wire_02 move	
	$we_wire_03 time 6
	$we_wire_03 moveUp 200
	$we_wire_03 waitmove
	$lift loopsound crane_run wait
	$lift_up_trigger triggerable
end
//*** END Elevator

//*** Lock/Unlock targetname Doors
door_prep:
	//$forestdoor1 lock // If locked; it's recommended to unlock forestdoor2 (access to forest skybox)
	//$forestdoor1 unlock // If unlocked; it's strongly recommended to lock forestdoor2
	//$forestdoor2 lock
	//$forestdoor2 unlock
end
//*** END Lock/Unlock targetname Doors

//*** Show/Hide Door Closed or Door Open sign
doorsign_prep:
	if forestdoor1 lock
	{
	//$forestdoor1 lock
	$dooropensign hide
	$doorclosedsign show
	}
	else
	{
	// we're unlocking it 
	//$forestdoor1 unlock
	$dooropensign show
	$doorclosedsign hide
	}
end
//*** END Show/Hide Door Closed or Door Open sign

//*** Enable/Disable Spawnpoints
//spawn_prep:
	//$spawn1 disablespawn
	//$spawn2 disablespawn
	//$spawn3 disablespawn
end
//*** END Enable/Disable Spawnpoints


//*** Binding
bind_prep:
	$boat1_clip bind $boat1 
	//$boat2_clip bind $boat2
end
//*** END Binding
i seen a couple threads i didnt see called,like liftup and liftdown.or are these called by a trigger like setthread?
if not u need to call them at the top also or have it called by another thread.
only other thing i seen was the waitmove after the boat prep.

Posted: Fri Jan 21, 2005 11:25 pm
by Master-Of-Fungus-Foo-D
Kalti wrote:
Master-Of-Fungus-Foo-D wrote:why odnt you just make a nonsolid script object/model and place the clips around the boat?
omg... that's it !

Image

* EDIT: Just set the script_object to non-solid :oops:
was it really that obvious? Wow im a genious! :mrgreen:

*loud "whooping" noises that sound like "woohoo i solved a pro's problem"*

Posted: Sun Jan 23, 2005 2:16 am
by panTera
I think if the boats are script_objects you need to do:
$boat1 thread boat_prep
$boat2 etc.
... instead of only calling the thread. Since you're using "self" in the thread, the script has to know first which entity is going to be affected. At least that's what I would think.

Also, in the boat_prep thread you don't need to specify the "time" again and again if you don't change it.