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

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


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

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

И не нужно просить "дайте... дайте... дайте...". В шапке топика даны ссылки, используй их и поиск и читай-читай-читай. Никто тебе персонально не будет в очередной раз разжевывать то, что уже расписано и объяснено.

(и не нужно плакаться в очередной раз на телефон иль плохой инет... Раз тебе, как плохому танцору, кое-что мешает, то стОит ли вообще заморачиваться с "танцами"?)

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Возможно ли сделать так, чтобы непись, бегущий по своему пути через пять точек, НЕ останавливался в каждом из пяти вэйпойнтов? У меня он останавливается, отыгрывается идле и он бежит дальше, к следующей точке. Мне вобще это ни к чему, хотелось бы только обозначить ему нужный маршрут и не более того. Можно, конечно, сослаться на то, что он останавливается, чтобы "вспомнить дорогу" :) , но выглядит в игре это не совсем эстетично, и я бы предпочел, чтобы непись вобще не фиксировал свое пребывание в точке "wp", а просто пробегал её, не останавливаясь.

  Путь НПС в этой схеме (Показать)
Ссылка на комментарий

Buusty, советую обновить свои знания по логике, т.к. большинство твоих "непоняток" из-за твоих же ошибок.

 

Во-первых, схема walker'а не знает такого параметра def_state_moving, а считывает параметры def_state_moving1, def_state_moving2, def_state_moving3 - поэтому и переходит твой НПС на дефолтную хотьбу ("patrol").

Во вторых, для мувинга (передвижения) используется не "run", а "patrol","rush" или "sprint", так что не путай параметры для анимаций с параметрами для типов передвижений. Хочется чтобы бежал - ну так и задавай ему "sprint".

В-третьих, если не требуется что-то делать в промежуточных точках пути - нет и смысла задавать path_look, чтобы скрипты не отвлекались на ненужное...

Ну и наконец, время можно задавать любое, т.к.скрипт обработки логики (xr_logic.script) в данном случае тупо сравнивает заданный интервал (on_timer) с глобальным временем, делая поправку на время активации. Т.е. следует учитывать, что сравнение идет от момента активации текущей секции схемы ... Т.о. если ты задашь полчаса и будешь делать сэйвы - то твои полчаса могут отсчитываться сколь угодно раз и так могут и не закончиться.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий
  07.11.2012 в 20:19, Artos сказал:

....В-третьих, если не требуется что-то делать в промежуточных точках пути - нет и смысла задавать path_look, чтобы скрипты не отвлекались на ненужное....

Точно! Стоило НЕ прописывать "луки", как непись стал пробегать мои точки без какой-либо задержки. То, что надо. :ok5:

Как вроде бы просто.... если знать.))

  Цитата
Хочется чтобы бежал - ну так и задавай ему "sprint".

Но все-таки "sprint", это перебор. Я просто, наверное, не правильно выразился. Нужен был спокойный бег (обычный), в умеренном темпе, иногда, с переходом на непродолжительную ходьбу. А при спринте НПС начал просто удирать от меня, а не сопровождать. :lol: Так что "run" вполне сгодился.

  Окончательная схема логики моего НПС (Показать)
Изменено пользователем Buusty
Ссылка на комментарий

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

  • Нравится 1
  • Не нравится 1

WurDalaK.gif

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

Вурдалак, в конце концов прочти и запомни шапку топика! Для кого в ней написано:

  Цитата
Если вы:

- изучили материалы по ссылкам ниже,

- воспользовались поиском на форуме,

...

но так и не нашли ответ на свой вопрос, задайте его здесь.

Всего-то листанув пару страниц назад, можно увидеть сотни раз задававшийся вопрос по слотам #9603 и очередные ответы на него. Тебе каждый раз персонально разжевывать требуется?

Если не требуется выносить в инвентарь именно слот - смену ножа (иль др.) можно реализовать правкой секции [inventory], о чем можно также прочитать, если поискать...

Изменено пользователем Artos
  • Нравится 1
  • Не нравится 1

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Добрый вечер! Невозможно использовать предметы в инвентаре в нижней строке

http://i-fotki.info/11/542d537dd720cf1225a7ab0db22d8b49025e7a135153634.jpg.html

на строку выше-используется все нормально,подскажите как исправить нижнюю строку?

Изменено пользователем максгород
  • Нравится 1
  • Не нравится 1

maxgorod.gif

Ссылка на комментарий
  Цитата
P.S. И еще в догонку, просто интересно, каков максилальный промежуток времени можно задать в схеме логики по таймеру?

"on_timer = 120000|walker@first" через две минуты произойдет переход в схему "walker@first", а можно, скажем, задать... пол-часа, к примеру?

  07.11.2012 в 20:19, Artos сказал:

Ну и наконец, время можно задавать любое, т.к.скрипт обработки логики (xr_logic.script) в данном случае тупо сравнивает заданный интервал (on_timer) с глобальным временем, делая поправку на время активации. Т.е. следует учитывать, что сравнение идет от момента активации текущей секции схемы ... Т.о. если ты задашь полчаса и будешь делать сэйвы - то твои полчаса могут отсчитываться сколь угодно раз и так могут и не закончиться.

Вот у меня как раз проблемка и нарисовалась.))

  Логика перса (Показать)
Ссылка на комментарий

Buusty

Дык поставь обычный таймер на 5 минут. По окончании его времени выдай инфопорцию.

А уже по ней в логике можешь написать :

on_info = {+эта_самая_инфопорция} walker2

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

Buusty, поправлю, не ты (актор) убегаешь от НПС в оффлайн (актор всегда в онлайне!), а "убегая" от НПС, тем самым он уходит за радиус алайфа и попадает в оффлайн. Т.е. все же лошадь впереди телеги, а не наоборот. ;-)

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

Теперь у тебя появилось новое условие - "если задание выдано...", вот и усложняй свою логику, превращая ее в ветвистую. Т.е. если не выдано задание - то по "старому", а если уже выдано - то в самом начале (напримар в [walker]) добавь условие перехода на другую ветвь, которая проверит время и перейдет на walker2. .

Вот только тут уже без таймера, который не зависит от он-офф-лайнового состояния твоего НПС уже не обойтись. Т.е. выдав задание (иль что там у тебя в ремарке...) - запускай таймер, он и может служить флагом для ветвления логики и отсчитывать время, по которому добавленная ветвь логики уже будет принудительно переключаться на walker2 и т.д.

 

(вот и Gun12, тезисно успел подсказать :-) )

 

P.S. А может быть, если нет под рукою готового таймера и/или не устраивает перезапускаемый 'on_timer' - написать свой, на базе pstor'а.

При выдаче задания (по началу твоей временнОй паузы) - запоминать в pstor'е НПС текущее время и, написав свою функцию (my_on_time), в которой сравнивать запомненное с текущим, уже и переключаться по окончанию паузы.

Т.е. добавить в секцию ремарка что-то типа: on_info2 = {=my_on_time} walker2

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

В довесок совета Gun12 и Artos, я бы рекомендовал тебе переходить на walker2 непосредственно инициализируя её этим инфопоршнем, вот так:

[logic]
active = {+эта самая инфопорция} walker2, walker

так при выходе в онлайн, и наличии у игрока инфопорции, НПС сразу перейдёт на схему walker2. Если же инфопорции не будет, НПС преспокойно пойдёт на схему walker.

P.S. Рекомендую давать более внятное название для секции, например: walker@before, walker@after, это существенно облегчает "жизнь".

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

CoIR_iT

О подобном ветвлении и говорил Artos.

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

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

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

Gun12, Artos, ColR_iT - Спасибо за отклик!

Artos

Ну, "запоминать в pstor'е НПС текущее время и, написав свою функцию (my_on_time)" - это для меня высший пилотаж. :) У меня пока все же стадия обучения идет. Собственные функции я еще не умею писать.

 

ColR_iT

"так, при выходе в онлайн, и наличии у игрока инфопорции, НПС сразу перейдёт на схему walker2" - дело в том, что у меня не будет никаких доп. поршней при выходе к НПС в онлайн, только лишь тот, что я выдал в ремарке "remark@kostylnoga_wait" ({+kostylnoga_start}), у меня будут лишь предметы для него, от наличия которых, будет зависить наличие разговора. Переводить его в walker2 нельзя, т.к. в этой схеме с ним не поговоришь (только пристрелить - провал задания).

Artos прав, у меня линейная логика, и при выходе в онлайн к моему объекту, он берет последнюю активную схему - walker1 (с приходом повторной смс-ки). он в ней и находится, и будет находиться, пока актор не приблизится на 5 метров к нему - on_actor_dist_le = 5|remark@kostylnoga_wait, но первую ремарку он не отыгрывает, т.к. есть наличие поршня - {+kostylnoga_start}, и непись сразу встает в эту ремарку, в которой и нужен мне, по идее.))) Нужно лишь дописать в волкере1 вот эту строку - on_info = {+kostylnoga_start} remark@kostylnoga_wait2.

 

===

Gun12, дружище, не "ткнешь носом", где почитать про таймеры? К стыду признаться, ни разу не пользовался ими... как то обходился без них.... :)

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

Кстати, никто не пробовал вместо on_timer писать on_game_timer? Существенно упрощает жизнь при подсчете времени, ибо время вводится в секундах.

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

_Val_, если это вопрос - ответ достаточно очевидный, если совет - то неуместный.

Подобное не пробуют, а применяют осмысленно, т.е. когда требуется то или иное. Использовать абсолютное время или игровое - это далеко не одно и то же, и одно заменить на другое далеко не всегда можно или "проще". Какая уж тут "простота", если игровое время зависит от тайм-фактора, который в модах нередко 10-ти не кратен... Ну а про подсчет во время сна ГГ, или при "ускоренной перемотке", когда, например, погоду проверяют - хотелось бы посмотреть как ты это "простенько" делаешь. ;-)

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Всё, логику доработал. При попадании моего НПС в зону а-лайф, он стоит в нужной мне ремарке (remark@kostylnoga_wait2), повторной СМС-ки нет, всй отлично.

По таймеру. Воспользовался функцией амк - "amk.start_timer" -

  2 кода (Показать)
Ссылка на комментарий

Buusty,

  Показать

 

P.S. А вот по времени - тут как раз не очень удачный пост _Val_'а как раз уместен.

Давать игроку 5-минут реального времени или 50 минут игрового? Наверное тут как раз уместнее задавать именно игровое время (готовый таймер для этого amk.g_start_timer).

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos, как проверить наличие поршня, а также предметов я, конечно, знаю, но как при этом в одном коде сделать проверку на предметы/поршни, а также заблокировать нужную мне функцию, при наличии оных - нет. Ладно, нет - так нет. Всё равно спасибо за участие в моей проблеме. :)

 

  Показать

 

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

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

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

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

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

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

Войти

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

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

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