Посмотри в холдаут пример или карта "Together we stand"Как через RemoveItem реализовать удаление предметов на карте если имеются
Как через RemoveItem реализовать удаление предметов на карте если имеются
function Remove(hItem, hDrop)
if hItem and IsValidEntity(hItem) then
if not hItem:GetOwnerEntity() then
if hDrop and IsValidEntity(hDrop) then
UTIL_Remove(hDrop)
end
UTIL_Remove(hItem)
end
end
end
Спасибо, я думал не из игры удалять (UTIL_Remove)Ты про удаление предметов, которые никто не подбирает?
Если да, то после дропа шмотки, создаешь таймер, в котором что-то вроде этого делаешь:
Код:function Remove(hItem, hDrop) if hItem and IsValidEntity(hItem) then if not hItem:GetOwnerEntity() then if hDrop and IsValidEntity(hDrop) then UTIL_Remove(hDrop) end UTIL_Remove(hItem) end end end
Где hItem - понятно, указатель на шмотку, а hDrop - указатель на её "физическую оболчку" /контейнер, хз как правильно (которую через CreateItemOnPositionSync() к примеру делаешь).
Ну логика то как бы понятна: если у созданной шмотки владельца не появилось, то тебе надо удалить все, что ты понасоздавал, чтобы дропнуть шмотку и понятно дело она пропадет.
local creep_3 = CreateUnitByName("npc_creep_3", Vector(12704,10144,160), true, nil, nil, DOTA_TEAM_BADGUYS )
local npc_test_3 = { index = creep_3:entindex() }
CustomGameEventManager:Send_ServerToAllClients("info_3", npc_test_3 )
[ W Entity System ]: Cannot create an entity because entity class is NULL -1
[ Developer ]: AddAbility - Failed to create ability building_damage_fix.
"building_damage_fix"
{
"BaseClass" "ability_lua"
"ScriptFile" "abilities/buildings/building_damage_fix"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"AbilitySpecial"
{
{
"var_type" "FIELD_INTEGER"
"damage_reduce_pct" "-90"
}
}
}
building_damage_fix = class( {} )
LinkLuaModifier( "modifier_bulding_damage", "abilities/buildings/modifier_bulding_damage", LUA_MODIFIER_MOTION_NONE )
function building_damage_fix:GetIntrinsicModifierName()
return "modifier_bulding_damage"
end
Бля, извините, тупейшая ошибка. Все-таки не стоит кодить в час ночи???!7
"building_damage_fix"
{
"BaseClass" "ability_lua"
"ScriptFile" "abilities/buildings/building_damage_fix"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"AbilitySpecial"
{
"01" <--------------------
{
"var_type" "FIELD_INTEGER"
"damage_reduce_pct" "-90"
}
}
}
local abilityCount = unit:GetAbilityCount()
for i = 0, abilityCount-1 do
local ability = unit:GetAbilityByIndex(i)
end