Xyzzy
offline
Опыт:
94Активность: |
Нужна помощь в одной функции старедита
Друзья! Вот карта - на ней два игрока террана (Use Map Settings). Они там что-то строят, но не в этом суть. На карте маяки, принадлежащие компьютеру. Они показывают места, где нужно построить сапплай депо, чтобы раз в 80 секунд прибавлялось 80 минералов. Я поставил локейшны около каждого маяка - именно там нужно было построить сапплай. Включил таймер и поставил кондишены триггеров - если таймер = 0 и в каком-то локейшене current player имеет the most of supplies, то дать current player'у 80 минералов, а к таймеру прибавить 80 секунд. То есть на каждую локацию около маяка у меня был отдельный триггер. Но бл.... ничего не работало. Каждому игроку каждые 80 сек давало по 80 минералов независимо от того, есть ли у него сапплаи в локациях. Даже если их вообще не было! Не надо мне только морали читать, а сразу сделайте, пожалуйста мне сохраненную карту или триггер, в котором бы было решение этой проблемы - чтобы в локации за построенный сапплай каждые 80 сек давали 80 минералов. |
23.11.2009, 20:04 | #1
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Зевс
Адская Зверюга
offline
Опыт:
152,154Активность: |
...не the most, a at least. |
23.11.2009, 22:46 | #2
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Xyzzy
offline
Опыт:
94Активность: |
Чувак - ну сам посуди - тому, кто имеет меньше всего складов на малюсеньком кусочке земли, дают деньги. Least - это же "меньше всего". У меня не сработало. Теперь деньги вообще не идут ))). Если у тебя получилось, покажи карту, будь другом! |
24.11.2009, 18:00 | #3
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Зевс
Адская Зверюга
offline
Опыт:
152,154Активность: |
at least 1 - игрок имеет 1 и больше, at most 1 - игрок имеет меньше 1, exactly - ровно 1
При этом the most и the least в условии commands - true, в остальных случаях они зеркальны. Зевс добавил: Кстати если делаешь мультиплеер - нужно использовать трик со score для того чтобы для каждого игрока был свой таймер, хотя можно оставить один общий как есть. И сделай локацию по размерам сапли, чтобы не было бага при строительстве рядом зданий оппонента. |
24.11.2009, 20:43 | #4
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Worm
Просто Червь
offline
Опыт:
3,221Активность: |
Зевс, ты не понял, он делает не условие Bring, а условие CommandTheMostAt.
Xyzzy, CommandTheMostAt это наоборот, больше всего сапплаей на локации. Если ни у одного игрока саплей на этой локации нет, то они все "Command 0 'Terran Supply Depot' at location." Условие CommandTheMostAt не взаимоисключающее: так если у нескольких игроков одинаковое наибольшее количество саплаей на локации, то оно будет истинно для каждого такого игрока. В твоём случае у всех игроков саплаей на локациях нет (ровно ноль) и поэтому условие CommandTheMostAt выполняется для каждого игрока (более того, в этом случае для каждого игрока верно одновременно и CommandTheLeastAt!).
На твоём месте не стал бы заморачиваться с CommandTheMost. Сделай лучше как Зевс с условием Bring.
Затем, из твоего описания следует, что таймер добавляется неправильно (если ты действительно сделал так, как написал). К таймеру надо добавлять 80 секунд каждый раз, когда он становится равным нулю (и больше ничего!). Дополнительно, когда таймер равен ровно (или по крайней мере) 80 и "Current player brings at least 1 'Terran Supply Depot' to location" надо игроку дать минералов. Однако неверно прибалять 80 к таймеру каждый раз, когда у игрока на локации оказался сапплай (или оказалось больше всего саплаев), потому что тогда после обработки одной из локаций таймер увеличится на 80 и уже не будет равен 0, а значит следующие локации не обработаются (так как триггеры срабатывают только когда таймер = 0). Оба триггера пишутся для всех игроков. Последний триггер (добавляющий ресурсы) должен идти ниже первого (добавляющего таймер). В карте не должны использоваться гиппер триггеры.
Вопросы?
ДОБАВЛЕНИЕ: Кстати, Зевс, твой пример не покрывает требуемого случая, когда локаций для постройки саплаей несколько. Смысл-то как раз в том, что в этом случае надо разделить триггеры добавления ресурсов и обновления таймера. Отредактировано Worm, 25.11.2009 в 00:19. |
25.11.2009, 00:06 | #5
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Зевс
Адская Зверюга
offline
Опыт:
152,154Активность: |
Я так понял что в локейшене нужно строить только один сапли (что разумно... для борьбы за место) и автор использует мост команд, позабыв про бринг. Тем более таймер общий, тк он уже запущен и проверяет условия на саплай... значит не так понял... хз тогда score в помощь. |
25.11.2009, 07:22 | #6
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Xyzzy
offline
Опыт:
94Активность: |
проверим... спасибо в любом случае |
25.11.2009, 15:07 | #7
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Xyzzy
offline
Опыт:
94Активность: |
Worm, блин))) стыдно аж говорить, но и с условием bring, и с раздельными триггерами на ресурсы и таймер, эта хреновина продолжается! 80 минер\сек, и хоть ты упади епть))))! Очень прошу, сваяй за минуту карту с двумя локациями для сапликов. У тебя же ведь получилось как-то. Я триггер посмотрю и буду счастлив!
Биг плз Xyzzy добавил: чо я говорю - 80 минер\80 сек |
25.11.2009, 20:25 | #8
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Worm
Просто Червь
offline
Опыт:
3,221Активность: |
Есть некоторые тонкости, которые если упустишь, ничего не выйдет.
Вообще-то я карты не делал, но раз уж ты не можешь сваять пару триггеров в точности по описанию, то с примером карта в аттаче.
Ты, кстати, недоговорил, что должно происходить в случае, когда оба игрока имеют сапплай на локации (не говоря уже о том, как считать недостроеный сапплай!). Я додумал по своему разумению так: деньги игроку P прибавляются с некоторой локации L, тогда и только тогда когда к концу таймера 1) на L есть до конца построенный сапплай игрока P и 2) на L нет (хоть бы недостроенного) сапплая игрока, не состоящего в коалиции Allied Victory Player c игроком P. Последнее в твоём случае (карта на 2 игрока) будет попросту означать, что на L нет (хоть бы недостроенного) сапплая врага игрока P.
Собсна вот. Наслаждайся =) |
25.11.2009, 21:09 | #9
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Xyzzy
offline
Опыт:
94Активность: |
ЧУВАААК!!! Ты святой. Спасиб тебе! все работает!
Доп. информация из раззряда "а вы и не знали": Ежели я построю этот несчастный склад на локации, то туда ничего больше не поместится, тем более вражина. Локация точно по размеру саплика.
Ты на гарене играешь? Может схлестнемся? |
25.11.2009, 22:25 | #10
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Worm
Просто Червь
offline
Опыт:
3,221Активность: |
В таком случае можешь убрать третье условие с Bring Non Allied Victory Players, только учти, что саплай не обязательно весь должен умещаться на локации. Не играю на гарене. На подольске иногда играю. Однако в ПвП не силён, больше УМСки нестандартные люблю. Отредактировано Worm, 26.11.2009 в 14:05. |
26.11.2009, 11:43 | #11
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Xyzzy
offline
Опыт:
94Активность: |
карта
А вот собсно (если кому интересно) из-за чего весь сыр-бор. Просто первая кое-как получившаяся UMS.
***, народ на гарене ну никак не догоняет, для чего саплики на точках строить. Наверное брифинг непонятный. Ну блин, я в английском не совсем бог)) Отредактировано Зевс, 30.11.2009 в 15:40. |
28.11.2009, 23:15 | #12
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|