Sigerous.ru - официальный сайт Sigerous Mod
Войти на сайт Регистрация Новые сообщения Пользователи Правила сайта Поиск по форуму
Страница 58 из 58«12565758
Модератор форума: denis2000, XOBAH, FantomICW 
Форум » Модостроение » Основной раздел » Модостроение. Редактирование и создание скриптов
Модостроение. Редактирование и создание скриптов
denis2000Дата: Понедельник, 10.10.2011, 21:17 | Сообщение # 1
Полевой исследователь
Ученые сталкеры
Сообщений: 2125
Награды: 30
Репутация: [ 1839 ]

Редактирование и создание скриптов

Редактирование и создание скриптов на языке LUA

Если у вас появились вопросы по применению скриптов в игре. Задавайте их в этой теме - умные головы,
модосторители и просто разбирающиеся в программировании люди вам ответят.


Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7

Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML
[cut noguest=Если у вас не открывается файл CHM]Если у вас не открывается файл:
1. Запустите [Пуск]=>[Выполнить] (либо хот-кей [WIN]+[R])
2. Введите команду (без кавычек) "regsvr32 %windir%\system32\hhctrl.ocx"
3. Если вылезло окно об успешном завершении вы все сделали правильно и можете перезагружать компьютер (а может и не надо)
Также: файлы МОГУТ не открываться если в пути к файлу есть: символы кириллицы, "_", "#"
Также: есть не стандартные программы-просмоторщики CHM файлов. Например: FBReader[/cut]

[cut=Где найти лог игры после вылета]Что такое LOG ошибки, и как мне его найти?
Это система отладки происходивших вылетов, которая подается игрой в форме текста, хотя не всегда.
Для того чтоб найти LOG необходимо зайти вот сюда:

В Win хр лог находится:

C:\Documents and Settings\All Users\Документы\S.T.A.L.K.E.R. - Зов Припяти\logs

Затем открываете первый файл в формате TXT, и в нем отбираете с низу 25 строчек. После кидаете эти 25 строчек в сообщение на форум.

В Win7 лог находится C:\Users\Public\Documents\S.T.A.L.K.E.R. - Зов Припяти\logs

Путь к папке с логом можно найти открыв файл fsgame.ltx который находится в корневой директории ЗП, за это отвечает строка:
...
$app_data_root$ = true | false| $fs_root$| users\
(тут мы указываем что папка пользователя, будет хранится рядом с Fsgame.ltx)
...
$logs$ = true| false| $app_data_root$| logs\
(а тут мы указываем что в папке пользователя, в подпапке Logs будут храниться наши логи)
...
[/cut][cut=Получение более подробной информации о вылете (ХОВАН)]
Открываем файл _g.script и ищем такую функцию: function abort(fmt, ...)
Там есть заккомментированная строчка "--error_log(reason)", ее и надо расскомментировать, должно получиться вот так:
Code
function abort(fmt, ...)
                             local reason = string.format(fmt, ...)
                             error_log(reason)
end

Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией

Первый:
Code
Expression    : !m_error_code
Function      : raii_guard::~raii_guard
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line          : 748
Description   : ....a.l.k.e.r. - Зов Припяти\gamedata\scripts\_g.script:478: bad argument #2 to 'format' (string expected, got nil)

Второй:
Code
Expression    : 0
Function      : ErrorLog
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp
Line          : 49
Description   : 'Attempt to read a non-existant string field 'path_walk' in section 'walker@mechanic'

[/cut]


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


Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки.
Помните чем подробнее вопрос, тем точнее ответ.


"За нарушение прав человека - расстрел на месте!"
(Чугунный всадник)

 
men_stalkerДата: Вторник, 15.11.2016, 17:21 | Сообщение # 856
Инженер «Свободы»
Свобода
Сообщений: 138
Награды: 4
Репутация: [ 20 ]

Цитата denis2000 ()
Можно. Таких примеров в конфигах сплошь и рядом.

Вот элементарный пример, который при это не работает.
[cut]
Код
<stat_info>
  <value color="ui_1"/>
  <stat x="260" y="103" width="30" height="16">
   <text align="l" font="letterica18" r="220" g="220" b="220">pda_stat_1</text>       <!-- time -->
  </stat>
  <stat x="450" y="103" width="30" height="16">
   <text align="l" font="letterica18" r="220" g="220" b="220">pda_stat_2</text>       <!-- surges -->
  </stat>
  <stat x="640" y="103" width="30" height="16">
   <text align="l" font="letterica18" r="220" g="220" b="220">pda_stat_3</text>       <!-- quest completed -->
  </stat>

  <stat x="360" y="150" width="30" height="16">
  <text align="l" font="letterica18" r="220" g="220" b="220">pda_stat_4</text>       <!-- mutants killed -->
  </stat>
  <stat x="355" y="198" width="30" height="16">
  <text align="l" font="letterica18" r="220" g="220" b="220">pda_stat_5</text>       <!-- stalkers killed -->
  </stat>

  <stat x="570" y="150" width="30" height="16">
  <text align="l" font="letterica18" r="220" g="220" b="220">pda_stat_6</text>       <!-- founded artefacts -->
  </stat>
  <stat x="570" y="198" width="30" height="16">
  <text align="l" font="letterica18" r="220" g="220" b="220">pda_stat_7</text>       <!-- founded treasures -->
  </stat>
    </stat_info>

[/cut]
Может по другому регистрируется или пример неудачный?
 
denis2000Дата: Вторник, 15.11.2016, 17:48 | Сообщение # 857
Полевой исследователь
Ученые сталкеры
Сообщений: 2125
Награды: 30
Репутация: [ 1839 ]

Цитата men_stalker ()
Вот элементарный пример

Данный пример соответствует заявленным вам требованиям: внутри нода создать несколько нодов.
Цитата men_stalker ()
который при это не работает

Он то работает, да читается не скриптом.
Цитата men_stalker ()
Может по другому регистрируется или пример неудачный

А более внятно изложить свои требования к элементу?


"За нарушение прав человека - расстрел на месте!"
(Чугунный всадник)

 
men_stalkerДата: Среда, 16.11.2016, 15:43 | Сообщение # 858
Инженер «Свободы»
Свобода
Сообщений: 138
Награды: 4
Репутация: [ 20 ]

denis2000, вот это должно регистрироваться одной строкой в скрипте прорисовки типа xml:InitStatic("actor_icon_over_***",self.background_main)
Код
<actor_icon_over_b x="71" y="239" width="167" height="1" stretch="1">
  <texture>ui_inGame2_pda_ranking_icon_over_line_h</texture>
    </actor_icon_over_b>
    <actor_icon_over_top x="238" y="92" width="1" height="148" stretch="1">
  <texture>ui_inGame2_pda_ranking_icon_over_line_h</texture>
    </actor_icon_over_right>

Т.е. внутри одного нода - несколько. Регистрируется только основной нод, при это работаю и все остальные внутренние.


Сообщение отредактировал men_stalker - Среда, 16.11.2016, 17:13
 
denis2000Дата: Четверг, 17.11.2016, 17:44 | Сообщение # 859
Полевой исследователь
Ученые сталкеры
Сообщений: 2125
Награды: 30
Репутация: [ 1839 ]

men_stalker, Пробуйте:
Код

<icon x="71" y="239" width="167" height="1" stretch="1">
   <texture...</texture>
   <texture...</texture>
   <texture...</texture>
</icon>


"За нарушение прав человека - расстрел на месте!"
(Чугунный всадник)

 
men_stalkerДата: Суббота, Вчера, 13:28 | Сообщение # 860
Инженер «Свободы»
Свобода
Сообщений: 138
Награды: 4
Репутация: [ 20 ]

denis2000, не работает, координаты к текстуре (внутри нода) влияют на саму текстуру внутри файла.
Здравствуйте, нашёл довольно интересный материал "GUI Энциклопедия вооружения." от Geonezis, начал копаться и нашёл строку "current_mode= " в колбеках кнопок прописано "current_mode=1", "current_mode=2" и т.д. Потом они используются как условия, и всё работает.

Я повесил на него:
if current_mode==2 then
***
end
И при этом команда выполняется только после перезапуска гуи. В чём может быть проблема?
Заранее спасибо!

Добавлено (03.12.2016, 13:28)
---------------------------------------------
Как задать условие на неимение инфопоршня в скрипте?


Сообщение отредактировал men_stalker - Суббота, 03.12.2016, 13:31
 
denis2000Дата: Суббота, Вчера, 19:05 | Сообщение # 861
Полевой исследователь
Ученые сталкеры
Сообщений: 2125
Награды: 30
Репутация: [ 1839 ]

Цитата men_stalker ()
Как задать условие на неимение инфопоршня в скрипте?

Код
if not has_alife_info("инфопорция") then


"За нарушение прав человека - расстрел на месте!"
(Чугунный всадник)

 
Форум » Модостроение » Основной раздел » Модостроение. Редактирование и создание скриптов
Страница 58 из 58«12565758
Поиск: