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

[SoC] Ковыряемся в файлах


Halford

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

меченый(стрелок)

он не ид наверное имела в виду а СИД=)

если даже и ид, то как по сиду сделать это?

,,,,,,,,,,,,,,,,,,,,,,,,,,,

хотя меня больше интересует функция удаления трупа, я сколько не парился с удалением трупа, так и не смог добитья норм удаления! при массовом удалении вылет.

87728-stalker.gif

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


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

Unnamed Black Wolf

1. Стрелок не говорил, а писал!

2. Учатся на своих ошибках!

3. Если ты многое знаешь, это не значит что все должны знать!

4. Тебе лет сколько? Явно больше моего! И я скриптами занялся совсем недавно!

 

 

87728-stalker.gif

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


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

меченый(стрелок)

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

почему труп остается в онлайне?

87728-stalker.gif

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


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

Каким образом НПС реагируют на игру гитары другого НПСа?

это логика или скрипт?

Что я имею в виду: когда нпс играет на гитаре, то другие(другой) оценивает его игру либо "+"(похвала;пример:"Ну, ты мастер" либо"-"(недовольство;пример:"Кончай уже, Рихтор...!", как это происходит?

87728-stalker.gif

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


Ссылка на сообщение
(изменено)

Stalk15

006 -- это не айди волка!, а его сид.

 

 

точно не уверен, но сработать должно, проверка на тебе=)

 

function on_talk()
  local npc = level_object_by_sid(006) 
    db.actor:run_talk_dialog(npc)
end

Изменено пользователем ФеНиКс
87728-stalker.gif

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


Ссылка на сообщение
(изменено)

erlik (Garry_Galler)

если не секрет что ты пытаешься сделать-то? (я про виджеты и всё то что ты делаешь :russian_ru: )

 

 

Каким образом НПС реагируют на игру гитары другого НПСа?
это логика или скрипт?
Что я имею в виду: когда нпс играет на гитаре, то другие(другой) оценивает его игру либо "+"(похвала;пример:"Ну, ты мастер" либо"-"(недовольство;пример:"Кончай уже, Рихтор...!", как это происходит?

 

 

Garry_Galler я уже исправился (просто скопипастил не то :crazy:)

по поводу что делаешь... О_О чё за пушка-то такая? (или просто апдейд ремонт и т.п.? )

Изменено пользователем ФеНиКс
87728-stalker.gif

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


Ссылка на сообщение
(изменено)

Stalk15

я бы ещё добавил проверку на расстояние вот так:

 

function on_talk()
  local npc = level_object_by_sid(006)
    if npc:position():distance_to(db.actor:position()) < 3 then
db.actor:run_talk_dialog(npc)
end
end

 

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

Garry_Galler

А, теперь понял!=) Прикольная штука однако=)

Изменено пользователем ФеНиКс
87728-stalker.gif

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


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

Stalk15

это расстояние до ГГ => от всех НПС мутантов и даже предметов.

87728-stalker.gif

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


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

Garry_Galler

 

Я думал Stalk15 имеет в виду вообще, а не в данном скрипт, а так эта проверка используется для всего. (по моему)

Исправь если я не прав.

 

87728-stalker.gif

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


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

как отыграть рандомный звук из таблицы, с позиции НПС находящемся на расстоянии 1 метра от ГГ.

самое главное для меня узнать вот это: "...с позиции НПС находящемся на расстоянии 1 метра от ГГ"

87728-stalker.gif

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


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

как сделать чтобы НПС ударил ГГ в Морду?

(постпроцесс, просто постпроцесс не катит, надо чтобы с анимацией это всё произошло.)

и как сделать, так чтобы ствол нельзя было выкинуть?

87728-stalker.gif

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


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

RvP

не имею я такой возможности=( трафик не резиновый=(

___________________________________________

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

т.е. не с анимациями НПСов и со всем прилежащим.

при использовании предмета.

Т.Е. сделать такое условие: Если ГГ использовал предмет и он на расстоянии удара, то ударить в морду.

87728-stalker.gif

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


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

Garry_Galler

Любой НПС должен бить в морду--

  level.add_cam_effector("camera_effects\\fusker.anm", 999, false, "")

-- это просто эффект от удара а самого удара не происходит

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

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

если ты(ГГ) махнул ножом(т.е. использовал) и ты(гг) стои(т)шь на расстоянии удара, то НПС ударит в морду ГГ.

87728-stalker.gif

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


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

Вот что у меня вышло,

 

function za_fak_v_mordu()
--local actor = db.actor
--local ipos = actor:position()
for i,v in pairs(db.storage) do
local obj = level.object_by_id(i)
if obj and IsStalker(obj) and obj:alive() and obj.health > 0.1 then --and
if obj:position():distance_to(db.actor:position()) < 2 then
  local item = db.actor:active_item()
  if not (item and item:section() == "wpn_fuck") then
     -- set_inactivate_input_time(30)
      local snd_obj = xr_sound.get_safe_sound_object([[affects\hit_fist]])
      snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
      level.add_cam_effector("camera_effects\\fusker.anm", 1999, false, "")
      level.add_pp_effector("fire_hit.ppe", 1974, false)
    end
  end
end
end
end

 

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

Как исправить это?

и как отследить использование ножа?

87728-stalker.gif

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


Ссылка на сообщение
(изменено)

Garry_Galler

Ой точно...я просто скопипастил, а not не убрал =)

Если честно, то нож-то мне и не нужен просто вещь на классе болта сделана...

и надо как-то отследить её применение.

И остаётся загадкой как анимацию проиграть...=(

Изменено пользователем ФеНиКс
87728-stalker.gif

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


Ссылка на сообщение
(изменено)

Stalk15

 

function name()
local npc = level_object_by_sid(айди)
npc:set_character_community("имя группировки", 0, 0)
end

 

Если функцию смены группировки запускать из логики непися или из диалога, то функция будет выглядеть так:

 

function name(actor, npc)
npc:set_character_community("имя группировки", 0, 0)
end

Изменено пользователем ФеНиКс
87728-stalker.gif

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


Ссылка на сообщение
(изменено)

_Призрак_

И ты предлагаешь каждому НПСу менять логику!?

Я писал что Каждый НПС. :ny_z_8:

-

 

Изменено пользователем ФеНиКс
87728-stalker.gif

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


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

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

Как сделать в этой функции проверку в этом роде: Если условия не выполняютс(условия самой функции живой НПС на дистанции 1 м. и если активен предмет, то.....) то ничего не должно происходить!

А то у меня если по близости нет НПС постпроцес все равно играет=(

 

function za_fak_v_mordu()
for i,v in pairs(db.storage) do
local obj = level.object_by_id(i)
if obj and IsStalker(obj) and obj:alive() and obj.health > 0.1 then --and
if obj:position():distance_to(db.actor:position()) < 1 then
  local item = db.actor:active_item()
  if (item and item:section() == "wpn_fuck") then 
     -- set_inactivate_input_time(30)
      local snd_obj = xr_sound.get_safe_sound_object([[affects\hit_fist]])
      snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
      level.add_cam_effector("camera_effects\\fusker.anm", 1999, false, "")
   --   level.add_pp_effector("fire_hit.ppe", 1974, false)
    end
  end
end
end
end

87728-stalker.gif

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


Ссылка на сообщение
(изменено)

Stalk15

 

чё не понятного-то?

так сделай:

function blablabla()
local pos = db.actor:position()
pos         = pos:add(dir:mul(20))
alife():create(section,pos ))
end

Изменено пользователем ФеНиКс
87728-stalker.gif

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


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

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

AMK-Team.ru

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