Здравствуйте!
Я хочу сделать Ферму, в которую можно будет погружать крестьян. Затем, каждые несколько секунд будет начисляться игроку золото. Так вот, я создал переменную Krestyanin, каждый раз изменяющуюся. Krestyanin = кол-во Крестьян, сидящих на ферме * 100. Начисление золота игроку = Krestyanin.
Мне кажется, что здесь неправильная применяемая способность.
Если что, я скинул карту.
Пожалуйста, помогите! Надеюсь, своим задаванием вопросов я никого не разозлил.
Я хочу сделать Ферму, в которую можно будет погружать крестьян. Затем, каждые несколько секунд будет начисляться игроку золото. Так вот, я создал переменную Krestyanin, каждый раз изменяющуюся. Krestyanin = кол-во Крестьян, сидящих на ферме * 100. Начисление золота игроку = Krestyanin.
Мне кажется, что здесь неправильная применяемая способность.
Если что, я скинул карту.
Пожалуйста, помогите! Надеюсь, своим задаванием вопросов я никого не разозлил.
Принятый ответ
Vadikem, да.
Событие - юнит - Погружен в транспорт
условие - тип (trigger юнит) = твой тип
действие - переменная + 1 общее кол-во крестьян
действие - unit - set custom value кол-во крестьян в одной ферме (а отслеживается в разделе целочисленная с помощью Get unit custom value)
условие - тип (trigger юнит) = твой тип
действие - переменная + 1 общее кол-во крестьян
действие - unit - set custom value кол-во крестьян в одной ферме (а отслеживается в разделе целочисленная с помощью Get unit custom value)
А вот отследить когда выходит, сложнее. Отслеживаем приказ.
Когда ты наводишь мышкой и кликаешь на иконку юнита, в этот момент срабатывает приказ unload. Инициатором этого приказа якобы является логово орков. И раб, на которого кликнули, выходит. Также можно отслеживать по приказу smart, но разницы никакой. Это равнозначный приказ.
Событие - юнит - отдал приказ (цель-объект)
условие - тип (trigger юнит) = логово
условие - приказ (order) = unload
условие = тип цели (target unit) = работник
Когда раб высаживается, у него срабатывает в этот момент приказ stop. С этой стороны не очень удобно отслеживать этот приказ, потому что в других ситуациях он может также выполнить стоп
Событие - юнит - отдал приказ (без цели)
условие - тип (trigger юнит) = рабочий
условие - приказ (order) = stop
Есть еще одно, когда ты попытаешься всех выгрузить из логова. У логово это например топорик "вернуться к работе", У транспортного суда, типа дирижабля или лодки, это по-другому называется выгрузить всех (unloadall), выгружает в определенную точку, поэтому событие там будет другим "отдал приказ (в точку)". Не знаю можно ли убрать эти способности. но недостаток в том, что нельзя отследить сколько юнитов ты выгрузил (только по приказу stop, см. выше). Именно в кол-ве, сколько юнитов в ферме. Есть идея использовать "юнит - custom value" для хранения кол-во юнитов в одной ферме, один заходит, плюсуем в кастум валуе этой фермы. Потом будешь выбирать все логова, которые есть у игрока, и вычислять сколько крестьян в каждом логове
Событие - юнит - отдал приказ (без цели)
условие - тип (trigger юнит) = логово
условие - приказ (order) = standdown
в этом файле заранее занес все события с приказами, и отслеживаю приказы. В нем пример того, что описал выше
вот то что нашел на форуме
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Кстати, для того, что-бы крестьянин вошёл в ферму, я использовал способность логова орков.
Отредактирован MpW
условие - тип (trigger юнит) = твой тип
действие - переменная + 1 общее кол-во крестьян
действие - unit - set custom value кол-во крестьян в одной ферме (а отслеживается в разделе целочисленная с помощью Get unit custom value)
https://xgm.guru/forum/showthread.php?t=58761
https://xgm.guru/forum/showthread.php?t=50187
https://xgm.guru/forum/showthread.php?t=20795
https://xgm.guru/forum/showthread.php?t=18283
Например, Крестьянин зашёл на Ферму, затем, через пять секунд заходит другой Крестьянин, а за это время первый успевает наработать 10 золота.
Ладно, как я могу посчитать время, которое юнит сидит на Ферме? Затем, добавить золота: время * 10
Отредактирован MpW
Отредактирован Vadikem
Vadikem, сделал, остаётся каким-то образом считывать время, которое Крестьянин находится на ферме.
Что-то не работает здесь:
Мне нужно сделать то, что если какой-то юнит из группы Status_krestyanin имеет time 10, то time именно у этого юнита будет 0, и добавление золота игроку.
Как выбрать юнитов Крестьянин, при условии, что time_krestyanin => 10?
Отредактирован MpW
блин, кастум валуе забыл кое-где подправить
Почему не сделать наподобие светлячков в золотых шахтах?