OFPEC Forum
Editors Depot - Mission Editing and Scripting => OFP - Editing/Scripting Multiplayer => Topic started by: duckwilliamson on 19 Sep 2003, 21:18:35
-
My problem comes from this:
-I have a script called "lockwp.sqs"
-I execute it through wp's by having no condition but only an activation of [0] exec "lockwp.sqs"-The number is the part of the script to jump to that has the conditions
-The conditions consist of something like @player ammo "pipebomb" > 0
-Here's the script:
player lockwp true
_part=_this select 0
?_part==0:goto "p0"
#p0
@player ammo "pipebomb">0
player lockwp false
exit-There are 10 parts - this is just one ...
-Now if I hit the activation so that this script is running and waiting for me to pick up the satchels - but i don't and die instead then the script no longer recognizes me as player so the @player has stopped working (i think) meaning that the wp won't ever unlock
-The script works fine if I don't die while it's running ...
Can anyone help me?
I figure the problem is having to deal with a script that time's out because I have put arguments into it
I can rewrite it so that it requires no arguments - but i think that the problem is where the @player times out ...
I appreciate any comments and help ...
-
You can pass the owner of the WP in the exec line with this.
You can check the status of the unit that is the owner of the WP:
_stage = _this select 0
_unit = _this select 1
goto format ["%1",_stage]
#0
@ (! alive _unit) || (IsNull _unit)
do stuff
So that might be the correct way in MP, but still very sketchy. Also you can use format instead of multiple ? lines (goto format ["%1",_stage]). Not sure if a timeout in fact exists. Also using WPs in MP is very unreliable as circumstances might lead the player way away from them ;)
-
ok ... i found my problem ... it has to do with the player dying ...
- when a player dies, the player variable and all temp variables within that script that relied on the player variable dissolve
- i fixed this by adding a @!alive : exit the script
- i then added a @alive : exec script again ...
- by doing this all variables that were involved in the script were refreshed once the person was alive again ...
so i've fixed my problem and thanks to MI-Fred for helping ...