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

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

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


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

  Информация (Показать)

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

 

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

  Читать рекомендуется. (Показать)

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


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

Выкладываю свой код по частям.

 

1) Фрагмент из биндера NPC (xr_motivator)

(в функции net_spawn сразу осле установки коллбеков)

  xr_motivator (Показать)
Изменено пользователем Полтергейст
Ссылка на комментарий

Полтергейст, обычно начинают с начала а не с конца ... т.е. говорят что хотят сделать/получит, а не то что ради этого делалось и неполучилось. Без того что же ты хочешь сделать (идеи/алгоритма) толку от приведенных кодов маловато ...

 

P.S. Вот тебе набросок из моего мода касательно этого вопроса (применим для ТЧ/ЧН):

  код (Показать)
Изменено пользователем Artos

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

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

Сейчас столкнулся с такой интересной бякой на ЧН, ищу её решение и решил спросить, вдруг кто сталкивался.

У меня в моде присутствуют НПС, которые появляются на карте случайным образом (не как сквады)

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

 

Я расследую тока один случаи, но мне известно, что были как минимум два других. Я ещё буду смотреть инвентарь этого НПС, но из того необычного, что я знаю сейчас это то, что он заспавнился совсем рядом с аномалией (но не в 1 с ней точке)

Я пробовал удалять аномалию, но вылет остался. Другие два места я пока ещё не смотрел. Обхода аномалий у меня нету, ничего с рестрикторами я сам не делал.

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

Может у кого был похожий случаи?

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

Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О

Мастер аномалий на свою заднюю точку.

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

Доброго времени суток! Прошу помощи! Мне нужно, чтобы после выдачи определённого инфопоршня, бандиты стали нейтралами по отношению к главному герою. При вызове данной функции происходит безлоговый вылет:

function set_freedom_enemy (player, stalker)
relation_registry.set_community_goodwill ("bandit", db.actor:id (), +5000)
end

В чём может быть проблема?

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

basil, кажется в +5000 стоит убрать + и все заработает.

 

Аккуратнее в советах. СтОит порой промолчать, дабы не советовать ошибочное иль бесполезное. --/Artos

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

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

Что делать с логикой?

Заранее благодарен.

 

 

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

*Shoker*, твой вопрос из области погадалок ...

В чем похожест? В том, что при спавне объекта -> ошибка -> вылет? Да такого как снега у каждого разработчика. :-)

Без доп.информации бессмыселенно гадать-предполагать.

Единственное: то, что ты успеваешь заметить заспавнившего дает возможность предположить, что функции инициализации объекта все же проходят, а вот потом - тут и ошибки штатной логики иль те же ошибки в инфентаре иль пр.

 

basil, чтобы стали нейтралами нужно задавать не +5000 (лепшие друганы), а 0 (ноль). Но по любому вылета именно от этой операции не должно быть. Раз вылетает - ищи коллизию в других кодах, когда бандиты-нейтралы приводят к ошибкам.

 

Wik, что делать с логикой? Да задать ее такой, какой хотелось бы, а не куций ремарк ... (как предполагаю в твоем случае).

Хочешь чтобы были в точке спавна в любом случае - используй схему 'walker'.

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

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

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

Wik

Схема ремарк не используется для постоянной работы НПС, как правило она является переходным этапом от одной к другой схеме.

  показать (Показать)
Изменено пользователем losiara

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

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

losiara,

  Раскрывающийся текст (Показать)

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

Ссылка на комментарий
Artos, я бы не стал делать столь поспешных выводов. Прежде чем написать пост выше я тестил функцию set_community_goodwill самостоятельно, вызывал ее из диалога. Если в последнем аргументе поставить плюс то функция не срабатывает, а если убрать или поставить минус, то все работает нормально, отношения меняются в положительную/отрицательную сторону. Смотрел как реализована эта функция в других модах (в частности в солянке), там в эту ф-цию тоже передавалось положительное значение без плюса. Ну по крайней мере так ф-ция ведет себя на ТЧ, насчет ЧН и ЗП не уверен, не пробовал.
Ссылка на комментарий

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

Ссылка на комментарий
bill_gates, извини, действительно несколько резко, но суть - даже если убрать синтаксическую ошибку с '+', то остается то, что действие задает не нейтральность бандитов, а максимальную дружелюбность, что неверно в контексте вопроса. Изменено пользователем Artos

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

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

Artos

Если бы оно вылетало, это было бы фигня. Но у меня оно просто зависает, вся игра при спавне персонажа виснет.

А это врятле "обычный" случаи.

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

Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О

Мастер аномалий на свою заднюю точку.

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

Добрый день!!!

Возник вопрос относительно логики рестрикторов. По задумке, при входе в рестриктор, проигрывается музыкальная композиция, а через 5 сек. начинается спавн монстров. Вот логика:

  логика (Показать)
Изменено пользователем losiara

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

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

losiara, что-то ты плутаешь в логике как в трех соснах, но не открываешь глаз (прочтя по логике мануал), а тычешься носом.

1. Если возник вопрос по логике то и начинать нужно с описания алгоритма того, что хочешь сделать, а то наличие упоминаний трех звуковых файлов сбивает с толку ... рандомные иль последователые(?).

2. Если используешь звук и условием ставишь "по окончании звука" - ну так и использовать в логике нужно окончание по сигналу (окончание звука) и по нему переключаться на секцию где спавнишь монстров.

 

*Shoker*, вылеты иль зависания - могут иметь одну природу, т.е. некорректные применения методов/функций. Если в логике срабатывает что-то некорректное, то последствия могут быть самыми разными ... от незначительных коллизий, до зависани иль безлоговых вылетов. И как уже сказал - это все погадалки, так ничего не накопаешь, даже если сейчас десяток заявит типа: "А у меня что-то схожее было". Или засучивай рукава, бери дебаг-инструментарий и копай вглубь ... или откатывайся назад и иди другим путем.

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

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

Artos

  логика (Показать)

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

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

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

Ну а неоптимальности или огрехи -это дело наживное ... ;-)

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

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

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

Artos

  Цитата
обычно начинают с начала а не с конца ... т.е. говорят что хотят сделать/получит, а не то что ради этого делалось и неполучилось. Без того что же ты хочешь сделать (идеи/алгоритма) толку от приведенных кодов маловато ...

Идея простая - добавлять все аномалии, находящиеся на уровне, всем NPC при переходе в онлайн. С фильтрацией уже добавленных разобрался, но тут появилась ещё одна проблема. Похоже, все эти операции с добавлениями/удалениями что-то перегружают и в итоге у меня стала появляться ошибка "С stack overflow".

 

Есть ещё другая проблема - рестрикторы, которые добавляются таким способом (через alife_simulator) не отображаются в списке рестрикторов (был вылет "any vertex... inaccessible") онлайн-объектов. Либо они хранятся в какой-то отдельной таблице, либо просто не успевают добавиться, т.к. NPC уже перешёл в онлайн.

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

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

Ну на кой бес прописывать все рестрикторы неписям? Ну должно же быть понятно, что сторадж объектов не резиновый, запихивать в строковую переменную все и вся - прямой путь к битым сэйвам и стек-оверлоадам.

Хочешь чтобы неписи по тупому видели все аномалии и их обходили - ну так что мешает сделать как монстрам?

Иль присвой аномалиям тип рестриктора для запрета входить в них и не будут твои неписи в них заходить ...

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

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

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

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

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

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

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

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

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

Войти

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

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

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