Простые вопросы

Статус
В этой теме нельзя размещать новые ответы.
да я через GetPlayerOwner делал и почему то не работало
 
Существует ли какая-нибудь замена GetAbilityName() на клиенте луа?

и еще сотням не работающих на нем функций..
 
Последнее редактирование:
Как через RemoveItem реализовать удаление предметов на карте если имеются
 
Как через RemoveItem реализовать удаление предметов на карте если имеются
Посмотри в холдаут пример или карта "Together we stand"
Там когда штомки выпадают и их не берут они исчезают , если ты об этом !
 
Как через 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

Где hItem - понятно, указатель на шмотку, а hDrop - указатель на её "физическую оболчку" /контейнер, хз как правильно (которую через CreateItemOnPositionSync() к примеру делаешь).


Ну логика то как бы понятна: если у созданной шмотки владельца не появилось, то тебе надо удалить все, что ты понасоздавал, чтобы дропнуть шмотку и понятно дело она пропадет.
 
Ты про удаление предметов, которые никто не подбирает?

Если да, то после дропа шмотки, создаешь таймер, в котором что-то вроде этого делаешь:

Код:
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() к примеру делаешь).


Ну логика то как бы понятна: если у созданной шмотки владельца не появилось, то тебе надо удалить все, что ты понасоздавал, чтобы дропнуть шмотку и понятно дело она пропадет.
Спасибо, я думал не из игры удалять (UTIL_Remove)
 
Как мне передать переменную creep_3 для npc которого я создал в редакторе через ентити npc_dota_base и дал ему метку на его имя тоетсь после компиляции он стоит но мн нужно что бы он ещё передавал эту переменную creep_3
Код:
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 )
 
За место CreateUnitByName мне нужно взять данные npc_dota_base которого создал в редакторе
 
???!7
Код:
[ 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
Путь проверил несколько раз.
 
Бля, извините, тупейшая ошибка. Все-таки не стоит кодить в час ночи
Код:
"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"
            }
        }
    }
 
Как делить золото с мобов для всей команды например чтобы золото было равномерным для всех, а не так чтобы 1 герой только его получал
 
Убери золото с мобов и ручками раздавай его при смерти моба.
 
Как посреди игры изменить перезарядку конкретной способности на константу? Способность вольвовская. Кд нужен тот, который отображается в описании и запускается при старте, а не тот, который тикает на данный момент.
Пытался сделать с помощью MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE и возвращать соответствующее значение в соответствующей функции, если kv.ability - та, которая нужна. Но это работает только на сервере. А мне обязательно нужно, чтобы менялось в описании скила (по сути только это и нужно).
 
Можно ли как нибудь сделать свой магазин не использую js чтобы с нуля его не писать и сделать предметы дефолтные которые можно купить сразу в одном магазине без надобности ходить в секретный + как убрать опред предмет, просто убрав его из списка не поможет так как его можно будет найти через другие дефолтные предметы и купить или же убрав через npc_abilities_override ток из-за него постоянный спам в консоль
 
Подконтрольных юнитов с абилками-покупки. Так в тролях и эльфах сделали)
 
Статус
В этой теме нельзя размещать новые ответы.
Реклама: