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

Статус
В этой теме нельзя размещать новые ответы.

LAPKI

Продвинутый
26 Окт 2018
268
56
а есть где то примеры зачем это надо в кастомках? чё ваще такое полиморфизм
ну наследование и полиморфизм помогают тебе писать меньше кода и структурировать его
а тут про полиморфизм
 
20 Дек 2016
874
151
ну наследование и полиморфизм помогают тебе писать меньше кода и структурировать его
а тут про полиморфизм
Мне кажется, вопрос скорее был о том, что из себя представляет полиморфизм в рамках луа.
 

kain

Активный
2 Окт 2015
76
28
steamcommunity.com
Проект
GreenCircleTD

Либо вопрос некорректен(слишком легко), либо он гораздо глубже....
 

LAPKI

Продвинутый
26 Окт 2018
268
56
Мне кажется, вопрос скорее был о том, что из себя представляет полиморфизм в рамках луа.
то же самое что и везде, просто луа фактически не заточен под ооп из коробки, но в любом функциональном языке можно реализовать абстракцию ооп.
 

LAPKI

Продвинутый
26 Окт 2018
268
56
  • Нравится
Реакции: SniperX
20 Дек 2016
874
151

Либо вопрос некорректен(слишком легко), либо он гораздо глубже....
Странно, у меня нет такого окна, если бы было, то не было бы вопроса. Буду искать, как его включить. Я и раньше предполагал, что оно должно быть, но не нашел, хотя я там нажал вообще все кнопки, которые есть.
 

SniperX

Друзья CG
26 Фев 2018
427
48
Проект
Работа пока приостановлена
Через дд вызвал скрипт, который записал местоположение кастера, при получении модифаера
Затем при движении вызвал скрипт, который должен взять это местоположение из прошлой функции
Вопрос: как взять значение с прошлой функции?
Lua:
function getorigin( keys )
    local casterold = keys.caster:GetOrigin()
end
function mathorigin( keys )
    local casternew = keys.caster:GetOrigin()
    local moveddistance = casterold - casternew
    print(moveddistance)
end
Возможно ли найти пройденное расстояние через дд абилку? (Самое главное BaseClass = дд)
 

ZLOY

Администратор
Команда форума
27 Июн 2016
787
124
Сохранить это значение в таблицу caster?
 

SniperX

Друзья CG
26 Фев 2018
427
48
Проект
Работа пока приостановлена
keys.caster.casterold = keys.caster:GetOrigin()
local moveddistance = keys.caster.casterold - casternew
Lua:
function mathorigin( keys )
    local casternew = keys.caster:GetOrigin()
    local keys.caster.casterold = keys.caster:GetOrigin()
    local moveddistance = keys.caster.casterold - casternew
    print(moveddistance)
end
Вы про эту бессмыслицу? отнимать текущую позицию от текущей?
 

muRLoc

Пользователь
25 Ноя 2018
59
17
Lua:
function mathorigin( keys )
    local casternew = keys.caster:GetOrigin()
    local keys.caster.casterold = keys.caster:GetOrigin()
    local moveddistance = keys.caster.casterold - casternew
    print(moveddistance)
end
Вы про эту бессмыслицу? отнимать текущую позицию от текущей?
Ты неправильно написал.
Код:
function getorigin( keys )
   keys.caster.oldOrigin = keys.caster:GetOrigin()
end

function mathorigin( keys )
    local casternew = keys.caster:GetOrigin()
    local moveddistance = casternew - keys.caster.oldOrigin
    print(moveddistance)
end
 
  • Нравится
Реакции: SniperX

SniperX

Друзья CG
26 Фев 2018
427
48
Проект
Работа пока приостановлена
Ты неправильно написал.
Код:
function getorigin( keys )
   keys.caster.oldOrigin = keys.caster:GetOrigin()
end

function mathorigin( keys )
    local casternew = keys.caster:GetOrigin()
    local moveddistance = casternew - keys.caster.oldOrigin
    print(moveddistance)
end
Вот теперь надо посчитать: сколько же он прошёл, но он не хочет выводить в консоль сколько прошёл, он выводит по типу этого:
312.PNG
 

Дикий Пёс

Друзья CG
28 Июн 2017
324
68
Проект
Petri Reborn
Вот теперь надо посчитать: сколько же он прошёл, но он не хочет выводить в консоль сколько прошёл, он выводит по типу этого:
Посмотреть вложение 864
а мне лайк ненадо да?
и что ты вообще хочешь сделать, зачем тебе разница двух векторов?
всё правильно он выводит: пройденное расстояние по x y z
 

SniperX

Друзья CG
26 Фев 2018
427
48
Проект
Работа пока приостановлена
а мне лайк ненадо да?
и что ты вообще хочешь сделать, зачем тебе разница двух векторов?
всё правильно он выводит: пройденное расстояние по x y z
я хочу чтобы при преодолении N-ного (500) расстояния происходило что-то
 
  • Нравится
Реакции: Wizardll

LAPKI

Продвинутый
26 Окт 2018
268
56
я хочу чтобы при преодолении N-ного (500) расстояния происходило что-то
 

Pancer

Активный
30 Мар 2017
127
5
steamcommunity.com
Проект
MARVEL Heroes
Нашёл замечательный скрипт бэктрека войда на SpellLibraly. Но он срабатывает только при OnTakeDamage, а мне надо чтобы он работал при OnAttacked. Как его можно подкорректировать?
Lua:
function BacktrackHealth( keys )
    local caster = keys.caster
    local ability = keys.ability

    ability.caster_hp_old = ability.caster_hp_old or caster:GetMaxHealth()
    ability.caster_hp = ability.caster_hp or caster:GetMaxHealth()

    ability.caster_hp_old = ability.caster_hp
    ability.caster_hp = caster:GetHealth()
end

--[[Author: Pizzalol
    Date: 14.02.2016.
    Negates incoming damage]]
function BacktrackHeal( keys )
    local caster = keys.caster
    local ability = keys.ability

    caster:SetHealth(ability.caster_hp_old)
end
 

xDes

Продвинутый
8 Ноя 2018
210
28
Проект
Boss Survival Adventure
Нашёл замечательный скрипт бэктрека войда на SpellLibraly. Но он срабатывает только при OnTakeDamage, а мне надо чтобы он работал при OnAttacked. Как его можно подкорректировать?
Lua:
function BacktrackHealth( keys )
    local caster = keys.caster
    local ability = keys.ability

    ability.caster_hp_old = ability.caster_hp_old or caster:GetMaxHealth()
    ability.caster_hp = ability.caster_hp or caster:GetMaxHealth()

    ability.caster_hp_old = ability.caster_hp
    ability.caster_hp = caster:GetHealth()
end

--[[Author: Pizzalol
    Date: 14.02.2016.
    Negates incoming damage]]
function BacktrackHeal( keys )
    local caster = keys.caster
    local ability = keys.ability

    caster:SetHealth(ability.caster_hp_old)
end
так вызывай его по другому событию
 
Статус
В этой теме нельзя размещать новые ответы.
Реклама: