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