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

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

Ответ
 
Ахил

offline
Опыт: 257
Активность:
1 ед золота от 1 здания
Меня друг попросил узнать: Как сделать (триггерно), чтоб когда рабочии построили здание то оно каждую секунду приносило +1 золота. А когда здание разрушали то оно не приносит золото...
И так чтобы например- Ферма приносила +1 золота в секунду, а казармы +2...
Мы с другом пытались это сделать, но у нас не получаеться чтоб каждое здание разную сумму приносило... Подскажите пожалуйста как это можно сделать
Старый 11.08.2010, 10:08
16GB
GhostOne User
offline
Опыт: 60,317
Активность:
Старый 11.08.2010, 10:09
Ахил

offline
Опыт: 257
Активность:
16GB, Неет. Я имею в виду, чтобы здание приносило по +1, +2 (В зависимости от типа здания), и в каком радиусе оно мне не нужно!
Старый 11.08.2010, 11:22
Ksan

offline
Опыт: 13,248
Активность:
Ахил, при создании здания добавляешь его в группу. В другом тригге пикаешь всех в группе и проверяешь на тип. А после даешь игроку, командующего пикнутым юнитом золото. Все же элементарно!
Старый 11.08.2010, 11:28
SomeFire
Всего 20 символов...
offline
Опыт: 26,884
Активность:
Делаешь радиус на всю карту, проверяешь условием здание и даешь нужное кол-во ресурса.
Старый 11.08.2010, 11:29
Ksan

offline
Опыт: 13,248
Активность:
SomeFire, ты не думал, что он не сможет безутечно пикнуть в радиусе? Имхо мой вариант самый оптимальный.
Старый 11.08.2010, 11:30
timeR
Deadly Grip
offline
Опыт: 5,238
Активность:
каждую сек проверять на наличии здания можно и по другому но это сложнее будет объяснить :)
и так проверяем есть ли здание на карте типа фермы если есть дать 1 золотую владельцу этой фермы плюс можно создать в том же триги плавающую надпись что бы над этой фермой каждый сек вылетало +1
в этом же триге можно повторять условия на карте есть здание типо казармы ну и т.д.
но это вроде не все я щас уже не вспомню вроде были праблы но они тоже решаются
не трудным тригом короче это легко осбенно если делать через несколько триггеров но тут будет утечка с надписью вроде но она не значительная и врядли повлияет на игру
Старый 11.08.2010, 11:32
Dragon_S
где-то там..
offline
Опыт: 3,603
Активность:
периодич триггер, каждые N сек
цикл от 1 до K
добавить Z[K] золота игроку K
событие - юнит создан
тип юнита из здание равно да
дать приказ юниту кастать спелл(например берсерка(заменить описание и иконку спэлу)
ждать 0.5-1сек
отнять спэлл берсерка
событие - юнит приводит способность в действие
тип скастанной абилки = берсерк
действие:
if/the/else
если тип кастера = ферма, то set Z[номер овнера кастера] = Z[номер овнера кастера] +1
если тип кастера = казармы, то set Z[номер овнера кастера] = Z[номер овнера кастера] +2
событие - юнит умирает
тип юнита из здание равно да
действие:
if/the/else
если тип умершего = ферма, то set Z[номер овнера умершего] = Z[номер овнера умершего] -1
если тип умершего = казармы, то set Z[номер овнера умершего] = Z[номер овнера кумершего] -2
итого 4 триггера
проверка на тип добавлена чтобы триггер реже срабатывал(например когда делают солдата, или солдат юзает абилку)
а через переменную игрока можно ещё что-нибудь придумать(например улучшением добавить инкам и тд)
проверка каста абилки добавлена для случаев, когда здание недостраивают или отменяют
хотя тут нету проверки на уничтожение недостроенного здания.. мхм, хотя можно проверять наличие бафа(от берсерка) или абилки, которая заменит берсерка.
Старый 11.08.2010, 11:32
timeR
Deadly Grip
offline
Опыт: 5,238
Активность:
ну это гемор лишний по моему :)) а вообще да вариантов куча
Старый 11.08.2010, 11:36
Ksan

offline
Опыт: 13,248
Активность:
Ахил, тебе тут уже 5 вариантов сказали. Выбирай любой.
Мой лучше! Бери мой! хДД
Старый 11.08.2010, 11:45
Ахил

offline
Опыт: 257
Активность:
16GB, Ksan, SomeFire, timeR, Dragon_S, Спасибо всем! Саму систему я понял, а дальще как нибудь сам...
Старый 11.08.2010, 12:01
Lobster

offline
Опыт: 2,043
Активность:
А по мне мой вариант с переменными самый лучший.
При постройке к примеру фермы ставишь set Income[player] = income[player] + 1
если казарма то + 2.
Если разрушили здание, то вычетаешь.
А доход делаешь так
каждые n сек
for e. integer A от 1 до x (кол-во игроков)
сет золото = золото + income
Старый 11.08.2010, 12:22
Ахил

offline
Опыт: 257
Активность:
Lobster, Спасибо попробую !
Старый 11.08.2010, 12:34
SkiL

offline
Опыт: 9,321
Активность:
Lobster, вот только ты забыл что при уничтожении казармы или фермы надо из переменной вычитать, а это уже 3 трига, а если просто пикать всех юнитов казарм и ферм - 1 триг.
Старый 11.08.2010, 12:37
Lobster

offline
Опыт: 2,043
Активность:
Цитата:
вот только ты забыл что при уничтожении казармы или фермы надо из переменной вычитать

Забыл???? ВНИМАТЕЛЬНО прочти мой пред. сообщение. И что из того что 3 триггера.... ЗАТО это намного меньше создает нагрузку на карту, чем твой метод. А если автор хочет сделать сотню зданий? Попробуй их пропикать для 12 игроков, а если еще будет куча систем - тормоза карты обеспеченны.

P.S. делай моим методом, рекомендую

Отредактировано Lobster, 11.08.2010 в 13:44.
Старый 11.08.2010, 13:29
SkiL

offline
Опыт: 9,321
Активность:
Lobster, тогда уже так, без переменной.
Прикрепленные файлы
Тип файла: w3x goldyeah.w3x (11.3 Кбайт, 19 просмотров )
Старый 11.08.2010, 13:46
Lobster

offline
Опыт: 2,043
Активность:
SkiL, переменная это Ну ОооОчеНь СтРаШнО

Я уже писал по этому поводу. Так не удобно и выше нагрузка на карту. Попробуй так прописать 100 зданий, а если потом понадобится что-нибудь удалить.... короче бред


Dragon_S, кстати насчет этого.... Метод совершенно не подходит, если на карте есть способности станящие здания, типа дыхания ледяного змея
Старый 11.08.2010, 13:52
SkiL

offline
Опыт: 9,321
Активность:
Lobster,
Я уже писал по этому поводу. Так не удобно и выше нагрузка на карту.
1.чем же это не удобно?
2.Почему? выше нагрузка на карту если есть пик, тут его нет.
Старый 11.08.2010, 13:55
Lobster

offline
Опыт: 2,043
Активность:
SkiL, 1. А ты представь что в этой строке надо указать 100 зданий и все перемножить на коэффициент. Не говоря уже о том что если захочешь изменить к примему у башни времени бонус с 27 до 29 надо ее пол часа искать. ну а если захочешь удалить из середины списка....

2. Или просто дать команду прибавить игроку золото = 1-й переменной, или заствить компьютер ломать голову сперва считая кол-во зданий 100 типов для 12 игрков, а потом в столбик перемножая их на коэффициент каждого здания и только потом прибавляя это к золоту игрока...)))
Старый 11.08.2010, 14:24
Скайнет
Kicked by ZlaYa1000
offline
Опыт: 8,234
Активность:
этот вопрос обсуждают по кд в полгода начиная с 2006. в поиске есть около 4 способов реализации, от гуи до безутечных конструкций.
подходящий тебе во 2м посте, только тот пик нужно делать сразу на всю карту. в действиях "игрок +1 к золоту (picked player)". когда станешь прошаренным можно заменить способ на массивы/автокаст и т.п.
Lobster, ну да, здорово советовать новичку - учитывать постройку здания, учитывать разрушения, учитывать то, что игрок вышел и здания не станет + работать сразу с переменными. ну молодец, что сказать
Старый 11.08.2010, 15:14
Ответ

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

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

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

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



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