Cosonic5
Моймозггоритогнем
offline
Опыт:
13,584Активность: |
нехочет добавлять ловкость целое число
Вот нехочет добавлять ловкость а если ставлю 1.05-1.90 без разницы то добавляет, но мне надо чтоб 0.25*уровень абилы тоесть за 4 каста на 1 уровне должна добавится 1 ловкость но ее нет( |
25.04.2012, 13:00 | #1
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Klop
Папа римский
offline
Опыт:
13,006Активность: |
Klop добавил:
Cosonic5, ду маю в твоём случает нужна на хендл юнита сохранять ловкость за применение,при каждом применении проверять real agi = LoadReal(hash,GetHandleId(caster),0)
if agi > 1 then agi = agi - 1 SetHeroAgi(caster,GetHeroAgi(caster,true)+1,true) SaveReal(hash,GetHandleId(caster),0,agi) endif что то вроде этого |
25.04.2012, 13:19 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Cosonic5
Моймозггоритогнем
offline
Опыт:
13,584Активность: |
так?
мне не надо эту ловкость удалять она дается навсегда |
25.04.2012, 13:20 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Klop
Папа римский
offline
Опыт:
13,006Активность: |
смотри пост выше |
25.04.2012, 13:21 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Cosonic5
Моймозггоритогнем
offline
Опыт:
13,584Активность: |
Klop, хмм походу ты непонял ? тут событие умирает цель (условие юнит цель способности) действие добавить 0.25*ур спела герою кастеру. Отредактировано Cosonic5, 25.04.2012 в 13:29. |
25.04.2012, 13:23 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Klop
Папа римский
offline
Опыт:
13,006Активность: |
Cosonic5:
ок,да уж куда мне понять,мелкую конструкцию которую я написал тебе не понять,за тебя надо всё написать и разжевать |
25.04.2012, 13:31 | #6
+1/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,544Активность: |
Cosonic5, учись думать головой, а не попой... Или всё зя тебя опять сделать? |
25.04.2012, 13:32 | #7
+2/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Klop
Папа римский
offline
Опыт:
13,006Активность: |
я написал имея ввиду то что
на юнита который применил спелл (и неважно какие там условия убил не убил сам ставь если надо) в Хеш на юнита сохраняем ловкость которую он получил например 0.25*уровень способности,затем проверяем что получения ловкость больше 1 тогда добавляем её вот этой функцией
SetHeroAgi(caster,GetHeroAgi(caster,true)+1,true) и перезаписываем в хеш набираемую ловкость вычитая 1 вот это я написал,а ловкость я не кому не убирал,не умееш читать функции сочуствую доступно обьясню
Set (это слово присвоения почему перд переменными ставиться?) это значит мы присвоим в этой функции что то HeroAgi (присвоим герою ловкость) параметры герой,количество,вкл бонусы?
далее в параметре кол-во GetHeroAgi(Get - брать) GetHeroAgi значит берём текущую ловкость героя GetHeroAgi+ 1 значит берём ловкость героя и добавили к ней 1 Klop добавил:
((кат Code
)) Вот должно работать |
25.04.2012, 13:52 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
prog
offline
Опыт:
32,865Активность: |
Klop, хештаблица тут ни разу не упала, как и весь остальной бред, который ты написал.
upd: прошу прощения, погорячился, хештаблица, как один из вариантов решения проблемы невозможности добавить дробное значение стата, имеет право на существование.
Cosonic5, подумай что случится при преобразовании R2I(0.25), учитывая что это преобразование к целому числу и производится оно путем округления.
Правильно, получится 0, который ты умножишь на уровень способности и получишь нулевую прибавку стата.
Чтобы решить твою проблему тебе необходимо избавиться от этого преобразования.
Как это сделать думай сам. |
25.04.2012, 13:56 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Klop
Папа римский
offline
Опыт:
13,006Активность: |
prog:
вот оно самое точное решение всех проблем, красава пришёл показал ум |
25.04.2012, 13:58 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Cosonic5
Моймозггоритогнем
offline
Опыт:
13,584Активность: |
ладно всем спасибо за советы. Тему закрываем! |
25.04.2012, 14:07 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
prog
offline
Опыт:
32,865Активность: |
Klop, обрати внимание, твой способ будет давать сбои в случае если способность может иметь более 4 уровней т.к. будет накапливаться остаток, который не может быть выдан по простой причине - за одно убийство не может быть выдано больше чем одну единицу ловкости. |
25.04.2012, 14:12 | #12
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Klop
Папа римский
offline
Опыт:
13,006Активность: |
prog, ну это уже пусть он сам дорабатывает,я просто сделал пример
Klop добавил:
вот переписал
|
25.04.2012, 14:34 | #13
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|