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.")
 |