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

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

Как сделать и можно ли что бы НПС(стоящий на одном и том же месте и днем иночью..) сидел на корточках ?

---

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

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

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

А в каком файле ? Просто только сегодня первый раз заспаунил нового НПС, вот и не понятно многое..

 

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

Все, понял в каком, но все равно НПС стоит лицом к стене, а когда к нему подходишь, он поворачивается, можно как нибудь сделать что бы он сначала уже стоял спиной к стене..как Волк к примеру..

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

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

Ulman, чисто из интереса попробуй так сделать:

local snd  = xr_sound.get_safe_sound_object([[папка_звука\звук]])
function update()
    local snd_satiety = 0.2
    if snd_satiety>db.actor.satiety then
        if not snd:playing() then snd:play_at_pos(db.actor, vector ():set (0, 0, 0), 0, sound_object.s2d) end
    else
        if snd:playing() then snd:stop() end
    end
    snd_satiety = db.actor.satiety
end

Если значение сытости ГГ меньше 0.2, то будет повторятся звук... Всё это дело на апдейт вешай.

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

Shadows, дополню: ты пытаешься сравнить 0.2 с ниллом следовательно последует вылет.

 

local snd = xr_sound.get_safe_sound_object([[папка_звука\звук]])

function update()

local snd_satiety = 0.2

local satiety = db.actor.satiety

if satiety == nil then

satiety = 0

elseif snd_satiety>db.actor.satiety then

if not snd:playing() then snd:play_at_pos(db.actor, vector ():set (0, 0, 0), 0, sound_object.s2d) end

else

if snd:playing() then snd:stop() end

end

snd_satiety = db.actor.satiety

end

 

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

  ▲

▲ ▲

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

Вот нашел схему сидящего НПС(не на корточках)

[kamp]

center_point = kamp_center - а как это имя узнать, или если костра нету, то как сделатьчто бы НПС смотрел типа на костер, но там его не было, что бы никакого предмета там не было..?

*radius = 2

*def_state_moving = run

 

 

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

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

local snd = xr_sound.get_safe_sound_object([[папка_звука\звук]])
function update()
local snd_satiety = 0.2
local satiety = db.actor.satiety
if satiety == nil then
satiety = 0
elseif snd_satiety>db.actor.satiety then
if not snd:playing() then snd:play_at_pos(db.actor, vector ():set (0, 0, 0), 0, sound_object.s2d) end
else
if snd:playing() then snd:stop() end
end
snd_satiety = db.actor.satiety
end

dragunof а сам? Ты переменной присваиваешь значение ноль но всё равно сравниваешь с голодом

Тогда уж:

local snd = xr_sound.get_safe_sound_object([[папка_звука\звук]])
function update()
local snd_satiety = 0.2
local satiety = db.actor.satiety
if satiety == nil then satiety = 0 end 
if snd_satiety>satiety then
if not snd:playing() then snd:play_at_pos(db.actor, vector ():set (0, 0, 0), 0, sound_object.s2d) end
else
if snd:playing() then snd:stop() end
end
snd_satiety = db.actor.satiety -- непонимаю, зачем?
end

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

Народ, помогите, кто разбирается. Сделал простой диалог - заготова для квеста:

<dialog id="task_pda_dialog">
<dont_has_info>task_pda_dialog</dont_has_info>
       <phrase_list>
           <phrase id="0">
       <text>task_pda_dialog_0</text>
       <next>1</next>
           </phrase>
           <phrase id="1">
               <text>task_pda_dialog_1</text>
       <next>2</next>
       <next>3</next>
           </phrase>
           <phrase id="2">
               <text>task_pda_dialog_2</text>
           </phrase>
		 <phrase id="21">
               <text>task_pda_dialog_21</text>
			<next>211</next>
           </phrase>
           <phrase id="3">
               <text>task_pda_dialog_3</text>
			<give_info>task_pda_dialog</give_info>
           </phrase>
		<phrase id="211">
               <text>task_pda_dialog_211</text>
           </phrase>
       </phrase_list>
   </dialog>

 

но после <phrase id="2">, должна следовать <phrase id="21">(Меченый согласился и НПС ему поясняеть суть задания). Однако этого нет - диалог обрывается на вопросе "Что нужно сделать" Вот текст диалога. для большей понятливости:

	<string id="task_pda_dialog_0">
       <text>Чего звал?</text>
   </string>
   <string id="task_pda_dialog_1">
       <text>Меченый, хочешь подзаработать? Работа непыльная, плачу сразу.</text>
   </string>
   <string id="task_pda_dialog_2">
       <text>Что нужно сделать?</text>
   </string>
   <string id="task_pda_dialog_3">
       <text>Нет, не хочу.</text>
   </string>
<string id="task_pda_dialog_21">
       <text>Тут у одного новичка видел отличный ПДА. Будь добр, принеси мне его.</text>
   </string>
    <string id="task_pda_dialog_211">
       <text>Хорошо, постараюсь найти и принести.</text>
   </string>

 

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

Shadows, TRAMP14:

 

Expression : fatal error

Function : CScriptEngine::lua_error

File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp

Line : 73

Description : <no expression>

Arguments : LUA error: ...s.t.a.l.k.e.r - lwr\gamedata\scripts\xr_logic.script:1465: attempt to index field 'actor' (a nil value)

Откуда появился ума не приложу, проверял обе функции, одинаковый вылет.

  ▲

▲ ▲

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

dragunof, кстати, у меня такое было, я про это рассказывал, а игра сама запускается, или вылет при самой загрузке?

И на счёт того скрипта, звук играется, но всегда, то есть независимо от голода...но всё же не пойму почему встречается переменная "satiety" в других скриптах.

И ещё, от каких скриптов может быть такое, что сейвы не загружаются? Просто на синхронизации зависает игра и всё, только процесс выключать надо. И кстати, существуют ли на ТЧ вообще какие то отладочные скрипты?

 

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

dragunof, у меня такое было, когда в bind_stalker, скорее не туда куда надо, я вписывал функцию, но у меня было по другому, у меня работали только жизненно важные скрипты, всегда было время 00.00, и при попытке вызова функции связанной с "actor" проходил именно такой вылет.

Я тут написал скрипт и как всегда из-за него не загружались сейвы, что с ним не так, кто знает?

function spawn_parts(obj)
   local section = obj:section()

   if section=="m_fracture_e" then
         amk.spawn_item_in_inv("anom_remover",obj)
      end
   if section=="m_boar_e" then
         amk.spawn_item_in_inv("mutant_boar_leg",obj)
         amk.spawn_item_in_inv("mutant_boar_leg",obj)
         amk.spawn_item_in_inv("mutant_boar_leg",obj)
      end
   if section=="boar_weak" then
         amk.spawn_item_in_inv("mutant_boar_leg",obj)
         amk.spawn_item_in_inv("mutant_boar_leg",obj)
         amk.spawn_item_in_inv("mutant_boar_leg",obj)
      end
   if section=="boar_normal" then
         amk.spawn_item_in_inv("mutant_boar_leg",obj)
         amk.spawn_item_in_inv("mutant_boar_leg",obj)
         amk.spawn_item_in_inv("mutant_boar_leg",obj)
      end
   if section=="boar_strong" then
         amk.spawn_item_in_inv("mutant_boar_leg",obj)
         amk.spawn_item_in_inv("mutant_boar_leg",obj)
         amk.spawn_item_in_inv("mutant_boar_leg",obj)
      end
   if section=="m_burer_e" then
         amk.spawn_item_in_inv("mutant_burer_hand",obj)
      end
   if section=="burer_weak" then
         amk.spawn_item_in_inv("mutant_burer_hand",obj)
      end
   if section=="burer_normal" then
         amk.spawn_item_in_inv("mutant_burer_hand",obj)
      end
   if section=="burer_strong" then
         amk.spawn_item_in_inv("mutant_burer_hand",obj)
      end
   if section=="m_chimera_e" then
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
      end
   if section=="chimera_weak" then
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
      end
   if section=="chimera_normal" then
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
      end
   if section=="chimera_strong" then
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
      end
   if section=="electro_chimera" then
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
         amk.spawn_item_in_inv("mutant_chimera_kogot",obj)
      end
   if section=="m_gigant_e" then
         amk.spawn_item_in_inv("mutant_psevdogigant_hand",obj)
      end
   if section=="m_gigant_normal" then
         amk.spawn_item_in_inv("mutant_psevdogigant_hand",obj)
      end
   if section=="gigant_normal" then
         amk.spawn_item_in_inv("mutant_psevdogigant_hand",obj)
      end
   if section=="gigant_strong" then
         amk.spawn_item_in_inv("mutant_psevdogigant_hand",obj)
      end
   if section=="m_poltergeist_e" then
         amk.spawn_item_in_inv("mutant_poltergeist_glas",obj)
      end
   if section=="m_poltergeist_normal" then
         amk.spawn_item_in_inv("mutant_poltergeist_glas",obj)
      end
   if section=="m_poltergeist_normal_tele" then
         amk.spawn_item_in_inv("mutant_poltergeist_glas",obj)
      end
   if section=="m_poltergeist_tele_outdoor" then
         amk.spawn_item_in_inv("mutant_poltergeist_glas",obj)
      end
   if section=="m_poltergeist_normal_flame" then
         amk.spawn_item_in_inv("mutant_poltergeist_glas",obj)
      end
   if section=="m_poltergeist_strong_flame" then
         amk.spawn_item_in_inv("mutant_poltergeist_glas",obj)
      end
   if section=="m_snork_e" then
         amk.spawn_item_in_inv("mutant_snork_leg",obj)
      end
   if section=="snork_weak" then
         amk.spawn_item_in_inv("mutant_snork_leg",obj)
      end
   if section=="snork_normal" then
         amk.spawn_item_in_inv("mutant_snork_leg",obj)
      end
   if section=="snork_strong" then
         amk.spawn_item_in_inv("mutant_snork_leg",obj)
      end
   if section=="aes_snork" then
         amk.spawn_item_in_inv("mutant_snork_leg",obj)
      end
   if section=="snork_arena" then
         amk.spawn_item_in_inv("mutant_snork_leg",obj)
      end
   if section=="snork_indoor" then
         amk.spawn_item_in_inv("mutant_snork_leg",obj)
      end
   if section=="snork_outdoor" then
         amk.spawn_item_in_inv("mutant_snork_leg",obj)
      end
   if section=="snork_jumper" then
         amk.spawn_item_in_inv("mutant_snork_leg",obj)
      end
   if section=="m_zombie_e" then
         amk.spawn_item_in_inv("mutant_zombie_hand",obj)
      end
   if section=="zombie_weak" then
         amk.spawn_item_in_inv("mutant_zombie_hand",obj)
      end
   if section=="zombie_normal" then
         amk.spawn_item_in_inv("mutant_zombie_hand",obj)
      end
   if section=="zombie_strong" then
         amk.spawn_item_in_inv("mutant_zombie_hand",obj)
      end
   if section=="zombie_trup" then
         amk.spawn_item_in_inv("mutant_zombie_hand",obj)
      end
   if section=="zombie_trup2" then
         amk.spawn_item_in_inv("mutant_zombie_hand",obj)
      end
   if section=="zombie_blow" then
         amk.spawn_item_in_inv("mutant_zombie_hand",obj)
      end
   if section=="zombie_beee" then
         amk.spawn_item_in_inv("mutant_zombie_hand",obj)
      end
   if section=="zombie_immortal" then
         amk.spawn_item_in_inv("mutant_zombie_hand",obj)
      end
   end

 

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

_Призрак_, вызываю из bind_monster так

function generic_object_binder:death_callback(victim, who)
        ulman_monster_parts.spawn_parts(victim)

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

Да и вообще за основу немного брал ARC_diary, там в контроллёров так спавнилось:

function monster_killed(obj,who)
  local obj_sect = obj:section()
  if obj_sect=="controller_tubeman" then
    amk.spawn_item_in_inv("sgus",obj)
    if not has_alife_info("kontroler_diary_info_17") then
       amk.spawn_item_in_inv("arc_diary_17", obj)
    end

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

Привет, не знаю в какую тему писать но видимо проблема именно по теме раздела, решил новую группировку создать, сделал вроде всё правильно но игра вылетает при начале новой игры, или при загрузке любого сохранения

Expression : no_assert

Function : CIni_IdToIndex<1,struct COMMUNITY_DATA,class shared_str,int,class CHARACTER_COMMUNITY>::GetById

File : e:\stalker\patch_1_0004\xr_3da\xrgame\ini_id_loader.h

Line : 134

Description : item not found, id

Arguments : trader

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

Meine Ehre heißt Treue (Моя честь называется верность)

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

Такой вопрос. Допустим у игрока в руках в данный момент оружие из 3-го слота. Как скриптом сменить на 2-й? Или если в руках ничего нет, то 2-й.

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

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

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

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

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

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

Войти

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

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

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