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

Скриптование


Svoboда

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

Решил сделать фичу, как в ОП 2. При смерти ГГ выводится сообщение о том, что он сдох. Решил сделать также, но у меня не получилось.

Вписал проверку жив ли ГГ в начальную инфопорцию. (Не знаю важно ли это) 

info_portion id="storyline_actor_start">
 <task>storyline_eliminate_gunslinger</task>
    <action>my.god_spawn</action>
    <action>my.gg_podoh</action>
  </info_portion>

Сам скрипт:

 

function gg_podoh()

if not db.actor:alive() then

db.actor:give_info_portion("gg_pomer")

end

 

function sms_otpravka()

local snd = sound_object([[device\pda\pda_tip]])

local sactor = alife():actor()

local cactor = level.object_by_id(sactor.id)

snd:play_no_feedback(db.actor,sound_object.s2d, 5, vector():set(0, 0, 0), 0.7)

cactor:give_game_news("Система:\\n%c[255,200,200,200]ГГ сдох.", "ui_iconsTotal_found_money", Frect():set(0,0,83,47), 5001, 8 000)

end

end

 

Пробовал также через news_manager.send_tip. Но это не помогло.

Сам поршень:

 

  <info_portion id="gg_pomer">

 <action>kalecheniy_death.sms_otpravka

</action>

    </info_portion>

 

Скорее всего скрипт неправильно написан, или же сообщения после смерти главного героя просто не отправляются. Уже кучу раз перепробовал и всё никак не получается. 

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


Ссылка на сообщение

@naxac Решил сделать по другому. В bind_stalker создал проверку жив ли actor. Если не жив, то выдается инфопоршень. Этот инфопоршень отправляет сообщение.

Скрытый текст

    if not db.actor:alive() then
       my.portion()
    end

Скрытый текст

   <info_portion id="gg_smert">
    <action>my.sms_otpravka</action>
    </info_portion>

Скрытый текст

function sms_otpravka(actor, npc)
    news_manager.send_tip(db.actor, "%c[255,255,128,128]System:\n%c[default]You are dead.", nil, nil, 40000)
end

 

function portion()
db.actor:give_info_portion("gg_smert")
end

 

 

В итоге сообщение отправилось успешно.

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


Ссылка на сообщение

@Zander_driver Попробую. Я скриптами только недавно начал заниматься. Я и не думал, что on_death есть и у actor-а тоже.

@Norman Eisenherz У меня не сработало. Сообщение не отправилось.

@Zander_driver Я сначала подумал про All.spawn, но как я понял вы говорите про другое(Поправьте если всё-таки про All.spawn). Я не понимаю почему так важно не трогать поршни. Вообще не понял, что и как нужно тогда сделать. Если изучу скрипты в сталкере получше, то может быть пойму что вы мне написали.

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


Ссылка на сообщение
  • Недавно просматривали   1 пользователь

×
×
  • Создать...