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

Скриптование


Svoboда

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

:dash2:serega-gamer,

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

http://www.amk-team.ru/forum/index.php?sho...7726&st=440

И фикс к нему по этой:

http://narod.ru/disk/24452881000/xrs_grenade.script.html

Он более полный и лучший, чем 3 в 1.

А вылетает из-за скрипта amk_mod и функции в нём blowout_type, проблема в ней... Дальше я не знаю, ибо :dash2:

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

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


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

Люди, нужна помощь. Можно ли как-то в ТЧ привязать левел_чанджер к окончанию игры? То есть переходишь по нему - и всё, игра закончилась. Типа уйти с Зоны. В скриптах не силён, поэтому не могу так сделать =(

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


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

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


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

Ребят, такой вопрос. Делаю мод для себя, чтобы можно было спокойно поиграть именно с теми функциями, что мне нравятся. Порядок установки такой:

S.T.A.L.K.E.R. Map Pack Volume 1 + Arsenal-мод + S.T.A.L.K.E.R`s sound remake mod v.4.0 + Сборка АИ паков от The Reaper + Helicopter AI + Dialogs_Mega_Pack v2.0.1 final + Book Mod + Бьющиеся лампочки + Худы примитивных вещей 1.0.

Сейчас попробовал сверху накатить ещё вот это - Динамические новости + сон, вырезанные из АМК. Вначале был вылет, ругался, что нету этой ф-ции в скрипте amk_mod:

function blowout_type()
    local lname=level.name()
    local t=amk_hideouts.blowout_types[lname]
    if t>1 and amk.load_variable("freeplay",0)==2 then t=0 end
    return t or 0
end

Теперь же - зашёл в игру, всё норм, сохранился, загружаюсь - вылет:

Expression : fatal error

Function : CPostprocessAnimator::Load

File : E:\stalker\sources\trunk\xr_3da\xrGame\PostprocessAnimator.cpp

Line : 76

Description : <no expression>

Arguments : Can't find motion file 'onster_part_4'.

Знаю, не дурак что не найден какой-то файл. И, скорее всего, где-то опечатка (monster_part_4). Но я уже перелопатил всю сборку, а ведь проблему начались именно из-за этого добавления в мод. Где найти этот "motion" файл, и вообще к чему он относится?

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


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

Всё, проблему решил. Убрал пока схему поведения НПС при выбросе (стреляются они там или что делают - не знаю). Потом игра ругнулась, что в xr_motivator в прекондишнах просят эту схему. Я поставил проверку на этот скрипт и всё работает)

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


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

Подскажите, пожалуйста, где можно прочитать информацию о смарттеррейнах? Что это такое и с чем это едят. На вики смотрел - там только способ заспавнить смарттеррейны, поиск тоже юзал.

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

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


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

Товарищи, не подскажете, как правится сей вылет и что он значит? Просто не разу не связывался с вылетами, связанные с алл.спавном.

Expression : vertex || show_restrictions(m_object)

Function : CPatrolPathManager::select_point

File : E:\stalker\sources\trunk\xr_3da\xrGame\patrol_path_manager.cpp

Line : 155

Description : any vertex in patrol path [gar_bandit_post_walk1] in inaccessible for object [gar_bandit_post_7]

 

 

 

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


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

Здравствуйте! Подскажите, что это за вылет и как с ним бороться?

Expression    : false
Function      : CGameObject::ef_anomaly_type
File          : E:\stalker\sources\trunk\xr_3da\xrGame\GameObject.cpp
Line          : 843
Description   : Invalid anomaly type request, virtual function is not properly overridden!
Arguments     : C_HLCP_S

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


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

Здравствуйте! Уже 3 день бьюсь с одной проблемой.

[spoiler=Проблема :)]У учёных на Янтаре создаю предмет (4 предмета, просто разница в имени секции и позиции):

[13159]
; cse_abstract properties
section_name = inventory_box
name = komnata_yantar_divan3
position = 30.264,-10.982,-279.780
direction = 0.015,0,-1.000

; cse_alife_object properties
game_vertex_id = 1480
distance = 0
level_vertex_id = 54978
object_flags = 0xffffff3b
custom_data = <<END
[logic]
cfg = scripts\son_yantar_uch.ltx
END
;story_id = 12079

; cse_visual properties
visual_name = physics\equipment_cache\equipment_box_02_case

С логикой:

[logic]
active = ph_idle

[ph_idle]
tips = spi_spoki
on_use = %+budu_v_bunkere_spat%

В том же месте делаю спейс_рестриктор:

[13170]
; cse_abstract properties
section_name = space_restrictor
name = komnata_restrictor_son
position = 28.974,-11.688,-279.474
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 1480
distance = 0
level_vertex_id = 54978
object_flags = 0xffffffff
custom_data = <<END
[logic]
cfg = scripts\bunker_uchen.ltx
END

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 12.0,0,0
shape0:axis_y = 0,10.0,0
shape0:axis_z = 0,0,12.0
shape0:offset = 0,0,0

; cse_alife_space_restrictor properties
restrictor_type = 3

С логикой:

[logic]
active = sr_idle@pwork

[sr_idle@pwork]
on_actor_inside = sr_idle@work

[sr_idle@work]
on_actor_outside = sr_idle@pwork
on_info = {+budu_v_bunkere_spat} %=son_yan_sleep%

В xr_effects добавляю функцию:

function son_yan_sleep()
    local stype=nil
    if has_alife_info("budu_v_bunkere_spat") then
        stype="matras"
    end
    if stype~=nil then
        amk.start_timer("sleep_"..stype,0.1,matras)
    end
    if has_alife_info("budu_v_bunkere_spat") then
        db.actor:disable_info_portion("budu_v_bunkere_spat")
    end        
end

Вся проблема в том, что функция son_yan_sleep никак не хочет вызываться. Не могу понять, где ошибка. В Баре делал всё также, работало. Всё отличие было в том, что в Баре использовал уже существующий рестриктор - bar_bar_room_area. Подскажите, в чём дело?

 

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


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

AKKK1, я и пробовал делать и через рестриктор, и так:

on_use = %=my_function%

Ничего. Вообще. Теперь и в Баре этот способ тупит - иногда срабатывает, иногда нет. spi_spoki конечно зарегестрировал в файле с текстами. Да это и не было бы причиной неправильной работы.

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


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

@"StreloK", ты хочешь, чтобы при входе в рестриктор производился респавн? Может лучше при входе в рестриктор выдать инфопрошень, а уже в секции респавна поставить:

conditions = {+my_infopotrion} 100, 0

З.Ы. Просто предположение, я пока ещё респавном не занимался :)

А это:

on_actor_inside = %=cit_gulag_1_restavn% sr_idle@out

Вызовет не твой респавн, а функцию в xr_effects.

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

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


Ссылка на сообщение
AKKK1, вызов функции мне не нужен, у меня функция своя, из АМК изменённая. Ну да ладно, попробую. Хотя, вроде, так уже пробовал.

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


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

midichs, лучше закомментируй. Я так делал - комментируешь на время разбора, потом обратно. Вот мой ACDC, 3 разбирает вроде:

http://rghost.ru/4525829

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


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

midichs, http://rghost.ru/4540270

Качай. Я попробовал - разобрало. Но не уверен, что без лагов. Вроде бы разобрал хорошо - не сбивалось ничего.

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


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

Ulman, может так?

Spawn_Inventory_Item_Section = mutant_krovosos_jaw, mutant_flesh_eye

Сам не знаю, не делал...

TRAMP14, хм... Должен появится, попробуй заново коодинаты снять, может нолик не дописал или - + перепутал... Не забывай указывать level_vertex и game_vertex, от них тоже многое зависит...

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

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


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

amik, У зомбика ты должен в:

[smart_terrains]
none = true

Поставить вместо none название своего смарта.

А также можешь убрать:

[spawner]
cond = none

Она не нужна тебе в таком виде, нужна, если есть нужные поршни. Также советую почитать это:

Логика

Там с 0 по 2 части говорят про смарттеррейны. Во второй части - про монстровые. А также в последней части по смарттеррейнам есть много нужного.

P.S. Если что - обращайся в ЛС. Я сейчас как раз гулаги и смарты учу, пока получается делать... Ну, если не понятно - спрашиваю у друзей :)

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

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


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

midichs

Если отказывается собирать all.spawn с новыми предметами (пусть то будут твои арты, или аномалии, например), нужно добавить их в acdc.pl. Ищешь такую строчку (у меня она 2095):

    af_cristall                => 'cse_alife_item_artefact',

И ниже добавляешь свой артефакт:

    название_арта                => 'cse_alife_item_artefact',

Если тебе нужно добавить свои патроны, то тоже куда-нибудь рядом добавляешь:

    название_патрона                => 'cse_alife_item_ammo',

Аномалии:

    название_аномалии            => 'se_zone_anom',

Предмет (типа еды и т.д.):

    название_предмета                    => 'cse_alife_item',

И так далее и так далее. В общем, добавляешь что тебе нужно, ориентируясь на уже добавленные секции.

-------

разбирает какую-то ерунду

Ерунда - понятие растяжимое.

-------

еще подскажите такое: game.graph (я понял это Spawn doesn't correspond to the graph : REBUILD SPAWN! из-за него?)

Спавн не соответствует графу. Переделайте спавн!

У тебя в game.graph добавлена новая локация? Но это уже не ко мне, я такие дела делать не пробовал. Просто читал, что такое нужно делать.

 

 

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

Взял скрипт из АМК - watcher_act. Нашёл вот это (всего лишь часть таблицы):

local valuable_clsid={
    [clsid.art_black_drops]=true,
    [clsid.art_dummy]=true,
    [clsid.device_pda]=true,
    [clsid.equ_stalker_s]=true,
    [clsid.obj_antirad]=true,
    [clsid.obj_food]=true,
    [clsid.wpn_ammo_vog25]=true,
    [clsid.wpn_knife_s]=true,
    [clsid.wpn_lr300_s]=true,
    [clsid.wpn_scope_s]=true,
    [clsid.wpn_silencer]=true,
}

За что она отвечает? Предметы, которые надо поднимать сталкерам? Каким образом тогда добавлять свои? Тут названия не такие, как в их секциях.

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

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


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

Всем привет! Есть проблема и вопрос :)

Вот у меня actor_binder:reinit() в bind_stalker есть 3 (как это называется?

:blush: ):

    self.object:set_callback(callback.use_object, self.use_callback, self)
    self.object:set_callback(callback.use_object, self.use_inventory_item, self)
    self.object:set_callback(callback.use_object, self.use_object, self)

Ниже 3 функции:

function actor_binder:use_inventory_item(item)
    --// xr_companion
    xr_companion.use_inventory_item(item:section())
    --// xr_companion
end

function actor_binder:use_callback(obj, who)
---------bolt mod------------------
    bolt_mod.on_actor_use(obj)
-----------------------------------
end

function actor_binder:use_object(obj)
    dis_mod.use_snd(obj)
end

Первая - отвечает за вызов окошка с выбором действий при использовании коротковолновой рации, вторая - произведение различные операций с фейковым болтом, а третья - за воспроизведение звука при употреблении еды/воды. Проблема в том, что одна из этих функций не работает - с коротковолновой рацией. Если удалить третью, со звуком, то первая работает. Почему так? Пробовал вызов функции из третьей функции use_snd переместить во вторую - не работает воспроизведение звука. Что такое и почему не работает?

 

Создал секцию респавна:

[12790]
; cse_abstract properties
section_name = respawn
name = respawn_boars
position = 147.049,5.436,273.007
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 4302
distance = 10
level_vertex_id = 989271
object_flags = 0xffffff3e
custom_data = <<END
[respawn]
respawn_section = boar_weak,12, boar_normal,6, boar_strong,3
max_count = 4
min_count = 5
max_spawn = 10
idle_spawn = medium
conditions = {=gulag_population_le(gar_old_boars:3)} 60,0
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

 

Выкосил весь гулаг gar_old_boars. Сколько примерно времени надо ждать респавна? Он в происходит в оффлайн?

 

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

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


Ссылка на сообщение
midichs, поменяй в конце секции с переходом местами слова, начинающиеся с dest_.

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


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

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