UI XML Questions

Genghis.Khan

Person
Joined
Jun 9, 2012
Messages
934
Location
Somewhere
I added the following to CityView.xml:

Code:
<!-- Tax Panel -->
		<Container Size="500,150" Offset="0,50" Anchor="C,T">
			<!--<Grid Size="150,600" Anchor="C,T" Style="Grid9DetailFive140" ConsumeMouseOver="1" Hidden = "0" > -->
			<Slider ID="TaxSlider" Style="Slider" Length="100" Anchor="C,T" Offset="0,20" WheelSteps="20"  />
			<Label ID="Taxes" Anchor="" Font="TwCenMT24" FontStyle="Shadow" ColorSet="Beige_Black_Alpha" String="TXT_KEY_TAXES" />
			<!-- </Grid> -->
		</Container>

I have zero experience concerning UI XML. I set the file VPS = true. Nothing Happens.

Also, about the code about the controls, do I need to add it to CityView.lua or can it be another file?

Also, is a whole new panel safer?

- Genghis.Khan
 
ok, created lua code for controlling and Tax Mechanincs, but still can't get the UI XML part to work....

for anyone intersted here's the cpde

Spoiler :
Code:
-- Taxes.lua
-- Author: Genghis.Khan
-- Special Thanks: Hambil; Aforess; FramedArchitecture
--------------------------------------------------------------------------------------------------------

    local fTaxes = (60/100)
    local cityPopulation =  math.floor(city:GetPopulation())
    local iNoTaxGold = math.floor (cityPopulation * -3 ) 
    local iNoTaxHappiness = math.floor(city:GetPopulation())
    local iLowTaxGold = math.floor (cityPopulation * -0.75) ) 
    local iLowTaxHappiness = math.floor(cityPopulation / 4) 
    local iMediumTaxGold = math.floor (cityPopulation - cityPopulation ) 
    local iMediumTaxHappiness = math.floor(cityPopulation * -0.25) 
    local iHighTaxGold = math.floor(cityPopulation * 1.5) 
    local iHighTaxHappiness = math.floor(cityPopulation * -1) 
    local iVeryHighTaxGold = math.floor(cityPopulation * 2)
    local iVeryHighTaxHappiness =  math.floor(cityPopulation * -1.5)
	
function AddImprovementTax ()

	local iOil = 0
	local iFarm = 0
	local iPasture = 0
	local iTradingPost = 0
	local iLumberMill = 0
	local iMine = 0
	local iFishingBoats = 0
	local iPlantation = 0
	local iPolder = 0
	local iQuarry = 0
	local iCamp = 0
	local iImprovement = math.floor((iOil * 2) + (iFarm * 1) + (iPasture * 0.75) + (iTradingPost * 1.5) + (iLumberMill * 0.75) + (iMine * 0.5) + (iFishingBoats * 0.8) +(iPolder * 0.75) + (iQuarry * 0.5) + (iCamp * 0.8))
	local iImprovementHappiness = math.floor(iOil + iFarm + iPasture + iTradingPost + iLumberMill + iMine + iFishingBoats + iPolder + iQuarry + iCamp)
	local iImprovementNoTaxes = math.floor(iImprovement * -1) 
	local iImprovementLowTaxes = math.floor(iImprovement * -0.25)
    local iImprovementMediumTaxes = math.floor(iImprovement * 0.5)
	local iImprovementHighTaxes = math.floor(iImprovement * 1)
	local iImprovementVeryHighTaxes = math.floor(iImprovement * 1.5)
	local iImprovementHappinessNoTaxes = math.floor(iImprovementHappiness * 0.5) 
	local iImprovementHappinessLowTaxes = math.floor(iImprovementHappiness * 0.25)
    local iImprovementHapinessMediumTaxes = math.floor(iImprovementHappiness * -0.25)
	local iImprovementHapinessHighTaxes = math.floor(iImprovementHappiness * 0.75)
	local iImprovementHapinessVeryHighTaxes = math.floor(iImprovementHappiness * 1.15)
	
	for plotLoop = 0, Map.GetNumPlots() - 1, 1 do
		local plot = Map.GetPlotByIndex(plotLoop);
		local featureType = plot:GetFeatureType();
		local improvementType = plot:GetImprovementType();
		local terrainType = plot:GetTerrainType();
		local activePlayer  = Game.getActivePlayer() 
	
	    if Plot:GetOwner() == activePlayer then   
            if(Plot:GetImprovementType() == improvementID) then

		        if ( improvementType == GameInfoTypes["IMPROVEMENT_OFFSHORE_PLATFORM"] or improvementType == GameInfoTypes["IMPROVEMENT_WELL"] ) then
			    iOil = iOil + 1;
    	        elseif ( improvementType == GameInfoTypes["IMPROVEMENT_FARM"] then
			    iFarm = iFarm + 1;
			    elseif ( improvementType == GameInfoTypes["IMPROVEMENT_PASTURE"] then
			    iPasture = iPasture + 1;
			    elseif ( improvementType == GameInfoTypes["IMPROVEMENT_TRADING_POST"] then
			    iTradingPost = iTradingPost + 1;
			    elseif ( improvementType == GameInfoTypes["IMPROVEMENT_LUMBERMILL"] then
			    iLumberMill = iLumberMill + 1;
			    elseif ( improvementType == GameInfoTypes["IMPROVEMENT_MINE"] then
			    iMine = iMine + 1;
			    elseif ( improvementType == GameInfoTypes["IMPROVEMENT_FISHING_BOATS"] then
			    iFishingBoats = iFishingBoats + 1;
			    elseif ( improvementType == GameInfoTypes["IMPROVEMENT_PLANTATION"] then
			    iPlantation = iPlantation + 1
			    elseif ( improvementType == GameInfoTypes["IMPROVEMENT_POLDER"] then
			    iPolder = iPolder + 1;
			    elseif ( improvementType == GameInfoTypes["IMPROVEMENT_QUARRY"] then
			    iQuarry = iQuarry + 1;
			    elseif ( improvementType == GameInfoTypes["IMPROVEMENT_CAMP"] then
			    iCamp = iCamp + 1;
    	        -- elseif ( featureType == FeatureTypes.FEATURE_FOREST or terrainType == TerrainTypes.TERRAIN_PLAINS ) then
                -- iTerrain = iTerrain + 1;
			    return iImprovement
                return iImprovementNoTaxes	
			    return iImprovementLowTaxes	
			    return iImprovementMediumTaxes		
			    return iImprovementHighTaxes	
				return iImprovementVeryHighTaxes			
				return iImprovementHappiness
				return iImprovementHappinessNoTaxes
				return iImprovementHappinessLowTaxes
				return iImprovementHappinessMediumTaxes
				return iImprovementHappinessHighTaxes
			    return iImprovementHappinessVeryHighTaxes
	   	    end
		end
	end
end
	


function OnTaxSliderValueChanged(sValue, control, bFire)
    local iTax = math.floor(fValue * 80)
	    if iTax = 0 then
        pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_HAPPINESS"], math.floor(iNoTaxHappiness + iImprovementHappinessNoTaxes));
	    pPlayer:ChangeGold (math.floor (iNoTaxGold + iImprovementNoTaxes));
	    elseif iTax = 20 then
	    pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_HAPPINESS"], math.floor(iLowTaxHappiness + iImprovementHappinessLowTaxes));
	    pPlayer:ChangeGold (math.floor (iLowTaxGold + iImprovementLowTaxes);
	    elseif iTax = 40 then
	    pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_HAPPINESS"], math.floor (iMediumTaxHappiness + iImprovementHappinessMediumTaxes));
	    pPlayer:ChangeGold (math.floor(iMediumTaxGold + iImprovementMediumTaxes));
		elseif iTax = 60 then
	    pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_HAPPINESS"], math.floor(iHighTaxHappiness + iImprovementHappinessHighTaxes));
	    pPlayer:ChangeGold (math.floor(iHighTaxGold + iImprovementHighTaxes));
		elseif iTax = 80 then
        pCity:SetNumRealBuilding(GameInfoTypes["BUILDING_HAPPINESS"], math.floor(iVeryHighTaxHappiness + iImprovementHappinessVeryHighTaxes));
	    pPlayer:ChangeGold (math.floor(iVeryHighTaxGold + iImprovementVeryHighTaxes));
    end
end
Controls.TaxSlider:RegisterSliderCallback(OnTaxSliderValueChanged)
 
Top Bottom