![]()
Zahanc
![]() ![]() offline
Опыт:
23,017Активность: |
Количество предметов в магазине равно нулю.
Постараюсь быть лаконичным. Я хочу сделать следующие: при постройке определенного здания (далее "Аптека"), в магазинах игрока-владельца все предметы типа А заменяются на предметы типа Б. Если все Аптеки игрока были уничтожены, предметы меняются обратно. Это было достигнуто следующим кодом, который в принципе рабочий.
Но есть одно большое НО. Если предметы не были инициализированы в магазине изначально, то при изменении доступности новые предметы появляются с количеством зарядов 0 и не перезаряжаются. Надеюсь понятно объяснил.
Вопрос - как это обойти, не меняя общую концепцию? Понятно, что это баг вара. У меня только одна идея - отказаться от динамичности и сделать через апгрейд.
Я пробовал следующие: в условии, перед тем как вернуть true, я делаю доступными все предметы, а потом, в действиях, уже устанавливаю нужную доступность. Я думал, что это позволит предметам в магазине инициализироваться, а значит решить проблему. Но нет, полностью проблему это не решило.
На всякий случай поясняю что в событиях. Триггер запускается, если магазин был уничтожен или построен, или если Аптека была уничтожена или построена. |
![]() |
#1
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
quq_CCCP
Я белый и пушистый!
![]() ![]() offline
Опыт:
93,595Активность: |
bladget, при отбавлении ставь кол во зарядов 3 (или сколько там надо), а потом опять 0, мб прокатит... |
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Zahanc
![]() ![]() offline
Опыт:
23,017Активность: |
Какой функцией? |
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
quq_CCCP
Я белый и пушистый!
![]() ![]() offline
Опыт:
93,595Активность: |
bladget, call SetPlayerTechMaxAllowed( GetOwningPlayer(a), 'pman',3 ) вот так пробовал? |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Zahanc
![]() ![]() offline
Опыт:
23,017Активность: |
Тогда будет установлен лимит предмета типа 'pman' равным 3. Эта функция вообще используется для лимитирования войск, но я использую её для предметов.
Но я попробую. Чем чёрт не шутит? |
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
quq_CCCP
Я белый и пушистый!
![]() ![]() offline
Опыт:
93,595Активность: |
bladget, ну и потом триггерно добавляй и всё потом опять сделай -1.... |
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Zahanc
![]() ![]() offline
Опыт:
23,017Активность: |
Да детка! Это решается, если открыть доступ ко всем предметам ДО того как магазин начнет строится (например, отлавливая приказ о строительстве), а когда строительство начнется, возвращать зависимости как задумано!
Правда, тогда все предметы на долю секунды появятся в других магазинах, но думаю время можно сократить. Да это и не смертельно.
P.S. Господа модераторы, пожалуйста, закройте тему и удалите лишние сообщения. |
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|