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

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

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

   Страница 76 из 136
На страницу: Пред.  1, 2, 3 ... 75, 76, 77 ... 134, 135, 136  След.    Перейти:   Все страницы
Поиск в этой теме:
Канал X3: Reunion » Модовый и скриптовый отсек X3: Reunion: «Скриптописание - делимся опытом, задаем вопросы»
Selvetarm
 135 EGP


Рейтинг канала: 1(6)
Репутация: 12
Сообщения: 152
Откуда: Череповец
Зарегистрирован: 18.12.2007
Chem :
Просьба не использовать данный сленг

Угук, сорри.

А с файлами, следующая борода.
Как я понял созданный мной файл, скажем, 70025.xml добавляет инфу <id="***">бла-бла</id> в 70001, командой load text id = 25. Далее имеем
1) "наш_скрипт"
2) скрипт в котром присутствует

load text id = 25
global script map: set: key=*куда_в_меню*, class=[PLAYERSHIP], race=Player, script='наш_скрипт', prio=0

И скрипт с этой строкой и запускаем в игре. Так?

В 70025 код:
<?xml version="1.0" encoding="UTF-8" ?>
<language id="7">
<page id="2010" title="Script Cmd Names" descr=" ">
<t id="815">Всем каюк</t>
</page>
<page id="2011" title="Script Cmd Shorts" descr=" ">
<t id="815">Вс.К.</t>
</page>
</language>

Это добавит "Всем каюк [Вс.К.]" в Общие команды моего корабля.

Я правильно понял? Такой ма-а-аленький... Я не при чем...
_________________
Действительность можно освещать и трассирующими пулями...
    Добавлено: 18:42 24-01-2008   
Chem
 780 EGP


Скрипт-мастер
Рейтинг канала: 15(2610)
Репутация: 248
Сообщения: 4751
Откуда: Киев
Зарегистрирован: 08.01.2007
Selvetarm :
А с файлами, следующая борода.
...
Я правильно понял?

В общем да, но:

Ну во первых - для скриптописателей (для неподписанных егософтом скриптов) отведены номера текстовых файлов в диапазоне 7000 - 8999. (т.е. русские 77000-78999).

Второе - ты создал текстовый файл для описания команды "общего меню".
Скриптописателям доступны команды только 16 по 61. Т.е. в данном случае - с 816 по 861.

и по поводу
global script map: set: key=<Object Command/Signal>, class=<Var/Class>, race=<Var/Race>, script=<Script Name>, prio=<Var/Number>


engine v. 32
• Команда назначает для объектной команды/сигнала <Object Command/Signal> скрипт-обработчик. Установка производится глобально, т.е.для всех объектов класса <Var/Class> принадлежащих расе <Var/Race> в качестве обработчика назначается скрипт <Script Name> и для него устанавливается приоритет <Var/Number>.

т.е. class= не [PLAYERSHIP] , здесь должен быть указан именно класс корабля, например - Big Ship, Ship, TS, Tp и т.д.
_________________
Умножим энтропию на 0 :-)

Последний раз редактировалось: Chem (19:57 24-01-2008), всего редактировалось 1 раз
    Добавлено: 19:15 24-01-2008   
Selvetarm
 135 EGP


Рейтинг канала: 1(6)
Репутация: 12
Сообщения: 152
Откуда: Череповец
Зарегистрирован: 18.12.2007
Chem :
Ну во первых - не для скриптописателей отведены номера текстовых файлов в диапазоне 7000 - 8999. (т.е. русские 77000-78999).


переведи, пжста, с лунного...
_________________
Действительность можно освещать и трассирующими пулями...
    Добавлено: 19:23 24-01-2008   
Chem
 780 EGP


Скрипт-мастер
Рейтинг канала: 15(2610)
Репутация: 248
Сообщения: 4751
Откуда: Киев
Зарегистрирован: 08.01.2007
Исправил.
Т.е. нельзя тебе использовать файл с номером 25. Только в промежутке от 7000 до 8999.
_________________
Умножим энтропию на 0 :-)
    Добавлено: 19:58 24-01-2008   
M_A_G
 53 EGP


Рейтинг канала: 5(142)
Репутация: 2
Сообщения: 41
Откуда: Питер
Зарегистрирован: 04.01.2008
Закончил анализ потребления втор-ресов и логики работы NPC комплексов. Надеюсь, кому-нибудь будет полезно-интересно Гы-гы
 Проверенные фабрики:   (кликните здесь для просмотра)

Drone Factory
Dumbfire Missile Production Complex
Gamma PPC Forge
Image Recognition Production Complex
Ion Disruptor Forge
IRE Production Complex
Lasertower Factory
Light shield Production Complex
Massom Mill L
Rastar Refinery M
Special Weapons Production Complex
Результаты:
Вторичные ресурсы.


1. Списываются порциями по 4*размер_станции штуки за раз. Если ресурса меньше порции – списывается всё, что есть.
2. Скорость списания. Чем больше relvalue ресурса, тем больше период списания. Период кратен 60 секундам.
 Аналитическую закономерность получить не удалось   (кликните здесь для просмотра)

Пробовал уравнения от первого до третьего порядков и логарифмические зависимости – не сходиться Рыдания. Вот инфа по тем ресам, для которых период определил с маленькой погрешностью (relvalue - средний период в минутах):
6 - 1
8 - 4
24 - 6
30 - 17 (не точно)
60 - 33 (не точно)
3. Влияние на производительность станции. Чем меньше времени прошло с момента списания втор-реса до начала очередного цикла производства, тем больше снижение времени цикла. Влияние списания втор-реса полностью нивелируется в течение минут (2-3), то есть, если было списание, а цикл начался через 5 минут – снижения не будет! Отсюда выводы:
    1. Увеличение скорости производства будет тем больше, чем меньше relvalue втор-ресов.
    2. Relvalue продукции фабрики тоже оказывает влияние, но, в значительно меньшей степени (чем больше, тем менее вероятно, что цикл начнётся вскоре после списания втор-реса).
    3. Если есть несколько втор-ресов, основной вклад в увеличение производительности вносит с наименьшим relvalue. Остальные фактически не играют роли.
 Примеры:   (кликните здесь для просмотра)

Gamma PPC Forge (втор-рес - Crystals) – за 20 часов ни одного снижения цикла.
Ion Disruptor Forge (Crystals) – ускорение 0.3%.
Rastar Refinery (Nostrop Oil и Spaceflies) – ускорение 6.6%.
Massom Mill (Nostrop Oil, Spaceflies и Soja Husk) – ускорение 10.0%.
Комплексы:

1. При выборе продукта для производства, приоритет имеет тот, чей склад заполнен на меньший %.
2. Влияние втор-ресов. Похоже, это баг: если очередной цикл производства товара с бОльшим relvalue заканчивается и следующий цикл будет для товара с меньшим relvalue, а также выполнено условие для уменьшения времени цикла, то возможно значительное снижение времени цикла. Вплоть до 1 секундного цикла.

Следствия:
    1. Если relvalue всех продуктов комплекса меньше 2500, то средняя производительность каждого товара будет равна размер_комплекса(S, M, L, LX)/количество_продуктов. То есть, в сумме производительность комплекса будет равна его размеру(S=1(единичная), M=2, L=5, LX=10). Это без влияния втор-ресов.
    2. Как известно, размер склада для продуктов фабрики равен: размер_фабрики*20000/relvalue. Если результат меньше 8, то размер склада = 8.
    Из-за этого, наблюдается интересный эффект в комплексах. Ведь комплекс работает так, что бы заполнять склады продуктов равномерно. И если комплекс производит что-то с relvalue большим 2500, он будет пытаться производить его больше, чем должен бы, основываясь на relvalue. В приделе, продукция с большим relvalue может производиться со скоростью (7/8)*размер_комплекса, а продукция с маленьким relvalue, со скоростью (1/8)*размер_комплекса
     Пример:   (кликните здесь для просмотра)
    Special Weapons Production Complex. Скорость производства Ion Disruptor составляет 55% от единичной, Mass Driver – 29% от единичной, а MD Ammunition – 24% от единичной. (В идеале у всех должно было быть 33%).
    3. Влияние втор-ресов на производительность комплекса может быть очень значительным (из-за бага-фичи). Притом, это влияние будет не только на продукцию с маленьким relvalue, а, из-за попытки комплекса заполнять склады равномерно, и на другие продукты комплекса.
    Для этого в комплексе должны быть продукции с сильно различающимся relvalue, но relvalue не должно быть сильно большим.
     Примеры:   (кликните здесь для просмотра)
    Special Weapons Production Complex – среднее увеличение производительности 2.7%.
    Dumbfire Missile Production Complex – 11%.
    Image Recognition Production Complex – 30%.
    Добавлено: 12:39 28-01-2008   
Selvetarm
 135 EGP


Рейтинг канала: 1(6)
Репутация: 12
Сообщения: 152
Откуда: Череповец
Зарегистрирован: 18.12.2007
Ааа Задница . Как увеличить скорость корабля? Команды set max speed не увидел, попробовал на Сокол добавить (install upgrade) 1000 форсажа, игра показывает макс скорость ~5600, реально 148, иногда возникает глюк и скорость бывает равна 56. Чего я делаю не так?

И разъясните поподробнее работу команды register hotkey пожалуйста.
_________________
Действительность можно освещать и трассирующими пулями...
    Добавлено: 16:13 29-01-2008   
Chem
 780 EGP


Скрипт-мастер
Рейтинг канала: 15(2610)
Репутация: 248
Сообщения: 4751
Откуда: Киев
Зарегистрирован: 08.01.2007
Справочник читал ? http://www.elite-games.ru/x3/scripts_howto/ (или учебник - ссылка есть в справочнике)
_________________
Умножим энтропию на 0 :-)
    Добавлено: 00:55 30-01-2008   
Selvetarm
 135 EGP


Рейтинг канала: 1(6)
Репутация: 12
Сообщения: 152
Откуда: Череповец
Зарегистрирован: 18.12.2007
Chem ты издеваешься? Смотрел (мож невнимательно), и там, и в оффлайновой версии. Если бы нашел и понял я бы не стал спрашивать. Если не трудно, ответь.

Selvetarm :
И разъясните поподробнее работу команды register hotkey


Selvetarm :
Как увеличить скорость корабля?

_________________
Действительность можно освещать и трассирующими пулями...
    Добавлено: 02:02 30-01-2008   
Chem
 780 EGP


Скрипт-мастер
Рейтинг канала: 15(2610)
Репутация: 248
Сообщения: 4751
Откуда: Киев
Зарегистрирован: 08.01.2007
Selvetarm :
Chem ты издеваешься?

Совсем нет. Мне просто непонятно было, а что там непонятного Подмигиваю
Selvetarm :
И разъясните поподробнее работу команды register hotkey пожалуйста.

А что непонятно ?
:

<RetVar> = register hotkey <Var/String> to call script <Script Name>
• Команда регистрирует новую "горячую клавишу" с именем <Var/String> и присваивает ей скрипт обработчик <Script Name>. регистрационный номер "горячей клавиши" возвращается в переменную <RetVar>, этот код может быть использован в дальнейшем для разрегистрации этой "горячей клавиши".

unregister hotkey <Var/Number>
• Команда осуществляет разрегистрацию (удаляет ранее зарегистрированную) "горячей клавиши" с регистрационным номером <Var/Number>.

Тебе для вызова скрипта понадобилась быстрая клавиша - ты пишешь скрипт, начинающийся на setup.
В нем пишешь код:
Код:

$is_hk=get global variable: name="moya.klavisha.uge.zadana"
if not $is_hk
  $is_hk=register hotkey 'Моя быстрая клавиша' to call script 'moja.klavisha'
  set global variable: name="moya.klavisha.uge.zadana" value=$is_hk
end

Вот и все.
Selvetarm :
Как увеличить скорость корабля?

Чтобы надолго - через TShips
Ненадолго - примерно как ты - посмотри на афтербурнер из БП.

добавлено спустя 3 минуты:
Кстати, хорошим тоном является создание скрипта setup.uninstall...
в котором написано:
Код:

$is_hk=get global variable: name="moya.klavisha.uge.zadana"
skip if not $is_hk
  unregister hotkey $is_hk

Ну и на всякий случай напомню - русский текст напрямую в редакторе вводить не стоит, лучше через текстовые файлы Подмигиваю
_________________
Умножим энтропию на 0 :-)

Последний раз редактировалось: Chem (02:19 30-01-2008), всего редактировалось 1 раз
    Добавлено: 02:19 30-01-2008   
Selvetarm
 135 EGP


Рейтинг канала: 1(6)
Репутация: 12
Сообщения: 152
Откуда: Череповец
Зарегистрирован: 18.12.2007
Спасибо большое. Посмотрел афтербернер... понял что нуб. Афтербернер настолько суров, что я минут пять догонял значения переменных. Догнал, Осилил, Загрустил.

2 Chem

Т.е. у нас 3 скрипта: собссно то что надо, инсталл, и юнинсталл?.. И как они соотносяться?: первый смотрит если НЕ установленна - установить, второй - если установленна - удалить,.. где смысл? Или я такой тупой? *взял разгон, курс на стену*
_________________
Действительность можно освещать и трассирующими пулями...

Последний раз редактировалось: Selvetarm (02:41 30-01-2008), всего редактировалось 1 раз
    Добавлено: 02:33 30-01-2008   
Chem
 780 EGP


Скрипт-мастер
Рейтинг канала: 15(2610)
Репутация: 248
Сообщения: 4751
Откуда: Киев
Зарегистрирован: 08.01.2007
Selvetarm :
Т.е. у нас 3 скрипта: собссно то что надо, инсталл, и юнинсталл?.. И как они соотносяться?: первый смотрит если НЕ установленна - установить, второй - если установленна - удалить,.. где смысл? Или я такой тупой? *взял разгон, курс на стену*

Смотри:
1. Есть основной скрипт (или кучка).
2. Если тебе надо использовать пункты меню или горячие клавиши, или задать некие переменные - делаешь скрипт setup.xxxxx. Он выполнится при при загрузке игры (!setup.xxxx - не зависимо от активации скрипт редактора, setup.xxxxx - только если активирован).
3. Если ты использовал горячие клавиши и много переменных - то делаешь скрипт setup.uninstall.xxxx, в котором это все чистишь, кладешь его в отдельную папку (чтобы пользователь его сразу не установил), и пилот, решивший удалить твой скрипт, удаляет все твои файлы, и кладет вместо них этот скрипт, который при следующей загрузке все за собой чистит.
_________________
Умножим энтропию на 0 :-)
    Добавлено: 10:33 30-01-2008   
Selvetarm
 135 EGP


Рейтинг канала: 1(6)
Репутация: 12
Сообщения: 152
Откуда: Череповец
Зарегистрирован: 18.12.2007
*шмяк* Вот теперь понял. Спасибо за помощь.
_________________
Действительность можно освещать и трассирующими пулями...
    Добавлено: 13:27 30-01-2008   
M_A_G
 53 EGP


Рейтинг канала: 5(142)
Репутация: 2
Сообщения: 41
Откуда: Питер
Зарегистрирован: 04.01.2008
В канале X2 есть тема, в ней первая ссылка: "Расшифровка содержимого папки types" - http://pleir.народ.ru/SFModKit5.zip. Только вот не работает Рыдания. Где бы эту инфу еще найти?

Chem :
Это не скриптописание.

Да, но вот только не понятно, куда бы про такое спросить, ибо в "X3-Modding: Разведка боем" сказано "Тема только для моддеров! Все вопросы новичков - в вопросницу!" Гы-гы


Последний раз редактировалось: M_A_G (17:20 30-01-2008), всего редактировалось 1 раз
    Добавлено: 15:56 30-01-2008   
Chem
 780 EGP


Скрипт-мастер
Рейтинг канала: 15(2610)
Репутация: 248
Сообщения: 4751
Откуда: Киев
Зарегистрирован: 08.01.2007
M_A_G :
Расшифровка содержимого папки types

Это не скриптописание.
Немного описано в учебнике от Дракона П.
_________________
Умножим энтропию на 0 :-)
    Добавлено: 16:30 30-01-2008   
vsadik-tmi
 70 EGP


Рейтинг канала: 5(110)
Репутация: 11
Сообщения: 171
Откуда: Архангельск
Зарегистрирован: 24.01.2008
А ты незнаеш можно ли скрипт редактором добавить или изменить(но лучше добавить) список продоваемых\покупаемых товаров на пиратской станцыи ?
* К примеру я хочю чтоб на пиратской станции продовались "наркотики"(в игре они есть, но только в ВВС.)
Если способ есть то можно про него по подробней...(я всетаки не эксперт)

Вопрос примитивный, но не судите строго, я только учюсь...
    Добавлено: 07:15 31-01-2008   
Chem
 780 EGP


Скрипт-мастер
Рейтинг канала: 15(2610)
Репутация: 248
Сообщения: 4751
Откуда: Киев
Зарегистрирован: 08.01.2007
vsadik-tmi :
А ты незнаеш можно ли скрипт редактором добавить или изменить(но лучше добавить) список продоваемых\покупаемых товаров на пиратской станцыи ?

можно, посмотри последний скрипт, что выложен в теме файлов Хтендеда.
_________________
Умножим энтропию на 0 :-)
    Добавлено: 10:19 31-01-2008   
AlexV
 555 EGP


Гранёный
Рейтинг канала: 7(561)
Репутация: 182
Сообщения: 1157
Откуда: нискажу
Зарегистрирован: 10.01.2006
Chem :
(!setup.xxxx - не зависимо от активации скрипт редактора, setup.xxxxx - только если активирован).

разреши, я тебя поправлю Подмигиваю
состояние активирования скрипт редактора по-барабану, только флаг *modified* имеет значение Гы-гы
при !xxxx игра станет модифицированной, без <!> загрузится если игра модифицированная
_________________
а хуже всего приходится программистам из Microsoft. Им в случае чего и обругать-то некого
    Добавлено: 11:10 31-01-2008   
Chem
 780 EGP


Скрипт-мастер
Рейтинг канала: 15(2610)
Репутация: 248
Сообщения: 4751
Откуда: Киев
Зарегистрирован: 08.01.2007
AlexV :
при !xxxx игра станет модифицированной

К сожалению, не знаю точной логики работы SE_ReadFile.
Потому не могу сказать, согласен с тобой, или нет. В общем да, похоже что так, т.к. я вижу, что в каком-то случае файл может не подгрузиться, и тогда проверяется наличие "!" и устанавливается признак модификации игры, но файл все-таки остается не загружен, на этот раз.

Но в общем случае - если активировали скрипт-редактор, следовательно игра уже - *modified*, и будет грузиться все.
Иначе - требуется наличие "!" для простановки флага *modified*, без активации скрипт-редактора, и опять же потом будет грузиться все.
_________________
Умножим энтропию на 0 :-)
    Добавлено: 11:57 31-01-2008   
CTPELOK
 145 EGP


Рейтинг канала: 5(113)
Репутация: 25
Сообщения: 375

Зарегистрирован: 20.05.2003
Вопрос назрел такой: каким образом средствами скрипта можно сохранить некую информацию (значение переменной) так, чтобы после сохранения и загрузки данного сейва переменная принимала сохраненное значение?

Пример из жизни: скрипт считает количество батареек, произведенных солнечной электростанцией с момента ее установки. Игрок сохраняется, выходит из игры, занимается своими делами (возможно даже спит), садится за игру, загружает сейв. Автоматически запускается скрипт и ему (скрипту) надо узнать, сколько же эта батареечница произвела продуктов за всю свою сознательную жизнь. (не спрашивайте зачем мне это надо)
_________________
То пропадаю, то снова появляюсь
    Добавлено: 07:40 03-02-2008   
Andrei [<>Ace]
 303 EGP


Рейтинг канала: 6(416)
Репутация: 108
Сообщения: 766
Откуда: Беларусь, Салiгорск
Зарегистрирован: 29.03.2006
CTPELOK :
Вопрос назрел такой: каким образом средствами скрипта можно сохранить некую информацию (значение переменной) так, чтобы после сохранения и загрузки данного сейва переменная принимала сохраненное значение?

Ну если скрипт будет запущен вместе с началом производства, то в любой переменной может быть сохранена такая информация.

Если же скрипт будет работать периодически, когда очередная партия батареек произведена, то есть команды:

Код:
<RefObj> set local variable: name=<Var/String> value=<Value>

· Команда устанавливает значение локальной переменной с именем <Var/String> объекта <RefObj> равным <Value>. Локальные переменные привязаны к определенному объекту и абсолютно независимы от локальных переменных других объектов. Они используются для обмена данными между скриптами запущенными на одном объекте.


такая переменная, привязанная к станции, будет жить пока живет станции, ну или пока не обнулишь.

Код:
set global variable: name=<Var/String> value=<Value>

· Команда устанавливает значение глобальной переменной с именем <Var/String> равным <Value>. Глобальные переменные не привязаны к какому-либо объекту, а являются общими для всех и доступны любому скрипту.


Такая переменная живет пока не начнешь новую игру Улыбка , ну или пока не обнулишь.
    Добавлено: 10:41 03-02-2008   
Канал X3: Reunion -> Модовый и скриптовый отсек X3: Reunion: «Скриптописание - делимся опытом, задаем вопросы»
На страницу: Пред.  1, 2, 3 ... 75, 76, 77 ... 134, 135, 136  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Главное - успеть на вечерний клев - чтоб рыба потом не ''рассосалась'' по всем неклевым местам. (предупредил gavr17)

  » Скриптописание - делимся опытом, задаем вопросы | страница 76
Каналы: Новости | 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