Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Скриптами делимся, скриптами | страница 27
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 27 из 68
На страницу: Пред.  1, 2, 3 ... 26, 27, 28 ... 66, 67, 68  След.    Перейти:   Все страницы
Поиск в этой теме:
Канал X2: The Threat: «Скриптами делимся, скриптами»
GTJafar
 135 EGP


Рейтинг канала: 1(2)
Репутация: 4
Сообщения: 378
Откуда: Новосибирск
Зарегистрирован: 11.03.2004
Цитата:
Может возможность остановки данного скрипта его автором вовсе не предусмотрена...

Рыдания.
Может есть какие-нибудь команды, а? Типа kill all? Расстроен
А после запуска, запущеные скрипты в сейвах тырсятся? Или удалив их из соответствующей папки после перезапуска игры можно их не боятся?
_________________
Семь раз проверь - один раз поверь (R)
    Добавлено: 14:39 27-04-2004   
akm
 470 EGP


Рейтинг канала: 1(4)
Репутация: 173
Сообщения: 1638
Откуда: Паразит Прайм
Зарегистрирован: 23.10.2002
Запущенный 1 раз скрипт уже в сейве... посмертно.
Цитата:
Может есть какие-нибудь команды, а? Типа kill all?

Кое-какие команды есть, но все зависет от скрипта и от того как он был запущен.

И ты так и не ответил: какой это скрипт? Если хочешь помощи, будь добр опиши свою проблему сначала. Можешь просто выслать мне скрипт на мыло a-k-m@nm.ru с описанием КАК ты его запускал.

ЗЫ. Глянул в вопросницу. Скрипт StationAccountant, в архиве был только 1 xml-файл? Скажи на чем его запускал, на null или на станции?
    Добавлено: 14:44 27-04-2004   
Grey Wolf
 500 EGP


Рейтинг канала: 2(17)
Репутация: 115
Сообщения: 1677
Откуда: Ростов-на-Дону
Зарегистрирован: 31.03.2003
Блин, да любой скрипт можно прибить.
1. скрипты с именем init*.xml достаточно просто удалить из папки скрипт, и они больше запускаться не будут
2. скрипт, запущенный в вакууме (не на объекте), можно посмотреть в меню Global script task и кнопкой del оттуда удалить. В оригинальной игре там никаких скриптов быть не должно.
3. На объекте, у которого доступно командное меню, даете команду none
4. На объекте, у которого командного меню нет, достаточно запустить скрипт из одной строчки Return null. Это в случае, если убиваемый скрипт имел приоритет 0 (ставится по умолчанию). Если же скрипт, который надо прибить, имеет приоритет > 0, то в скрипт-киллер надо перед Return null добавить строчку set script prio 10000.
_________________
Быстро выпитая рюмка не считается налитой
    Добавлено: 15:13 27-04-2004   
W
 151 EGP


Рейтинг канала: 1(4)
Репутация: 16
Сообщения: 583

Зарегистрирован: 14.04.2004
Ставлю Autologistiс. Команда 1 (ресурсы свои, если нет то компа) ресурс батарейки, после чего транспорты слетаются на батареечницы, загружаются и сидят, перебирая скрипты. Станция назначения выбирается, действие = нет.
_________________
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются.
    Добавлено: 15:23 27-04-2004   
akm
 470 EGP


Рейтинг канала: 1(4)
Репутация: 173
Сообщения: 1638
Откуда: Паразит Прайм
Зарегистрирован: 23.10.2002
Цитата:
Блин, да любой скрипт можно прибить.

Не любой. Если скрипт вызван с префиксом START, (либо вызов любого скрипта из скрипта что запущен с этим префиксом), то его нельзя убить (даже с priority 10000). Его нет и в Global script tasks.

2 W
А можно прямую ссылку на тот Autologistiс, что ты поставил себе?
    Добавлено: 16:05 27-04-2004   
GTJafar
 135 EGP


Рейтинг канала: 1(2)
Репутация: 4
Сообщения: 378
Откуда: Новосибирск
Зарегистрирован: 11.03.2004
Цитата:
И ты так и не ответил: какой это скрипт? Если хочешь помощи, будь добр опиши свою проблему сначала. Можешь просто выслать мне скрипт на мыло a-k-m@nm.ru с описанием КАК ты его запускал.

ЗЫ. Глянул в вопросницу. Скрипт StationAccountant, в архиве был только 1 xml-файл? Скажи на чем его запускал, на null или на станции?

Попробую его обработать по методу Grey Wolfa, а тебе пока скину. Он кстати косячный был (хоть и New), я его подправил, но циклы не трогал! По поводу null или нет не помню, кажись null. Тебе токо косячный могу скинуть (т.к. на работе), там в первом условном операторе ошибка, вместо playercredits надо credits.
_________________
Семь раз проверь - один раз поверь (R)
    Добавлено: 16:13 27-04-2004   
Grey Wolf
 500 EGP


Рейтинг канала: 2(17)
Репутация: 115
Сообщения: 1677
Откуда: Ростов-на-Дону
Зарегистрирован: 31.03.2003
akm :
Цитата:
Блин, да любой скрипт можно прибить.

Не любой. Если скрипт вызван с префиксом START, (либо вызов любого скрипта из скрипта что запущен с этим префиксом), то его нельзя убить (даже с priority 10000). Его нет и в Global script tasks.

А мона поподробнее?
Ты функцию START Сommand (к которой предварительно в скрипте init подцеплен скрипт) имеешь ввиду?
    Добавлено: 17:05 27-04-2004   
Alekc
 96 EGP


Репутация: 3
Сообщения: 141
Откуда: Москва
Зарегистрирован: 21.04.2004
Цитата:
2. скрипт, запущенный в вакууме (не на объекте), можно посмотреть в меню Global script task и кнопкой del оттуда удалить. В оригинальной игре там никаких скриптов быть не должно.

А где это меню "Global script task" ? В версии 1.3, правда русской (by DMC), такого пункта в редакторе скриптов нет...
    Добавлено: 17:48 27-04-2004   
Grey Wolf
 500 EGP


Рейтинг канала: 2(17)
Репутация: 115
Сообщения: 1677
Откуда: Ростов-на-Дону
Зарегистрирован: 31.03.2003
Alekc :
А где это меню "Global script task" ? В версии 1.3, правда русской (by DMC), такого пункта в редакторе скриптов нет...

В космосе Shift+C, S - открывается меню, в котором редактор скриптов первой строчкой, а Global script task - предпоследней.
    Добавлено: 17:54 27-04-2004   
Mr.Aloof
 





Alekc :
Цитата:
2. скрипт, запущенный в вакууме (не на объекте), можно посмотреть в меню Global script task и кнопкой del оттуда удалить. В оригинальной игре там никаких скриптов быть не должно.

А где это меню "Global script task" ? В версии 1.3, правда русской (by DMC), такого пункта в редакторе скриптов нет...

Как так??? Вау!
В первом меню, где первая строка - вход в редактор,
ниже идут пункты типа вести лог/трассировку скриптов на объекте, смотреть ентот лог, а самый нижний - этот самый пункт и должОн быть!
    Добавлено: 17:55 27-04-2004   
akm
 470 EGP


Рейтинг канала: 1(4)
Репутация: 173
Сообщения: 1638
Откуда: Паразит Прайм
Зарегистрирован: 23.10.2002
Цитата:
А мона поподробнее?
Ты функцию START Сommand (к которой предварительно в скрипте init подцеплен скрипт) имеешь ввиду?

Нет, с START Сommand все в порядке. Это я про стандартный вызов с помощью call script. Там вместо Return Value можно указать префикс START, тогда вызванный скрипт будет выполняться отдельным процессом, похоже без какой-либо привязки вообще.
Иногда полезно, т.к. скрипт, из которого был вызов, при этом не прервется, а тоже будет дальше выполнятся в параллель (ну не совсем конечно, но ни мне тебе про wait рассказывать Улыбка ).
Причем пробовал ставить ему приоритет 0, все равно его остановить никак нельзя Совсем запутался...

Вот пример
Допустим Скрипт1 заканчивается на строки:
@ START [THIS] -> call script Скрипт2
return null

Скрипт2:
set script priority to 0
START [THIS] -> command COMMAND_DOCKAT
return null

Так вот, Скрипт1 и Скрипт2 завершаться сразу, а вот !ship.cmd.movestation.std (что закреплен за COMMAND_DOCKAT) останется в подвешенном состоянии, пока корабль не доберется до заданной station. И даже если дать этому кораблю команду NONE, все равно его не остановить.
    Добавлено: 18:02 27-04-2004   
Alekc
 96 EGP


Репутация: 3
Сообщения: 141
Откуда: Москва
Зарегистрирован: 21.04.2004
Цитата:
В первом меню, где первая строка - вход в редактор,
ниже идут пункты типа вести лог/трассировку скриптов на объекте, смотреть ентот лог, а самый нижний - этот самый пункт и должОн быть!

Самый нижний у меня - "Помошь"...
    Добавлено: 18:05 27-04-2004   
Mr.Aloof
 





akm :
Нет, с START Сommand все в порядке. Это я про стандартный вызов с помощью call script. Там вместо Return Value можно указать префикс START, тогда вызванный скрипт будет выполняться отдельным процессом, похоже без какой-либо привязки вообще.
Иногда полезно, т.к. скрипт, из которого был вызов, при этом не прервется, а тоже будет дальше выполнятся в параллель (ну не совсем конечно, но ни мне тебе про wait рассказывать Улыбка ).
Причем пробовал ставить ему приоритет 0, все равно его остановить никак нельзя Совсем запутался...


Во-во! я тоже столкнулся с такой проблемой Подозрение.
Действительно отдельный процесс получается Ой, не могу!..,
и никак его не убить, пока сам не умрет...
    Добавлено: 18:08 27-04-2004   
S.V.N
 97 EGP


Репутация: 7
Сообщения: 149

Зарегистрирован: 14.03.2004
Grey Wolf :
Вот новый патрульный скрипт

И от меня прими пасибки. С новым скриптом зависаний пока не наблюдается. Супер!
    Добавлено: 18:13 27-04-2004   
W
 151 EGP


Рейтинг канала: 1(4)
Репутация: 16
Сообщения: 583

Зарегистрирован: 14.04.2004
to akm
http://Ссылки на narod.ru запрещены! Используйте пожалуйста другие, более нормальные хостинги./AutoLogistic.v1.0.zip
_________________
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются.
    Добавлено: 18:50 27-04-2004   
Grey Wolf
 500 EGP


Рейтинг канала: 2(17)
Репутация: 115
Сообщения: 1677
Откуда: Ростов-на-Дону
Зарегистрирован: 31.03.2003
akm :
И даже если дать этому кораблю команду NONE, все равно его не остановить.

Даже если это свой корабль?? Совсем запутался...
Повожусь, посмотрю, чем такие процессы прибить можно. В конце концов есть же функции interrupt script и еще некоторые, мож они помогут?
Ну а пока гарантированно могу утверждать, что если уж совсем припечет, такой скрипт можно прибить вместе с кораблем. Команда destruct спасет отца русской демократии Ой, не могу!..

Спасиб за подробный ответ Улыбка
Тогда еще к тебе вопрос на засыпку:
не знаешь ли ты, чем определяется порядок запуска скриптов init из папки scripts? По алфавиту, али еще как?
_________________
Быстро выпитая рюмка не считается налитой
    Добавлено: 10:54 28-04-2004   
akm
 470 EGP


Рейтинг канала: 1(4)
Репутация: 173
Сообщения: 1638
Откуда: Паразит Прайм
Зарегистрирован: 23.10.2002
Цитата:
Даже если это свой корабль??

Да
Цитата:
Повожусь, посмотрю, чем такие процессы прибить можно. В конце концов есть же функции interrupt script и еще некоторые, мож они помогут?

Не теряй зря времени. Я уже все перепробовал. Да и проблемы как таковой нет. Я придумал другой способ распараллеливания: с помощью Send SIGNAL.
Цитата:
Команда destruct спасет отца русской демократии

Будешь смеятся, но и destruct не всегда помогает Гы-гы Я же не просто так в примере выше использую в Скрипте2 команду Start Command CMD_DOCKAT вместо Call Script "movetostation.std"
Хотя делают эти конструкции одно и то же, но в 1-м случае выход из Скрипта2 происходит сразу (следующая строка return null выполняется сразу), а во 2-м случае заверешение Скрипта2 произойдет только после завершения скрипта "movetostation.std".
Теперь кульминация: убиваем корабль, что летел под вызванным таким образом скриптом "movetostation.std", смотрим в список запущенных скриптов в едиторе и видим: Скрипт2 все еще выполняется! Гы-гы Ну а в списке глобальных скриптов его естественно нет и вообще остановить его уже никак нельзя!!!

Цитата:
чем определяется порядок запуска скриптов init из папки scripts?

1. Глобальные скрипты:
!init.ship.commandupgrade
!init.ship.globalscriptmap

2. Далее запускаются скрипты, начинающиеся на init, кроме скриптов init.ship.***** Порядок пока мне не известен.

3. Загрузка Галактики (очень важно!!! скрипты из п.1 и 2 и все скрипты, вызванные из них, не могут оперировать с объектами вселенной Х2, т.к. ни один из объектов еще не загружен!)

4. !plugin.autotrade.init (принцип именования этих скриптов опять же не известен, и похоже п.4 добавился лишь в версии 1.3)
Данные скрипты (по крайней мере 1-й запущенный в п.4) должны начинаться строкой:
@ = wait 1 ms

Думаю уже можно найти кое-какую документацию, чтобы заполнить пробелы. Я пока просто еще не успел... написал, что уже знаю.

Дополнение:
Пробовал создать скрипты вида:
plugin.test.init и
!plugin.test.init
Они автоматом не запускаются! В то же время нет вызова !plugin.autotrade.init ни из одного из скриптов! Т.е. он запускается именно автоматом при инициализации SCE Совсем запутался...
    Добавлено: 21:39 28-04-2004   
akm
 470 EGP


Рейтинг канала: 1(4)
Репутация: 173
Сообщения: 1638
Откуда: Паразит Прайм
Зарегистрирован: 23.10.2002
Кстати могу рассказать про функцию interrupt with script, иногда может оказаться полезной.
Назначение - то же что и у call script. Но дополнительно указывается приоритет и не происходит прерывания выполнения основного скрипта в момент вызова. Пример:
Код:
..........
011   [THIS] -> interrupt with script 'ScriptTest' and prio 1000
012   write to player logbook 'MainScript. Line 012'
013 @ = wait 1 ms
014   write to player logbook 'MainScript. Line 014'
015   return null

ScriptTest:
Код:
001   write to player logbook 'ScriptTest. Line 001'
002 @ = wait 5000 ms
003   write to player logbook 'ScriptTest. Line 003'
004   return null

Работать это все будет таким хитрым образом:
Вызов 'ScriptTest' произойдет при условии, что указанный приоритет 1000 больше приоритета 'MainScript' в момент выполнения строки 011. Далее, 'ScriptTest' еще не выполняется (!) а лишь поставлен в очередь и следующими выполнятся строки 012 и 013.

Тем не менее, строка 013 содержит "@", т.е. является прерываемой, и на этом выполнение основного скрипта прервется, пока скрипт 'ScriptTest' полностью не завершится. Даже не смотря на строку 002, в которой здоровенная задержка, строка 014 выполнена не будет, пока нет возврата из 'ScriptTest'.

Т.е. с помощью interrupt with script вовсе нельзя что-либо прервать, кроме текущего скрипта (где эта команда записана), и то это временная приостановка выполнения.

Вот еще интересно было бы снизить приоритет 'ScriptTest' непосредственно перед паузой в 002, выполнится ли 014? Попробую.
Пока нет нормальной документации (и будет ли она вообще когда-либо?) , приходится такие вот детские эксперименты проводить Разозлен
    Добавлено: 22:08 28-04-2004   
akm
 470 EGP


Рейтинг канала: 1(4)
Репутация: 173
Сообщения: 1638
Откуда: Паразит Прайм
Зарегистрирован: 23.10.2002
Попробовал поставить команду set script priority to 0 перед строкой 002. При этом приоритет основного скрипта выставил в 999. Результат: все равно ни одной команды из основного скрипта не будет выполнено до тех пор, пока 'ScriptTest' не завершен.

Эксперимент 2. Перед строкой 011 ставим set script priority to 2000, а после 011 вставляем set script priority to 0. Результат: команда interrupt with script просто игнорируется.
Т.е. смысла в использовании interrupt with script вместо call script теперь я не вижу вообще... спрашивается для чего ее Эгософт придумал?
    Добавлено: 00:28 29-04-2004   
Mr.Aloof
 





Господа Пилоты! А кто-нить знает как формируется codearray в файле скрипта (xml)? Про описание переменных и констант в строках понятно, а вот команды, похоже, заданы кодами Подозрение. которые я пока не могу понять Расстроен , а времени на нормальный анализ нет...Рыдания.
Эт я к чему: очень хочется свой редактор скриптов написать Улыбка
А могет кто написал уже??? Подозрение.
    Добавлено: 09:02 29-04-2004   
Канал X2: The Threat: «Скриптами делимся, скриптами»
На страницу: Пред.  1, 2, 3 ... 26, 27, 28 ... 66, 67, 68  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Cлово не воробей, вылетит - затолкают обратно в глотку хорнетом.

  » Скриптами делимся, скриптами | страница 27
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18