Перейти к контенту

[SoC] Ковыряемся в файлах


Рекомендуемые сообщения

Подскажите пожалуйста,как отключить монолог Сидоровича в начале игры и титры обучения.

Отключение монолога Сидоровича:

В файле config\scripts\esc_trader.ltx в самом начале заменить

 

[logic]

active = {+esc_trader_hello_played} mob_trader@new_idle1, mob_trader@new_start_wait

 

на

 

[logic]

active = mob_trader@new_idle1

 

Титры обучения - похоже, надо ковырять config\ui\game_tutorials.xml, но с ними я не разбирался

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

А в НЕХ-редакторе можно править путь так:

 

...............tre

es\vetka_1..

на

...............trс

сс\vetka_1..

 

?

За что отвечает эта функция?

function generate_test(lname)

if level_vertexes[lname] == 0 then

return nil

end

local gvn,gvx,lvx = game_vertexes[lname][1], game_vertexes[lname][2], level_vertexes[lname]

local new_lv=math.random(1,lvx)

local pos = level.vertex_position(new_lv)

if not check_coordinates_arts(pos,lname) then

return false

end

 

 

И, что не нравится игре?

 

FATAL ERROR

 

[error]Expression : fatal error

[error]Function : CScriptEngine::lua_error

[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp

[error]Line : 73

[error]Description : <no expression>

[error]Arguments : LUA error: ...\games\s.t.a.l.k.e.r\gamedata\scripts\amk_mod.script:131: attempt to index global 'amk_anoms' (a nil value)

 

 

Спасибо.

 

TREWKO Стоят родимые, при загрузке Болот как раз ентот вылет и происходит. На Солянке. switch_distance = 150

WAWKA Спасибо, пошёл ковырять дальше.

Изменено пользователем Borsalino

У меня была такая ошибка, и у меня она была связана с файлом alife.ltx, так как я в нём пытался увеличить дистанцию алайфа до 2 км. Ну и даже 600 м. У тебя случаем не стоят новые локации?

Borsalino, а эти самые новые локации добавлены в amk_anoms.script?

Если нет, то необходимо добавить в:

local level_vertexes (указать имя локации = вертекс уровня)

local level_number (указать имя локации = порядковый номер)

local game_vertexes (указать имя локации = вертекс игры от и до)

level_anoms (если нужны динамически спавнящиеся аномалии)

level_arts (если нужны динамически спавнящиеся артефакты)

local levelname

В items.ltx добавить псевдобинты с названиями лок вида testsak_имялокации

В sak.script в функцию add_tail добавить локи в исключения (на которых не планируется спавн артов)

я сделал так:

packet = net_packet()
obj = db.actor
obj:STATE_Write(packet)
direction = packet:r_vector()

 

у меня ругается на то, что метод STATE_Write () неизвестен. Что делать? :(

Скорее всего, вопрос не в тему, но не нашел где бы это еще спросить.

 

Можно ли худы костюмов перетащить на чистую игру без всяких АМК? На эффект дыхания, поломку и проч мне в общем-то плевать (хотя не отказался бы), но очень хотелось бы.

я создал свой файл скриптов: MyScripts.script

там написал функцию:

BlaBlaBla(oneparam,twoparam)
...
end

вызвал её из другого скрипта вот так:

MyScripts.BlaBlaBla (oneargument,towargument)

у меня вылазит:

[error]Arguments : LUA error: .... - чистое небо\gamedata\scripts\ui_main_menu.script:117: attempt to index global 'MyScripts' (a nil value)

Люди как из чн перегнать модельку в тч,пытался перегнать и получил вот такой лог

Expression : fatal error
Function : CSkeletonX::_Load
File : E:\stalker\patch_1_0004\xr_3da\SkeletonX.cpp
Line : 380
Description : <no expression>
Arguments : Invalid vertex type in skinned model 'dynamics\outfit\neutral_assault_outfit:1'

IQDDD,

у меня ругается на то, что метод STATE_Write () неизвестен. Что делать?

Объект серверный?

в faction commander для ЧН как-то сделали запись в файл и чтение из него.

Ну значит в ЧН пространство имён io экспортировали. В ТЧ этого точно не было, я спецом проверял. Это как раз и есть стандартные функции Lua для работы с файлами. Смотри справочник по Lua, как с ними работать.

 

attempt to index global 'MyScripts' (a nil value)

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

Изменено пользователем malandrinus
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

камрады расскажите подробно о том как происходит лечение НПС когда ему дает аптечку ГГ и когда НПС , как отличается действие разных аптечек (если отличается ) в каком скрипте что отвечает ...

 

з.ы. читать шпаргалку не надо предлагать и так моя настольная книга :blush:

Изменено пользователем wolkolak

Свободу всем Даром!

Моя Зона Full Realism Mod STSoC by Wolkolak

"Безвыходных ситуаций не существует в принципе."(с) Ред Шухов

Borsalino, Поставить activeperl, как легкий способ. Потом запустить, батник в папке который лежит скрипт и ехе перла. Если конечно таковой имеется.

http://strawberry-perl.googlecode.com/file...erl-5.8.8.4.exe к примеру, конечно я беру упакованный скрипт, вытряхиваю и пускай по своему усмотрению через батники.

Потом распакаются содержимое олл.спану, потом смотришь через блокнот или иной текстовый редактор.....

wolkolak, xr_wounded.script пример использования... в dialogs_escape.xml, диалоге с толиком <action>dialogs.transfer_medkit</action> / Надеюсь ясно и понятно.

IQDDD, показывай в спройлере, скрипт... Иначе не понятно почему у тебя там нулевая переменная. Мб, не передается, может не определяется..... Итп.

Изменено пользователем Taroz

Taroz, cc31 Спасибо, пока Скряге за травкой бегал, видать парами надышался-на тупость пробило.

IQDDD Да, вчера ночью добил, всё снял, прописал, установил, теперь с вылетами воюю.Спасибо.

Изменено пользователем Borsalino

Borsalino, так вы all.spawn смогли разобрать? Или нет?

 

Добавлено через 1 мин.:

Явно не объявленная переменная будет глобальной по всей игре?

 

Добавлено через 61 мин.:

Ага... Уже ясно, что глобальной переменная является не во всех скриптах,а только в каком-то классе или вообще только в каком-то файле. Бум дальше тестить.

IQDDD

Вылет с жалобой на "attempt to index global 'ХХХ' (a nil value)", где ХХХ - имя скрипт-файла у меня чаще всего (чтобы не сказать всегда) бывает из-за синтаксических ошибок. Скобку там забыл закрыть, end какой-нибудь забыл прописать, в if...then вместо "==" поставил "=" или что-то вроде этого.

Вспоминай, какую(ие) функцию(и) ты правил в этом файле с последнего запуска без этого вылета, там и ищи. Чтобы было проще, можешь комментить куски кода и смотреть, исчезнет ли вылет. Если исчезнет - в закомменченном фрагменте и находятся все ошибки.

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Вот кусок кода:

ObjSpawn = alife():create(section,pos,db.actor:level_vertex_id(),db.actor:game_vertex_id())

if NumObjectsFramedThroughTitles == nil or NumObjectsFramedThroughTitles == 0 then

NumObjectsFramedThroughTitles = 1

else

NumObjectsFramedThroughTitles = NumObjectsFramedThroughTitles + 1

end

ObjectsFramedThroughTitles = {}

ObjectsFramedThroughTitles[NumObjectsFramedThroughTitles] = ObjSpawn

news_manager.RealLog("NPC №"..ObjSpawn:id().." enable")

if not has_alife_info ("enabled_timer") then

StartMinutes = tonumber(level.get_time_minutes())

db.actor:give_info_portion("enabled_timer")

news_manager.RealLog("Start time "..tostring(StartMinutes))

end

 

Как видим, сначала мы спавним чувака. Потом запоминаем его в таблицу ObjectsFramedThroughTitles под индекс 1. При попытке получить ID объекты происходит вылет, что метод не найден!!!! Чё делать? Чё за косяк?

по всей видимости непись не успел перейти в онлайн

попробуй вместо ObjSpawn:id() юзать ObjSpawn.id

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...