PYTHON canDoCivic and cannotDoCivic

Zlatko

CIW
Joined
Apr 1, 2010
Messages
713
Location
Solar System
canDoCivic and cannotDoCivic is never called, and i don't get simple message on screen, which i wrote in these functions. I have BUG component in my mod, just please see (this code work without BUG component, but my mod have BUG component and this don't work in my mod, how to fix that):

PythonCallbackDefines.xml:
Code:
<?xml version="1.0"?>
<!-- Sid Meier's Civilization 4 -->
<!-- Copyright Firaxis Games 2005 -->
<!-- -->
<!-- Global Defines -->
<Civ4Defines xmlns="x-schema:CIV4GlobalDefinesSchema.xml">
	<Define>
		<DefineName>USE_CANNOT_FOUND_CITY_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_FOUND_CITIES_ON_WATER_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_IS_PLAYER_RESEARCH_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_RESEARCH_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CANNOT_DO_CIVIC_CALLBACK</DefineName>
		<iDefineIntVal>1</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_DO_CIVIC_CALLBACK</DefineName>
		<iDefineIntVal>1</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CANNOT_CONSTRUCT_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_CONSTRUCT_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_DECLARE_WAR_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CANNOT_RESEARCH_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_GET_UNIT_COST_MOD_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_GET_BUILDING_COST_MOD_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_GET_CITY_FOUND_VALUE_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CANNOT_HANDLE_ACTION_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_BUILD_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CANNOT_TRAIN_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_TRAIN_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_UNIT_CANNOT_MOVE_INTO_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CANNOT_SPREAD_RELIGION_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_FINISH_TEXT_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_ON_UNIT_SET_XY_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_ON_UNIT_SELECTED_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_ON_UPDATE_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_ON_UNIT_CREATED_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_ON_UNIT_LOST_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<!--Afforess Additions-->
	<Define>
		<DefineName>USE_CAN_CREATE_PROJECT_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_DO_MELTDOWN_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_MAINTAIN_PROCESS_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CANNOT_MAINTAIN_PROCESS_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_DO_GROWTH_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_DO_CULTURE_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_DO_PLOT_CULTURE_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_DO_PRODUCTION_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_DO_RELIGION_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_DO_GREATPEOPLE_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_RAZE_CITY_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_DO_GOLD_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_CAN_DO_RESEARCH_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_UPGRADE_UNIT_PRICE_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<Define>
		<DefineName>USE_IS_VICTORY_CALLBACK</DefineName>
		<iDefineIntVal>0</iDefineIntVal>
	</Define>
	<!--Afforess Additions End -->
</Civ4Defines>

GameUtil.py:
Code:
	def canDoCivic(self,argsList):
		ePlayer = argsList[0]
		eCivic = argsList[1]
		pPlayer = gc.getPlayer(ePlayer)
		CyInterface().addMessage(ePlayer,true,15,CyTranslator().getText("def canDoCivic(self,argsList):",()),'',0,'',-1,-1,-1, true,true)
		
		return False

	def cannotDoCivic(self,argsList):
		ePlayer = argsList[0]
		eCivic = argsList[1]
		pPlayer = gc.getPlayer(ePlayer)
		iCivic = gc.getCivicInfo(eCivic)
		CyInterface().addMessage(ePlayer,true,15,CyTranslator().getText("def cannotDoCivic(self,argsList):",()),'',0,'',-1,-1,-1, true,true)
		
		return False
 
Top Bottom