[[http://www.siedler-games.de|{{:sg-link.jpg|}}]]
Logic.GetPlayerAttractionLimit(_player)
Mit diesem Befehl kann man das Bevölkerungslimit eines Players ermitteln.
Kombiniert man sie mit der Funktion
Logic.GetPlayerAttractionUsage(_player)
in dieser Form
(math.floor(Logic.GetPlayerAttractionLimit(_player))-math.floor(Logic.GetPlayerAttractionUsage(_player)))
erhält man die exakte Anzahl der freien Plätze für die Bevölkerung von einem Spieler.
Will man vermeiden, dass der Spieler sich beim Kauf von Einheiten über NPC's das Bevölkerungslimit überschreitet,
muss man nur abfragen, ob die Anzahl der Plätze, die beim Dorfzentrum durch den Kauf belegt werden, nicht größer sind als die Anzahl der Plätze im Dorfzentrum, die frei sind.
Beispiel:
function Kauf2Kannonen()
--Der Spieler kauft sich zwei Kanonen bei einem NPC
--Nun kommt die Abfrage
--Eine Kanone belegt 5 Bevölkerungseinheiten und der Spieler soll zwei Kanonen bekommen
if GetGold(1)>1119 and (math.floor(Logic.GetPlayerAttractionLimit(1))-math.floor(Logic.GetPlayerAttractionUsage(1)))>9 then
Logic.CreateEntity(Entities.PV_Cannon3,44000,26000,0,1)
Logic.CreateEntity(Entities.PV_Cannon3,44100,26000,0,1)
AddGold(1,-1200)
else
Message("Kommt wieder wenn ihr genügend Ressourcen oder Platz im Dorfzentrum habt!")
end
end