Возникла такая проблема , я сделал новую функцию по нанесению урона с учетом своих нужд в неё добавил параметр который если берет аргумент true то при уроне могут срабатывать все предметы которые есть (то есть пассивные эффекты такие как оглушение , крит , сплеш и многие другие ) но таких предметов допустим много . Вот не могу разобраться как сделать архитектуру системы обработки предметов которые есть у юнита если они сработали то дали бонус модификации .Функция урона применяется и для авто-атаки .
Если что-то не понятно спрашивайте
Пояснять если что в vjass или cjass

Принятый ответ

ledoed, давно не обращал внимание на мой вопрос не закрытый решил написать ledoed, ты меня все равно не понял ну тут моя вина все способности которые я пишу не как не связаны с стандартными только если как пустышка . Допустим есть предмет который позволяет нанести крит урон но внутри этого предмета нету не каких способностей я просто привязываю к предмету триггер со скилом (крита ) и если при атаке у юнита есть предмет этот то с шансом N срабатывает функция триггера
0
19
7 лет назад
0
Похожие вопросы:

ответ
аналогичная болезнь ставить несколько антивирусов полагая что они защитят вместе лучше...
  1. используйте что-то одно
  2. ???
  3. профит

0
26
7 лет назад
0
покажите как делаете свои функции для начала
0
7
7 лет назад
Отредактирован Sergey105
0
Hate, я уже их много раз изменял сейчас гляну на чем остановился перед тем как забить
private function Crit1 takes unit S, unit T, real D_s returns nothing
local structure_unit Struct_Source = 0
local real CC = 25.00
set Struct_Source = U2I(S)
set CC = CC/const_initia_divider
if (RRB(CC*Struct_Source.s_crit_c_divider)) then
if (Struct_Source.s_crit_d == .0) then
set Struct_Source.s_crit_c_divider = 0
set Struct_Source.s_crit_d = D_s*2.25
endif
endif
endfunction
*****************
private function FiltCritical takes nothing returns boolean
return false
endfunction
private function activeItem takes integer IdItem, unit c, unit t, real d returns nothing
if (IdItem == 'frgd') then
call Crit1(c,t,d)
elseif (IdItem == 'srbd' )//and c != GetSpellAbilityUnit())
call Crit2(c,t,d)
endif
endfunction
///////
---------------------------------------------------------------
public function AddDamageSubject takes unit Ac, unit At, real Ad returns nothing
local integer i = 0
local item indexItem = null
local structure_unit Struct_Source = 0
set Struct_Source = U2I(Ac)
set Struct_Source.s_crit_c_divider = Struct_Source.s_crit_c_divider+1
loop
set indexItem = UnitItemInSlot(Ac, i)
if (indexItem != null) then
call activeItem(GetItemTypeId(indexItem),Ac,At,Ad)
endif
set i = i + 1
exitwhen i >= 6
endloop
set indexItem = null
set Ac=null
set At=null
set Ad=.0
endfunction
подобие этого липил но это фигня
сейчас же перешел полностью на cjass синтесис
и хочу нормальную построить архитектуру вот застрял на предметах
не могу понять как мне обрабатывать все предметы носимые героем при атаке или касте спелов
0
26
7 лет назад
0
0
17
7 лет назад
0
как я понял ты хочешь в момент атаки посмотреть какие итемы на юните и запустить их в нужный момент думаю такая функция как "it=UnitItemInSlot(u,i)"
где "u"-твой юнит
"i"- номер слота
"it"-переменная типа item
ну запускать активки не советую тем юнитом на котором эта система лучше сделай дамиков которые это всё пулять будут
а активировать итемы функциями "UnitUseItem,UnitUseItemTarget,UnitUseItemTarget" и сделай если нужно в способностях итемов одинаковый ид приказа
0
7
7 лет назад
0
ledoed, будут срабатывать только пассивные эффекты такие как криты станы слеши всякие орбы
но не активные
0
17
7 лет назад
0
Sergey105:
ledoed, будут срабатывать только пассивные эффекты такие как криты станы слеши всякие орбы
но не активные
"UnitUseItem,UnitUseItemTarget,UnitUseItemTarget" а эти функции пробовал
0
7
7 лет назад
0
ledoed, Допустим я использовал функцию которая наносит урон в функции идет проверка на предметы в проверке идет обработка предметов то-есть сработал крит , записываю новое значение урона и заменяю в функции урона на новое значение затем происходит сам урон
ledoed, что мне эти функции дадут ?
я предметами особо не занимался только способности делал
ledoed, это типо проверка есть ли предмет у юнита ?
0
17
7 лет назад
0
это заставляет активировать итем юниту,цель сам юнит на юнита на точку
0
7
7 лет назад
0
ledoed, активация мне не к чему
0
17
7 лет назад
Отредактирован ledoed
0
а вариант с 2мя массивами в одном ид предметов во 2м ид спела тоесть если massitemid[4] у тебя в инвентаре то значит massspellid[4] у тебя есть
активный даёшь дамику а он активирует
0
7
7 лет назад
0
ledoed, давно не обращал внимание на мой вопрос не закрытый решил написать ledoed, ты меня все равно не понял ну тут моя вина все способности которые я пишу не как не связаны с стандартными только если как пустышка . Допустим есть предмет который позволяет нанести крит урон но внутри этого предмета нету не каких способностей я просто привязываю к предмету триггер со скилом (крита ) и если при атаке у юнита есть предмет этот то с шансом N срабатывает функция триггера
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.