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

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


Halford

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

[оффтоп]кошмар, приплыли... Че-то эта тема напоминает мне форум программеров [/оффтоп] :lol3:

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


Ссылка на сообщение
malandrinus, Ой,не по теме,но ты не знаешь на паскале аналогичный способ без цикла?Ато как раз понадобилось :)

а и делать ничего не надо, так как в паскале тип String это на самом деле указатель на первый символ строки. переводить ничего не надо s[1] - доступ к первому символу строки s :grin2:

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


Ссылка на сообщение
Схема mob_jump. Теперь mob_jump служит для задания прыжков монстров без каких либо проверок и ограничений (расстояние, углы и т.д.). Указывается позиция с помощью патрульного пути, смещение относительно этой позиции и физический фактор прыжка.

 

Пример:

 

[logic]

active = mob_jump

 

[mob_jump]

path_jump = path

ph_jump_factor =2.8

offset = 0,10,0

on_signal = jumped | nil

 

path_jump – путь, с помощью которого мы задаем 1 целевую точку прыжка (с нулевым индексом). Реальная точка учитывает позицию path_jump[0] + смещение, заданное с помощью offset.

offset – смещение по осям x,y,z соответственно, с помощью которого задается реальная точка в пространстве (может не находится на аи-ноде).

ph_jump_factor - влияет на время прыжка. Визуально с помощью него задается кривизна траектории полёта. Чем он больше, тем прыжок более острый, быстрый (меньше дуга). С помощью данной схемы можно делать: перепрыгивание со здания на здание, выпрыгивание из окна, перепрыгивание высоких ограждений и др. Дефолтное значение = 1,8

 

Примечание:

Фактически mob_jump - это не состояние, а разовое действие. При переходе в него монстр разворачивается в сторону прыжка и прыгает, поднимая сигнал jumped. Т.е. "on_signal = jumped | имя_схемы_или_nil" – является обязательным параметром в схеме, чтобы знать куда переходить дальше.

При выборе позиции используется первая точка патрульного пути (0-вой индекс)

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


Ссылка на сообщение
:dash2: Да небыло там ничо зашифровано, тупо заменён символ перевода строки и возврата каретки 0D0A на 0A, я где то тут в ковырялке выкладал свою тулзовину для конвертации амекашных скриптиков Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


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

не задано первоначальное значение last_time

ЗЫ. И убери этого жирдяя с аватары - блевать тянет

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


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

перед функцией напиши

local last_time     = 0

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


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

добавь в логику строчки

[smart_terrains]
none = true

если NPC уходит - значит эта логика не читается.

не фак, возможно ближайший гулаг его хватает и всучает ему работу ;)

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


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

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

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


Ссылка на сообщение
Уважаемые, как лечится надпись в логе invаlid оgg-соmmеnt vеrsiоn?

пропустить звуковое файло через СДК

блин, кто мне внятно объяснит, как сделать так, чтоб нпс не реагировал на угрозу?

[walker]

danger = danger_condition

 

danger_condition]

ignore_distance = 50 (расстояние указывается в метрах)

ignore_ distance_grenade =

ignore_ distance_corpse =

ignore_ distance_hit =

ignore_ distance_sound =

 

Можно также указывать время ожидания для денжера в зависимости от типа:

 

danger_inertion_time_grenade =

danger_inertion_time_corpse =

danger_inertion_time_hit =

danger_inertion_time_sound =

 

Дефолтовые настройки:

danger_inertion_time_grenade = 20000

danger_inertion_time_corpse = 10000

danger_inertion_time_hit = 60000

danger_inertion_time_sound = 15000

 

NB!!Также эти настройки теперь распространяются и на схему кемпера. То есть в настройках кемпера перестало работать поле danger_radius. Теперь данные берутся из секции денжера согласно общих правил.

 

Алгоритм работы такой: Сперва проверяется, что расстояние до опасности не отсекается по ignore_danger. Если опасность ближе, то тогда анализируется ее тип, и проверяется по соотвествующему данному типу расстоянию. Если опасность ближе - тогда разрешается реакция на нее.

 

В данный момент установлены следующие дефолты:

 

ignore_distance = 50

ignore_distance_grenade = 15

ignore_distance_corpse = 10

ignore_distance_hit = 50

ignore_distance_sound = 50

 

NB: если надо, чтобы в разных случаях сталкер игнорировал разные типы данжеров, создается несколько секций данжера danger_condition@1, danger_condition@2 и так далее.

 

* danger_expiration_time = Через сколько времени денжер перестанет быть акутальным. Дефолт 5000 мс.

* danger_inertion_time = Через сколько времени персонаж забудет про денжер, на который он отреагировал. Дефолт 10000 мс.

 

а ваще тебе сюда

 

Если ткнёшь пальцем, где описано, как перехватывать ввод через DirеctX, буду признателен.

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

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


Ссылка на сообщение
СПАСИБО ОГРОМНОЕ О ВЕЛИКИЕ И ДОБРЫЕ ЛЮДИ)РЕСПЕКТ ВАМ)

щяс придет n6260 и скажет "Спасибы в приват" + еще мне нарушение влепит :ny_megalol:

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


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

не скинул модель, говорит что не может найти файлег actors\stalker_nebo\stalker_nebo_1.ogf

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


Ссылка на сообщение
Можно ли через алл.спавн заспавнить объект, НО при наличии определенного инф.поршня ?

можно, в кастом_дату объекта пропиши:

custom_data = <<END

[spawner]

cond = {+имя_твоего_инфопоршня}

END

как тока даш инфопоршень "имя_твоего_инфопоршня", объект заспавница

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


Ссылка на сообщение
Скачал... кинь в личку, как с ней работать, плз... :blush:

Перетащи скрипт на файлик программы, в папке со скриптом появится переделанные скрипт с именем "имяскрипта.scriptnew"

 

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


Ссылка на сообщение
И ещё вопрос-как сделать что-бы трамплин реально подбрасывал метров на 10?

Сообщение от модератора n6260

Залезть в движок игры.

не обязательно лезть в двигл игры, у мну подбрасывает где-то полметра :D

 

Вопрос: как, собственно, добавить их на локацию - заспавнить скриптом как обычного монстра или придется создавать зону как на радаре?

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

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


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

соответственно тип монстра фантома - рандомайзный

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


Ссылка на сообщение
Green Stalker, Gun12, Darien,

вы хоть понимаете, что апдейт актора вызывается 25 раз в секунду?! Как можно ставить туда действие, которое за игру сработает один раз?

не совсем так, он вызывается постоянно :)

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


Ссылка на сообщение
Gonarh, да,но получается около 25 раз...

на более мощных машинах это м.б. и 40 и 50 и 100 раз ;)

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


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

какую логику надо сделать что-бы при смерти НПС давался инфопоршень?

[logic]

on_death = death

 

[death]

on_info = %+you_infoproschen%

 

 

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


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

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

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

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


Ссылка на сообщение
упомянутого блока if ... еnd.

а он не является проверкой?

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

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


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

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