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

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

Тема для обсуждения скриптов всего и всех в серии игр STALKER.


Задавая вопрос (!):
1. Внимательно изучите суть вопроса. Вопрос должен соответствовать выбранной Вами темы. Это поможет сохранить порядок и читабельность темы, а также облегчит поиск и понимание сего;
2. Изучите то, что уже есть в теме (пролистайте "руками", воспользуйтесь поиском на форуме);
3. Изучите информацию которая может вам помочь:

 
 

Stalkerin. Там есть много хороших статей касательно данной темы.
Уроки по модостроению. Есть рабочие примеры готовых скриптов различного назначения.

 

Справочное руководство по языку Lua 5.1
https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ru
Справочник по функциям и классам. Собрано много информации по функциям и классам, не всем, но по основные сведения предоставлены.

4. Дабы не превращать обсуждение в "кашу" разной информативной направленности, задавайте несколько вопросов по порядку (в разных постах) после того, как получите ответ на предыдущий вопрос;
5. "Спасибо" и тому подобное - будьте так любезны в ПМ. Если не любите писать в ПМ, в конце вопроса напишите фразу: "Заранее спасибо!" - или что-то в этом духе;
6. ПОЖАЛУЙСТА! Указывайте, для какой игры Вам необходима информация (ТЧ, ЧН, ЗП), если стоит мод - укажите название мода;
7. Если Вы что-то сделали и результат не такой, какой Вами задумывался, то, пожалуйста, приводите коды которые Вы изменяли/писали целиком! Это поможет другим правильно ответить на Ваш вопрос, а также оградит Вас от лишней писанины.
8. Оформляйте сообщение. Пользуйтесь тегами для того, чтобы отделить код от текста. Пишите грамотно - ПОЛЬЗУЙТЕСЬ ЗНАКАМИ ПРЕПИНАНИЯ.
9. И помните: «Правильно заданный вопрос – половина ответа».

 

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

 

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

 

Вопросы которые будут удалятся, следовательно их задавать не нужно:
-- Где находится та или иная функция?
Для ответа используем поиск по словам среди файлов оригинальной игры или мода, если объект поиска относится к нему, при помощью программы, которая Вам наиболее симпатизирует;
-- Как сделать что-то/то-то?
С подобными вопросами, либо в "ковырялки", где Вам вероятнее всего так же не ответят, либо выдвигаем мысли, подкреплённые теорией, практикой (идеальный вариант) и здравым рассудком;
-- Вопросы со смыслом: "сделайте", "совместите" и подобными глаголами повелительного наклонения.
-- К тому же удалению будут подвергаться вопросы, в которых масштабно не используются теги, для отделения кода и цитат от основного текста, а также не вписан в спойлер код размером превышающие семь строк.
Ответ на возможно возникший вопрос: В какую тему можно обратиться по поводу логики и спавна объектов?
В тему "ковырялок" соответствующей версии игры, для которой Вы задаёте вопрос.

И последнее: очень рекомендовано к прочтению Правила форума
 


  • Спасибо 1
  • Полезно 2
Ссылка на комментарий
UnLoaded

Да спасибо, примерно так... С <function_complete> здесь понятно все, вызов функции тоже ясно. Увести в оффлайн/онлайн это также понятно как реализовать.

А как проверить игровое время??? "спавни этих самых собачек в 22 и удаляй\уводи в офф-лайн в 6" - вот это? Не в смысле как спавнить в принципе, а как спавнить по времени!!! Просто раньше не приходилось...

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

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

А как проверить игровое время???

Ленимся, однако...

Есть такой чудесный раздел: "Справочник по функциям и классам" - там есть почти усё, заглядываем тудой почаще...

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

Ребята, пример из поста http://www.amk-team.ru/forum/topic/6458-uroki-po-modostroeniiu/?p=527493(присвоени звуков использованью предметов)вообще работает?

Пытался присвоить имеющимся продуктам и медикоментам звуки использования, как в ОГСМ ЧН, не фига не получается.

Подскажите: как правильно прописать item в скрипте? Одинарные кавычки обязательны?

Функцию function actor_binder:use_object(obj)

имя_вашего_скрипта.use_snd(obj)

end пропысывать в конце bind_stalker?

Добавлено  HellRatz,

Перемещено.

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

Благодарю Вас за чрезвычайно содержательное сообщение. Несомненно, оно принесет огромную пользу всем, кто его прочитает. dc

Стараюсь отвечать в стиле Dennis_Chikin.

"Каков поп - таков и приход"

 

Да нет, не оффтопик. Все то же самое: 9.1

dc

Изменено пользователем Dennis_Chikin
Добавлено Ааз,

Пункт 2.1.1.

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

Всем здравия.

В процессе работ столкнулся с косяком в логике работы НПС. Уж не знаю, умышленно это сделано или нет, а именно когда НПС переходит из ремарка в волкер, он некоторое время еще стоит и тупит смотря на ГГ, вместо того чтобы сразу сорваться с места и бежать, иногда доходит до абсурда, мол по квесту надо срочно бежать, а непись спокойно стоит отыгрывает идловые анимации. В ОГСЕ, например, это поправили, но как, что и где конкретно я не знаю. Никто не ткнет носом куда копнуть, или может кто уже исправлял это и скинет конкретное исправление?

Речь о ТЧ, если что.

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

@HellRatz, я уже задавал этот вопрос, но платформа была ЗП. Есть такая тема: при переходе из remark в walker вызываешь это:

 

 

function reset_animation(npc)
local state_mgr = db.storage[npc:id()].state_mgr

if state_mgr == nil then
return
end

local planner = npc:motivation_action_manager()

state_mgr.animation:set_state(nil, true)
state_mgr.animation:set_control() -- этой функции set_control в ТЧ нету, закомменти и попробуй без неё
state_mgr.animstate:set_state(nil, true)
state_mgr.animstate:set_control() -- этой функции set_control  в ТЧ нету, закомменти и попробуй без неё

state_mgr:set_state("idle", nil, nil, nil, {fast_set = true})

state_mgr:update()
state_mgr:update()
state_mgr:update()
state_mgr:update()
state_mgr:update()
state_mgr:update()
state_mgr:update()

npc:set_body_state(move.standing)
npc:set_mental_state(anim.free)

end

 

 

Я там отметил про set_control(). Если не выйдет, уж извиняй. С ЗП всё прекрасно работает, в катсценах очень удобно юзать. Надеюсь, прокатит и тут.

 

Нашёл set_control() в ЗП.

-- Передача управления данному экземпляру класса.
function animation:set_control()
--printf("[%s] [%s] set control current_state[%s] marker[%s] sid[%s]", self.npc:name(), self.name, tostring(self.states.current_state), tostring(self.states.anim_marker), self.sid)
-- Устанавливаем коллбек
self.npc:set_callback(callback.script_animation, animation.animation_callback, self)
if self.name == "state_mgr_animation_list" then
self.mgr.animstate.states.anim_marker = nil
end
if self.states.anim_marker == nil then
self:update_anim()
end
end

 

 

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

Изменено пользователем BoBaH_671
Добавлено  HellRatz,

Спасибо, попробую, но я почему-то не уверен.

  • Спасибо 1

Ранее был известен под ником BoBaH_671.

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

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

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

@HellRatz, а попробуй прямо из логики вызвать state_mgr.set_state( npc, "idle" ), а потом переходить в секцию волкера, возможно после небольшой паузы.

 

У тебя же вроде там сигнальный менеджер из OGSE используется? Если ты говоришь, что в OGSE это починено, попробуй, возьми у меня из репозитория все state_mgr*, кроме state_mgr_animation_list.script. Там все OGSE-шное, только дополнительно причесанное. state_mgr.script использует два сигнала: on_npc_death и on_npc_update.ID. Возможно тебе их придется добавить в xr_motivator.

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

 

 

попробуй, возьми у меня из репозитория все state_mgr*

Игра не вылетает, но к сожалению не помогло, НПС зависает в danger и целится в никуда и не хочет бежать по логике. Попробовал заменить один state_mgr, все равно крутит стволом не опуская его, но хотя бы разговаривает и целится-крутится за ГГ. Но все же никуда не идет. Видимо твои скрипты не совместимы с чистой игрой и почему-то вгоняют их в состояние денжера.

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

Я конечно не специалист, но из небольшого опыта работы с анимациями в кат-сценах. Многое в последовательности анимаций портит сцена приветствия, это реакция НПС на приближение игрока, или на начало диалога, иногда никакие заглушки не помогали. Например НПС в анимации "пленник", при разговоре с ним, все равно встает. Или, некоторые анимации работают только в денжере, а принудительное введение в денжер, требует времени на успокоение. Где конкретно эти схемы прописаны, я не знаю, да и знаний исправить не хватило бы.  

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

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

Вопрос выше решен, спасибо dsh, положил обновленные state_mgr_*, НПС более не тупит.

 

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

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

Я не знаю куда писать простите админу и модераторы, но какую кодировку надо ставить чтобы не было иероглифов???

1251 же. Но при чем здесь скрипты ? dc


Я не знаю куда писать простите админу и модераторы, но какую кодировку надо ставить чтобы не было иероглифов???

1251 же. Но при чем здесь скрипты ? dc

что значит 1251

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

Hawx, Windows-1251.

Но при чем здесь скрипты ?

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

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

Hawx, Windows-1251.

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

 

я в XML файле в нотепаде поставил 1251 и всеравно иероглифы в игре

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

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

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

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

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

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

Войти

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

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

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