XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
J
expert
offline
Опыт: 48,747
Активность:
[Info] Жизни юнита
Тема была разделена
вот непонимаю.. один вместо нуля пишет 0,405, другой вместо -1 пишет численное значение pow(2,31) (2147483648)
ну вас нах короче =)

Отредактировано Jon, 22.09.2007 в 22:18.
Старый 22.09.2007, 13:16
adic3x

offline
Опыт: 107,539
Активность:
Цитата:
зачем вообще глобалки и фор груп

у тебя юзаються теже глобалки и тот же форГруп для копирования группы...
Цитата:
и далеко не все люди юзают ген пак, и не собираются, и простой работы с глобалками им не бдует

но они же не тупые я догадаются вставить глобалки в редакторе переменных?

ADOLF добавил:
Цитата:
один вместо нуля пишет 0,405

хм... а статьи почитать непробовал?) ну или хотябы попробывать в редакторе что то поексперементировать?

если юниту поставить лайф 0.404 - он помрет, если 0.405 - останется жив...

ADOLF добавил:
Цитата:
вот непонимаю

ключевая фраза...
Старый 22.09.2007, 15:59
J
expert
offline
Опыт: 48,747
Активность:
Цитата:
если юниту поставить лайф 0.404 - он помрет, если 0.405 - останется жив...

и что дальше?
это абсолютно не имеет значение...
ты больше тоадкопа слушай

Jon добавил:
на все остальное не буду отвечать.. ибо вода...

Отредактировано Jon, 22.09.2007 в 22:29.
Старый 22.09.2007, 16:40
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
Цитата:
Сообщение от Jon
а разница? твое копирование группы это в минус...
и ты кстате только зря нагружаеш pow'ом...
кстате.. плиз.. не цитируй всразу весь код.. а то они загромождают экран... =/

и кстати я написал код, который сойдет для него, а про правильный я написал: нужна 1 глобалка и будет супер функция

Цитата:
если ты сможеш поставить юниту 0,404 жизней я тебе паметниг поставю

нанеси юниту с 400 хп 399.595 урона или 399.594 урона ;)
+ также для заметки, хп реген у юнита тоже как бы не целый, так что хорош нести бред
Старый 22.09.2007, 16:55
J
expert
offline
Опыт: 48,747
Активность:
df Hunter если у юнита жизней от 0 до 0,454 включительно, они сбрасываются автоматически на 0, умнег

Отредактировано Jon, 22.09.2007 в 20:52.
Старый 22.09.2007, 17:09
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
Цитата:
Сообщение от Jon
df Hunter если у юнита жизней от 0 до 0,454 включительно, они сбрасываются автоматически на 0, умнег

впринципе я тебе показал, как урон поставить
я не знаю точное число, но при некоторым значении 0.ххх он может отрегенить, а меньше - умрёт(скорей всего либо 0.5 либо 0.445, я не знаю, как в варике идет округление(от 1 знака после запятой или от последнего) )

Отредактировано df Hunter, 22.09.2007 в 17:29.
Старый 22.09.2007, 17:21
J
expert
offline
Опыт: 48,747
Активность:
Toadcop что за бред...
df Hunter не.. я проверил.. даже если наносить уроном сбрасывание жизней всеравно идет

Jon добавил:
использовал такой код:
» Code ;)
Код:
function Trig_a_Actions_Timer takes nothing returns nothing
    local unit u = gg_unit_hpea_0000
    local real r
    call UnitDamageTargetBJ(u, u, 0.01, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNKNOWN)
    set r = GetUnitState(u, UNIT_STATE_LIFE)
    call echo(R2S(r))
    if r == 0 then
        call DestroyTimer(GetExpiredTimer())
    endif
endfunction

function Trig_a_Actions takes nothing returns nothing
    local unit u = gg_unit_hpea_0000
    call UnitDamageTargetBJ(u, u, GetUnitState(u, UNIT_STATE_LIFE)-10, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNKNOWN )
    call TimerStart(CreateTimer(), 0.01, true, function Trig_a_Actions_Timer)
    call echo(R2S(GetUnitState(u, UNIT_STATE_LIFE)))
endfunction
просто поменяй что нужно под себя.. и проверь
Старый 22.09.2007, 17:38
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
логично предположить, что оно идет после синхронизации(например после вэйта)
Старый 22.09.2007, 17:38
J
expert
offline
Опыт: 48,747
Активность:
df Hunter неа... дело не в ваите
эта функци
Код:
function Func takes unit u returns real   
   call SetUnitState(u, UNIT_STATE_LIFE, 0.4)
   return GetUnitState(u, UNIT_STATE_LIFE)
endfunction

вернет ноль


это все я проверял как только узнал про это... с уроном не проверял.. и немножко занервничал=) хотя результат получился тотже
Старый 22.09.2007, 17:40
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
реген отрублен?
+ он сразу при жизни 0.999 делает 0 ?
Старый 22.09.2007, 17:41
J
expert
offline
Опыт: 48,747
Активность:
df Hunter если они меньше 0,405 тогда делает 0

Jon добавил:
ты запусти тот мой код с таймером...
Старый 22.09.2007, 17:44
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
Цитата:
Сообщение от Jon
df Hunter если они меньше 0,405 тогда делает 0

ну а о чём ты споришь тогда, я что обратное доказываю?
Старый 22.09.2007, 17:44
J
expert
offline
Опыт: 48,747
Активность:
df Hunter ну дык.. мне пытаются втереть что у юнита могут быть жизни 0<x<=.404

Jon добавил:
Цитата:
Сообщение от Jon
df Hunter если у юнита жизней от 0 до 0,454 включительно, они сбрасываются автоматически на 0
вроде ясно сказал:)

Jon добавил:
т.е. смысл всего этого идиотского спора в том.. что проверять жизни относительно 0,404, или оносительно 0, полностью безразницы...
но чтобы не казатся задротом.. писать лучше через 0 (ну вообщем.. как и наш случай с pow() =) ), но это лично дело каждого как писать... но мне начели говорить что я несу бред Oo

Отредактировано Jon, 22.09.2007 в 18:02.
Старый 22.09.2007, 17:50
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
Цитата:
df Hunter ну дык.. мне пытаются втереть что у юнита могут быть жизни 0<x<=.404

прочитай еще раз:
Цитата:
если юниту поставить лайф 0.404 - он помрет, если 0.405 - останется жив...

так что ты несешь бред :D, так же с pow, у юнита хп не может быть выше 2^31(или 32 ), так почему бы не поставить сразу максимум чем еще что-то проверять :)
Старый 22.09.2007, 18:05
J
expert
offline
Опыт: 48,747
Активность:
Цитата:
Сообщение от ADOLF
если юниту поставить лайф 0.404 - он помрет, если 0.405 - останется жив...
ответ:
Цитата:
Сообщение от Jon
т.е. смысл всего этого идиотского спора в том.. что проверять жизни относительно 0,404, или оносительно 0, полностью безразницы...
но чтобы не казатся задротом.. писать лучше через 0 (ну вообщем.. как и наш случай с pow() =) ), но это лично дело каждого как писать... но мне начели говорить что я несу бред Oo

я ведь нормально сказал.. ты чето в спор ввязался... хотя мы даже и не поняли кто за чем стоит =)
Цитата:
Сообщение от df Hunter
так почему бы не поставить сразу максимум чем еще что-то проверять :)
хм... вообщем... то условие с проверкой на -1, не будет выполнятся если то левое условие верно, это называется режимом ускоренной проверки, существует во многих языках програмирования
я уже давно проверял его наличие в джазе
т.е. делая if нужно правельно оценивать то на каком месте стоят условия, выполнение идет слева направо

Отредактировано Jon, 22.09.2007 в 18:20.
Старый 22.09.2007, 18:07
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
не вижу смысла -1 :):
+ у многих есть вместо pow массивы степеней 2ки, 3ки иногда 5ки, 7ки и т.д. если надо :):
Старый 22.09.2007, 18:09
J
expert
offline
Опыт: 48,747
Активность:
Цитата:
Сообщение от df Hunter
не вижу смысла
Цитата:
Сообщение от Jon
но это лично дело каждого как писать... но мне начели говорить что я несу бред Oo
читайте плиз мои посты внимательнее (
P.S.
с -1 это всетаки случай поуниверсальнее... и не брасается в глаза... можно было бы поставить и -2 -6 :) чтобы просто немешались.. жизни не могут принимать их значение.. потому они не мешаются при расчете...

Jon добавил:
ну ради этого не стоит делать массив:) да и кому он нужен? их делают толкьо тогда когда нужно выжить всю возможную производительность, в большенстве карт, а уж тесболее от новичков.. это не требуется

Отредактировано Jon, 22.09.2007 в 20:55.
Старый 22.09.2007, 18:26
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
Цитата:
жизни не могут принимать их значение.. потому они не мешаются при расчете...

могут, читай посты выше, у героев могут
Старый 22.09.2007, 18:33
J
expert
offline
Опыт: 48,747
Активность:
сможеш наклепать карту пример? я может и сам попробую но только тогда через час.. а так прицепи интерено бы узнать...
Старый 22.09.2007, 18:49
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
Цитата:
Сообщение от Jon
сможеш наклепать карту пример? я может и сам попробую но только тогда через час.. а так прицепи интерено бы узнать...

ок, сейчас

df Hunter добавил:
короче
в чат 1 вводишь: мах хп отрицательное, текущее 0
в чат 2 вводишь: мах хп отрциательное, потом делаешь удар 2ым паладином и хоп, текущее тоже отрицательное
жмешь Esc - проверяет хп и макс хп юнита-паладина 1ого
Прикрепленные файлы
Тип файла: w3x dd.w3x (12.9 Кбайт, 29 просмотров )
Старый 22.09.2007, 19:08
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 01:53.