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

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

IQDDD,Так бы сразу и писали....А то по одной строчке и не поймешь,в чём вообще задумка..Но меня терзают смутные сомнения насчёт луа в Сталкере...

Вот небольшой пример....

function tert(fun)

--vivod v log,mol vizvali tert

break

fun()

end

function gfga()

--vivod v log,mol vizvali gfga

end

--i gde nit vizovem

tert(gfga)

 

И если в логе будут эти две строки,то значит ,что ваш метод не пойдёт...Думаю сами поймете почему...

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

IQDDD, ругать не буду :)....

break -"разбивать"...

То есть брик прекращает выполнение функции...

следовательно,та запись эквивалентна этой

function tert(fun)

--vivod v log,mol vizvali tert

end

....

А говорил я вот о чём...

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

то есть, если в логе появятся 2 строки,а не одна...то ваш метод не будет работать правильно....

То есть если при таком вызове:

test_func(myscript.func)

будут вызваны две функции сразу....

test_func и myscript.func()...то будет не то ,что вы хотели...

Вот,что я хотел сказать....

Если же вызовется только одна функция(test_func),то тогда ваш метод может вполне сработать...

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

Ответьте скоренько, пожалуйста!

 

Вопрос по вейпоинтам:

цель - сделать для НПС путь, после пройдения которого, он должен остановиться на последней точке.

прописал я в way_l03_escape (потроха алл.спавна) 6 точек. это неважно. в конце каждой написано к какой переходить:

p1:links = p2(1)

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

p5:links = p2(5)

???? так???

чтобы типа он остановился на ней или как это???

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

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

p1

link=p2(1)

p2

link=p3(1) и тд

p5

линк не пишем

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

gruber, спасибо

вот по логике вопрос, но относится он к вейпоинтам :)

когда он (npc) остановится на последней точке, он же автоматически будет стоять (wait)?

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

Pihan13, с анимацией я сам не до конца разобрался в путях валк анимация движения в лук стояния(не вся)

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

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

Привет всем, пожалуйста подскажите мне как мне сделать прописать скрипт чтобы на расстоянии 30 метров от сталкера появлялась вся информация о сталкере??

 

Я сделала вот так.

 

 

test_distantion = 30

 

function test()

Что нужно писать тут?? Я не знаю

 

 

Я немного понимаю но не до конца поняла общую картину действий...

тут всё логично как я поняла что-то вроде этого (Дистанция, Сталкер(Его Характер профиль, Ранг, Имя,), Коардинаты тоже наверное нужны, только я не понимаю суть всех опираторов может кто нибудь объяснит?)

Я соображаю на лету вот толко некому объяснить, помогите мне пожплуста.

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

У каждого свой оранжевый Полдень...

rulesox7.gif

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

Orange Midday, Собственно ,что вам нужно объяснить по операторам? основные операторы такие же как и в любом языке....if,for,while,repeat,etc....По каким у вас вопросы из остальных?

Вы хотите выводить информацию о сталкере куда? на экран? или как к примеру выводятся имена в оригинале?Поясните...

Ссылка на комментарий
меченый(стрелок), ты правильно понял, мне быобъяснить как и чем занимаеться каждый опиратор. Так, в общих чертах я поняла, вот только собразить не могу как так всё просто получаеться? Например, нам нужно сделать чтобы вся инфрмация которая мне нужна выводилась на экран а уже в какую часть это без разници главное начать. Что нам нужно взять: Я так думаю что нам понадабяться строки из Game Relation, какие то строки из файла где расположен ранг самого сталкера это наверное из character_profile_там локация, и наверное оператор который бы всё это дело выводил на манитор. Или я что то забыла? Наверное оператор проверки расстояия и оператор прверки на наличие сталкера в этом радиусе а именно 30 метров, и последний оператор который бы всё это дело зациклил... объясните пожалуста.

У каждого свой оранжевый Полдень...

rulesox7.gif

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

Orange Midday,...Не совсем так...

Операторов вывода инфы на экран нету...функции -есть(к примеру сообщение),а операторов нет :)....

Насчёт вашей задачи, это реализовать можно(знаю на 100%),но эта реализация требует много времени,а его у меня нету,да и желания тоже :)...

Как более легкий вариант:

function npcinfo(first,second)

news_manager.send_tip(db.actor,"npc id:"..tostring(second:id()).." npc name:"..second:name().." npc community:"..second:character_community()..",etc..",nil,1000)

end

далее пишете простенький диалог(или вставляете в существующий),где первой репликой является реплика ГГ и вставляете в action с ссылкой на скрипт...

и когда вы начнёте диалог с нпс (у которого диалог этот конечно же прописан) ,то вы увидите на экране сообщение с данными нпс...

Если уж вас такой вариант не устраивает,то ищи мод Симбион,там в скриптах отладки есть вывод имени смарт_террейна рядом с объектом(конечно это статичный объект,но переделать можно)...

Насчёт ОпЕраторов - задавайте конкретный вопрос.К примеру:

break,что он делает?

Влад, есть функция в bind_stalker.script называется on_item_drop в этой функции проверяйте что использовали предмет

if obj:section()=="предмет" then

--вызов вашей функции ,самый простой вариант,но не лишённый недостатка,к примеру выбросите вы предмет условие станет истинным...это можно обойти..просто подумайте как можно поймать предмет

 

end

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

Люди, помогите! Как можно реализовать таймер через скрипт? Чтобы таймер запускался в игровом времени через функцию (например, вызываемую диалогом) и по истечении времени, на которое он был поставлен он должен выполнять определенную функцию. Например, чтобы после диалога с npc через 10 минут игрового времени актору выдавался инфопоршень. Как запускать функции из диалога и т.д. я знаю, но вот как сделать таймер не пойму. В amk есть функция g_start_timer. Пробовал через нее - ничего не выходит(((

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

bill_gates, по поводу таймера уже когда-то говорилось в теме Ковыряемся в файлах Stalker SoC, так что поиск рулит. :)

 

А если по делу, то АМКшный таймер делаеться так:

amk.start_timer(name,delay,action) - стартует таймер в реальном времени.

amk.g_start_timer(name,delay_d,delay_h,delay_m,action) - стартует таймер в игровом времени.

 

-------

name - это название таймера

delay - это время (в секундах) через которое сработает таймер (для таймера реального времени).

delay_d - это кол-во дней после которых сработает таймер (для таймера игрового времени).

delay_h - это кол-во часов после которых сработает таймер (для таймера игрового времени).

delay_m - это кол-во минут после которых сработает таймер (для таймера игрового времени)

------

 

Также тебе нужно зарегистировать имя таймера в функции __do_timer_action (файл amk.script).

Делаеться это так (дописываешь эти строки в саму функцию):

 

if select_string=="название_таймера" then
    Здесь пишешь выдачу инфопоршна или чего-нибудь другое, что должно происходить после выполнения таймера
end

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

Проблема спауна радиоприёмника "Горизонт":

Создал в аллспауне соотв:

[11574]
; cse_abstract properties
section_name = priemnik_gorizont
name = esc_priemnik_gorizont
position = -240.38218688965,-18.965026855469,-148.95088195801
direction = 0.0126970000565052,0.785318970680237,0.0172760002315044

; cse_alife_object properties
game_vertex_id = 570
distance = 0
level_vertex_id = 18375
object_flags = 0xffffff3a
custom_data = <<END

[logic]
cfg = scripts\escape\esc_mayfun.ltx
END

[collide]
ignore_static
END

; cse_visual properties
visual_name = dynamics\el_tehnika\priemnik_gorizont

; cse_ph_skeleton properties

; cse_alife_object_physic properties
physic_type = 0x3
mass = 10
fixed_bones = link

upd:num_items = 0

при сборке асдс выдаёт ошибку.

если пишу без этого:

[logic]
cfg = scripts\escape\esc_mayfun.ltx
END

но в логике у меня прописано что играть :(

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

Pihan13, а это как понимать?

[logic]
cfg = scripts\escape\esc_mayfun.ltx
END

[collide]
ignore_static
END

END должен быть только один, да и вообще это:

[collide]
ignore_static

надо скорее всего в файл логики прописывать.

Изменено пользователем 8push5
Возможно всё, ну или почти всё.
Ссылка на комментарий

Вопрос:

Как через скрипт запустить консольную команду?

 

И как заспавнить НПЦ за 20 метров от ГГ?

Изменено пользователем Влад
Не бойтесь совершенства. Вам его не достичь.
C. Дали
Ссылка на комментарий

Всем пламенное Трям!

Возник вот такой вопрос....

Спавню новые машинки. Возможно ли их расставить "мордой" в ту сторону куда МНЕ надо? Если возможно, то что за это дело отвечает? И какие значения при этом необходимо выставлять?

Спасибо!

Если ищешь тайничок - то включай свой мозжечЁГ ;-))

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

ANour, если спаунишь через all.spawn то параметр direction, если скриптом, то не знаю.

 

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

Влад

1 вот пример выполнения консольной команды через скрипт:

get_console():execute("hud_crosshair 1")

2 так сразу и не скажешь, зависит от того, что конкретно надо, но на вскидку: получи координаты ГГ и прибавь 20 к нужной координате

Изменено пользователем 8push5
Возможно всё, ну или почти всё.
Ссылка на комментарий

8push5, да, через all.spawn. Как говориться, не знал, но догадывался)))

А как влияют цифровые значения на поворот "морды"? Э-э-э... ну, допустим, 0, 0, 0 - смотрит на восток... Или как?

если все по нулям смотрит на север, а вот в чем измеряется я не помню.

Спасибочки огромное! Будем экспериментировать!

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

Если ищешь тайничок - то включай свой мозжечЁГ ;-))

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

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

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

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

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

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

Войти

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

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

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