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

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

TASTAN, чтобы появилась пища для раздумий, поставь в data_packet.pm после строчки 62 (foreach my $p (@_) {) вот такое:

print "$p->{name}\n";

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

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

KD87, Вот что получилось:

E:\game\S.T.A.L.K.E.R\gamedata\spawns>acdc.pl -d all.spawn

dummy16

section_name

name

s_gameid

s_rp

position

direction

respawn_time

unknown_id

parent_id

phantom_id

s_flags

version

script_version

game_vertex_id

distance

direct_control

level_vertex_id

object_flags

custom_data

story_id

spawn_story_id

visual_name

visual_flags

g_team

g_squad

g_group

health

dynamic_out_restrictions

dynamic_in_restrictions

killer_id

game_death_time

money

specific_character

trader_flags

character_profile

community_index

rank

reputation

character_name

skeleton_name

skeleton_flags

source_id

holder_id

upd:health

upd:timestamp

upd:creature_flags

upd:position

upd:o_model

upd:o_torso

upd:g_team

upd:g_squad

upd:g_group

upd:actor_state

upd:actor_accel_header

upd:actor_accel_data

upd:actor_velocity_header

upd:actor_velocity_data

upd:actor_radiation

upd:actor_weapon

upd:num_items

Died at stkutils/data_packet.pm line 21.

 

E:\game\S.T.A.L.K.E.R\gamedata\spawns>pause

Для продолжения нажмите любую клавишу . . .

 

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

TASTAN, ACDC по версии к спавну не подходит. Можешь залить куда-нибудь спавн - я посмотрю, какой он версии. Или попробуй Universal ACDC.

Вообще странный вылет.

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

Срочно нужна помощь! Совместил АМК ЗП 0.4 с АРС 0.5.2. Затон работает нормально, но при переходе на любую другую локацию происходит вот такой вылет (также при начале игры на другой локации).

! Cannot find saved game ~~~dbg:_bp:_init():_name='device_pda9929'

! Cannot find saved game ~~~dbg:adding_object_%s

! Cannot find saved game ~~~dbg:adding_object_jup_hiding_place_45

! Cannot find saved game ~~~dbg:motivator_binder:net_spawn():_self.object:name()='%s'

! Cannot find saved game ~~~dbg:motivator_binder:net_spawn():_self.object:name()='jup_belov9938'

! Cannot find saved game ~~~dbg:adding_object_%s

! Cannot find saved game ~~~dbg:adding_object_jup_belov9938

! Cannot find saved game ~~~dbg:filename_is_[%s]

! Cannot find saved game ~~~dbg:filename_is_[nil]

! Cannot find saved game ~~~dbg:xr_info_loaded!!!

! Cannot find saved game ~~~dbg:xr_info_loaded!!!

! Cannot find saved game ~~~dbg:setup_gulag_and_logic_on_spawn_obj=%s,_strn_id=%s,_loaded=%s

! Cannot find saved game ~~~dbg:setup_gulag_and_logic_on_spawn_obj=jup_belov9938,_strn_id=2787,_loaded=fa

lse

! Cannot find saved game ~~~dbg:disable_invulnerability._npc[%s]_=_[false]

! Cannot find saved game ~~~dbg:disable_invulnerability._npc[jup_belov9938]_=_[false]

! Cannot find saved game ~~~dbg:reset_invulnerability._npc[%s]_=_[%s]

! Cannot find saved game ~~~dbg:reset_invulnerability._npc[jup_belov9938]_=_[false]

 

FATAL ERROR

 

[error]Expression : !m_error_code

[error]Function : raii_guard::~raii_guard

[error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp

[error]Line : 748

[error]Description : ....e.r. - Зов Припяти\gamedata\scripts\xr_logic.script:955: bad argument #1 to 'gfind' (string expected, got nil)

 

 

stack trace:

 

 

Нашел в xr_logic.script функцию с 955 строкой:

function parse_condlist(npc, section, field, src)

local lst = {}

 

-- 1) Разбиваем на разделенные запятыми части:

local at, to, infop_check_lst, remainings, infop_set_lst, newsect

 

--printf("_bp: src = %s", src)

 

local n = 1

for fld in string.gfind(src, "%s*([^,]+)%s*") do -- вот строка 955.

-- Здесь fld это набор infoportions в {} и имя секции, на которую переключиться.

lst[n] = {}

--printf("_bp: iter %d: fld = %s", n, fld)

 

-- Выделяем список infoportions для проверки:

at, to, infop_check_lst = string.find(fld, "{%s*(.*)%s*}")

if infop_check_lst then

--printf("_bp: infop_check_lst: [%s]", infop_check_lst)

 

-- Выделяем оставшуюся часть поля, т.е. имя секции плюс список infoportions для установки:

remainings = string.sub(fld, 1, at - 1) .. string.sub(fld, to + 1)

else

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

remainings = fld

end

--printf("_bp: remainings: %s", remainings)

 

-- Выделяем список infoportions для установки из remainings:

at, to, infop_set_lst = string.find(remainings, "%%%s*(.*)%s*%%")

if infop_set_lst then

-- Выделяем оставшуюся часть поля, т.е. имя секции:

newsect = string.sub(remainings, 1, at - 1) .. string.sub(remainings, to + 1)

else

-- Список infoportions для установки не был задан, следовательно, remainings и есть имя секции.

newsect = remainings

end

--printf("_bp: newsect: %s", newsect)

 

-- И сразу trim имя секции:

at, to, newsect = string.find(newsect, "%s*(.*)%s*")

if not newsect then

abort_syntax_error_in_cond(npc, section, field)

end

 

-- Имя секции теперь можно сохранить:

lst[n].section = newsect

 

-- Теперь нужно распарсить infoportions в строке infop_check_lst и

-- заполнить массив infop_check: { "infop_name" = true/false }.

-- На входе имеем строку вида " +infop1 -infop2 +infop3 ... "

lst[n].infop_check = {}

parse_infop(lst[n].infop_check, infop_check_lst)

 

-- То же самое для устанавливаемых infoportions:

lst[n].infop_set = {}

parse_infop(lst[n].infop_set, infop_set_lst)

 

n = n + 1

end

 

return lst

end

 

 

Вот сижу и думаю, что это может означать...

Жду ли я Сталкер 2? Хм...
Ссылка на комментарий

Здравствуйте!

1. Как можно заставить актора определённое время замереть на месте? Чтобы вообще не двигался? И желательно в присяди...

2. Не подскажете функцию очистки инвентаря актора? Полной очистки - с деньгами и прочим.

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

Disord,

1. для организации "неподвижности" игрока можно использовать функцию set_inactivate_input_time(xxx), в которой xxx это время, в течение которого отключается ввод команд для ГГ. Эта функция используется, например, в ситуации, когда ГГ получает удар в физиономию за слишком настойчивые приставания к сталкерам. Либо напрямую использовать level.disable_input()/level.enable_input().

2. Вот такая конструкция подойдёт ;)?

function clear_player_inventory()
    db.actor:iterate_inventory(
        function(dummy,item)
            local nameid = item:section()
            if nameid ~= "bolt" then
                alife():release(alife():object(item:id()), true)
            end
        end, nil)
    db.actor:give_money(-db.actor:money())
end

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

Полтергейст, после твоей правки я даже не Затон не могу зайти. Вылетает с таким логом:

* [prefetch] time: 21356 ms

* [prefetch] memory: 110656Kb

! Player name in registry is empty! (InstallUserName)

! Cannot find saved game ~~~dbg:start_game_callback_called

! Cannot find saved game ~~~dbg:start_game_callback_called

! Cannot find saved game ~~~dbg:fill_phrase_table

! Cannot find saved game ~~~dbg:fill_phrase_table

* phase time: 21557 ms

* phase cmem: 232193 K

* phase time: 10 ms

* phase cmem: 232193 K

* Creating new game...

* Loading spawn registry...

! Cannot find saved game ~~~dbg:_se_smart_terrain:_set_load_marker:_%s

! Cannot find saved game ~~~dbg:_se_smart_terrain:_set_load_marker:_171

 

FATAL ERROR

 

[error]Expression : !m_error_code

[error]Function : raii_guard::~raii_guard

[error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp

[error]Line : 748

[error]Description : ....e.r. - Зов Припяти\gamedata\scripts\xr_logic.script:589: bad argument #1 to 'pairs' (table expected, got nil)

 

 

stack trace:

 

Помогите разобраться с проблемой...

Жду ли я Сталкер 2? Хм...
Ссылка на комментарий

TRAMP14

Можно. Скрипт гравипушки, в частности, основан на отслеживании выстрела (нажатии ЛКМ).

Алгоритм прост - сравниваем на апдейте кол-во патронов в стволе и размер магазина. Либо считаем каждый выстрел и опять сравниваем.

В скриптах гравипушки используется ствол с магазином на один патрон - так проще отслеживать выстрел. Если же писать скрипт для ствола с реальным магазином - то все несколько сложнее.

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

У кого есть идеи, как скриптом заставить ГГ выйти из машины?

Или может кто то решил движковый вылет на ЧН при смерти игрока в машине?

Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О

Мастер аномалий на свою заднюю точку.

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

Спасибо!А что нужно прописать неписям чтобы во время боя они атаковали с места, а не ходили куда не надо?

Создаю глобальный мод с новыми локациямЭ

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

strelok200, Посмотри логику всех сюжетных снайперов (соят на месте никуда не дергаясь)и еще там есть тонкость пути у них из одной точки и в месте с отсутствуещей АИ сеткой (не у всех ,но есть такие,к примеру монолитовцы на крыше на радаре и ЧАЭС)

Можно и не снайперов заставить ,но не помню какой командой(пример -засада "долга" на патруль "свободы")

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

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

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

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

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

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

Войти

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

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

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