26 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
| # -*- coding: utf-8 -*-
 | |
| #quest.py
 | |
| # This is one of the files that can be called by an npc_dialog,
 | |
| # The following code runs when a dialog has a post rule of 'quest'
 | |
| # The syntax is ["quest", "questname", "queststage"]
 | |
| # All arguments are required, questname must be a quest that is
 | |
| # defined by one of the .quests files queststage must be a step
 | |
| # number in that quest
 | |
| ## DIALOGCHECK
 | |
| ## MINARGS 2
 | |
| ## MAXARGS 2
 | |
| ## .*
 | |
| ## \d+
 | |
| ## ENDDIALOGCHECK
 | |
| 
 | |
| questname = args[0]
 | |
| stage = args[1]
 | |
| if character.QuestGetState(questname) == 0:
 | |
|     Crossfire.Log(Crossfire.LogDebug, "CFDialog: starting quest: %s at stage %s for character %s" %(questname, stage, character.Name))
 | |
|     character.QuestStart(questname, int(stage))
 | |
| elif int(stage) > character.QuestGetState(questname):
 | |
|     Crossfire.Log(Crossfire.LogDebug, "CFDialog: advancing quest: %s to stage %s for character %s" %(questname, stage, character.Name ))
 | |
|     character.QuestSetState(questname, int(stage))
 | |
| else:
 | |
|     Crossfire.Log(Crossfire.LogError, "CFDialog: Tried to advance a quest backwards.")
 |