Сейчас 23:22:08 Четверг, 6 октября, 2022 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » хп реген (%)
хп реген
ModdyДата: Вторник, 16 Апреля 2013, 20:06:52 | Сообщение # 1
4 уровень
Группа: Проверенные
Сообщений: 96
Награды: 0
Репутация: 30
Блокировки:
На картинке все правильно расставлено для того что бы увеличить регенерацию хп на 50/100/150/200%

Добавлено (16 Апреля 2013, 20:06:52)
---------------------------------------------
ах, да, можете ли помочь придумать название способности, замедляющей врагов, она пассивная, если вам это нужно

 

ВолчачкаДата: Вторник, 16 Апреля 2013, 20:12:31 | Сообщение # 2
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
Процент повышения "Да", а не "Нет"

Сообщение отредактировал Волчачка - Вторник, 16 Апреля 2013, 20:12:59
 

ModdyДата: Вторник, 16 Апреля 2013, 20:19:19 | Сообщение # 3
4 уровень
Группа: Проверенные
Сообщений: 96
Награды: 0
Репутация: 30
Блокировки:
а почему увеличение скорости регена... в скобках стоит %
 

CCTCTCCДата: Среда, 17 Апреля 2013, 11:37:38 | Сообщение # 4
4 уровень
Группа: Проверенные
Сообщений: 83
Награды: 0
Репутация: 26
Блокировки:
Moddy, наф тебе такой бешеный реген?
Чуть ли не для любой карты 10% и ты не убиваемый)))
Все равно больше 100% не отрегенишь. B)




Сообщение отредактировал CCTCTCC - Среда, 17 Апреля 2013, 11:38:04
 

NaturekidДата: Среда, 17 Апреля 2013, 12:48:14 | Сообщение # 5
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Цитата (Moddy)
можете ли помочь придумать название способности, замедляющей враго

,Могильный холод ^_^

Добавлено (17 Апреля 2013, 12:48:14)
---------------------------------------------
и да - имей в виду этот реген будет восстанавливать % от запаса здоровья воина, а не увеличивать на % базовую регенерацию здоровья


 

CCTCTCCДата: Среда, 17 Апреля 2013, 16:33:40 | Сообщение # 6
4 уровень
Группа: Проверенные
Сообщений: 83
Награды: 0
Репутация: 26
Блокировки:
Цитата (Naturekid)
и да - имей в виду этот реген будет восстанавливать % от запаса здоровья воина, а не увеличивать на % базовую регенерацию здоровья

хм, хотя он наверное базовую и пытается увеличить регенерацию хп и если на основе ауры смерти то вполне на скрине все верно


 

NaturekidДата: Среда, 17 Апреля 2013, 16:40:49 | Сообщение # 7
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
CCTCTCC, толькр там на фиксированное число, а не на % от нормы.

 

CCTCTCCДата: Среда, 17 Апреля 2013, 16:54:48 | Сообщение # 8
4 уровень
Группа: Проверенные
Сообщений: 83
Награды: 0
Репутация: 26
Блокировки:
Цитата (Naturekid)
толькр там на фиксированное число, а не на % от нормы.

т е 0,50 = 10 силы, 1,00 = 20 силы и т д с учетом 0,05 за базовую единицу силы, тогда проще свиток силы купить или сделать варианты регена в секунду процентно/фиксированно)))


 

NaturekidДата: Среда, 17 Апреля 2013, 22:13:12 | Сообщение # 9
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
чего?
неважно
вообщем это число - дополнительный + к регенерации в секунду, независимый
т.е. стоит там 0.5 - у юнитов в сек. дополнительно +0.5 здоровья в сек восстанавливается


 

ВолчачкаДата: Четверг, 18 Апреля 2013, 00:38:05 | Сообщение # 10
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
Moddy, Знаешь как лучше, сие секунду пример кода на jass.
Код
function Trig_Regen_Aura takes nothing returns nothing
local timer t = GetExpiredTimer()
local integer id = GetHandleId(t)
local unit c = LoadUnitHandle( udg_Hash, id, 1 )
local integer l = LoadInteger( udg_Hash, id, 2 )
local real r = LoadReal( udg_Hash, id, 3 )
local real hpfs = 0.
local unit p
if l == GetUnitAbilityLevel( c, 'A000')  then
call GroupEnumUnitsInRange( udg_G, GetUnitX(c), GetUnitY(c), 900 + GetRandomReal( 25., 35. ), null )
loop
set p = FirstOfGroup( udg_G )
if GetUnitAbilityLevel( p, 'B000') > 0 then
set hpfs = ( GetUnitState( p, UNIT_STATE_MAX_LIFE ) * .01 ) * r
call SetUnitState( p, UNIT_STATE_LIFE, GetUnitState( p, UNIT_STATE_LIFE ) + hpfs )
endif
call GroupRemoveUnit( udg_G, p )
exitwhen p==null
endloop
call GroupClear(udg_G)
else
call DestroyTimer(t)
call FlushChildHashtable( udg_Hash, id )
endif
set t = null
set id = 0
set c = null
set l = 0
set r = 0.
set hpfs = 0.
endfunction

function Trig_Regen_Actions takes nothing returns nothing
local unit c = GetTriggerUnit()
local timer t = CreateTimer()
local integer id = GetHandleId(t)
local integer l = GetUnitAbilityLevel( c, 'A000' )
local real r = I2R(l) * .5      
call SaveUnitHandle( udg_Hash, id, 1, c )
call SaveInteger( udg_Hash, id, 2, l )
call SaveReal( udg_Hash, id, 3, r )
call TimerStart( t, 1., true, function Trig_Regen_Aura )
set c = null
set t = null
set id = 0
set l = 0
set r = 0.
endfunction

function Trig_Regen_Conditions takes nothing returns boolean
return GetLearnedSkill() == 'A000'
endfunction

//===========================================================================
function InitTrig_Regen takes nothing returns nothing
local integer i = 0
         set gg_trg_Regen = CreateTrigger()
         call TriggerAddAction( gg_trg_Regen, function Trig_Regen_Actions )
         call TriggerAddCondition( gg_trg_Regen, Condition( function Trig_Regen_Conditions ) )
loop
         call TriggerRegisterPlayerUnitEvent( gg_trg_Regen, Player(i), EVENT_PLAYER_HERO_SKILL, null )
         set i = i + 1
exitwhen i > 11
endloop
set i = 0
endfunction


Регенерация хп при помощи Jass с отслежкой баффа)
Лучше так регенерировать 0.5,1,1.5,2% от макс запаса хп. XD

Добавлено (18 Апреля 2013, 00:38:05)
---------------------------------------------
Теперь пояснение:
udg_Hash - нужная хеш таблица
udg_G - группа боевых единиц, тоже нужная хурма.
^ Глобалки
l - управляющая аурой переменная
r - % регенерации 0.5/1/1.5/2%
с - владелец ауры
p - выьбраный юнит
hpfs - величина которая будет дана в хп
id - ID таймера, это для манипуляции над функцией Trig_Regen_Aura
A000 - абилка
B000 - бафф


Сообщение отредактировал Волчачка - Четверг, 18 Апреля 2013, 00:38:43
 

ExtrematorДата: Четверг, 18 Апреля 2013, 01:09:16 | Сообщение # 11
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Цитата (Волчачка)
Процент повышения "Да", а не "Нет"
Думаю ему это не нужно...

Цитата (CCTCTCC)
Все равно больше 100% не отрегенишь.
Отрегенит... только не 100% за 1 сек, а 100% за 0.5 сек (что равно 200% за 1 сек.)

Но я всё равно не понял скольо именно хп он хочет регенить за секунду )
 

ВолчачкаДата: Четверг, 18 Апреля 2013, 01:16:42 | Сообщение # 12
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
Цитата (Moddy)
50/100/150/200%

Всё равно слишком много. А если так подумать: если это - текущая регенерация* 0.5/1/1.5/2
Допустим тек регенерация у юнита текущая 2
lvl 1,то 2 + 2 * 0.5 -> 2 + 1 = 3 hpps
lvl 2,то 2 + 2 * 1 -> 2 + 2 = 4 hpps
lvl 3, то 2 + 2 * 1.5 -> 2 + 3 = 5 hpps
lvl 4, то 2 + 2 * 2 -> 2 + 4 = 6 hpps
Если так думать правильно)


Сообщение отредактировал Волчачка - Четверг, 18 Апреля 2013, 01:17:27
 

sumertДата: Четверг, 18 Апреля 2013, 10:12:41 | Сообщение # 13
10 уровень
Группа: Проверенные
Сообщений: 2330
Награды: 2
Репутация: 1094
Блокировки:
Я вообще в первом посте даже вопроса не вижу, что хочет автор и что не получается.
А вот это последняя фраза вообще с логческой отчки зрения абсолютно непонятная.
Цитата (Moddy)
ах, да, можете ли помочь придумать название способности, замедляющей врагов, она пассивная, если вам это нужно
 

ModdyДата: Четверг, 18 Апреля 2013, 15:05:35 | Сообщение # 14
4 уровень
Группа: Проверенные
Сообщений: 96
Награды: 0
Репутация: 30
Блокировки:
да, я хочу увеличить стандартный реген, который равен 0.8 в сек
Цитата (sumert)
Я вообще в первом посте даже вопроса не вижу, что хочет автор и что не получается.
А вот это последняя фраза вообще с логической точки зрения абсолютно непонятная.

лень новую тему создавать для такого вопроса, и да я использовал ауру смерти для создания способности
 

ExtrematorДата: Четверг, 18 Апреля 2013, 17:19:14 | Сообщение # 15
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
стандартный реген ты не поднимешь... можно лишь имитировать это
отлавливать весь реген и добавлять сверху некое число

в общем всё будет триггерно

проще было бы сделать например увеличение базового регена от Силы в 2/3/4/5 раз от 0.05 стандарта
т.е. давал бы по +0.05 / 0.10 / 0.15 / 0.20 хп за единицусилы в секунду... хД

а так, ловить общий реген - стрёмно как то... вруг там будет фляска или реджи какой нить, то риггер отлавливающий изменени и его будет вставлять ._.
а ином случаи нужно строить БД со всем регенами, артами , баффами и прочими... - гемор
 

NaturekidДата: Четверг, 18 Апреля 2013, 18:38:58 | Сообщение # 16
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Цитата (Extremator)
отлавливать весь реген и добавлять сверху некое число

это багнуто
...
или нет? hmm


 

ExtrematorДата: Четверг, 18 Апреля 2013, 18:48:44 | Сообщение # 17
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Цитата (Naturekid)
это багнуто ... или нет?
я и говорю... что это хрень полная...

потому что если у гера есть арт/статы на +5 регена, и например глотнул зелье омоложение на 300 за 30 сек (+10 хп/сек)
то у юнита уже будет по +15 хп за секунду... ну вот и как триггерно отловить где у него свои +5 а где не свои +10?

поэтому нужно будет делать ряд проверок... бафы, арты, и прочее... оптимальнее сделать это через БД... но это естественно и сложнее чем просто прибавить число

а значит или долбаца с точными данными по БД ... или ... придумать другой реген


Сообщение отредактировал Extremator - Четверг, 18 Апреля 2013, 19:02:56
 

sumertДата: Четверг, 18 Апреля 2013, 19:12:06 | Сообщение # 18
10 уровень
Группа: Проверенные
Сообщений: 2330
Награды: 2
Репутация: 1094
Блокировки:
Ну, можно просто создать бд, и там тупо хранить значения регена, а при добавлении артов/бафов изменять значение.
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » хп реген (%)
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2022 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz