import Crossfire import random from CFMapTransformer import CFMapTransformer from CFTimeOfDay import TimeOfDay import cjson import string event = Crossfire.WhatIsEvent() alreadymatched = (event.Value!=0) parameters = cjson.decode(event.Message) current = TimeOfDay() #current.log() inverse = parameters.has_key("inverse") and parameters["inverse"] == True match = False if not parameters.has_key("match"): Crossfire.Log(Crossfire.LogError,"Script replace_in_map_period.py didn't get a 'match' parameter. Only got %s" %parameters) elif string.lower(parameters["match"]) == "one": match=TimeOfDay().matchAny(parameters["when"]) != inverse elif string.lower(parameters["match"]) == "all": match=TimeOfDay().matchAll(parameters["when"]) != inverse else: Crossfire.Log(Crossfire.LogError,"Script replace_in_map_period.py didn't get a 'match' parameter. Only got %s" %parameters) #print "match is %s and alreadymatched is %s" %(match,alreadymatched) if (match != alreadymatched): transformer = CFMapTransformer(parameters["key"]) if (match): Crossfire.Log(Crossfire.LogDebug,"Transforming %s into %s" %(parameters["from"],parameters["to"])) transformer.transformAll(parameters["from"],parameters["to"]) event.Value=1 else: transformer.untransformAll() event.Value=0 #if random.randint(0,2) == 0 : # print "transform mode" # transformer.transformAll("skeleton",["bones1","bones2","bones3","bones4"]) #else: # print "untransform mode" # transformer.untransformAll()