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

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

 
 

_V_O_IN_ Чисто теоретически если гейм туториал game_over (файл game_tutorials.xml) можно отредактировать на рандомный текст, то это будет проще всего. Если же нет, нужно выводить в нем пустой текст, а свой рандомный скриптом по событию смерть ГГ.

  • Хабар 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

Почему нигде нету террейна Болот из ЧН, кто может сказать где его взять?

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


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

vladvexa188 Скачай исходники локаций

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


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

Привет всем хотел спросить есть ли локации Anomaly для СДК?

Или подойдут из CoC 1.5?

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


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

denis2000 а вот как раз таки этот момент и непонятен. Нигде не нашел инфы как сделать рандом текста через xml.

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


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

как сделать рандом текста через xml.

_V_O_IN_, примерно так:

local hud = get_hud()
local cs_text = hud:GetCustomStatic("text_on_screen_center")
if cs_text then
  hud:RemoveCustomStatic("text_on_screen_center")
end
hud:AddCustomStatic("text_on_screen_center", true)
cs_text = hud:GetCustomStatic("text_on_screen_center")
cs_text:wnd():TextControl():SetText(game.translate_string("bla bla bla бла бла бла"))

Разумеется, вместо полностью рандомной, генерируемой на лету строки mla bla bla, можно подставить также параметр/переменную или имя строки, прекомпилированной в каком-нибудь XML (тогда поддержка языка будет автоматическая). Если не нравится стиль text_on_screen_center, можно выбрать другой из тучи в файле configs\ui\ui_custom_msgs.xml, либо там же в файле создать свой уникальный. Теоретически можно вставлять цветовые коды, но это надо пробовать. Также имеются разные (суб)методы у wnd() и его метода TextControl(), это поле для экспериментов со стилями.


Я логи в баню удалил, а вот за за рейдеры – не помню!

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


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

Как сделать ящик с рандомными выпадающими предметами как в ЧН? Пытаюсь прописать логику ящика из ЧН в ящик ЗП, и в итоге при его разрушении ничего не выпадает.

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


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

Как сделать ящик с рандомными выпадающими предметами как в ЧН? Пытаюсь прописать логику ящика из ЧН в ящик ЗП, и в итоге при его разрушении ничего не выпадает.

Прописываешь логику ящику, например:
[logic]
active = nil
[drop_box]
community = small_box_generic

Зайди сюда: gamedata\configs\misc\ph_box_items_by_communities.ltx
и сам сможешь создать нужный рандом.

  • Мастер! 1

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


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

@Neptun Спасибо, гляну.

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


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

Кста, как сделать что-бы труп определённого Сталкера или Мутанта не проподал?

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


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

Кста, как сделать что-бы труп определённого Сталкера или Мутанта не проподал?

Пропиши ему уникальный id

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


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

Всем привет. Подскажите пожалуйста, какой SDK брать если собираюсь ковырять Dead Air? 0.7, CoCовский, или у них свой собственный возможно?

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


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

Чуваки, такой вопрос. У кого нибудь имеется настроенный ригг рук Ганслингера под анимирование в Блендере?
Так уж вышло, что пилить анимации умею (ибо раньше использовал готовый Ригг от западных авторов под оригинальный ЗП скелет ) а вот настраивать это дело увы нет. Если у кого есть, можете поделиться?
или если есть человек шарящий за все это дело. Не могли бы помочь все это дело настроить?
Хотелось бы запилить анимации под новые предметы, которые планируются в создании одного мода

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

Спойлер

 


 

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

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


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

привет, как отследить смерть нпс от выстрела в голову?

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


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

Ребят что за ошибка и как её исправить:
 

FATAL ERROR
 
[error]Expression    : no_assert
[error]Function      : CXML_IdToIndex<class CSpecificCharacter>::GetById
[error]File          : E:\xrMPE\GIT\xray16_xrMPE\xray\xrServerEntities\xml_str_id_loader.h
[error]Line          : 113
[error]Description   : item not found, id
[error]Arguments     : marsh_csky_tutorial_guid
 

stack trace:

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


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

vladvexa188, что выдаёт полнотекстовый поиск TotalCommander'а (или аналогичного инструмента) в дереве файлов/папок gamedata\configs? Искать надо проблемную строку marsh_csky_tutorial_guid

Есть она в каком-либо XML-файле? Или есть, да не совсем та?


Я логи в баню удалил, а вот за за рейдеры – не помню!

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


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

@BarmaGlot Это НПС которого я прописал, и игра жалуэтся что не может найти его, хоть я уже раз сто проверил где я мог неправильно его прописать.

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


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

как отследить смерть нпс от выстрела в голову?

Emmis, не будучи экспертом в CoP, вижу такой способ:

1) изменить скрипт в xr_hit.script action_process_hit:hit_callback, который параметром имеет bone_index, в плане: поместить в словарь xr_hit.bone_hit[npc_id] = bone_index (разумеется, такой словарь надо прописать сперва где-нибудь в начале xr_hit.script, типа bone_hit = {})

2) далее, в xr_death.script (и/или) se_stalker.script в событиях обработчиков смерти проверять этот словарь xr_hit.bone_hit[npc_id] на предмет того, что указанная в нём (последняя, по времени) ударенная кость принадлежит к костям головы.

Проблема: я не уверен, что xr_hit будет отрабатывать всякий хит, а не только прописанный в LTX-конфигах конкретного NPC

vladvexa188, я вам про Фому, вы мне про Ерёму ¯\_(ツ)_/¯


Я логи в баню удалил, а вот за за рейдеры – не помню!

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


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

не будучи экспертом в CoP, вижу такой способ

Возможно сильно умно. Можно сделать проще.

В файле xr_motivator.script в методе hit_callback(obj, amount, local_direction, who, bone_index) отловить хедшот

Спойлер

    if amount > 0 and who:id() == db.actor:id() then
        if bone_index == 15 or bone_index == 16 or bone_index == 17 or bone_index == 18 or bone_index == 19 then
            self.head_shoot = true
        elseif bone_index ~= "from_death_callback" then
            self.head_shoot = false
        end
    end    

И в этом же файле в методе death_callback(victim, who) обработать event

Спойлер

            if self.head_shoot == true then
-- обработка события
            end

 

  • Мастер! 1

Терпение... И все получится.

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


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

makdm, да, конечно в xr_motivator это должно работать гарантированно, и проще. Я просто про него забыл, а беглым поиском по обработчикам хита и смерти нашёл только те скрипты, о которых упомянул.

  • Жму руку 1

Я логи в баню удалил, а вот за за рейдеры – не помню!

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


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

Ребят, как сделать диалог как с осознанием?

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


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

Здравствуйте, решил вот начать скрипты изучать. Нашёл урок в интернете. Для теста решил прописать спавн ак74у и патронов в инвентаре у гг. Написал чтбы скрипт запускался при старте новой игры. Захожу в игру, но ничего не работает. В уроке было сказано только про привязку с крипта к диалогу, а мне это не нада.

Спойлер

if start_new_game then

function ak_create()
   alife():create("wpn_ak74u", vector(), 0, 0, 0)
   end
   
function ammo_create()
   alife():create("ammo_5.45x39_ap", vector(), 0, 0, 0)
   end

 

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


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

Skala Попробуй вместо вектора и нулевых координат отследить позицию актора:
db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id())

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


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

Drive Не помогло

 

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


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

Skala а что за переменная start_new_game? Ты ее описал выше?

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


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

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

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

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

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

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

Войти

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

Войти

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