|
|
|
Канал X3: Terran Conflict »
Модовый и скриптовый отсек X3: Terran Conflict: «К скриптерам и моддерам. Просьба ...» |
|
|
za4ot
532 EGP
     Рейтинг канала: 5(190) Репутация: 17 Сообщения: 3567 Откуда: Яма Изобилия Зарегистрирован: 08.08.2012
 |
|
S_A_S : |
Будьте добры ссылочку на скачивание.
|
http://www.elite-games.ru/conference/viewtopic.php?p=2262487#2262487
_________________ Пираты - наше всё! |
|
|
S_A_S
60 EGP Репутация: 2 Сообщения: 48 Откуда: РБ Минск Зарегистрирован: 18.02.2016
 |
|
Благодарю.
Еще одна идея скриптописателям на заметку.
Наверное вы как и я продаёте излишки батареек или пищи из своих комплексов? Хорошо было бы установить порог, ниже которого транспортники не выгребали бы склад, чтобы комплекс не останавливался.
_________________ Мехвод контужен, скорость движения и поворотов снижена... |
|
|
za4ot
532 EGP
     Рейтинг канала: 5(190) Репутация: 17 Сообщения: 3567 Откуда: Яма Изобилия Зарегистрирован: 08.08.2012
 |
|
S_A_S : |
Наверное вы как и я продаёте излишки батареек или пищи из своих комплексов?
|
Мы строим комплексы без излишков. У нас всё четко.
_________________ Пираты - наше всё! |
|
|
XXXL
77 EGP
 Рейтинг канала: 4(67) Репутация: 7 Сообщения: 271
Зарегистрирован: 12.12.2010
 |
|
S_A_S : |
...
Наверное вы как и я продаёте излишки батареек или пищи из своих комплексов? Хорошо было бы установить порог, ниже которого транспортники не выгребали бы склад, чтобы комплекс не останавливался.
|
Снабженец из бонус-пака насильно продает 3 станциям в секторе по минимальной цене. Желательно станциям с единственным ресурсом. Прокачивается, имеет достаточно точные настройки.
|
|
|
dadxi
50 EGP Репутация: 0 Сообщения: 3
Зарегистрирован: 24.08.2021
 |
|
Привет всем,подскажите есть ли скрипт устраняющий рутину прокачки ком. агента до торговца в x3TC+TOTT? Спасибо
|
|
|
alexalsp
523 EGP
      Рейтинг канала: 5(103) Репутация: 56 Сообщения: 4583
Зарегистрирован: 12.08.2014
 |
|
dadxi : |
Привет всем, подскажите есть ли скрипт устраняющий рутину прокачки ком. агента до торговца в x3TC+TOTT? Спасибо
|
Вам в эту ветку, в конкретный раздел, в зависимости от того в какой ТОТТ вы играете, в обычный или Combo.
https://www.elite-games.ru/conference/viewforum.php?f=67
_________________ CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/w56kPWH
Пользуйте мои моды как хотите....
Последний раз редактировалось: alexalsp (14:17 24-08-2021), всего редактировалось 1 раз |
|
|
Megavolt_st
-1 EGP Репутация: 0 Сообщения: 2
Зарегистрирован: 19.05.2025
 |
|
Здравствуйте Уважаемые! есть мод "Модуль исследования кораблей" https://www.elite-games.ru/conference/viewtopic.php?p=3451562#3451562
Автор его забросил... Хотелось БЫ его исправить. Глюк заключается в бесконечном добавлении горячих клавиш и станций.
|
|
|
alexalsp
523 EGP
      Рейтинг канала: 5(103) Репутация: 56 Сообщения: 4583
Зарегистрирован: 12.08.2014
 |
|
Хоть я и не скриптер, но попробуй. Не поправится , значит будешь ждать скриптера )))
Предотвращение повторного создания станции
Добавлена проверка: если станция уже создана и валидна — не создаём новую.
Код: |
$benz.stat = get global variable: name='bps.benz.stat'
if $benz.stat
if is valid object $benz.stat
return null
end
end
|
Удаление станции при отключении AL Plugin
При остановке плагина (вызов 'plugin.BPS.main' с $plugin.Event == 'stop') добавлена очистка созданной станции:
Код: |
$benz.stat = get global variable: name='bps.benz.stat'
if $benz.stat
if is valid object $benz.stat
$benz.stat -> destruct: show no explosion=[FALSE]
end
end
|
Фикс регистрации горячих клавиш
В bpscan.HKey.Register.xml скрипт теперь корректно:
регистрирует клавишу один раз при включении;
удаляет регистрацию при отключении.
Код: |
$regScript = get global variable: name='bps.hkey.register'
...
if $regScript
* регистрируем клавишу
else
* снимаем регистрацию
|
plugin.BPS.main
блоке timer:
Код: |
else if $plugin.Event == 'timer'
$en = $plugin.Vars[1]
= [THIS]-> call script 'bpscan.checkMB' : enabled=$en
$statCter = get global variable: name='bps.stat.counter'
if $statCter == 0
= [THIS]-> call script 'bps.benzspawner' : enabled=$en
end
$statCter = $statCter + 1
$statCter = $statCter mod 120
set global variable: name='bps.stat.counter' value=$statCter
end
|
Переменная $statCter начинается с 0.
В каждом тике таймера скрипт:
сначала проверяет: if $statCter == 0
потом уже увеличивает $statCter
В результате:
только на $statCter = 0 вызывается bps.benzspawner
на всех остальных значениях (1…119) — не вызывается
Всё работает как нужно, если автор хотел запускать раз в 120 тиков.
Но...
Если цель автора была - чтобы спавнер срабатывал ровно раз в 120 секунд (при $interval = 1, допустим), тогда правильнее инкрементировать счётчик до проверки, чтобы цикл был чёткий и не пропускал 1 тик "вхолостую".
Код: |
else if $plugin.Event == 'timer'
$en = $plugin.Vars[1]
= [THIS]-> call script 'bpscan.checkMB' : enabled=$en
$statCter = get global variable: name='bps.stat.counter'
$statCter = $statCter + 1
$statCter = $statCter mod 120
set global variable: name='bps.stat.counter' value=$statCter
if $statCter == 0
= [THIS]-> call script 'bps.benzspawner' : enabled=$en
end
end
|
Вывод
В оригинале спавн срабатывает на $statCter == 0, затем счётчик инкрементируется.
В предложенной правке — сначала инкремент, потом сравнение → это делает поведение более предсказуемым при запуске с нуля.
Оба варианта работают. Просто мой вариант — чуть точнее в плане ритма срабатывания, особенно если важно, чтобы вызов шёл строго раз в N интервалов.
Как мне кажется, может и не так, более опытные подскажут ...
Не знаю как вообще система скриптов точно работает , но если уже сейв с модом, то возможно понадобиться обновление под новые правки и исправление имеющихся данных, но может и лишнее .....
Добавил обновлятор, запуститься раз , опять же не уверен, что это надо
Код: |
* Скрипт обновления станции с однократным запуском
* Проверяем, был ли уже выполнен апдейт
$updated = get global variable: name='bps.update.done'
if $updated == [TRUE]
* Обновление уже выполнено, выход
return null
end
* Получаем глобальную переменную с объектом станции
$stat = get global variable: name='bps.benz.stat'
if not $stat
return null
end
* Получаем счётчик обновлений
$counter = get global variable: name='bps.stat.counter'
* Проверяем, что счётчик валиден и в пределах от 0 до 120
if not $counter OR $counter < 0 OR $counter > 120
$counter = 0
set global variable: name='bps.stat.counter' value=$counter
end
* Инкрементируем счётчик и сбрасываем по кругу
$counter = $counter + 1
if $counter > 120
$counter = 0
end
set global variable: name='bps.stat.counter' value=$counter
* Обновляем хоткей
= [THIS]-> call script 'bpscan.HKey.Register' :
* Устанавливаем флаг, что обновление выполнено, чтобы не запускать скрипт снова
set global variable: name='bps.update.done' value=[TRUE]
return null
|
Если лишнее то удали или переименуй bps.updater в паке скриптов.
В общем пробуй без него, если все будет норм, то и хорошо, если что то не так, пробуй с ним.
abps_107_fix.rar |
Описание: |
|
Имя файла: |
abps_107_fix.rar |
Размер файла: |
19.08 KB |
Скачано: |
4 раз(а) |
_________________ CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/w56kPWH
Пользуйте мои моды как хотите....
Последний раз редактировалось: alexalsp (13:44 25-05-2025), всего редактировалось 5 раз(а) |
|
|
Megavolt_st
-1 EGP Репутация: 0 Сообщения: 2
Зарегистрирован: 19.05.2025
 |
|
Благодарю за развёрнутый Ответ и исправления!
alexalsp : |
Фикс регистрации горячих клавиш
|
Кучу станций победил с помощью "Чит меню" а c кучей зарегистрированных горячих клавиш Что делать ума не приложу...
|
|
|
alexalsp
523 EGP
      Рейтинг канала: 5(103) Репутация: 56 Сообщения: 4583
Зарегистрирован: 12.08.2014
 |
|
Обнули профиль.
добавлено спустя 20 минут:
или попробуй униинстал либо в меню искусственной жизни, если он появляется отключить
Скрипт унинстала через редактор скриптов в игре , вместо имени вводим Thereshallbewings
Cкрытый текст (кликните здесь для просмотра)
Код: |
* ==========================================
* Script Name: uninstall.BPS
* Purpose: Полное удаление мода al.plugin.BPS
* ==========================================
* 1. Удаление станции, если она существует
$benz.stat = get global variable: name='bps.benz.stat'
if $benz.stat -> exists
$benz.stat -> destruct: show no explosion=[FALSE]
set global variable: name='bps.benz.stat' value=null
end
* 2. Снятие регистрации горячей клавиши
$hkRegistered = get global variable: name='bps.hkey.registered'
if $hkRegistered
$hkID = get global variable: name='bps.hkey.id'
if $hkID
unregister hotkey $hkID
end
set global variable: name='bps.hkey.registered' value=[FALSE]
end
set global variable: name='bps.hkey.register' value=[FALSE]
* 3. Удаление продуктов с Аргонских станций
= [THIS] -> call script 'bpscan.checkMB' : enabled=[FALSE]
* 4. Сброс внутренних переменных
set global variable: name='bps.textid' value=null
set global variable: name='bps.stat.counter' value=null
set global variable: name='bpscan.scanning' value=null
set global variable: name='bps.hkey.id' value=null
set global variable: name='bps.hkey.registered' value=null
set global variable: name='bps.hkey.register' value=null
set global variable: name='bps.benz.stat' value=null
* 5. Сообщение игроку
$txt = 'Мод BPS деактивирован. Удалите AL-плагин и текст вручную.'
send incoming message $txt to player: display it=[TRUE]
return null
|
|
если сработает , потом по новой установишь, либо просто перезапустишь игру , скорее всего придется после удаления сохраниться .
Или просто на крайний случай новую игру начать и не мучаться ))
uninstall.BPS.rar |
Описание: |
|
Имя файла: |
uninstall.BPS.rar |
Размер файла: |
2.71 KB |
Скачано: |
6 раз(а) |
_________________ CMDR: Fallout(EG)
ED - если застряли: https://discord.gg/w56kPWH
Пользуйте мои моды как хотите....
Последний раз редактировалось: alexalsp (20:24 29-05-2025), всего редактировалось 2 раз(а) |
|
|
|
|
|
Канал X3: Terran Conflict ->
Модовый и скриптовый отсек X3: Terran Conflict: «К скриптерам и моддерам. Просьба ...» |
|