OFPEC Forum
Editors Depot - Mission Editing and Scripting => OFP - Editing/Scripting General => Topic started by: fragsta on 07 May 2003, 23:09:10
-
I have a script in progress which has 2 men in it. The first man (player) starts with the action that he can throw the second man. Then, the other man will fly 20 feet in the air and then drop. But I have a problem with the line that executes the second index, #Throw. The problem is I don't know how to set out an addaction inside a script. If anyone knows what I mean, here is the script for you to figure out. Any suggestions?
; A script for a man to throw another man 20 feet in the air
; Get the unit that will be affected
_Unit = _this select 0
; Get the other unit that will be affected
_Unit2 = _this select 1
goto "addaction"
; Main loop
#addaction
_Unit addaction ["Throw", goto "Throw"]
#Throw
_Unit2 setpos [getpos this select 0, getpos this select 1,20]
exit
Thanx in advance!
-
The problem is that the script that adds the action cannot be the one that is called when the action is used. Therefore you need to have two scripts.
The first one sets everything up and adds the action to the player's action menu.
The second one is called when the action is used and does the actual throwing.
-
Ya can add it to the INIT field of a character (or in a WP/Trigger) :thumbsup:
Like this :
jump = this addAction ["jump", "jump.sqs"]
;) Then just make a scroll named "jump.sqs" and throw it into the mission folder :-*
PS:
:o Remember to remove the action when used:
UnitName RemoveAction jump 8)
-
Ok, I got that problem sorted, and now I have 2 scripts, throw1.sqs(the one you saw earlier) and throw.sqs. In the int field of the player, I put
[mutie1, victim1] exec "throw1.sqs"
But when I press the action that says "Throw" it throws me in the air, although I am mutie1.
Throw1.sqs:
; A script for a man to throw another man 20 feet in the air
; Get the unit that will be affected
_Unit = _this select 0
; Get the other unit that will be affected
_Unit2 = _this select 1
goto "addaction"
; Main loop
#addaction
_Unit addaction ["Throw","throw.sqs"]
exit
Throw.sqs:
_Unit = _this select 0
_Unit2 = _this select 1
goto "Throw"
#Throw
_Unit2 setpos [getpos this select 0, getpos this select 1,20]
exit