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

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

 
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
Зевс
Адская Зверюга
offline
Опыт: 152,154
Активность:
...не the most, a at least.
Старый 23.11.2009, 22:46
Xyzzy

offline
Опыт: 94
Активность:
Чувак - ну сам посуди - тому, кто имеет меньше всего складов на малюсеньком кусочке земли, дают деньги. Least - это же "меньше всего".
У меня не сработало. Теперь деньги вообще не идут ))).
Если у тебя получилось, покажи карту, будь другом!
Старый 24.11.2009, 18:00
Зевс
Адская Зверюга
offline
Опыт: 152,154
Активность:
at least 1 - игрок имеет 1 и больше, at most 1 - игрок имеет меньше 1, exactly - ровно 1
При этом the most и the least в условии commands - true, в остальных случаях они зеркальны.
Зевс добавил:
Кстати если делаешь мультиплеер - нужно использовать трик со score для того чтобы для каждого игрока был свой таймер, хотя можно оставить один общий как есть. И сделай локацию по размерам сапли, чтобы не было бага при строительстве рядом зданий оппонента.
Прикрепленные файлы
Тип файла: scx ForU.scx (37.4 Кбайт, 32 просмотров )
Старый 24.11.2009, 20:43
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
Зевс
Адская Зверюга
offline
Опыт: 152,154
Активность:
Смысл-то как раз в том, что в этом случае надо разделить триггеры добавления ресурсов и обновления таймера.
Я так понял что в локейшене нужно строить только один сапли (что разумно... для борьбы за место) и автор использует мост команд, позабыв про бринг. Тем более таймер общий, тк он уже запущен и проверяет условия на саплай... значит не так понял... хз тогда score в помощь.
Старый 25.11.2009, 07:22
Xyzzy

offline
Опыт: 94
Активность:
проверим... спасибо в любом случае
Старый 25.11.2009, 15:07
Xyzzy

offline
Опыт: 94
Активность:
Worm, блин))) стыдно аж говорить, но и с условием bring, и с раздельными триггерами на ресурсы и таймер, эта хреновина продолжается! 80 минер\сек, и хоть ты упади епть))))! Очень прошу, сваяй за минуту карту с двумя локациями для сапликов. У тебя же ведь получилось как-то. Я триггер посмотрю и буду счастлив!
Биг плз
Xyzzy добавил:
чо я говорю - 80 минер\80 сек
Старый 25.11.2009, 20:25
Worm
Просто Червь
offline
Опыт: 3,221
Активность:
Есть некоторые тонкости, которые если упустишь, ничего не выйдет.
Вообще-то я карты не делал, но раз уж ты не можешь сваять пару триггеров в точности по описанию, то с примером карта в аттаче.
Ты, кстати, недоговорил, что должно происходить в случае, когда оба игрока имеют сапплай на локации (не говоря уже о том, как считать недостроеный сапплай!). Я додумал по своему разумению так: деньги игроку P прибавляются с некоторой локации L, тогда и только тогда когда к концу таймера 1) на L есть до конца построенный сапплай игрока P и 2) на L нет (хоть бы недостроенного) сапплая игрока, не состоящего в коалиции Allied Victory Player c игроком P. Последнее в твоём случае (карта на 2 игрока) будет попросту означать, что на L нет (хоть бы недостроенного) сапплая врага игрока P.
Собсна вот. Наслаждайся =)
Прикрепленные файлы
Тип файла: scx SuppliesTest.scx (40.3 Кбайт, 28 просмотров )
Старый 25.11.2009, 21:09
Xyzzy

offline
Опыт: 94
Активность:
ЧУВАААК!!! Ты святой. Спасиб тебе! все работает!

Доп. информация из раззряда "а вы и не знали":
Ежели я построю этот несчастный склад на локации, то туда ничего больше не поместится, тем более вражина. Локация точно по размеру саплика.
Ты на гарене играешь? Может схлестнемся?
Старый 25.11.2009, 22:25
Worm
Просто Червь
offline
Опыт: 3,221
Активность:
Ежели я построю этот несчастный склад на локации, то туда ничего больше не поместится, тем более вражина. Локация точно по размеру саплика.
В таком случае можешь убрать третье условие с Bring Non Allied Victory Players, только учти, что саплай не обязательно весь должен умещаться на локации.
Ты на гарене играешь? Может схлестнемся?
Не играю на гарене. На подольске иногда играю. Однако в ПвП не силён, больше УМСки нестандартные люблю.

Отредактировано Worm, 26.11.2009 в 14:05.
Старый 26.11.2009, 11:43
Xyzzy

offline
Опыт: 94
Активность:
карта
А вот собсно (если кому интересно) из-за чего весь сыр-бор. Просто первая кое-как получившаяся UMS.
***, народ на гарене ну никак не догоняет, для чего саплики на точках строить. Наверное брифинг непонятный. Ну блин, я в английском не совсем бог))
Прикрепленные файлы
Тип файла: scm Humans Vs Tanks v 1.09.scm (127.7 Кбайт, 30 просмотров )
Тип файла: scm Humans Vs Tanks v 1.09 g.scm (127.7 Кбайт, 28 просмотров )

Отредактировано Зевс, 30.11.2009 в 15:40.
Старый 28.11.2009, 23:15

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

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

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

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



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