Page 1 of 1

multi trigger

Posted: Mon Feb 26, 2007 11:42 pm
by neillomax
I have my hurt script. Works fine



local.trig = spawn trigger_multiple
local.trig origin ( 2190 1745 72 )
local.trig setsize ( 0.00 0.00 0.00 ) ( 94.00 94.00 94.00 )
local.trig setthread _mythread
local.trig wait 0.5 // How often the trig acts
local.trig delay 0 // How long before trig acts

_mythread:
local.player = parm.other
local.player hurt 5 // Cause 10 hurt every time


If I add a second trigger hurt, it doesn't


trigger1:

local.trig1 = spawn trigger_multiple
local.trig1 origin ( 2190 1745 72 )
local.trig1 setsize ( 0.00 0.00 0.00 ) ( 94.00 94.00 94.00 )
local.trig1 setthread _mythread
local.trig1 wait 0.5 // How often the trig acts
local.trig1 delay 0 // How long before trig acts

_mythread:
local.player = parm.other
local.player hurt 5 // Cause 10 hurt every time

trigger2:

local.trig2 = spawn trigger_multiple
local.trig2 origin ( 1963 -208 64 )
local.trig2 setsize ( 0.00 0.00 0.00 ) ( 94.00 94.00 94.00 )
local.trig2 setthread _mythread
local.trig2 wait 0.5 // How often the trig acts
local.trig2 delay 0 // How long before trig acts

_mythread:
local.player = parm.other
local.player hurt 5 // Cause 10 hurt every time


end


Am I supposed to put thread trigger or thread trigger 1 and 2 somewhere. Not sure how it works or how it supposed to be setup. Help please.

Posted: Tue Feb 27, 2007 12:58 am
by ViPER
Creaper got it

Posted: Tue Feb 27, 2007 12:59 am
by neillomax
As the detecive on the pink panther would say

problem solvid

local.trig = spawn trigger_multiple
local.trig origin ( 2190 1745 72 )
local.trig setsize ( 0.00 0.00 0.00 ) ( 94.00 94.00 94.00 )
local.trig setthread _mythread
local.trig wait 0.5 // How often the trig acts
local.trig delay 0 // How long before trig acts

local.trig1 = spawn trigger_multiple
local.trig1 origin ( 1903 -265 64 )
local.trig1 setsize ( 0.00 0.00 0.00 ) ( 94.00 94.00 94.00 )
local.trig1 setthread _mythread
local.trig1 wait 0.5 // How often the trig acts
local.trig1 delay 0 // How long before trig acts

local.trig2 = spawn trigger_multiple
local.trig2 origin ( -2600 -344 112 )
local.trig2 setsize ( 0.00 0.00 0.00 ) ( 94.00 94.00 94.00 )
local.trig2 setthread _mythread
local.trig2 wait 0.5 // How often the trig acts
local.trig2 delay 0 // How long before trig acts


_mythread:
local.player = parm.other
local.player hurt 5 // Cause 10 hurt every time

space

Posted: Tue Feb 27, 2007 4:10 am
by tltrude
This way might save space.

Code: Select all

main:

	level waittill prespawn  // <-- thread calling lines go under here.

	thread my_trigger ( 2190 1745 72 ) // trigger's origin 
	thread my_trigger ( 1903 -265 64 ) // trigger's origin
	thread my_trigger ( -2600 -344 112 ) // trigger's origin

	level waittill spawn  

end

my_trigger local.origin:

	local.trig = spawn trigger_multiple 
	local.trig.origin = local.origin 
	local.trig setsize ( 0.00 0.00 0.00 ) ( 94.00 94.00 94.00 ) 
	local.trig setthread _mythread 
	local.trig wait 0.5 // How often the trig acts 
	local.trig delay 0 // How long before trig acts
 
end

_mythread:
 
	local.player = parm.other 
	local.player hurt 5 // Cause 10 hurt every time

end
Notice how each set of coordinates is sent to the trigger creating thread, one at a time, and get assigned to the variable "local.origin". So, you only need one thread to create all the triggers.

Posted: Tue Feb 27, 2007 4:16 am
by neillomax
Time comes when I need to do it again, I'll try it, thanks