Всем привет. В старом патче (1.26а) можно как то сделать так, чтобы указывало количество рабов на шахте как на скрине?
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
29
11 месяцев назад
Отредактирован nazarpunk
0
quq_CCCP, а если рабочий через пол карты к руднику бежит? Или две шахты рядом?
0
16
11 месяцев назад
Отредактирован DracoL1ch
0
foreach (peons as peon){
if(IsUnitHidden(peon){
mine=GetClosestMine(GetUnitx(peon),GetUnitY(peon))
}
}
логика такая должна быть
0
1
11 месяцев назад
0
Просто выбирать в области вокруг шахты всех работников и проверять приказ "harverst" и рисовать плавающий текст над рудником.
а если этого рабочего убьют и появится новый ?

foreach (peons as peon){
if(IsUnitHidden(peon){
mine=GetClosestMine(GetUnitx(peon),GetUnitY(peon))
}
}
логика такая должна быть
у тебя есть такой готовый триггер ?
0
8
11 месяцев назад
Отредактирован Centyrion
0
тут надо и инкремент увеличить каждый раз когда пеон начинает добывать золото
и менять значение текста на + 1 или - 1 если пеон не добывает
0
27
11 месяцев назад
0
Проще свою систему добычи сделать
0
8
11 месяцев назад
0
Проще свою систему добычи сделать
согласен так будет гораздо понятнее
0
27
11 месяцев назад
Отредактирован MpW
0
В самостоятельной системе добычи вернее точно можна определить. А так в гуи инструментов недостаточно, дабы отследить это точно.
Можно сделать так: отправляем раба в шахту. Когда раб доходит до шахты, то прячем его. И счетчик увеличиваем. Золото увеличивается. Ведем в систему носильщиков, они бегают между шахтой и склвдом. Шахтеры увеличивают кол-во золота в шахте. Носильщики увеличивают золото игрока

Приказы

Вот можно через ивенты приказов отслеживать. Ну это работает только, когда игрок отдает приказ рабу.
Далее автоматические приказы:
Дальше раб срубает древесину или зашёл в шахту, и должен получить другой приказ нести домой в дом. Когда доходит до дома, он снова получает приказ на таргет (дерево, шахта).
Если ты не новичок, то можно всю соответствующую информацию об юните повесить в хэш-таблицу: ресурс и его кол-во (если он несет на плечах золото или древесину, иначе просто бежит без реса), таргет, приказ

Проблемы приказов

Это не сложна сделать. Проблема - отследить все другие случаи: отмена приказа, переопределения на другой приказ (сбивает автоматическую добычу, но у раба мб еще ресурс. Приказ и таргет стираем).
Второй случай - сложно отслеживать, когда раб зашел в шахту. Мб сделать проверку заходом у всех ресурсов? Раб просто заходит в шахту, и исчезает. Интересна поможет ли здесь пустышка "укрыться за щитом".
Третье случай - отследить сколька ресурсов взял либо сколько несет на себе ресурса раб. Мб нужно проверять сколько было денег в шахте до его ухода. С деревом сложнее.
Это будет такая дрочильня с приказами. Нужно все тонкости соблюсти.

Вывод

Сейчас нам нужно определить сколько рабов в шахте, верно? Нам не важны все проблемы, что перечислил выше (точно определить скока, зашел или вышел из шахты, срубил дерева). Нам нужно определить только кол-во рабов на шахте. Тогда здесь ивенты приказов точно должны помочь.
Когда раб получает приказ идти в шахту (будь автоматическая подача или приказ игрока), можно проверять скока рабов в швхте. Если меньше 5, то отправляем раба => в счетчик шахты складываем +1. Иначе отменяем приказ, тк шахта перегружена 5/5, и шахтер должен остановиться, и выдать системную ошибку: "вы не можете отправить работника, шахта переполнена".
Еще нужно отслеживать моменты, когда раб уходит с шахты: получает приказ отмены, получил новый приказ, или получил другой таргет и др. Рабочий уходит, то минус -1 из шахты
ps я не знаю есть ли в игре какие то проблемы с привязками. При автоматическом сборе реса раб привязывается к тому таргет-ресурсу, на который указал игрок. Замечано, что позже после срубки раб ищет ближайшее дерево. А с шахтами неизвестно. Мб он захочет с ближайшей шахты собирать, чем бежать в даль. Здесь уже триггер проверки ухода уберет раба с дальней шахты на ближайшую. А что будет, если дальше ему никак? Атоматическая добыча багуется. Шахта перегружена? Нужно ли самому назначить автосбор. Надо чекать этот момент. Поправимо: если получает приказ на перегруженную шахту, нужно проверить, есть ли у него таргет, значит, что у него автоматическая добыча. Либо ищем ближайшую не перегруженную рабами шахту, или старую таргет-шахту, если она не разрушилась еще.
0
8
11 месяцев назад
Отредактирован Centyrion
0
МрачныйВорон
Это будет такая дрочильня с приказами. Нужно все тонкости соблюсти.
я уже подумал сколько триггеров на GUI придеться создавать чтобы вот...просто...заставить раб добывать ресурсы
Замечано, что позже после срубки раб ищет ближайшее дерево. А с шахтами неизвестно. Мб он захочет с ближайшей шахты собирать
Дерево это отдельный Ресурс игры, если Дерево Погибло значит рубить другое
если Рудник Истошен он Уничтожается останавливая Работников

это делается 1 строкой
call IssueImmediateOrder( udg_Работник[1], "autoharvestgold" ) для золота
call IssueImmediateOrder( udg_Работник[1], "autoharvestlumber" ) для древесины
call IssueImmediateOrder( udg_Работник[1], "returnresources" ) чтобы принести добытые ресурсы

если ордер уже отдан отследить его согласно условию и менять значение

можно Boolean юзать чтобы отследить приказ
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.