Remove extra release event
Remove extraneous release event when player steps on a QuestTriggerConnect and does not satisfy the quest predicate. While here, correct the polarity of the state flag to match the comments in the server's trigger_connected() function.master
parent
467f437e84
commit
927916a286
|
@ -29,13 +29,22 @@
|
||||||
|
|
||||||
import Crossfire
|
import Crossfire
|
||||||
|
|
||||||
|
def trigger_connected(conn, state, player):
|
||||||
|
if state == 0:
|
||||||
|
name = "push"
|
||||||
|
else:
|
||||||
|
name = "release"
|
||||||
|
Crossfire.Log(Crossfire.LogDebug, "QuestTriggerConnect.py: triggering connection number %d (%s)" % (conn, name))
|
||||||
|
Crossfire.WhoAmI().Map.TriggerConnected(conn, state, player)
|
||||||
|
|
||||||
def trigger():
|
def trigger():
|
||||||
player = Crossfire.WhoIsActivator()
|
player = Crossfire.WhoIsActivator()
|
||||||
params = Crossfire.ScriptParameters()
|
params = Crossfire.ScriptParameters()
|
||||||
args = params.split()
|
args = params.split()
|
||||||
|
conn = int(args[2])
|
||||||
if type(player) != Crossfire.Player:
|
if type(player) != Crossfire.Player:
|
||||||
# stepping off, trigger state 0
|
# stepping off, trigger released state
|
||||||
Crossfire.WhoAmI().Map.TriggerConnected(int(args[2]), 0, Crossfire.WhoAmI())
|
trigger_connected(conn, 1, player)
|
||||||
return
|
return
|
||||||
questname = args[0]
|
questname = args[0]
|
||||||
currentstep = player.QuestGetState(questname)
|
currentstep = player.QuestGetState(questname)
|
||||||
|
@ -47,9 +56,6 @@ def trigger():
|
||||||
startstep = int(condition.split("-")[0])
|
startstep = int(condition.split("-")[0])
|
||||||
endstep= int(condition.split("-")[1])
|
endstep= int(condition.split("-")[1])
|
||||||
if currentstep >= startstep and currentstep <= endstep:
|
if currentstep >= startstep and currentstep <= endstep:
|
||||||
Crossfire.Log(Crossfire.LogDebug, "QuestTriggerConnect.py: triggering connection number %s." % args[2])
|
trigger_connected(conn, 0, player)
|
||||||
Crossfire.WhoAmI().Map.TriggerConnected(int(args[2]), 1, player)
|
|
||||||
else:
|
|
||||||
Crossfire.WhoAmI().Map.TriggerConnected(int(args[2]), 0, player)
|
|
||||||
|
|
||||||
trigger()
|
trigger()
|
||||||
|
|
Loading…
Reference in New Issue