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

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

Тема для обсуждения скриптов всего и всех в серии игр 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
Ссылка на комментарий
4 минуты назад, 7.9 сказал:

Я больше про сам набор символов имел в виду, про сами текстуры шрифтов

Ну так создаёте текстуры с буквами, потом описывайте символы попиксильно в хмл файле, потом кофигурируйте в fonts.ltx

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

Не-е -- мне слабо (графически) хороший шрифт сделать. Плюс там ещё непонятно как-то альфа канал задействован... мне слабо :)

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

всё легко

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

function go()
    news_manager.send_tip(db.actor, "Привет \nнегры", 2, "default", 6000)
end

кто знает, почему тег \n не переносит строчку? тч 1.0006, функцию через диалог вызываю

Ссылка на комментарий
В 22.08.2017 в 20:42, Graff46 сказал:

В дополнение...

Что бы в ГУИ элементах работали переносы строк стоит провести такое преобразование:


function inline_str (str)
	return string.gsub(str, "[\r\n]",'\\n')
end

 

Может вы поможете как мне перенести строку - выше тема

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

@BossBoroda

Если строка задается непосредственно в Lua скрипте, то нужно писать так:

news_manager.send_tip(db.actor, "Привет\\nнегры", 2, "default", 6000)

 

S.T.A.L.K.E.R. CoP Objects (upd 15.11.24)

Ссылка на комментарий
18 часов назад, WinCap сказал:

@BossBoroda

Если строка задается непосредственно в Lua скрипте, то нужно писать так:


news_manager.send_tip(db.actor, "Привет\\nнегры", 2, "default", 6000)

 

щас попробую

 

Звук есть о том, что сообщение пришло, а само не выводится на экран(

 

а как сделать, что бы из файла XML ,бралась фраза? может тогда пойдет

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

@BossBoroda

В XML файле описывается строка:

<string id="st_test">
	<text>Привет\nнегры.</text>
</string>

А в скрипте пишется:

news_manager.send_tip(db.actor, "st_test", 2, "default", 6000)

 

S.T.A.L.K.E.R. CoP Objects (upd 15.11.24)

Ссылка на комментарий
13 часов назад, WinCap сказал:

@BossBoroda

А в скрипте пишется:


news_manager.send_tip(db.actor, "st_test", 2, "default", 6000)

 

А не st_test, без кавычек?

Сталкер - наше всё!

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

Это зависит от того, что хочется получить в результате, и есть ли где-то переменная st_test. Наличие в xml тэга с аналогичным названием ни каким образом не связано с существованием каких-либо переменных.

 

Ну и в зависимости от того, что там за  news_manager.

 

 

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

в чем дело пишу функцию:

function go2()

news_manager.send_tip(db.actor, "текст\\nтекст ", 2, "default", 6000)

end

--или

function go2()

news_manager.send_tip(db.actor, "текст\nтекст ", 2, "default", 6000)

end

при теге \\n, звук есть, сообщение только остается в истории пда, а на экран не выводится(

а при теге \n, тег просто исчезает сообщение приходит, строка не переносится(ну тут понятно)

тч 0006

пробовал удалять геймдату) 

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

@BossBoroda , сообщение может не появляться, если текста очень много. Или бывает такой глюк на шф разрешениях, не знаю, правда, причины.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий
19 часов назад, nasar75 сказал:

В оригинале в кавычках:

Может, я с другой функцией попутал? Точно помню, что в одной функции чистый текст в кавычках был, а ссылка на тег - без кавычек.

Сталкер - наше всё!

Ссылка на комментарий
11 часов назад, naxac сказал:

@BossBoroda , сообщение может не появляться, если текста очень много. Или бывает такой глюк на шф разрешениях, не знаю, правда, причины.

Да ты был прав! У меня разрешение 1440x900, поставил 1024х768 сообщение пришло с тегом \\n, кто знает лечится ли этот баг?

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

@BossBoroda попробуй установить вот это: https://yadi.sk/d/NFmNqPRFpvq3u

Только свои файлы сохрани на всякий случай.

 

Ссылка на комментарий
1 час назад, Marafon6540 сказал:

@BossBoroda попробуй установить вот это: https://yadi.sk/d/NFmNqPRFpvq3u

Только свои файлы сохрани на всякий случай.

 

Вроде работает но в такой функцие

function go()
    news_manager.send_tip(db.actor, "st_test1", 2, "default", 6000)
     news_manager.send_tip(db.actor, st_test2, 8, "default", 6000) 
 news_manager.send_tip(db.actor, "Чат Зоны\\nПривет кто нибудь видел гордеего Вову - Зилибоба кличут", 10, "ban", 10000, first_speaker, second_speaker)
 news_manager.send_tip(db.actor, "Чат Зоны\\nНе не видел, а что?", 18, "default", 10000) 
 news_manager.send_tip(db.actor, "Да он мне бабок и арт должен", 26, "ban", 10000)  
 news_manager.send_tip(db.actor, "Эй, что ты гонишь, ты мне их в карты прогирал", 34, "vova", 10000) 
 news_manager.send_tip(db.actor, "Не ври я с тобой пьяный играл и ты меня облапошил", 42, "ban", 10000) 
 news_manager.send_tip(db.actor, "Твоя вина, я не в чем не виноват", 50, "vova", 10000) 
 news_manager.send_tip(db.actor, "Забиваю тебе стрелку в Гоношихе в здании горожа, где танки", 58, "ban", 10000)
go1(first_speaker, second_speaker) ;

строка:  news_manager.send_tip(db.actor, "Чат Зоны\\nНе не видел, а что?", 18, "default", 10000)

все таки не показывается первая пошла

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

Кто знает как задержку функции делать, то есть пример по прошлой функции , нижняя строчка go1(first_speaker, second_speaker) ; активирует мгновенно эту функцию как только сработала function go(), а мне надо допустим с задержкой в 58 сек (или как то это по другому делается?)

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

@BossBoroda Попробуй через таймер запустить:

====================================

 function action_timer()
      .... ваш код по истечению таймера ....
   end
   function start_timer()
      -- взводим таймер на 10 секунд
      local iTimer = time_global() + 10000
      -- функция ожидания истечения таймера
      local function check_timer()
         return time_global() > iTimer
      end
      -- ставим её на апдейт
      level.add_call(check_timer, action_timer)
   end

-------------------------------------------------------------------------------------

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

Pir%40t%40s.gif

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

Можешь пример с этой фун. привести (а то я чет не понял ничего)?

 

function go()
    news_manager.send_tip(db.actor, "st_test1", 2, "default", 6000)
     news_manager.send_tip(db.actor, st_test2, 8, "default", 6000) 

end

Изменено пользователем Kirgudu
Избыточное цитирование
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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