Ахил
offline
Опыт:
257Активность: |
1 ед золота от 1 здания
Меня друг попросил узнать: Как сделать (триггерно), чтоб когда рабочии построили здание то оно каждую секунду приносило +1 золота. А когда здание разрушали то оно не приносит золото... И так чтобы например- Ферма приносила +1 золота в секунду, а казармы +2... Мы с другом пытались это сделать, но у нас не получаеться чтоб каждое здание разную сумму приносило... Подскажите пожалуйста как это можно сделать |
11.08.2010, 10:08 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
|
11.08.2010, 10:09 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ахил
offline
Опыт:
257Активность: |
16GB, Неет. Я имею в виду, чтобы здание приносило по +1, +2 (В зависимости от типа здания), и в каком радиусе оно мне не нужно! |
11.08.2010, 11:22 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ksan
offline
Опыт:
13,248Активность: |
Ахил, при создании здания добавляешь его в группу. В другом тригге пикаешь всех в группе и проверяешь на тип. А после даешь игроку, командующего пикнутым юнитом золото. Все же элементарно! |
11.08.2010, 11:28 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SomeFire
Всего 20 символов...
offline
Опыт:
26,884Активность: |
Делаешь радиус на всю карту, проверяешь условием здание и даешь нужное кол-во ресурса. |
11.08.2010, 11:29 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ksan
offline
Опыт:
13,248Активность: |
SomeFire, ты не думал, что он не сможет безутечно пикнуть в радиусе? Имхо мой вариант самый оптимальный. |
11.08.2010, 11:30 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
timeR
Deadly Grip
offline
Опыт:
5,238Активность: |
каждую сек проверять на наличии здания можно и по другому но это сложнее будет объяснить :) и так проверяем есть ли здание на карте типа фермы если есть дать 1 золотую владельцу этой фермы плюс можно создать в том же триги плавающую надпись что бы над этой фермой каждый сек вылетало +1 в этом же триге можно повторять условия на карте есть здание типо казармы ну и т.д. но это вроде не все я щас уже не вспомню вроде были праблы но они тоже решаются не трудным тригом короче это легко осбенно если делать через несколько триггеров но тут будет утечка с надписью вроде но она не значительная и врядли повлияет на игру |
11.08.2010, 11:32 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
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 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
timeR
Deadly Grip
offline
Опыт:
5,238Активность: |
ну это гемор лишний по моему :)) а вообще да вариантов куча |
11.08.2010, 11:36 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ksan
offline
Опыт:
13,248Активность: |
Ахил, тебе тут уже 5 вариантов сказали. Выбирай любой.
Мой лучше! Бери мой! хДД |
11.08.2010, 11:45 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ахил
offline
Опыт:
257Активность: |
|
11.08.2010, 12:01 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Lobster
offline
Опыт:
2,043Активность: |
А по мне мой вариант с переменными самый лучший.
При постройке к примеру фермы ставишь set Income[player] = income[player] + 1 если казарма то + 2. Если разрушили здание, то вычетаешь. А доход делаешь так
каждые n сек
for e. integer A от 1 до x (кол-во игроков) сет золото = золото + income |
11.08.2010, 12:22 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ахил
offline
Опыт:
257Активность: |
Lobster, Спасибо попробую ! |
11.08.2010, 12:34 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SkiL
offline
Опыт:
9,321Активность: |
Lobster, вот только ты забыл что при уничтожении казармы или фермы надо из переменной вычитать, а это уже 3 трига, а если просто пикать всех юнитов казарм и ферм - 1 триг. |
11.08.2010, 12:37 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Lobster
offline
Опыт:
2,043Активность: |
Цитата:
Забыл???? ВНИМАТЕЛЬНО прочти мой пред. сообщение. И что из того что 3 триггера.... ЗАТО это намного меньше создает нагрузку на карту, чем твой метод. А если автор хочет сделать сотню зданий? Попробуй их пропикать для 12 игроков, а если еще будет куча систем - тормоза карты обеспеченны. P.S. делай моим методом, рекомендую Отредактировано Lobster, 11.08.2010 в 13:44. |
|
11.08.2010, 13:29 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SkiL
offline
Опыт:
9,321Активность: |
Lobster, тогда уже так, без переменной. |
11.08.2010, 13:46 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Lobster
offline
Опыт:
2,043Активность: |
SkiL, переменная это Ну ОооОчеНь СтРаШнО
Я уже писал по этому поводу. Так не удобно и выше нагрузка на карту. Попробуй так прописать 100 зданий, а если потом понадобится что-нибудь удалить.... короче бред Dragon_S, кстати насчет этого.... Метод совершенно не подходит, если на карте есть способности станящие здания, типа дыхания ледяного змея |
11.08.2010, 13:52 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SkiL
offline
Опыт:
9,321Активность: |
Lobster,
1.чем же это не удобно? 2.Почему? выше нагрузка на карту если есть пик, тут его нет. |
11.08.2010, 13:55 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Lobster
offline
Опыт:
2,043Активность: |
SkiL, 1. А ты представь что в этой строке надо указать 100 зданий и все перемножить на коэффициент. Не говоря уже о том что если захочешь изменить к примему у башни времени бонус с 27 до 29 надо ее пол часа искать. ну а если захочешь удалить из середины списка....
2. Или просто дать команду прибавить игроку золото = 1-й переменной, или заствить компьютер ломать голову сперва считая кол-во зданий 100 типов для 12 игрков, а потом в столбик перемножая их на коэффициент каждого здания и только потом прибавляя это к золоту игрока...))) |
11.08.2010, 14:24 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Скайнет
Kicked by ZlaYa1000
offline
Опыт:
8,234Активность: |
этот вопрос обсуждают по кд в полгода начиная с 2006. в поиске есть около 4 способов реализации, от гуи до безутечных конструкций.
подходящий тебе во 2м посте, только тот пик нужно делать сразу на всю карту. в действиях "игрок +1 к золоту (picked player)". когда станешь прошаренным можно заменить способ на массивы/автокаст и т.п.
Lobster, ну да, здорово советовать новичку - учитывать постройку здания, учитывать разрушения, учитывать то, что игрок вышел и здания не станет + работать сразу с переменными. ну молодец, что сказать |
11.08.2010, 15:14 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|