From 32553f2342fc9e87ec332be18ee21d6de3a0e14e Mon Sep 17 00:00:00 2001 From: ryo_saeba Date: Sun, 12 Jun 2011 18:22:26 +0000 Subject: [PATCH] Don't cause an exception if it is not a player triggering. git-svn-id: svn://svn.code.sf.net/p/crossfire/code/maps/trunk@14561 282e977c-c81d-0410-88c4-b93c2d0d6712 --- python/quests/QuestTriggerConnect.py | 36 +++++++++++++++------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/python/quests/QuestTriggerConnect.py b/python/quests/QuestTriggerConnect.py index df8fc1697..c0b3856bd 100644 --- a/python/quests/QuestTriggerConnect.py +++ b/python/quests/QuestTriggerConnect.py @@ -29,19 +29,23 @@ import Crossfire -player = Crossfire.WhoIsActivator() -event = Crossfire.WhatIsEvent() -params = Crossfire.ScriptParameters() -args = params.split() -questname = args[0] -currentstep = player.QuestGetState(questname) -condition = args[1] -if condition.find("-") == -1: - startstep = int(condition) - endstep = startstep -else: - startstep = int(condition.split("-")[0]) - endstep= int(condition.split("-")[1]) -if currentstep >= startstep and currentstep <= endstep: - Crossfire.Log(Crossfire.LogDebug, "QuestTriggerConnect.py: triggering connection number %s." % args[2]) - player.Map.TriggerConnected(int(args[2]), 1, player) +def trigger(): + player = Crossfire.WhoIsActivator() + if player.Type != Crossfire.Type.PLAYER: + return; + params = Crossfire.ScriptParameters() + args = params.split() + questname = args[0] + currentstep = player.QuestGetState(questname) + condition = args[1] + if condition.find("-") == -1: + startstep = int(condition) + endstep = startstep + else: + startstep = int(condition.split("-")[0]) + endstep= int(condition.split("-")[1]) + if currentstep >= startstep and currentstep <= endstep: + Crossfire.Log(Crossfire.LogDebug, "QuestTriggerConnect.py: triggering connection number %s." % args[2]) + player.Map.TriggerConnected(int(args[2]), 1, player) + +trigger()