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

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

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

Собственно сам вопрос как сделать чтобы он стоял так чтобы ГГ не мог пройти(ответ очевиден конечно заспавним его так...), но как сделать чтобы он отходил при получении поршня, т.е. если поршень получен, то при приближении ГГ к двери(ну в данном случаи к этому охраннику) он отходил, а когда ГГ прошёл в дверь, то возвращался, на место, и так же в обратном порядке.

 

 

Вот получилось что-то вроде этого

НПс заспавнил, дальше в

way_l01_escape.ltx

написал:

[top_top]
points = p0
p0:name = wp00|a=assault
p0:flags = 0x800
p0:position = 4.86052131652832,0.630123019218445,294.923675537109
p0:game_vertex_id = 186
p0:level_vertex_id = 281920

[see_see]
points = p0
p0:name = wp00
p0:flags = 0x800
p0:position = 4.86052131652832,0.630123019218445,294.923675537109
p0:game_vertex_id = 186
p0:level_vertex_id = 281920

 

ну и в логике:

 [logic]
active = remark
combat_ignore = combat_ignore

[remark]
anim = ward
combat_ignore_cond = always
no_move = true
target = actor
meet = no_meet
on_info = {+infos_1} walker@proxod

[walker@proxod]
on_actor_dist_le = 1
path_walk = top_top
path_look = see_ee

 

 

, но доделать не смог...=(

Помогите.

87728-stalker.gif
Ссылка на комментарий

Darien

ах вот оно что=)

я про вот это как раз и не понял...

..pos_mes.. .. .. =)

а 1 , это я уже тут на форуме так отредактировал...=)

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

nрс, это, я понимаю, локальная переменная содержащая имя секции в sраwn_sесtiоns.ltх моего нпс?

funсtiоn сhесk_dеаd_sоldiеrs()
lосаl nрс = {"еsс_brigе_sоldiеr_lеаdеr"}
if nоt nрс:аlivе() thеn *трам-пам-пам*
еnd
еnd

Оно?

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

кровоSTALKER

Нет, npc - объект, полученный, допустим, через level.object_by_id или level_object_by_sid. Пример:

local npc = level_object_by_sid(6)
if not npc:alive() then
--
end

Да любым способом можно получить твоего НПС.

Кстати, зачем ты в своём примере используешь таблицу и применяешь к ней метод alive() - непонятно.

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

А можно получить нпс методом if i=1, 66539 dо, а потом найти моего нпс'а по стрингу и проверить мёртв ли он?

ЗЫ: Метод этот знаю, просто с моб пишу и могу ошибиться в его синтаксисе.

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

кровоSTALKER

Если НПС уникален:

local sobj = alife():object("esc_wolf")
if sobj then
  local obj = level.object_by_id(sobj.id)
  if obj and not obj:alive() then
    -- действия
  end
end

И не if i=1, 66539 dо, а for i = 1, 65534 do.

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

ФеНиКс,

[logic]

active = remark

ремарк - это переходное состояние от одного действия к другому, что-то типа "ожидания" со своей (выбранной вами) анимкой. Но это не есть активная логика. :)

Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка

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

Я тоже не понимаю почему всех стоячих неписей делают на remark

поставте волкера с одной точкой (точка локк по желанию) или вобще чампера.

Строгое предупреждение от модератора n6260
Пишем грамотно.
Ссылка на комментарий

Здравствуйте!

Есть ли метод направления нпс в точку с координатами x,y,z?

Как бы без вейпонтов. Направить в определённую позицию.

 

И ещё вопросец, есть ли скрипт, для воспроизведения анимации нпс?

Например бежит сталкер, жмём заветную и сталкер падает и т.д...

Изменено пользователем TREWKO
Ссылка на комментарий
И ещё вопросец, есть ли скрипт, для воспроизведения анимации нпс?

Например бежит сталкер, жмём заветную и сталкер падает и т.д...

Это сделать можно... но у меня не получалось. Вот пример, как отыграть анимацию, например, присяди (названия берутся из state_mgr_animation_list, но там похоже не полный список):

function anims()
  local npc = level_object_by_sid(6)
  if npc then
    npc:clear_animations()
    npc:add_animation("poisk_0_idle_1", true, false)
  end
end

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

А вот как ему переключить состояние, например, с идлового на хавающего батон, я пока незнаю. Но судя по некоторым скриптам, вызывать нужно функцию state_mgr.set_state. Где-то что-то держит этого НПС, не давая ему переключиться. Пусть лучше знающие люди скажут.

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

Здрасьте,

 

Вопрос по скриптам. Хочу написать скрипт, чтобы при выкидывании постолета из рук (кнопочкой "g" иди из инвентаря командой "Выбросить"), при условии, что у ГГ есть еще один пистолет, то он брал новый пистолет в руки автоматически.

 

Вот попытался набросать что-то типа (xD). Некоторые строки могут быть неправильными, т.к не на своем компе, пишу команды по памяти, но основные момент учтены.

 

В общем в bind_stalker.script написал колбэк (вроде так называется) на свой мод, чтобы работал всегда.

 

Прописал строку aqra_mod:aqra_update(delta) (куда именно я знаю, но за неимением сталкера, сделаю этот шаг позже. Если что не так, просьба исправить.

 

Дальше сам скрипт:

 

local aqra = 0

 

function aqra.update(delta)

aqra = 1

if aqra == 1 then aqra_mod

end

end

 

function aqra_mod()

local pistol = db.actor:item_in_slot(2)

return pistol ~= nill and db.actor:object("table") ~= nill

 

local table = {

"wpn_pm"

"wpn_pb"

"wpn_beretta"

"wpn_hpsa"

"wpn_fort"

}

 

if true then -- я нупка в скриптах, можно ли так, я не знаю. В общем здесь нужна команда, чтобы в слот пистоля вставился один из пистолов из таблы "table".

 

local pistol_change = math.random(table.getn(table))

 

--Здесь нужна команда чтобы переменная "pistol_change" встал в слот пистолета. Просьба помочь!

 

end

end

end

end

 

 

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

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

Каким образом можно сделать чтобы переодически бы на экран рандомно выводились сообщения записанные в каком либо файле...?

Наподобие новостей в АМК, только без реальных событий..

Т.е. те же новости, но только уникальные..

Такие были записанны в amk_dolg, amk_freedom, amk_modders, amk_uniq_news_lists.

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

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

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

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

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

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

Войти

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

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

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