Перейти к содержанию

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

 
 

Полезная функция.
 

Спойлер

replace_from_string(<string>,<table>)

replace_from_string("REPLACE ME", {["ME"] = "THIS"})

Выведет REPLACE THIS.

function replace_from_string(str, tbl) --заменить какие-то символы в строке на ... (чтобы удалить, надо использовать так: void(string,{[key] = ""})
    for k,v in pairs(tbl) do
        str = string.gsub(str, k, tbl[k])
    end
    return str
end

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

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

Изменено пользователем ian98
  • Лайк 1

76561198152189716.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
16 часов назад, Paradox27kms сказал:

чтобы он вообще не разговаривал в плане фраз

Как вариант, открываем sounds\characters_voice\...  и заменяем все не понравившиеся фразы пустым .ogg файлом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Paradox27kms вроде как это делается вот так:

[meet]
close_anim 			= nil
close_victim 			= nil
far_anim 			= nil
far_victim 			= nil
close_snd_hello 		= nil
close_snd_bye 			= nil
close_distance  		= 0
far_distance 			= 0
allow_break 			= false
meet_on_talking 		= false

У меня НПС после такого не говорил, вроде как.

  • Лайк 1
  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 часа назад, ian98 сказал:

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

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

Спасибо за предложенную помощь, я тоже не против вместе поковыряться. У меня другая немного задача, это не совсем нпс, это обжект который наделен некоторыми функциями позаимствованными от нпс. Модель я сам сделал, добавил, усадил, скомпилировал уровень - с этим всё норм, но как дошло до того что мне захотелось сделать эту статую "кликабельной" - тут я обвалился. Совершенно не парю как прописать ей логику. У меня со скриптами и конфигами вообще проблема, а вот в остальном вроде голова соображает. Писал Андрею Непряхину, т.к. с его уроков учился, он тоже придерживается что реализация возможна. Скинул ссылку на соседнюю тему. Изучаю. Если что, вот ветка с Genior`ом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

  • Лайк 1

В беге за рассветом приближаешь свой закат

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Подскажите, почему у меня после компиляции левела динамические объекты отсутствуют расставленные в сдк?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

AziatkaVictor Благодарю


Дополнено 14 минуты спустя

Pepel Можно действительно попробовать через GUI

 

5.jpg

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Paradox27kms сказал:

AziatkaVictor Благодарю


Дополнено 14 минуты спустя

Pepel Можно действительно попробовать через GUI

 

5.jpg

а дайте подробности - как с ней работать пожалуйста и актуальную версию

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Pepel Ставишь спейс рестриктор в нем прописываешь что-то типа

[logic]
active = sr_idle@start

[sr_idle@start]
on_info = {=actor_in_zone(test_zone)} sr_timer@end %=start_gui()%

[sr_idle@end]

test_zone - название рестриктора который нужно поставить на объект

В xr_effects.script пишем

function start_gui()
        start_gui_menu(ui_mm_mod.ui_mm_mod())
end

В _g.script пишем в самый конец

function start_gui_menu(gui, close_inv)
         if close_inv == true then
            gui:ShowDialog(true)
            level.show_weapon(true)
            game_hide_menu()
         else gui:ShowDialog(true)
     end
end

К слову крайним шагом будет создание самого окошка GUI которое в xr_effects в строке start_buy_menu(ui_mm_mod.ui_mm_mod()) прописано как ui_mm_mod.

Вот тут статья как научится создавать GUI окна http://old.ap-pro.ru/forum/104-9830-1 я лишь показал как его вообще запустить на твоем примере

Изменено пользователем Paradox27kms
  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Pepel возможно ты забыл скомпилировать спавн или сделал привязку к АИ-сетке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
10 минут назад, AziatkaVictor сказал:

Pepel возможно ты забыл скомпилировать спавн или сделал привязку к АИ-сетке.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Paradox27kms 

Цитата

Вот тут статья как научится создавать GUI окна http://old.ap-pro.ru/forum/104-9830-1 я лишь показал как его вообще запустить на твоем примере

при переходе пишет что обнаружено вредоносное по

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Pepel Странно, у меня ничего не пишет. Если что это старый сайт ap-pro там много полезной инфы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Как задать в таймер на 2 минуты? 

Спойлер


[sr_timer@select]
type = dec
start_value = 200000
string = st_need_choose
on_value = 0 | sr_idle@end %=kill_npc%

Вписал эту логику, в игре происходит вылет. Подскажите, как правильно его оформить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Крим 

[logic]
active = sr_idle@start

[sr_idle@start]
on_info = sr_timer@timer

[sr_timer@timer]
type = dec
start_value = (число)
string = st_match_timer_start
on_value = 0 | sr_idle@end

[sr_idle@end]

Изменено пользователем Paradox27kms
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Доброго времени суток

Подскажите в чём проблема. В SDK 0.7 CoP сбилдил карту (нужно только для спауна) . xrAI_draft - данный батник отрабатывает, но xrAI не хочет выполняться. Лог с ошибкой:

* New phase started: Loading level...
stack trace:

0023:0283CE10 xrCore.dll, IReaderBase<IReader>::find_chunk

Почему так происходит? Что не так сделано?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
36 минут назад, nikolySOR сказал:

Доброго времени суток

Подскажите в чём проблема. В SDK 0.7 CoP сбилдил карту (нужно только для спауна) . xrAI_draft - данный батник отрабатывает, но xrAI не хочет выполняться. Лог с ошибкой:

* New phase started: Loading level...
stack trace:

0023:0283CE10 xrCore.dll, IReaderBase<IReader>::find_chunk

Почему так происходит? Что не так сделано?

build.prj и build.cform в файлах локации есть? если нет, то сперва нужно собирать геометрию


1094645337_standard(1).gif.c475d6778d25dbf0c76f89b5055f11c0.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, i-love-kfc сказал:

build.prj и build.cform в файлах локации есть? если нет, то сперва нужно собирать геометрию

build.prj есть

build.cform - данный файл отсутствует

Посредствам чего он появляется? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
26 минут назад, nikolySOR сказал:

build.cform - данный файл отсутствует

Посредствам чего он появляется? 

После сборки геометрии в xrLC


1094645337_standard(1).gif.c475d6778d25dbf0c76f89b5055f11c0.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
12 минут назад, i-love-kfc сказал:

После сборки геометрии в xrLC

А имеет ли значение какого качества локация? Качество установлено draft значит и AI собирать надо в драфте? Если это так то в чём будет разница между AI?  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, nikolySOR сказал:

А имеет ли значение какого качества локация?

для xrai качество геометрии особой роли не играет


1094645337_standard(1).gif.c475d6778d25dbf0c76f89b5055f11c0.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
39 минут назад, AziatkaVictor сказал:

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

Благодарю за ответ! Вопрос по поводу .spawn. При сборке спавна он только для одной карты. Только не понятно как собрать для нескольких лок с общим all.spawn. Есть ли такая возможность?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

nikolySOR в батнике пишешь локации через запятую "лока1,лока2,лока3", первой должна быть той, где спавнится ГГ, вроде как. Еще можешь написать "-out all", чтобы не переименовывать по сто раз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу