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

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


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

CON, изъясняйся в конце концов не на "своем жаргоне", а на общепонятном языке ... если конечно хочешь получать ответы а не отмазки!

Упомянутую "схему" не видел и нет особого желания.

  Цитата
в худы вещей скрипт спавнит ...
В худ (HUD) ничего не спавнится. "ПОстоянно" спавнит говоришь - ну-ну очень понятно ...

 

  Цитата
CON: как бы мне сделать
- ключевая фраза!

Если именно тебе самому сделать - выше написал как определить "пропажу" детектора из слота и как удалять ... и если что непонятно - спрашивай/уточняй (на нормальном языке!).

Если же ждешь, чтобы "дядя" тебе сделал - ... жди, может кто за тебя и сделает. (Навсякий случай напомню: мы в топике "Школа ...", а не "Стол заказов")

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Какое нужно сделать условие в скрипте, чтобы при выдавании несуществующего инфопоршня, игра не вылетала, а появлялось сообщение о том что он, инфопоршень, не существует?

 

В следующий раз выбирай соответствующую тему.

ColR_iT

Изменено пользователем ColR_iT
Ссылка на комментарий

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

[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: ....r. - shadow of chernobyl\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)

 

Такой же вылет получал при добавлении БМ16 полного от Псевдыча. Но там разобрался, полностью переписал конфиг, а тут что...Закомментирование строки не помогает, вылет происходит также, но уже ссылается на другой скрипт.

 

А поднять глаза и прочитать это: #8105 - религия не позволяет? --/Artos

Изменено пользователем Artos
Ссылка на комментарий

Boofer, '[ как бы было хорошо, чтобы из скриптов по условию командовать чтобы игра не вылетала ... а продолжала бы не взирая ни на какие ошибки/чудачества модмейкера ... ;-)

 

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

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Artos, самому не по плечу. Но если Вы поможете.))

Принцип я понял. Нужно прописать xml-парсер с инфопоршенями, где скрипт будет искать нужный поршень, и если не найдёт, то с помощью else можно вместо вылета поставить появление сообщения, но вот как этот парсер прописать...

 

"Парсер" от английского слова parse. Переведи слово и ты поймёшь для чего это предназначается.

ColR_iT

Изменено пользователем ColR_iT
Ссылка на комментарий

Artos- Внял Вашему совету и перелопатил тему, все, что я нашел так то, что Ваш пост где пишется ( в _g.script поменять стандартный аборт на то то и то то ). Если я на правильном пути, это хорошо, а если нет, то ткните меня носом я даже не обижусь. Так как если чего-то не знаешь или не умеешь ни когда не поздно научиться ( на то она и Школа ).

А вот LuaChecker-0.3 Может я не правильно пользуюсь? ( Кто и где эту прогу выложил не помню ).

Чекер

smeh..gif
Ссылка на комментарий

smeh,

пользуйся другим чекером - script Syntax Checker - есть на stalkerin.gameru.net. Не виснет на больших скриптах и может скрипты проверять группой. :rolleyes:

Ссылка на комментарий

На вопрос "как увеличить коичество трупов в игре" мне сказали что это невозможно... Может кому пригодится но это делается так:

1)Отключение уборщка трупов.

Если у вас машина мощная то для реализма будет самое то... Горы трупов по всей Зоне...

Путь:

папка "gamedata"-> "scripts"-> "xr_motivator.SCRIPT":

Строка:

release_body_manager.get_release_body_manager():moving_dead_body(self.object) --' Distemper 11.02.2008

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

--release_body_manager.get_release_body_manager():moving_dead_body(self.object) --' Distemper 11.02.2008

Теперь трупы не исчезают совсем, даже после перезагрузки игры...

2)Настройка уборщика трупов.

Способ:

Путь: папка-"gamedata">папка-"skripts">файл-"release_body_manager.SKRIPT"

Строка:

self.body_max_count = 10 -- количество тел которое одновременно может находится в игре

Меняем число на более весомое...и вуаля:

self.body_max_count = 60 -- количество тел которое одновременно может находится в игре

Теперь хабар никуда от вас не денется!

И игра стала НАМНОГО привлекательнее...

Изменено пользователем ColR_iT
Ссылка на комментарий

Nic101

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

А теперь по твоему посту:

Файла release_body_manager.script в игре просто не существует, не по тому, что ты неправильно написал расширение файла, а потому, что разработчики просто такового не создавали. Поэтому и комментировать в файле xr_motivator.script, будет нечего, и открывать собственно также нечего.

Всё бы ничего, но ты не ошибся, т.е. решение действительно рабочее. Но вот есть одна большая проблема: ты не в изначальном вопросе, не в посте выше не указал версию игры, хотя пишешь ты в тему по ковырянию ТЧ (Тень Чернобыля), а не в тему по Зову Припяти, где твой ответ будет актуальным и то с некоторыми оговорками.

Итого:

1. Правильно выбирай тему;

2. Правильно задавай вопрос;

3. Нашёл решение - поделись, а не бросайся полученными знаниями;

4. И пиши, пожалуйста, грамотнее.

Спасибо за понимание.

Изменено пользователем ColR_iT
Ссылка на комментарий
Artos, а я атеист:) Ну глянул я строки над фатал еррором - жалуется на звуки кабана, не прогнанные через сдк. И вылет с зомби точно не из-за этого.
Ссылка на комментарий

ШиЗ, атеизм и тугодумие не взаимоисключающие понятия ....

Я не "кашпировский" и ткнуть в нужную строку твоего лога не могу по причине отсутствия такового твоего лога), но если в логе строка типа:

[error]Arguments : LUA error: ....r. - shadow of chernobyl\gamedata\scripts\_g.script:XXX: bad argument #2 to 'format' (string expected, got no value)

- это однозначно говорит о том, что из некоего скрипта была вызвана функция принудительного прерывания игры _g.abort(...), в которую "виновный" скрипт передал (как правило) свое сообщение. Это сообщение должно (если не закомментированы строки в abort) быть выведено в консоль перед тем, как сама abort выполнит недопустимую операцию по форматированию.

 

Ну а если ковырялкин в кодах так и не хочет понять что же пишет ему лог - то вероятно нет смысла ему вообще смотреть в этот лог и продолжать пользоваться "методом тыка" ... авось пронесет.

 

smeh, вот набор функций для включения (замены существующих) в _g.script которые позволяют и выводить любые свои сообщения в лог и при аборте дают информацию:

  набор функций для вывода в лог игры (Показать)
Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

ColR_iT

 

 

1. Ошибся разделом извиняюсь! Перелопатил кучу форумов, и посему крайне невнимательно "кидал" комментарии, везде либо просто игнорируют либо пишут "такого сделать невозможно"

2. Данное решение заработало и на ТЧ

3. Ввеси в гугл названия файлов выдаст сотни вариантов однако можно просто прописать в пустом блокноте эти строчки у меня заработало так...

 

Хотел написать для всех, потому как долго искал и никто о таком не знал...

Изменено пользователем Nic101
Ссылка на комментарий

Nic101, не нужно флудить, бесполезная и что более важно, ошибочная информация - никому не нужна!

Помимо того, что в ТЧ без непростой для неопытных модмейкеров адаптации скрипта release_body_manager в игру (потребуется даже в биндер актора влезать), в модах наоборот работаю скрипты-чистильщики трупов и твои потуги/советы по "засорению" локаций в общем то бессмысленны.

И не нужно с упорством твердить, что "это заработало на ТЧ". Не может на ТЧ подобное заработать, что о чем тебе уже разъяснил ColR_iT. Если ты о некоем моде, куда внедрили этот скрипт, то ... предполагаю что читающие этот топик врядли о нем ведают и не обобщай это на ТЧ.

 

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

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Artos- Воспользовался Вашим набором функций ( кстати за это благодарю ), вот какой теперь лог

  Лог (Показать)
Изменено пользователем ColR_iT
smeh..gif
Ссылка на комментарий

smeh, теперь строка лога говорит о том, что в файле _g.script имеется ошибка, отчего и не может стартовать игра.

Проверь правильность вставки функций.

И совет, после ковыряний в файлах скрипта, дабы не терять время - проверяй файлы чекером. Только не тем, который ты упоминал, а "Syntax Checker" (by Gun12), который тебе уже посоветовал Капрал Хикс.

Не смог найти сейчас живую ссылку на этот чекер ... поэтому выложил временно сюда: script Syntax Checker

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Здравствуйте.

Пытался освоить рестрикторы - столкнулся с проблемой - почему-то он не работает. Ума не приложу почему. Вроде бы всё сделал правильно. Вот файлы:

  запись в all.spawn (Показать)
Ссылка на комментарий

MIDERY

Во-первых, из рестриктора можно вызывать и функцию напрямую, но она должна быть в файле xr_effects.script, вот так:

on_actor_inside = %=tester%

И функцию измени, чтобы не принимала никаких аргументов, вот так:

function tester()
    news_manager.send_tip(db.actor, "%c[255,255,128,128]Блаблабла:\n%c[default]Проверка", nil, nil, 30000)
end

Во-вторых, ты темой ошибся.

Ссылка на комментарий

Идёт вылет, если пробывать сделать, как вы сказали

  Цитата
Expression : fatal error

Function : CScriptEngine::lua_error

File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp

Line : 73

Description : <no expression>

Arguments : LUA error: e:\s.t.a.l.k.e\gamedata\scripts\_g.script:21: bad argument #2 to 'format' (string expected, got no value)

 

Перепрочти сообщения на этой странице пару раз - может тогда будет понятна никчемность твоего лога для понимания проблемы/ошибки и что же нужно для этого. --/Artos

Изменено пользователем Artos
Ссылка на комментарий

MIDERY

Ругается на эту запись

position = =122.554,-26.236,-468.079

"= =" такого выражения не существует.

Изменено пользователем Gun12
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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