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

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

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


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

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

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

 

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

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

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


  • Спасибо 1
  • Полезно 2
Ссылка на комментарий
*Shoker*, интересно... Тоесть если мое значение должно быть 0.5 при любых значениях до этого, то одной строкой не обойтись... Но это не важно, да и не нужно пока мне. Меня интересует еще такой момент: если я поставлю db.actor.health = -0.5, то будет отниматься 0.5 от текущего значения, так?
Жду ли я Сталкер 2? Хм...
Ссылка на комментарий

Верно, причём проверку что меньше\больше 0\1 делать не надо.

Игра сама всё сделает.

Также не забывай что при смерти объекта, здоровье ставится -1

Кстати это работает со всеми остальными объектами.

 

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

Можете рассказать, какие ньюансы есть с удалением аномалий через release() во время игры?

Мне надо создавать и удалять через некоторое время аномалии. Раньше у меня из за простого удаления часто ломались сохранения. Игра ЧН, аномалии в рестрикторы для НПС не добавляю.

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

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

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

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

*Shoker*, чето оно не фурычит...

if uslovie then

db.actor.health равно -0.2.

end

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

Что ж не так?

Жду ли я Сталкер 2? Хм...
Ссылка на комментарий

PavelSnork,для удержания уровня здоровья на уровне 0.8 напиши

if uslovie then
db.actor.health = 0.8 - db.actor.health
end

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

PavelSnork

Пока без понятия. Как в начале игры не знаю, но во время самой игры все параметры работают прекрасно.

Говорю с уверенностью, т.к сам с этим параметром последние дни работал :)

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

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

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

Здравствуйте мне вот в эту тему сказали обратится по моему вопросу. Вопрос такой.

1. Как создать респаун простых сталкеров. Вот моя ситуация, я заспаунил 4 Чистонебовцев на Болотах в ТЧ, а как создать респаун незнаю, вот и обратился к вам. Наверное нужно создать смарт терайн? Если не прав то поправьте. Мне надо создать респаун не квестовых нпс, а простых для заселения локации. Ну и попутно вот, что еще как создать респаун мутантов. Допустим заспаунил bloodsucker_strong, на болотах, а как создать ему респаун незнаю. Не могли бы вы господа знающие о респауне рассказать как и что и показать на примере по возможности.

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

На 6 патче ТЧ не при всех вылетах и вызовах функции abort игра крашится. Информация в лог идёт о том, что игра должна вылететь, но не вылетает. Кто-нибудь знает решение?

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

Привет всем, прошу помощи хотел сделать для соли и для огсе "звуки при использовании предметов" но что то не могу понять что делаю не так, за образец брал вот эту статью,

  статья (Показать)
Изменено пользователем ХЕМУЛЬ36RUS

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

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

Пишу скрипт, чтобы воспроизводился постэффект при падении выносливости, что нужно написать вместо health, чтобы прощитывалась выносливость?

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

ХЕМУЛЬ36RUS

До ЗП, у игры небыло колбека на использование вещи (self.object:set_callback(callback.use_object, nil))

Твоя функция просто не вызывается. Все модеры в ТЧ/ЧН используют колбек на потерю предмета из инвентаря и проверяют, что он был удалён (какбэ использован) Думаю в солянке его стоит искать в amk.script

 

Tris

power

Всё остальное можешь глянуть в скрипте lua_help.script

 

 

 

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

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

Ссылка на комментарий
  *Shoker* писал(а):
До ЗП, у игры небыло колбека на использование вещи (self.object:set_callback(callback.use_object, nil))

Твоя функция просто не вызывается. Все модеры в ТЧ/ЧН используют колбек на потерю предмета из инвентаря и проверяют, что он был удалён (какбэ использован) Думаю в солянке его стоит искать в amk.script

Нее - нее, коллбек на использование вещи был всегда, начиная с ТЧ. И работал тоже. Просто его не использовали.

 

ХЕМУЛЬ36RUS,

Странный вызов функции

zvuki.script.use_snd(obj)

Надо

zvuki.use_snd(obj)

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

Black Hunter

Ты бы разобрался с тем что хочешь сделать и написал бы конкретно что и как.

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

Как создать - смотри примеры уже имеющихся в all.spawn'е, коих немало. Ничего сложного, только задавай потребные тебе параметры (секции объектов для спавна, их кол-ва, частоту и пр.).

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

  Цитата
Black Hunter: Допустим заспаунил bloodsucker_strong, на болотах, а как создать ему респаун незнаю
Ему (уже заспавненному) - никак. Респавнер спавнит те объекты, котирые ты ему прописал в конфигах и контролирует кол-во 'своих' заспавненных, а не кем-то.

Создай респавнер в нужном месте, пропиши ему своего кровососа в кол-ве 1шт. и время респавна - вот и будет у тебя твой кровосос респавниться там где захотелось.

 

*Shoker*, про нюансы удаления аномалий можно говорить и много и мало.

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

Оптимально, ИМХО, два этапа: отключение (деактивация) аномалии и чистка рестрикторов у объектов поблизости и после паузы - перепроверка и удаление аномалии.

 

  *Shoker* писал(а):
Все модеры в ТЧ/ЧН используют колбек на потерю предмета из инвентаря и проверяют, что он был удалён (какбэ использован) Думаю в солянке его стоит искать в amk.script

Ну это ты всех оптом отправляешь в 2007-й год. :-)

В АМК-моде не было использовано для актора коллбэка на использование предмета (как и в оригинальной игре), но уже давным давно все нормальные моды его и добавили в коды успешно используют. И искать его (коллбэк на юзание актором) нужно не в сторонних скриптах, а в актор-биндере.

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

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

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

Artos не мог бы ты пожалуйтса написать мне как создать точку респауна с нужным мне монстром. Покажи пожалуста секцию и что там надо прописывать.

Да ты прав мне нужнен респаун для свободно гуляющих людей.

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

Подскажите как использовать функцию printf в ЗП?

Юзал интсрукцию по восстановлению этой функции от Призрака http://www.amk-team.ru/forum/index.php?sho...520#entry537135

Правильно ли такое использование:

function to_log()

printf("test")

end

и вешанье его на апдейт актора

function actor_binder:update(delta)

test.to_log

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

Black Hunter, я не занимаюсь гаданиями на кофейной гуще и даром кашпировского не обладаю.

Откуда я знаю какой тебе понадобился монстр?

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

Ты даже не уточняешь, достаточно создание в all.spawn'е или захотелось со скриптами побаловаться?

 

Даю 'рыбу':

1. находишь в all.spawn'е подходящую секцию со строкою 'section_name = respawn', в которой есть параметр 'respawn_section = ...' в котором перечислен(ы) люди или монстры.

2. Создаешь дубль этой секции (вспоминаем/смотрим как работать с all.spawn'ом), задав свое имя (name) респавнеру.

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

Для того, чтобы 'свободно' гуляли - добавь в [respawn] - параметр 'respawn_check = false'.

Не забудь в 'position' прописать свои координаты для точки спавна.

 

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

Rolan, советую почитать основы Lua, т.к. метод 'тыка' при употреблении функций/переменных отнимет и у тебя и у других немало времени в пустую.

В твоем случае printf - это уже функция, а запись 'printf("test")' - ни что иное, как команда:"Вызвать функцию printf с передачей ей в качестве аргумента строки 'test'". В результате, если 'printf' будет у тебя разблогирована - в лог запишется твое сообщение.

Вот тут #50 - готовый комплект для разблогирования 'printf'.

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

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

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

 

А можешь сказать за что отвечает вот эта строчка

  Цитата
;conditions
?

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

Вот полная строчка респауна бандитов на Кордоне ;conditions = {+esc_kill_bandits_quest_kill} 80, 0

И вот еще вопрос(извини если достал уже) Куда прописать respawn_check = false

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

Black Hunter

Указанная строка с ';conditions' - во первых, закомментрирована (симфолом точка с запятою) и игнорируется.

Если же была бы активна - то тут задаются условия, при которых респавнер активен или пассивен. Условия могут быть самыми разнообразными.

 

Параметр 'respawn_check = false' прописывается, как уже написал выше в секцию [respawn], типа:

  Раскрывающийся текст (Показать)
Изменено пользователем Artos

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

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

Black Hunter, не задав max_count (и min_count), которые у тебя закомментированы - твой респавнер будет периодически выбрасывать по 3 штуки плоти. Указав, 'respawn_check = false' и при условии, что плотей некому будет истреблять, твоя зона будет переполняться ими. Хотя бы какой-то ограничитель, но должен быть.

 

Примечание: Указав вероятности спавна 19% и 14% - ты по сути растягиваешь периодичность спавна 'medium' и спавниться скорее всего будут не по три, а меньшим числом ...

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

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

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

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

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

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

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

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

Войти

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

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

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