Скриптование - Страница 60 - Скрипты / конфиги / движок - AMK Team
Перейти к контенту

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

Тема для обсуждения скриптов всего и всех в серии игр 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
Ссылка на комментарий
https://www.amk-team.ru/forum/topic/6185-skriptovanie/

Добрый вечер, люди, ткните пожалуйста меня носом на скриптовый файл в котором содержатся настройки секции (функция ответственная за эту секцию?) логики [spawner]... Заранее спасибо.


Команда ReWrite Team. От сталкера отошли. Пересели за другую платформу.

 

Gektor, почему не срабатывает, не делает то, что ты задумал или делает, но не так? Вертолет. А при чем тут вертолет? Секция [spawner] ему не нужна.

Wiki

Эта секция, которая присутствует как у NPC, так и у монстров, спавнит их по определенному условию (выводит в онлайн). ...

где здесь про вертолет то сказано!? Например, тот же вертолет на кордоне, что мимо вагончика пролетает, спавниться при старте игры. Когда игрок входит в space_restrictor c именем esc_heli_attack_zone, то он получает инфопорцию esc_heli_go, по которой в логике вертолета начинается его движение. И к тому же, разве вертолет можно переводить в online?
... С нпц тоже попадается такая проблема. ...
всмысле "попадается"? Спавнется в начале игры? Вероятно срабатывает условие спавна, нужно проверить нет ли у тебя его при старте игры.

Лис, Фанат, Наемники, все у того же вагончика, три кабана и с десяток псов, появляется на Кордоне, именно благодаря этой секции, взгляни на них, возможно тебе они помогут.

Gektor, а схема отвечающая за секцию [spawner] находится в файле xr_spawner.script. :) Изменено пользователем Куфзук

Clips, Да есть такая беда -статьи по логике на вики не корректные местами и кое что приходится выяснять опытным путем.

Точку валк и лук попробуй связать флагом (в точке где должен стоять поставт флаг 01 и в точке куда смотреть должен тот же)

Насчёт коллбека на юзание нычки смотри treasure_manager.script. ищи функцию, которая содержит в себе удаление метки нычки на карте.

DiXares

Не совсем на юзание - в оригинале используется каллбек на полное опустошение тайника: сначала вызывается take_item_from_box(box, box_story_id) - из экторского каллбека на тейк из ящика -actor_binder:take_item_from_box(box, item). Затем проверяется опустошение ящика: (if box:is_inv_box_empty() == true) и если true вызывается метод CTreasure:treasure_empty(box, box_story_id) который и снимает метку.

А если нужен именно каллбек на юз - то через set_callbek() можно ставить на нужный объект.

Garry_Galler, спасибо за толковали.

В данном случае я хочу рассмотреть каждую нычку при старте игры и объекты, находящиеся в них.

Привести в скрипте к виду:

local treasure_id = nil

local table_objects = {}

Тут парсим нычки, и заменяем treasure_id и table_objects.

Мои действия.

http://rghost.ru/3667218

 

CallBack System

Выкладываю систему калбэков. Кто знает, что это такое, сам поймет как подключать.

-- Copyright: 2009-2010 ARS Team

-- Authors: Red75, sokol_jack & xStream

-- Last edit: Xmk, Skunk

-- End edit ^ VanoSanturi

http://rghost.ru/3667218

 

Все рабочее, патч 1.6.02 .

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

 

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

Что-то кончается, что-то начинается...

Здравстуйте господа.У меня все еще не разрешен мой вопрос по поводу смотрения НПС,то есть он у меня спавнится куда надо,но не смотрит куда надо,по совету товарища grubera глянул флаги в way,они стоят и собственно ничего не меняют.То есть проблема осталась :unsure: .И главное что это такое-мой НПС спавнится в сидячем положении,когда я убираю флаг в way-look он встает- но на меня ноль реакции,и даже смотрит в мою сторону.....Я понимаю всех достал мой глупый вопрос...Но помогите кто может...

 

PS:Возможно неправильное определение координат,моим съемщиком координат?Может в этом проблема?Прошу прощенья за длинноту...

 

И еще..Ребята что за ерунда...Один раз мой НПС спавнится правильно, то есть смотрит в нужную мне сторону-один раз неправильно,то есть в противоположную сторону..Товарищи помогите...У кого есть догадки?Можно в ЛС чтоб не засорять эфир.

Это way

[tupoi_1_look]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = -0.194,0.053,0.980

p0:game_vertex_id = 6

p0:level_vertex_id = 1393813

 

 

[tupoi_1_walk]

points = p0

p0:name = name00

p0:flags = 0x1

p0:position = 249.628,15.154,486.614

p0:game_vertex_id = 6

p0:level_vertex_id = 1393813

Не ужели ни кто помочь не может?

Вопрос закрыт.

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

Clips

Ты покажи, как ты прописал way точки своему НПС. Может там что-то не правильно.

Доброго времени суток! Решил сделать провеку на отсутствие инфопоршня и отсутствие брони, после чего ГГ должен по моей задумки погибнуть. Во время тестирования обнаружил баг, из-за которого ГГ умирал в любом случае, есть у него броня или нет. В чём я допустил ошибку?

 

function start_mod()
if not has_alife_info("maior_barsakov_info") and db.actor:object("specops_outfit") ~= nil then
db.actor:kill(db.actor) 
end
end

у тебя написано: если нет поршня и актор имеет обджект (неодетым, а в инвенторе) то тогда убиваем

Freedom

В данном случае, мне все-равно, одет броник на ГГ или просто лежит у него в инвентаре. Главное - сделать правильно провеку на "отсутвствие" броника, что, собственно, у меня и не выходит сделать. :russian_ru:

Jurok, а какова вероятность того, что необходимый инфопоршен отсутствует?

 

И попробуй инфопоршен проверить не not has_alife_info, а через dont_has_info.

Изменено пользователем Куфзук

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

 

Куфзук, зачем через dont_has_info?

 

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

Jurok, так вот именно dont_has_info и проверяет отсутствие инфопоршня у актора.

bool dont_has_info(string <имя инфопоршена>);  // проверка на отсутствие инфопоршена

Это из темы "Справочник по функциям и классам"

Просто почему я склоняюся к инфопоршню. Всего лишь потому, что проверка на наличие костюма правильная. Попробуй убрать проверку инфопоршня... Постой.

...а умираю я сразу же в начале игры (имея в инветаре броник)...
так у тебя же проверка стоит на его наличие! :huh:

 

С _Призрак_ом полностью согласен! :)

Изменено пользователем Куфзук

 

Цитата
так у тебя же проверка стоит на его наличие!

А как сделать проверку на его отсутствие?

 

_Призрак_, сейчас попробую.

 

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

Jurok

Нужно сделать так:

function start_mod()

if dont_has_info("maior_barsakov_info") and db.actor:object("specops_outfit") == nil then

db.actor:kill(db.actor)

end

end

Freedom

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

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

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

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

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

Войти

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

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

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