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

ledoed, давно не обращал внимание на мой вопрос не закрытый решил написать ledoed, ты меня все равно не понял ну тут моя вина все способности которые я пишу не как не связаны с стандартными только если как пустышка . Допустим есть предмет который позволяет нанести крит урон но внутри этого предмета нету не каких способностей я просто привязываю к предмету триггер со скилом (крита ) и если при атаке у юнита есть предмет этот то с шансом N срабатывает функция триггера
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
23
Похожие вопросы:

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

26
покажите как делаете свои функции для начала
7
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 синтесис
и хочу нормальную построить архитектуру вот застрял на предметах
не могу понять как мне обрабатывать все предметы носимые героем при атаке или касте спелов
17
как я понял ты хочешь в момент атаки посмотреть какие итемы на юните и запустить их в нужный момент думаю такая функция как "it=UnitItemInSlot(u,i)"
где "u"-твой юнит
"i"- номер слота
"it"-переменная типа item
ну запускать активки не советую тем юнитом на котором эта система лучше сделай дамиков которые это всё пулять будут
а активировать итемы функциями "UnitUseItem,UnitUseItemTarget,UnitUseItemTarget" и сделай если нужно в способностях итемов одинаковый ид приказа
7
ledoed, будут срабатывать только пассивные эффекты такие как криты станы слеши всякие орбы
но не активные
17
Sergey105:
ledoed, будут срабатывать только пассивные эффекты такие как криты станы слеши всякие орбы
но не активные
"UnitUseItem,UnitUseItemTarget,UnitUseItemTarget" а эти функции пробовал
7
ledoed, Допустим я использовал функцию которая наносит урон в функции идет проверка на предметы в проверке идет обработка предметов то-есть сработал крит , записываю новое значение урона и заменяю в функции урона на новое значение затем происходит сам урон
ledoed, что мне эти функции дадут ?
я предметами особо не занимался только способности делал
ledoed, это типо проверка есть ли предмет у юнита ?
17
это заставляет активировать итем юниту,цель сам юнит на юнита на точку
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.