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

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

Ответ
 
alien426

offline
Опыт: 1,189
Активность:
Как сделать отображение войск в процентах в LeaderBoard
Подскажите кто знает
чего там в доске лидеров нада подставить чтобы войска отображались в процентах от максимального значения еды.

к примеру. Максимальный лимит пищи в игре 160 эначит вроде как используемое число пищи умножить (160 делить 100) = на выхлопе число войск в процентах

да вот только нету в редакторе food used (используемое число пищи) это только в редакторе AI
а как тогда?(((

Пробывал через переменную real да только к чему ее привязывать не понял, каждый юнит ведь разное число еды использует так что
построил юинт привязал на подобии Set переменная real = (переменная real + 1.00) не кактит
Старый 09.08.2014, 15:40
Hate
конь вакуумный
online
Опыт: 43,033
Активность:
constant native GetUnitFoodUsed takes unit whichUnit returns integer
берет юнита, возвращает кол-во используемой пищи
constant native GetFoodUsed takes integer unitId returns integer
берет айди юнита, возвращает кол-во пищи
при хитром проникновении юнита в игровую зону смотрим сколько он занимает пищи - добавляем в переменную, при смерти вычитаем
кол-во процентов = (food_used / 160.) * 100.
Старый 10.08.2014, 04:35
alien426

offline
Опыт: 1,189
Активность:
А на GUI можно?(((
Старый 10.08.2014, 10:32
Hate
конь вакуумный
online
Опыт: 43,033
Активность:
в гуи таких функций нет, только через кастом скрипт
я обманщик и подлец, в гуи они есть

Отредактировано Hate, 10.08.2014 в 12:03.
Старый 10.08.2014, 11:43
alien426

offline
Опыт: 1,189
Активность:
Ща найду отпишусь))

alien426 добавил:
а точно а действие для привязки этой переменной какое должно быть?

alien426 добавил:
хм тут наверное я еще не могу найти supply used by из-за того что использую неправельную переменнную, я так понял ты использовал переменную боевая единица? тогда событие какое должно быть повторюсь?

я там случано написал действие выше, я имел ввиду событие

alien426 добавил:
как я выяснил твоя переменная abc это не боевая единица, пожалуйста подробнее, какое событие и какая переменная?
Старый 10.08.2014, 12:49
nvc123
new status
offline
Опыт: 59,284
Активность:
alien426, блин ну если количество еды то наверное число
что за дебилизм
Старый 10.08.2014, 12:51
Hate
конь вакуумный
online
Опыт: 43,033
Активность:
ну показатель пищи это же целочисленная...
Старый 10.08.2014, 12:52
alien426

offline
Опыт: 1,189
Активность:
я уже нашел спс за критику, но мне проценты с десятичным чилом нужны

alien426 добавил:
кроме реальной я так понял другие переменные с десятичной дробью поддерживать supply used by не могут?
Старый 10.08.2014, 12:53
Hate
конь вакуумный
online
Опыт: 43,033
Активность:
боже как все запущено
ты хранишь весь показатель еды в переменной, а потом конвертируешь его для вычисления процентов
Старый 10.08.2014, 12:54
alien426

offline
Опыт: 1,189
Активность:
да и собыие еще раз воторюсь, будет
Боевая единица - A unit — Завершает подготовку боевой единицы?

alien426 добавил:
чтобы не взрывать мозг помогающим щас бытсро сделаю проверю и отпишусь. Такие мы уж серые и дремучие чео уж поделать то.

Еще вопрос пока вы тут, как убрать в таблице неиспользуемые строки. К примеру начал оигры создается таблица
Меню пацзы - Create a multiboard with 4 columns and 9 rows, titled бла бла бла

к примеру игроков играет всего 2, как убрать неиспользующиеся строки? чтобы показло 2 а не 9
Старый 10.08.2014, 12:58
Hate
конь вакуумный
online
Опыт: 43,033
Активность:
когда игрок покидает игру ты делаешь перерасчет мультиборда, проверяя игроков которые еще играют
тебе нужно 3 триггера, time elapsed 0.1, unit enters area, unit event (умирает)
делаешь массив размером 12 целочисленных, пикаешь в первом всех на карте и добавляешь в массив по индексу игрока, в юнит ентерс тоже добавляешь так же только без пика ибо конкретный юнит, и в третьем при смерти убавляешь на саплай по индексу
Старый 10.08.2014, 13:04
alien426

offline
Опыт: 1,189
Активность:
Событие: Боевая единица - A unit enters (Playable map area)
Условие: (Owner of (Triggering unit)) равно (==) Игрок 1 (красный)
Действие: Set Переменная = (Supply used by (Triggering unit))

2 тригер:
Событие Боевая единица - A unit умирает
Условие: (Owner of (Dying unit)) равно (==) игрок 1 (красный)
Событие: сюда чего

3 тригер
Событие: Время - Every 0.25 seconds of game time
Действие: Меню паузы - Set the text for LeaderBoard item in column 3, row 1 to (String((Переменная x (80 / 100))))

alien426 добавил:
первым же выполняются действия в скобках так что вроде все норм, хотя как варик считает хз

alien426 добавил:
Мне бы в событие где нада убрать человечка хотя бы на примере одного игрока
Старый 10.08.2014, 13:17
Hate
конь вакуумный
online
Опыт: 43,033
Активность:
неправильно, божеж, я же написал как нужно
Старый 10.08.2014, 13:26
alien426

offline
Опыт: 1,189
Активность:
Hate,
исправил на
Действие: Меню паузы - Set the text for LeaderBoard item in column 3, row 1 to (String((Переменная /160)x100))

даже в событие поправку внес
Событие: Боевая единица - A unit enters (Playable map area)
Условие: (Owner of (Entering unit)) равно (==) Игрок 1 (красный)
Действие: Set Переменная = (Supply used by (Entering unit))

что то не получается

Где я опят ьнакасячил?

alien426 добавил:
да я хоты бы сейчас на примере одного игрока пытаюсь сделать, я поинмаю что где-то химичу неправильно, но потому я и тут, простите грешного
Старый 10.08.2014, 13:28
Hate
конь вакуумный
online
Опыт: 43,033
Активность:
вообще неправильный алгоритм, я написал как делать, вы еще 12 таких триггеров сделайте
Старый 10.08.2014, 13:32
alien426

offline
Опыт: 1,189
Активность:
... мой лысый череп @.@

alien426 добавил:
Сделал все как ты указал. А что выставлять в обновлении таблицы? Я поинмаю что переменную, однако так я еще ни разу не делал а потому не поинял

Событие: Время - Every 0.1 seconds of game time
Действие: Меню паузы - Set the text for LeaderBoard item in column 3, row 1 to (String(((NewUnit[(Player number of (Picked player))] / 80) x 100)))

я поинмаю что я ничег оне поинмаю и от того у меня в таблице просто прирост по 100 идет, подскажи пожалуйста где неправильно

alien426 добавил:
NewUnit это я так переменную обозвал

alien426 добавил:
Кстати set bj_wantDestroyGroup =true c пробелами все правильно?
Старый 10.08.2014, 13:57
Hate
конь вакуумный
online
Опыт: 43,033
Активность:
у тебя в мультиборде каждый игрок на каком то значении мультиборда стоит так? ну вот у тебя должно быть где то указано на каком месте стоит игрок, по этому адресу мы и находим нужное нам кол-во пищи для конкретного игрока
Старый 10.08.2014, 14:26
alien426

offline
Опыт: 1,189
Активность:
хм, у меня все просто мультибоард 3 столбца 9 строчек по одной строчке на каждого игрока

получается приведеный тобою пример вверху для меня неполный так как я должен был вместо каких то значений номера игрока указать что то свое? или же загвоздка только в
Действие: Меню паузы - Set the text for LeaderBoard item in column 3, row 1 to (String(((NewUnit[(Player number of (Picked player))] / 80) x 100)))
??
Старый 10.08.2014, 14:37
Hate
конь вакуумный
online
Опыт: 43,033
Активность:
полностью триггер покажи
Старый 10.08.2014, 14:40
alien426

offline
Опыт: 1,189
Активность:
Вот
4 триг обнавление мультибоарда
Миниатюры
Кликните на картинку для увеличения
Название:  trg.jpg
Просмотров: 13
Размер:  100.6 Кбайт  
Старый 10.08.2014, 14:51
Ответ

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

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

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

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



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