- 20 Сен 2014
- 440
- 1
- Проект
- Survival in Taiga XE
Проблемка возникла, как сделать значение if еды <=5 then срабатывает, иначе (нет)
пробовал if food_cost <=5 then .... end (enough_food, spendfood и checkfood) пишет что я пытаюсь сравнить булевый тип с номером, но вроде же можно применять операцию сравнения в булеан помимо значения истина или ложь, в чём проблема ?
Вот целый код с проверкой на кол-во еды и с возможностью кастовать за X ед. еды
Код:
ApplyDamage({victim = target, attacker = caster, damage = damage, damage_type = DAMAGE_TYPE_PURE })
ability:ApplyDataDrivenModifier(keys.caster, keys.caster, "hunger_food", {duration = 1})
SpendFood(player, food_cost)
пробовал if food_cost <=5 then .... end (enough_food, spendfood и checkfood) пишет что я пытаюсь сравнить булевый тип с номером, но вроде же можно применять операцию сравнения в булеан помимо значения истина или ложь, в чём проблема ?
Вот целый код с проверкой на кол-во еды и с возможностью кастовать за X ед. еды
Код:
function DamageInSec(keys)
local player = keys.caster:GetPlayerOwner()
local pID = player:GetPlayerID()
local caster = keys.caster
local target = keys.target
local ability = keys.ability
local cooldown = ability:GetLevelSpecialValueFor( "cooldown" , ability:GetLevel() - 1 )
local pers = ability:GetLevelSpecialValueFor( "damage" , ability:GetLevel() - 1 )*0.01
local damage = caster:GetMaxHealth()*pers
local food_cost = ability:GetLevelSpecialValueFor("food_cost", ability:GetLevel()-1)
local enough_food
if food_cost ~= nil and food_cost ~= 0 then
enough_food = CheckFood(player, food_cost,true)
else
enough_food = true
end
if enough_food ~= true then
return
else
ApplyDamage({victim = target, attacker = caster, damage = damage, damage_type = DAMAGE_TYPE_PURE })
ability:ApplyDataDrivenModifier(keys.caster, keys.caster, "hunger_food", {duration = 1})
SpendFood(player, food_cost)
end
end
Последнее редактирование модератором: