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

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

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


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

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

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

 

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

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

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


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

Подскажет, кто-нибудь, где находится постоянный коллбек в бинд сталкере?

 

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

Что такое постоянный колбек? Такого нету, есть функция update, которая вызывается несколько раз в секунду (зависит от fps)

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

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

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

(возвращаясь к вопросу изменения дирекции и позиции для объектов)

 

Итак, опыты с изменениями позиции для онлайновых объектов и направления закончились успешно. Пока фатальных коллизий не замечено. Ограничения в основном локальные и требуют просто например отрегистрации НПС от работ, дабы не возвращался ... иль подобного.

 

Что требуется?

1. Коды чтения/записи секции 'cse_abstract'. Они размещены в общем модуле для чтения нет-пакетов:

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

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

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

Отлично! Очень рад что у тебя это получилось. А можно ли получить не общий вариант, а вариант для одного объекта в один момент времени? Но желательно с минимальным изменением оригинальных файлов. Объект physic_object

Freedom

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

_Призрак_

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

Для физ объекта это будет примерно так:

Добавляем в исходный класс физ.объктов код:

class "se_physic" (cse_alife_object_physic)
--/ ... предыдущие методы
--/#+# добавляем
function se_physic:STATE_Write(packet)
  if self.name() == "my_object_name" then
    m_net_utils.Control_Abstract(self,packet) --/#+# чтение/изменение секции 'cse_abstract'
  end
  cse_alife_object_physic.STATE_Write(self, packet)
end

Если тебе требуется только для спавнящегося объекта - то более, кроме модуля нет-пакетов тебе ничего не требуется.

В соответствующем месте в момент спавна своего объекта формируешь вызов:

db.tControlAbstract = {}
db.tControlAbstract[soObj:name()] = { direction = vDir }

(см. пример)

 

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

Хотя для случая 'при старте игры' - то можно также минималом обойтись.

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

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

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

Почему в смарт террайне, схема guard не работает? Вот такой вот вылет. Подскажите в чем проблема?

  Логика, Гулаг (Показать)
Изменено пользователем Artos

Жить – значит делать вещи, а не приобретать их.

 

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

Atros

Спасибище за скрипты :good:

Очень пригодятся для многих квестов.

Только вот ещё, есть смена позиции и дирекции, а можно НПС телепортнуть на другой уровень, изменив game vertex, не пробовал?

 

И свои наработки лучше оформи сюда (http://www.amk-team.ru/forum/index.php?showtopic=6458&st=40) или ещё куда нить, а то тут они быстро потеряются, потом фиг найдёшь.

 

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

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

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

*Shoker*

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

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

В-третьих, кто ищет - тот всегда найдет, а если не находит - значит и нет особой нужды ...

 

По телепортации объектов на другие уровни:

Телепортировать объект с текущего уровня на другой в общем-то затруднений не вызывает, полный алгоритм и коды для примера позже может быть выложу.

А вот если наоборот, т.е. с неактивных локаций на текущую - тут посложнее.

При загрузке игры/сэйва или типа при создании сэйва подобное вполне возможно. Над этим пока веду работу ...

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

 

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

FLIKER

Кроме выложенного куска лога с фатал-еррором требуются строки из лога выше этой секции. Иначе - гадай на кофейной гуще.

 

Добавлено через некоторое время:

Вопрос к знатокам:

Для предметов классов cse_alife_item_document (II_DOC) и cse_alife_item_pda (D_PDA/S_PDA) имеется параметр 'info_portion', который в исходной игре никак не задействован (пустая строка).

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

 

Примечание: Очень не хочется быть привязанным только к all.spawn'у или перезаписывать нет-пакеты нужных объектов, чтобы использовать данный параметр.

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

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

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

Всем привет! Не подскажите как можно удалить ремкомплект(в соли) скриптом?

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

  ▲

▲ ▲

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

Как изменить список вещей, всегда остающихся у игрока во время боёв на Арене?

 

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

И ещё вопрос в дополнение к предыдущему. Где настраиваются координаты, куда телепортируется игрок при отказе от перехода на другую локацию?

Ссылка на комментарий
  Цитата
И ещё вопрос в дополнение к предыдущему. Где настраиваются координаты, куда телепортируется игрок при отказе от перехода на другую локацию?

Если я прав, то в all.spawn где пути (точка и направление). На какой путь телепортировать прописывается в секции левел чейнджера тоже в all.spawn.

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

alife():release(sobj,true)

Где sobj серверный объект.

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

ТЧ 1.0004. SAP и Trans mod

github

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

Artos,

  Цитата
Для предметов классов cse_alife_item_document (II_DOC) и cse_alife_item_pda (D_PDA/S_PDA) имеется параметр 'info_portion', который в исходной игре никак не задействован (пустая строка).

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

 

Примечание: Очень не хочется быть привязанным только к all.spawn'у или перезаписывать нет-пакеты нужных объектов, чтобы использовать данный параметр.

Нет строки в конфиге. Только через SDK/аллспавн/нетпакеты.

  Полезный утиль (Показать)
Ссылка на комментарий

Как сделать так, чтоб нож и детектор в слоте отображались? Видел подобное в моде "RealBags"... Но вытащить именно это не получается... :(

Помогите кто-нибудь, плиз!..

Сообщение от модератора ColR_iT
Вопрос не в ту тему.
Изменено пользователем ColR_iT
Ссылка на комментарий

Кто-нибудь знает, почему при потери НПС оружия(когда в руку НПС попадает пуля), НПС тупо стоит на месте с расставленными руками?

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

Подскажите грамотную проверку на то, что все элементы массива - числа. Есть такой вариант:

local a = 0
local count = #tbl
for k=1,count do
if type(tbl[k]) == "number" then
a = a + 1
if a == count then
--action
end
end
end

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

ТЧ 1.0004. SAP и Trans mod

github

Ссылка на комментарий
Desertir, например :
function IsAllNumber(t)
    local i=#t+1
    repeat i=i-1
    until type(t[i])~='number'
    return i==0
end
      
if IsAllNumber(tbl) then
...
end

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

Черт, зациклился я на for. Про другие циклы даже не вспомнил...

Может тогда и для других основных значений и немного по-другому.

function is_val_tbl(t,val)
local i = #t
while type(t[i]) == val do
i = i - 1
end
return i == 0
end

Кстати, что будет, если допустим у нас есть клиентский объект - obj (колбаса например) и сделать вот так:

local tp = type(obj)

Чему в этом случае будет равно tp?

 

Подобным вопросам самое уместное место в топике: "Язык Lua. Общие вопросы программирования."

--/ Artos

 

Хорошо, давайте продолжим в том топике.

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

ТЧ 1.0004. SAP и Trans mod

github

Ссылка на комментарий
  Цитата
type (v)

Возвращает тип параметра в виде строки. Возможные результаты этой функции - это "nil" (как строка, а не значение nil), "number", "string", "boolean", "table", "function", "thread", и "userdata".

 

Если в v будет объект то type вернет "userdata"

Freedom

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

возможно для кого то вопрос покажется нубским, но как в скрипте записать косинус или синус от переменной и модуль полученного числа?

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

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

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

Смотри таблицу математических функций luа - mаth.

Р.S. Прочитай чуть выше, что написал Аrtоs (синим таким)

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

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

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

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

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

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

Войти

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

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

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