![]()
adic3x
![]() offline
Опыт:
108,439Активность: |
Medivx, создать в РО способность на базе спелбука, добавить в нее необходимый спелл, запретить тригерно данную способность для игрока и добавить данный спелбук юниту.
ADOLF добавил: ппц, стопицот раз обсуждали... ADOLF добавил: df Hunter, кста насчет фрислота глянь еще как уничтожаются структы в вЖасс... для полной ясности=) |
![]() |
#101
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
df Hunter
Нападатель
![]() ![]() offline
Опыт:
5,749Активность: |
да всё норм, я там ошибку небольшую допустил :): |
![]() |
#102
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Void
![]() ![]() offline
Опыт:
1,632Активность: |
Я хочу создать функцию которая определяет самого котцанного юнита в группе. |
![]() |
#103
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
S
![]() offline
Опыт:
43,833Активность: |
Цитата:
Это тема в которой помогают оптимизировать\усовершенствовать код, а не делать всё за тебя. Подсказка - сравнивай хп всех юнитов в группе. |
|
![]() |
#104
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
adic3x
![]() offline
Опыт:
108,439Активность: |
Код:
что то вроде... Отредактировано ADOLF, 22.09.2007 в 10:07. |
![]() |
#105
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
FellGuard
Losyash
![]() ![]() offline
Опыт:
39,547Активность: |
ADOLF, у тебя численное значение, да еще и r = 0. Что может иметь hp < 0
![]() Код:
Отредактировано FellGuard, 22.09.2007 в 11:25. |
![]() |
#106
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
df Hunter
Нападатель
![]() ![]() offline
Опыт:
5,749Активность: |
Цитата:
кстати может такое быть ![]() например дай герою абилку -10000 хп, он умрёт, а потом воскреси его ![]() + кстати надо уточнить, по количество ХП или по проценту |
|
![]() |
#107
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
J
expert
![]() offline
Опыт:
48,447Активность: |
ужс.. куча глобалок функций... почему нельзя делать ноглядно?
Код:
Void функция UnitOfGroupMinLife(gr) вернет самого коцаного юнита из группы gr Отредактировано Jon, 22.09.2007 в 13:02. |
![]() |
#108
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
df Hunter
Нападатель
![]() ![]() offline
Опыт:
5,749Активность: |
изврат Отредактировано Jon, 22.09.2007 в 13:03. |
![]() |
#109
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
adic3x
![]() offline
Опыт:
108,439Активность: |
отредактировал свой код...
ADOLF добавил: Цитата:
ну я сделал вариант, который находит юнита с мин хп вообще, фелл по проценту=) |
|
![]() |
#110
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
J
expert
![]() offline
Опыт:
48,447Активность: |
Цитата:
Jon добавил: Короче тут все норм. Береш группу суеж в функцию и получаеш юнита с самым меньшим количеством жизней. Ксате, я сделал чтобы группа копировалась для того чтобы исходая группа которая была пораметром не притерпивала изменений, и при последующем ее испольовании вела себя корректно, т.к. может много че случится.. и важен тут общий случай. Иногда сталкивался со случаем что человек (не я=)) удалял точку после функции в которой точка удалялась, просто в той функции был екзекут функц, он переносил точку туды сюды и не замечал как и где он ее удаляет, т.е. не держал код под контролем, - это не допустимо. То что проверка идет на 2 условия это не имеет значения, я спецально поставил их в таком порядке, потомуто в джазе как и во многих языках програмирования существует режим ShortCurcuiting, потому все норм, доступно и наглядно.. че тут извратного не совсем понимаю... Отредактировано Jon, 22.09.2007 в 16:49. |
||
![]() |
#111
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
FellGuard
Losyash
![]() ![]() offline
Опыт:
39,547Активность: |
думаю, извратными сочли перестраховочные манипуляции с группами) по мне так все нормально. Хотя опять же, ты берешь численное значение, а если в группе овца с 15.00 хп? она чтоже, битая :) нет просто state_life меньше всего |
![]() |
#112
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
J
expert
![]() offline
Опыт:
48,447Активность: |
ну это уже кому как... т.е. всмысле зависит от ситуации... если нужно выбрать юнита покоцаного из группы чтобы полечить его, то вариант с процентами неподходит...
ну и с овцой тоже прицепи пример хороший... вообщем хз... можно делатьпроверку принцепи и на проценты... хз т.е. есть свои плюсы и минусы если надо учитывать процентное сочетание.. то всеволиш в моем коде нужно поменять строку set state = GetUnitState(u, UNIT_STATE_LIFE) на set state = GetUnitState(u, UNIT_STATE_LIFE)/GetUnitState(u, UNIT_STATE_MAX_LIFE) FellGuard делаить на 100 необязательно Отредактировано Jon, 22.09.2007 в 11:47. |
![]() |
#113
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
FellGuard
Losyash
![]() ![]() offline
Опыт:
39,547Активность: |
мм пример
овца, 3 хп, макс 15 = 1/5 здоровья пехотинец, 1 хп, 150 макс. = 1/150 здоровья какой как ты думаешь результат будет посредством set state = GetUnitState(u, UNIT_STATE_LIFE)*GetUnitState(u, UNIT_STATE_MAX_LIFE) ? |
![]() |
#114
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
J
expert
![]() offline
Опыт:
48,447Активность: |
FellGuard нуя уже скзаал.. свои плюси и минусы...
это не будет является процентами.. но результат будет тотже посто деля на сто изменяются величины.. а не их пропорции.. и потому это не обязательно |
![]() |
#115
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
FellGuard
Losyash
![]() ![]() offline
Опыт:
39,547Активность: |
плин тогда не GetUnitState(u, UNIT_STATE_LIFE)*GetUnitState(u, UNIT_STATE_MAX_LIFE) а GetUnitState(u, UNIT_STATE_LIFE)/GetUnitState(u, UNIT_STATE_MAX_LIFE)
Тем не менее проценты считаю более универсальными FellGuard добавил: а понял я свою ошибку, там у меня неверная формула =) я там вообще считаю 1 процент от макс. лайф и потом присваиваю стэйту значение 3-х процентов от этой величины, вот дятел.. все, щас сменю. |
![]() |
#116
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
J
expert
![]() offline
Опыт:
48,447Активность: |
ошибку у себя нашел) надо делить а не умножить.. это я опечатолся) ща исправлю)
Jon добавил: а.. плин.. ты ее уже сказал.. а я сижу в оффе и думаю что чтото не то:) ну проценты.. дроби.. это безразници.. важно ведь результат... функция возвратит только юнита, как она работает это уже не так важно для того кто ее будет использовать хотя вот.. придумал пример) например есть юнит с 100/1000 жизнями, и другой юнит с 900/10000 если использовать функцию для определения цели лечения, то будет выбран второй, а благоразумнее было бы выбрать первого =) ну вообщем плюси и минусы =) кстате.. маленькая идея.. можно вообще вычеслять не по минимальному количеству жизней, а по максимальному количеству жизней оставшемуся до максимума.. тогда некоторых проблем небудет |
![]() |
#117
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
df Hunter
Нападатель
![]() ![]() offline
Опыт:
5,749Активность: |
вообще это делается через одну глобалку типа unit впринципе могу написать правильный вид поиска функции по процентам/количеству с булей +/- |
![]() |
#118
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
J
expert
![]() offline
Опыт:
48,447Активность: |
зачем вообще глобалки и фор груп? мы хотим сделать полностью оптимизированую версию? или хотим понятно ответить на вопрос? и далеко не все люди юзают ген пак, и не собираются, и простой работы с глобалками им не бдует небудем фигней страдать.. написали уже 3 варианта.. и хватит) Отредактировано Jon, 22.09.2007 в 12:38. |
![]() |
#119
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
df Hunter
Нападатель
![]() ![]() offline
Опыт:
5,749Активность: |
если кто-то не юзают jass new gen pack
то для него сойдут и БЖ функции Код:
хотя бы вот так Отредактировано df Hunter, 22.09.2007 в 13:06. |
![]() |
#120
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|