Пользователей: 0
Гостей: 1317
Всего: 1317

» Подробно
» Сегодня

Привет, гость!









Автор Сообщение
VOva-VIP
    
Посты: 325
Откуда: Миасс
Возраст: 27
23-02-2012 22:57 GMT3 час. #1578879   
Не знаю как у вас там дела обстоят, а мне хв**5031001a66cf24ce67c0**едмет:
[code] item = 1 \n[/code]
(посмотрел на собственном примере)


АРКОТ
    
Посты: 96
Откуда: Днепропетровск
Возраст: 26
24-02-2012 00:03 GMT3 час. #1578887   
mister_cow может не правильно работать, не так как ты хотел. Тот предмет может спауниться у всех НПС. ВариантVOva-VIP мне больше нравиться тот что постом выше.


Пока тебя мажут свои качели, качает каждого ЦАО production. Хотя становимся старше иногда так страшно проснуться взрослым однажды.

Моё сочинение уже в релизе,Лови
mister_cow
    
Посты: 35
Откуда: Воронеж
Возраст:
24-02-2012 00:05 GMT3 час. #1578888   
АРКОТ Дык не робит, как я не пытался.
В детх женереке прописал,
в чарактер_деск тоже,
в спавн секшнс кастом дату прописал и туда с логикой вписал.
Ничего


ColR_iT
    
Посты: 398
Откуда: Киев
Возраст: 36
24-02-2012 01:12 GMT3 час. #1578896   
Ух, ребята... ну вы и куролесите.
Файлы.

    1. death_generic.ltx - отвечает за привязку патронов к оружию;
    2. death_items_by_communities.ltx - отвечает за вероятность заспаунить предметы или нет для каждой группировки. Секция [stalker] - значения по умолчанию;
    3. death_items_by_levels.ltx - отвечает за возможность появления в инвентаре предметов в зависимости от локации (т.е. можно запретить появление определённых предметов на конкретной локации вне зависимости от группировки);
    4. death_items_count**5001618d69873ce82a42**

отредактировал(а) ColR_iT: 24-02-2012 14:02 GMT3 час.

Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
dimak
    
Посты: 1493
Откуда: Архангельск
Возраст: 52
24-02-2012 02:20 GMT3 час. #1578898   
mister_cow Ты если не понял, то покажи как ты создал кастом дату и как все вписал. Я тебе показал свой пример для спавна скриптовому неписю документа. Я заспавнил скриптом непися и через кастом дату вписал ему то, что обычно спавнишь через all.spawn т.е.

[spawn]

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


Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!
zhrec
    
Посты: 9
Откуда: Волгоград
Возраст: 55
24-02-2012 03:02 GMT3 час. #1578899   
Подскажите, пожалуйста, как адаптировать "Собирательство" от Red75 для ТЧ к определённому моду? В данном случае это Lost World Trops of Doom.

отредактировал(а) zhrec: 24-02-2012 03:48 GMT3 час.

Народная солянка от 3.9.10
SGM 1.7
Тайные Тропы 2
Reborn 2.50
Strchi
    
Посты: 2581
Откуда: Уфа-Челябинск-Фритаун
Возраст:
24-02-2012 04:19 GMT3 час. #1578901   

# крысобелка :
Что означает этот лог:
Description : Invalid source num channels:
Arguments : d:\games\s.t.a.l.k.e.r 1.6\gamedata\sounds\music\echo-10.ogg


сделаю копию этого файла один назови echo-10_r второй echo-10.ogg_l
это кажется дело в этом


KerYa
    
Посты: 51
Откуда: EvpaCity
Возраст: 28
24-02-2012 09:36 GMT3 час. #1578916   
zhrec надо копать скрипты и конфиги, ты етим будеш заниматся?

добавлено спустя 31 секунд

Strchi да так и есть, не указаны каналы звука"!

отредактировал(а) KerYa: 24-02-2012 09:36 GMT3 час.

Когда хорошо видна грудь, плохо запоминается лицо...)
zhrec
    
Посты: 9
Откуда: Волгоград
Возраст: 55
24-02-2012 10:01 GMT3 час. #1578922   
KerYa Там вроде только скрипты. Узнать хотябы, какие параметры править надо?


Народная солянка от 3.9.10
SGM 1.7
Тайные Тропы 2
Reborn 2.50
dimak
    
Посты: 1493
Откуда: Архангельск
Возраст: 52
24-02-2012 14:20 GMT3 час. #1578963   
zhrec Тебе нужен АМК скрипт watcher_act.script Далее в модулях пропиши вверху либо смотри в скриптах АМК modules.script Загрузка модулей НПЦ

if watcher_act then
load_scheme("watcher_act", "watcher_act", stype_stalker)
end

Далее адаптируешь в криптах xr_logic.script xr_motivator.script Вроде все.


Как здорово быть тёртым сталкером! Не бояться каждого шороха, оружия не носить с собой много!
REKSID1
    
Посты: 177
Откуда: воронеж
Возраст:
24-02-2012 14:51 GMT3 час. #1578965   
VOva-VIP тогда получается что если поменяют оружие то у них у всех было другое имя причем одинаковое;-)

добавлено спустя 25 минут

[camper]
path_walk = mod_npc_walk
path_look = mod_npc_look
radius = 0

вы написали то как это будет выглядеть ведь в вей я уже прописывал ему позицию и направил взгляд
[lopyx_walker]
points = p0
p0:name = name00
p0:flags = 0x1
p0:position = 197.30145,-6.023970,10.4423007
p0:game_vertex_id = 137
p0:level_vertex_id = 494806

[lopyx_look]
points = p0
p0:name = name00
p0:flags = 0x1
p0:position = 175.68638,-7.86557,2.55805
p0:game_vertex_id = 137
p0:level_vertex_id = 477785

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

добавлено спустя 4 минут

да и у меня не получается сделать диалог сидору вылет типо не правельный ад как бы я не делал диалог!

добавлено спустя 17 минут

да я походу завалил вопросами но всё же как правельно переименрвать конфиг прицела чтобы вылета не было

отредактировал(а) REKSID1: 24-02-2012 15:40 GMT3 час.

крысобелка
    
Посты: 1185
Откуда: Россия-матушка
Возраст: 132
24-02-2012 15:41 GMT3 час. #1578971   
Хорошо. А как заспавнить обычный деревянный ящик ?


zhrec
    
Посты: 9
Откуда: Волгоград
Возраст: 55
24-02-2012 15:46 GMT3 час. #1578974   
Там 4 скрипта: xr_motivator.script, xr_logic.script, watcher_act.script, modules.script.

# dimak :
zhrec
Далее адаптируешь в cкриптах xr_logic.script xr_motivator.script Вроде все.


А как их адаптировать? Извините, в скриптах я не силён. Надеюсь на вашу помощь.


Народная солянка от 3.9.10
SGM 1.7
Тайные Тропы 2
Reborn 2.50
KerYa
    
Посты: 51
Откуда: EvpaCity
Возраст: 28
24-02-2012 16:09 GMT3 час. #1578982   
ребят, как запустить СДК на билде 1935
(соори я просто писал в теме билда, никто не отвечает):-)


Когда хорошо видна грудь, плохо запоминается лицо...)
крысобелка
    
Посты: 1185
Откуда: Россия-матушка
Возраст: 132
24-02-2012 16:29 GMT3 час. #1578990   
Arist Ога, спасибо :)


ColR_iT
    
Посты: 398
Откуда: Киев
Возраст: 36
24-02-2012 16:55 GMT3 час. #1579000   
Arist
Функция relocate_item_section работает следующим образом:
Принимает три аргумента:victim, section и type.
Параметр type принимает два значения: "in" и "out" и соответс**50096c9725ff35736f77**ode]if quest_section[section] == true and
victim:object(section) ~= nil
then
victim:transfer_item(victim:object(section), db.actor)[/code]Сверяем с глобальной таблицей quest_section из файла _g.script, что секция нашего предмета соответствует одному из элементов, а также проверяем есть ли предмет с данной секцией у объекта, в данном случае переданного параметром victim.
Если же совпадений не найдено, т.е. в данной таблицы такой записи нет, то предмет будет не передаваться от НПС игроку, а спавнится у актора в инвентаре.
Поэтому, здесь несколько вариантов: либо прописать твой предмет в глобальную таблицу квестовых предметов, в файле _g.script (таблица находится в самом низу файла), либо передавать предмет вот такой функцией:
[code]function transfer_items_from_npc (victim, section)
-- Существует ли актор и объект
if db.actor and victim then
-- Проверим, а объект случаем не актор?
if victim:id() ~= -1 then
-- Нет, не актор.
-- А есть ли нужный предмет у объекта?
if victim:object(section) ~= nil then
-- Предмет есть и мы его передаём актору.
victim:transfer_item(victim:object(section), db.actor)
end
end
end
end[/code]
Функцию вызывать из реплики оппонента.
В таком случае предмет будет именно передаваться.


Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
Незнайка_Я
    
Посты: 25
Откуда: Кемерово
Возраст: 27
24-02-2012 17:45 GMT3 час. #1579017   
Как определить id объекта который я заспавнил?
Объект заспавнил скриптовым путем.


VOva-VIP
    
Посты: 325
Откуда: Миасс
Возраст: 27
24-02-2012 20:07 GMT3 час. #1579066   
У меня появилась проблема странная с НПС, когда они ударяют тебя, если долго пытаться поговорить с оружием.
Дело в том, что ударять стали только единицы НПС, многие просто не ударяют, просто говорят, что с оружием говорить не будут, и у некоторых даже вылетает (ошибка указывает на 20 строку _g скрипта).
Вот например с Волком если так делать, то вылетает. Например долго пытаюсь с ним с оружием на руках поговорить. Он просто ничего не делает, но если я отойду от него примерно на 15 метров, то вот тогда и происходит вылет.
С чем это может быть связано? Можно ли как-нибудь хотя бы просто избежать вылета? (кроме того, что в каждой логике ставить use_wpn = true)

отредактировал(а) VOva-VIP: 24-02-2012 20:17 GMT3 час.

ColR_iT
    
Посты: 398
Откуда: Киев
Возраст: 36
24-02-2012 20:44 GMT3 час. #1579079   
id есть у всех объектов!
Часто можно вс


Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
mister_cow
    
Посты: 35
Откуда: Воронеж
Возраст:
24-02-2012 21:57 GMT3 час. #1579101   
ColR_iT Вопщем все с вами ясно,
Легче просто заспавнить доки на трупе.


DmBorn
    
Посты: 2008
Откуда: Москва
Возраст: 28
25-02-2012 10:50 GMT3 час. #1579149   
Как сделать, чтобы при убийстве НПС оружие выпадало из рук не сразу, как в билдах (например 1935). Или это движковая функция?


ColR_iT
    
Посты: 398
Откуда: Киев
Возраст: 36
25-02-2012 21:26 GMT3 час. #1579312   
Arist
Вот в этих стро


Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
VOva-VIP
    
Посты: 325
Откуда: Миасс
Возраст: 27
25-02-2012 21:27 GMT3 час. #1579313   
Киньте тутор или подскажите: как осуществить respawn через all.spawn?


mister_cow
    
Посты: 35
Откуда: Воронеж
Возраст:
25-02-2012 22:17 GMT3 час. #1579336   
Здравствуйте.
При загрузке ста**50016c9725ff35736f77**to concatenate field '?' (a nil value)
[/code]
в этом файле на этой строчке находится вот что:
[code]get_console():execute("g_game_difficulty "..game_difficulty_by_num[game_difficulty])[/code]

Как с этим бороться?


Priboj37
    
Посты: 458
Откуда: Симферополь
Возраст:
25-02-2012 22:38 GMT3 час. #1579342   
mister_cow Откaт или пeрeустaновкa стaлкa.


"Стaрый в дeлe"
mister_cow
    
Посты: 35
Откуда: Воронеж
Возраст:
25-02-2012 22:57 GMT3 час. #1579346   
Priboj37 Неужели ничего больше не поможет? :\


ColR_iT
    
Посты: 398
Откуда: Киев
Возраст: 36
25-02-2012 23:04 GMT3 час. #1579348   
mister_cow, покажи целиком функцию, где идёт инициализация таблицы game_difficulty_by_num.


Те мнения, которые пишутся с ошибками, не воспринимаются как умные…
Лучше иной раз тупить, но умным быть, чем постоянно умничать, но быть тупым.
Все, кто еще говорит «ИХНИЙ», будут гореть в аду!
mister_cow
    
Посты: 35
Откуда: Воронеж
Возраст:
25-02-2012 23:14 GMT3 час. #1579350   
ColR_iT, Сам я ее не задействовал, это скорее худ, который я в игру вставил...

Проверил функции худа - всё чисто.
Странно...


frankenshtayn
    
Посты: 203
Откуда:
Возраст: 52
26-02-2012 01:51 GMT3 час. #1579355   

# VOva-VIP :
Киньте тутор или подскажите: как осуществить respawn через all.spawn?


Respawn NPC.

Для создания респавна NPC, понадобится два файла: all.spawn и spawn_section.ltx.
Это минимальный набор. Для полной настройки респавнера, нужны ещё character_desc_simulation.xml и npc_profile.xml.

1. В all.spawn создаём секцию респавнера:


[10000]
; cse_abstract properties
section_name = respawn
name = имя респавнера
position = координаты (x,y,z)
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = гейм-вертекс
distance = 10
level_vertex_id = левел-вертекс
object_flags = 0xffffff3e
custom_data = < [respawn]
respawn_section = esc_urody_respawn_1,12, esc_urody_respawn_2,9
max_count = 8
min_count = 4
max_spawn = 2
idle_spawn = medium
conditions = 100
END

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 1

; cse_alife_space_restrictor properties
restrictor_type = 0

; se_respawn properties


Если используется программа XrSpawner, то копируем любую секцию "respawn"; меняем имя объекта, координаты, и в окошке "скрипт" прописываем:


[respawn]
respawn_section = esc_urody_respawn_1,12, esc_urody_respawn_2,9
max_count = 8
min_count = 4
max_spawn = 2
idle_spawn = medium
conditions = 100


Где:
respawn_section = id респавн-секций из файла spawn_section.ltx. Цифры после запятой, означают отношение одной секции к другой. Если планируется одинаковое колличество респавна из каждой секции, то цифры ставить не требуется.

max_count = колличество респавн-запросов за период времени, пока ГГ находится на локации. При переходе на другую локацию, счётчик max_count сбрасывается. (ставить не обязательно)

min_count = минимальное колличество нпс, для экстренного респавна. (ставить не обязательно)

max_spawn = колличество нпс за один цикл респавна.

idle_spawn = тип спавна. Известно три типа medium, often, seldom. Обычно, используется тип medium.

conditions =Условие респавна. Можно установить проверку условий (инфопоршень), где респавн будет происходить только при выполнении условия. Номер означает общий процент выполнения респавна. Например так:

conditions = {+инфо} 100, 0 где, респавн будет происходить со сто-процентной вероятностью, только при наличии установленного инфопоршна.


2. В файле spawn_section.ltx, создаём респавн-секции:


[esc_urody_respawn_1]:stalker
$spawn = "respawn\esc_urody_respawn_1"
character_profile = sim_urody_novice
spec_rank = novice
community = bandit

[esc_urody_respawn_2]:stalker
$spawn = "respawn\esc_urody_respawn_2"
character_profile = sim_urody_regular
spec_rank = regular
community = bandit


Где:
esc_urody_respawn_1 id респавн-секции.
sim_urody_novice и sim_urody_regular классы профайлов нпс.
novice и regular ранги нпс.
bandit группировка нпс.

3. В файле npc_profile.xml регистрируем классы sim_urody_regular и sim_urody_novice


sim_urody_regular



sim_urody_novice


4. Создаём профили, в файле character_desc_simulation.xml, с классами sim_urody_regular и sim_urody_novice и группировкой bandit.
Respawn монстров.

В принципе, респавн мутантов идентичен респавну нпс. Но с одним лишь отличием, которое его значительно упрощает. Вся настройка респавна мутантов, ограничивается секцией в файле "all.spawn". Вписываем секцию респавнера, как указано в -RESPAWN NPC-. Все настройки идентичны, кроме строки respawn_section = . В ней прописываем типы мутантов, из файла "se_respawn.script". Такие как flesh_weak, flesh_normal, dog_weak, boar_strong, и т.д..

ОБЩИЕ НАСТРОЙКИ.

Обязательные условия респавна:

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

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

3. На каждой локации, респавн ограничен определёнными типами неписей. Данные ограничения установлены в файле misc\smart_terrain_presets.ltx. Чтобы сделать возможным респавн неписей, не предусмотренных на данной локации. Надо в указанном файле, в секции нужной локации, дописать требуемые типы неписей.

Для проверки созданного респавнера, можно не ждать когда сработает системный респавн, а вызвать принудительно респавн в нужной секции. Для этого, прописываем в любой логике, вызов функции %=respawner_spawn(имя респавнера)%. Где, "имя респавнера" - имя секции, созданной в файле all.spawn. Скобки обязательны.

Например, можно создать рядом с зоной респавнера, временный рестриктор. И в кастом дате рестриктора, прописать вызов функции принудительного вызова респавна, в нужном респавнере, при входе ГГ в зону рестриктора:


[logic]
active = sr_idle@in

[sr_idle@in]
on_actor_inside = %=respawner_spawn(имя респавнера)% sr_idle@out

[sr_idle@out]
on_actor_outside = sr_idle@in


Функция принудительного вызова респавна, находится в файле xr_effects.script.
Respawn предметов.


Респавн предметов в инвентарных ящиках, несколько отличается от способа респавна NPC.



1. Первое, что нам нужно сделать, это создать инвентарный ящик в файле "all.spawn":


[10000]
; cse_abstract properties
section_name = inventory_box
name = имя ящика
position = координаты x,y,z
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = гейм-вертекс
distance = 0
level_vertex_id = левел-вертекс
object_flags = 0xffffffba

story_id = стори ай-ди ящика

; cse_visual properties
visual_name = equipments\item_box_01



2. Затем, в файле game_story_id.ltx регистрируем story_id ящика. (выбираем любое свободное число).

3. Создаём респавнер в файле all.spawn. Координаты и размеры зоны респавнера, должны быть такими, чтоб инвентарный ящик поместился внутри зоны респавнера:


[10001]
; cse_abstract properties
section_name = respawn
name = имя_респавнера
position = координаты x,y,z
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = гейм-вертекс
distance = 2
level_vertex_id = левел-вертекс
object_flags = 0xffffff3e
custom_data = < [respawn]
respawn_section = список вещей респавна
idle_spawn = -1
parent = стори ай-ди ящика
item_spawn = true
max_count = 7
END

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 0.5,0,0 ;(ширина зоны респавнера, по X)
shape0:axis_y = 0,0.5,0 ;(высота зоны респавнера)
shape0:axis_z = 0,0,1 ;(ширина зоны респавнера, по Z)
shape0:offset = 0,0,0

; cse_alife_space_restrictor properties
restrictor_type = 3

; se_respawn properties


Где:
respawn_section = список вещей респавна, в виде их спавн - секций. Как и в респавнерах неписей, возможна прописка соотношений между вещами.
Например: respawn_section = wpn_pm,2, vodka,2, medkit,1, energy_drink,2, ammo_9x18_fmj,3

idle_spawn = тип спавна. Инвентарь не имеет типов спавна, поэтому ставится (-1).

parent = Story_id инвентарного ящика (из game_story_id.ltx), в котором производить респавн вещей .

item_spawn = (true\false) возможность включения и отключения респавна. Можно задавать условия, например инфопоршнем или функцией (разумеется прописанной в xr_conditions.script).

max_count = количество респав-циклов за определённый период времени. (Пока ГГ находится на локации. После перехода ГГ на другую локацию, счётчик сбрасывается).

4. Создаём вызов респавна. Обычно вызов производится из smart_terrain. В "custom_data" любого подходящего smart_terrain, под секцией [smart_terrain], вписываем вызов респавна:


[smart_terrain]
respawn = имя респавнера


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


И ЭТО ПРОЙДЕТ...
REKSID1
    
Посты: 177
Откуда: воронеж
Возраст:
26-02-2012 10:03 GMT3 час. #1579400   
вот секция ящика
; cse_abstract properties
section_name = physic_destroyable_object
name = esc_surprise_box_012
position = -186.322723388672,-21.6794471740723,-131.523406982422
direction = 0.0713645741343498,-0.00591489719226956,0.0827646702528

; cse_alife_object properties
game_vertex_id = 0
distance = 0
level_vertex_id = 3978
object_flags = 0xffffff3a
custom_data = < [drop_box]
community = def_box
items = af_blood
END

; cse_visual properties
visual_name = physics\box\box_wood_01

; cse_ph_skeleton properties

; cse_alife_object_physic properties
physic_type = 0x3
mass = 10

а как сделать что бы там лежало чтото




Форумы Архив » Свалка Вопросы и ответы (старое по 19.06.2012)


Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2025 «Stalker-Portal.ru»