+10% ко всем.
|
|
Overkills | Дата: Вторник, 24 Декабря 2013, 17:33:15 | Сообщение # 1 |
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
| Хочу сделать магию, что бы давала юниту +10% ко всем характеристикам (сила/инта/ловка), сделал 3 способности, повышающие характеристики, у них имеются 10 лвл. (0-9, 0-90, 0-900). Теперь вопрос: как их использывать(цикл. и т.д.)? А то что-то не очень хочется делать 1к лвлов способности, и устанавливать лвл.
|
|
|
|
Owolord | Дата: Вторник, 24 Декабря 2013, 17:55:25 | Сообщение # 2 |
3 уровень
Группа: Проверенные
Сообщений: 47
Награды: 0
Репутация: 0
Блокировки:
| может_через_преобразовать_вещественное_в_реал_я_не_совсем_понял_механизм_способн._на_1лвл+десять%_а_на_втором,_третьем...?
|
|
|
|
Overkills | Дата: Вторник, 24 Декабря 2013, 17:56:27 | Сообщение # 3 |
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
| Кидаешь на союзника бафф, который дает +10% к ловкости, силе и интеллекту. Триггерно мне давать не нужно, а нужно так, что бы было зеленое "+**(цифры)" возле характеристики.
|
|
|
|
Волчачка | Дата: Вторник, 24 Декабря 2013, 18:26:47 | Сообщение # 4 |
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
| VJass + Jass2 Код globals integer INT_UNIT = 0 integer INT_TEN = 1 integer INT_HUNDRED = 2 integer INT_THOUSAND = 3 endglobals
function mod takes integer x, integer y returns integer local integer z = x - (x / y) * y if z < 0 then set z = z + y endif return z endfunction
function GetUBN takes integer IsIntValue, integer IsIntModal, integer Value returns integer local integer Result = 0 //Из десятки по числу if IsIntModal == INT_TEN then if IsIntValue == INT_UNIT then set Result = mod(Value, 10) elseif (IsIntValue == INT_TEN) then set Result = (Value - mod(Value, 10)) / 10 endif endif //Из сотки по числу if IsIntModal == INT_HUNDRED then if IsIntValue == INT_UNIT then set Result = mod(mod(Value, 100), 10) elseif (IsIntValue == INT_TEN) then set Result = mod(Value, 100) / 10 elseif (IsIntValue == INT_HUNDRED) then set Result = Value / 100 endif endif //Из тысячи по числу if IsIntModal == INT_THOUSAND then if IsIntValue == INT_UNIT then set Result = mod(mod(mod(Value, 1000),100),10) elseif (IsIntValue == INT_TEN) then set Result = mod(mod(Value, 1000),100) / 10 elseif (IsIntValue == INT_HUNDRED) then set Result = mod(Value, 1000) / 100 elseif (IsIntValue == INT_THOUSAND) then set Result = Value / 1000 endif endif return Result endfunction
Тебе нужно чтобы возвращало цифру от числа, так ?
Сообщение отредактировал Волчачка - Вторник, 24 Декабря 2013, 18:28:38 |
|
|
|
Overkills | Дата: Вторник, 24 Декабря 2013, 18:40:05 | Сообщение # 5 |
Группа: Проверенные
Сообщений: 1785
Награды: 0
Репутация: 880
Блокировки:
| Волчачка, GUI, please. Добавлено (24 Декабря 2013, 18:40:05) ---------------------------------------------
Цитата Волчачка ( ) Тебе нужно чтобы возвращало цифру от числа, так ? 10% не от абилки, а от того, что есть у героя.
|
|
|
|
Q1wAse | Дата: Вторник, 24 Декабря 2013, 18:56:20 | Сообщение # 6 |
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
| Можно воспользоваться багом Вара.
Spell 1 = даёт + ловкость level 1 - 0 level 2 - (-1) level 3 - (+1)
Spell 2 = даёт + силу level 1 - 0 level 2 - (-1) level 3 - (+1)
Spell 3 = даёт + интеллект level 1 - 0 level 2 - (-1) level 3 - (+1)
Затем если тебе нужно изменить ловкость, то даёшь спелл с условием что меняешь ловкость в процентах с переменную целого типа закладываешь значение текущей ловкости и если переменная больше 0 то циклом от 1 до значения той переменной добавляешь Spell 1 и устанавливаешь уровень спелла на 2 и сразу же удаляешь спелл (запомни сколько добавил в другую переменную) , а если наоборот убрать то, циклом от 1 до значение той переменной которую запомнил добавляй Spell 1 и устанавливай на 3 уровень и сразу же удаляй.
|
|
|
|
Bibo | Дата: Вторник, 24 Декабря 2013, 19:31:52 | Сообщение # 7 |
Группа: Проверенные
Сообщений: 741
Награды: 0
Блокировки:
| Я не мог этого не сделать
|
|
|
|
Melodia | Дата: Вторник, 24 Декабря 2013, 20:28:56 | Сообщение # 8 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
| Волчачка, это у тебя для изменения базовых атрибутов? Кошернее допонительные менять. Идея Екстрематора: берем способность на ловкость, клепаем штук 9 или 9 уровней даем геройскому "атрибут бонусу" +1 +2 +4 +8 +16 +32 +64 +128 Короче лень обхяснять вот его карта с добавление произольного количества хп: http://rghost.ru/51182396
|
|
|
|