Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Sany@Prizrak 1 Опубликовано 4 Июля 2012 Поделиться Опубликовано 4 Июля 2012 (изменено) Опять вылет: Expression : no_assert Function : CXML_IdToIndex<class CInfoPortion>::GetById File : e:\stalker\patch_1_0004\xr_3da\xrgame\xml_str_id_loader.h Line : 112 Description : item not found, id Arguments : esc_tutorial_secret_place Швед, игра не может найти диалог в данном случае. На будущее - вылет относится не только у диалогам. Всё, что прописано как предмет, оружие, броня, квест, инфопоршень и прочее, при его отсутствии выдаёт подобный вылет. Скорее всего у кого-то из НПС прописан твой диалог, а на самом деле его просто нет. Изменено 4 Июля 2012 пользователем Sany@Prizrak Ссылка на комментарий
Starter 238 Опубликовано 4 Июля 2012 Поделиться Опубликовано 4 Июля 2012 (изменено) Zander_driver, Один фиг. Dreamtale, Как ты и сказал сделал у всех один класс. Выбило с тем же логом что выше. Поставил у всех specific_character один и тот же esc_k_bp выбило такое. Expression : no_assert Function : CXML_IdToIndex<class CCharacterInfo>::GetById File : e:\stalker\patch_1_0004\xr_3da\xrgame\xml_str_id_loader.h Line : 112 Description : item not found, id Arguments : esc_k_bp Понял ошибку, исправил: в npc_kamera.xml написал только <character id="esc_k_bp"> <class>esc_k_bp</class> </character> Получил вылет с логом Description : Specified story object is already in the Story registry!. Посадил всех на esc_stalker_novice тот же вылет с логом Description : Specified story object is already in the Story registry!. Изменено 4 Июля 2012 пользователем Starter ЯДиск папка с крутым схроном! Ссылка на комментарий
Comador 203 Опубликовано 4 Июля 2012 Поделиться Опубликовано 4 Июля 2012 Starter, вот, что по этому поводу писал Artos - пост. Неважно – сколько у тебя друзей. Важно - сколько из них помогут тебе в трудную минуту и сколько вспомнят о тебе когда им хорошо. "Худ" и "Умное выпадание частей монстров" для Народной солянки Ссылка на комментарий
Saruman 8 Опубликовано 4 Июля 2012 Поделиться Опубликовано 4 Июля 2012 плащ, ты бы в шапку для начала заглянул, перед тем как спрашивать S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1 Vkontakte Добавление нового транспорта в сталкер Ссылка на комментарий
Стрелоk 14 Опубликовано 4 Июля 2012 Поделиться Опубликовано 4 Июля 2012 Возможно ли отследить (и выдать инфопоршень) активацию определенного артефакта в определенном месте? К20 Ссылка на комментарий
ТоШa 0 Опубликовано 4 Июля 2012 Поделиться Опубликовано 4 Июля 2012 (изменено) Помогите с all.spawn`ом не могу распаковать Мы будем молиться за тебя и твой all.spawn. ColR_iT Изменено 4 Июля 2012 пользователем ColR_iT Ссылка на комментарий
CRAZY_STALKER666 36 Опубликовано 4 Июля 2012 Поделиться Опубликовано 4 Июля 2012 (изменено) Люди что надо писать в логику контролера что-бы тот нормально атаковал а после смерти гг получал инфопошень test? Что ты определяешь под словами "нормально атаковал", тебе нужно чтобы он камнями бросался что ли? И кстати, после смерти ГГ контролёр не сможет получить инфопоршень, вообще уже никто ничего не получит - конец игры наступит. ColR_iT Изменено 4 Июля 2012 пользователем ColR_iT Не соответствует правилам. Ссылка на комментарий
Dreamtale 2 Опубликовано 4 Июля 2012 Поделиться Опубликовано 4 Июля 2012 Starter, попробуй удалить у своих сталкеров сиды, что ли (они им и не нужны, кроме командира разве что), посмотришь - взлетит или нет. Ссылка на комментарий
CRAZY_STALKER666 36 Опубликовано 4 Июля 2012 Поделиться Опубликовано 4 Июля 2012 (изменено) Да вы не поняли нужно что бы после СМЕРТИ КОНТРОЛЕРА поршень выдался Строгое предупреждение от модератора ColR_iT Да нет, это Вы не поняли - знаки препинания нужно ставить. Устное предупреждение. Изменено 4 Июля 2012 пользователем ColR_iT Не соответствует правилам. Ссылка на комментарий
Starter 238 Опубликовано 4 Июля 2012 Поделиться Опубликовано 4 Июля 2012 Dreamtale, Пробовал. Такой же вылет с логом на повторные иды. А вообще вот тех двоих заспавнил, пробовал без ида, там такой бред пошёл они по гулагам начали гулять. Послушал Artos'а и решил снести основу АМК, и сделать свою сборку. За советы спасибо. ЯДиск папка с крутым схроном! Ссылка на комментарий
максгород 0 Опубликовано 4 Июля 2012 Поделиться Опубликовано 4 Июля 2012 Добрый вечер! Люди,подскажите как убрать из меню дымящиеся угли(в титрах) файл этих углей ui_mm_coal.ogm пытался ковырять ui_mainmenu.script ничего не вышло,как поправить ? Ссылка на комментарий
Comador 203 Опубликовано 4 Июля 2012 Поделиться Опубликовано 4 Июля 2012 максгород, это правится в файле config\ui\ui_credits.xml. Вот этот параметр <auto_static x="524" y="641" width="256" height="128"> <texture>ui\ui_mm_coal</texture> </auto_static> Удали ссылку на видео и оно воспроизводиться не будет. Неважно – сколько у тебя друзей. Важно - сколько из них помогут тебе в трудную минуту и сколько вспомнят о тебе когда им хорошо. "Худ" и "Умное выпадание частей монстров" для Народной солянки Ссылка на комментарий
FANAT 117 Опубликовано 5 Июля 2012 Поделиться Опубликовано 5 Июля 2012 (изменено) Такое дело, адаптировал себе мод Патроны на поясе, вот.. Все работает, но такая бяка, начинает фурычить все только если уйти на другую локацию, то есть просто перейти, или скажем если сохраниться и загрузить этот сейв, тогда патроны перестают юзаться с рюкзака, и начинают с пояса.. Как поправить это дело, что бы сразу с начала новой игры они использовались с пояса. Вроде бы апдейт надо куда прописать, но в скриптах не силен, поэтому не знаю куда и что.. Все что надо было, я все у себя прописывал, из этого мода, где положено.. Сообщение от модератора ColR_iT Из области: "А угадайте, что я сделал?". Ни кодов, ни ссылки на тему с модом, ни самого мода. За тебя и твой мод тоже помолиться? Изменено 5 Июля 2012 пользователем ColR_iT Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения' Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации Ссылка на комментарий
Nickel1255 0 Опубликовано 5 Июля 2012 Поделиться Опубликовано 5 Июля 2012 (изменено) Народ, помогите. Добавил пару машин, но они мне нужны не для покатушек. Внимание вопрос - Как отключить посадку ГГ в автомобили? Спавнишь секцию физического объекта, а в качестве модели указываешь свой транспорт, советую зафиксировать его при этом. ColR_iT Изменено 5 Июля 2012 пользователем ColR_iT Ссылка на комментарий
Saruman 8 Опубликовано 5 Июля 2012 Поделиться Опубликовано 5 Июля 2012 Nickel1255, ни как, их вообще можно было заспаунить просто как динамические объекты, ну либо мудрить с их блокировкой S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1 Vkontakte Добавление нового транспорта в сталкер Ссылка на комментарий
FANAT 117 Опубликовано 5 Июля 2012 Поделиться Опубликовано 5 Июля 2012 Да, что то я не подумал.. Мод патроны на поясе, автор Колмогор.. -- Патроны которые вешаются на пояс, а остальные используются как раньше local ammo_types = { ["ammo_9x18_fmj"] = true, ["ammo_9x18_pbp"] = true, ["ammo_9x18_pmm"] = true, ["ammo_9x19_pbp"] = true, ["ammo_9x19_fmj"] = true, ["ammo_5.45x39_ap"] = true, ["ammo_5.45x39_fmj"] = true, ["ammo_5.56x45_ap"] = true, ["ammo_5.56x45_ss190"] = true, ["ammo_5.7x28_fmj"] = true, ["ammo_5.7x28_ap"] = true, ["ammo_7.62x54_ap"] = true, ["ammo_7.62x54_7h14"] = true, ["ammo_7.62x54_7h1"] = true, ["ammo_9x39_sp5"] = true, ["ammo_9x39_ap"] = true, ["ammo_9x39_pab9"] = true, ["ammo_gauss"] = true, ["ammo_11.43x23_fmj"] = true, ["ammo_11.43x23_hydro"] = true, ["ammo_12x76_dart"] = true, ["ammo_12x76_zhekan"] = true, ["ammo_12x70_buck"] = true, ["ammo_og-7b"] = true, ["ammo_vog-25p"] = true, ["ammo_vog-25"] = true, ["ammo_m209"] = true, -- Народная Солянка ["ammo_5.45x39_izomorf"] = true, ["ammo_7.62x54_izomorf"] = true, ["ammo_9x39_izomorf"] = true, ["ammo_7.62x54r"] = true, ["ammo_5.7x28_ss190"] = true, ["ammo_super_gauss"] = true, ["ammo_zhekan_izomorf"] = true, ["ammo_7.62x39_fmj"] = true, ["ammo_7.62x39_ap"] = true, ["ammo_7.62x25_p"] = true, ["ammo_7.62x25_ps"] = true, ["ammo_arbolt"] = true, ["ammo_samopal"] = true, ["ammo_igl"] = true, ["ammo_igl_new"] = true, ["ammo_7.62x51box"] = true, ["ammo_12.7x108"] = true, ["ammo_minigun"] = true} local ammo_fake_types = {} local need_convert = false local need_init = true local need_update = false local before_update = true function on_update() if before_update then before_update = false need_convert = true end if not need_update then return end if not inventory.belt_status then return end local sim = alife() local t = {} db.actor:iterate_inventory( function(npc, item) local sect=item:section() .. "_fake" if ammo_fake_types[sect] and inventory.belt_id[item:id()] == nil then t[sect] = get_ammo_size(item) + (t[sect] or 0) sim:release(sim:object(item:id()), true) end end , db.actor) for sec, num in pairs(t) do spawn_ammo_in_inv(sec, num) end need_update = false end -- Перепаковываем еще и при обыске трупа или тайника function on_info(info_id) if info_id == "ui_trade" or info_id == "ui_car_body" then on_inventory_open() elseif info_id == "ui_trade_hide" or info_id == "ui_car_body_hide" then on_inventory_close() end end function on_inventory_open() need_convert = false local t = {} local sim = alife() db.actor:iterate_inventory( function(npc, item) local sect=item:section() if ammo_fake_types[sect] then t[sect] = get_ammo_size(item) + (t[sect] or 0) sim:release(sim:object(item:id()), true) end end , db.actor) for s, num in pairs(t) do spawn_ammo_in_inv(string.sub(s,1,-6), num) end end function on_inventory_close() need_convert = true need_update = true end function on_item_take(item) if need_init then init() end local section = item:section() if ammo_types[section] and need_convert then local cnt = get_ammo_size(item) if cnt > 0 then local sim = alife() sim:release(sim:object(item:id()), true) spawn_ammo_in_inv(section.."_fake", cnt) end end end function init() for k, v in pairs(ammo_types) do ammo_fake_types[k.."_fake"] = v end need_init = false end -- Возвращает колличество патронов в пачке function get_ammo_size(obj) local se_obj = alife():object(obj:id()) if se_obj == nil then return 0 end local packet = net_packet() cse_alife_item_ammo.STATE_Write(se_obj, packet) packet:r_seek(packet:w_tell() - 2) return packet:r_u16() end function spawn_ammo_in_inv(spawn_item,number,npc) if npc==nil then npc=db.actor end if number > 0 then return se_respawn.create_ammo(spawn_item, npc:position(), npc:level_vertex_id(), npc:game_vertex_id(), npc:id(), number) end end local grenades_on_belt = {} local f = false function on_item_take(obj) local sec=obj:section() if (sec=="grenade_f1" or sec=="grenade_rgd5" or sec=="grenade_gd-05" or sec=="grenade_7643b" or sec=="grenade_an_m14" or sec=="grenade_m61" or sec=="w_dynamite") then del_item(obj:id()) spawn_in_inv("fake_"..sec) elseif (sec=="grenade_f1_1" or sec=="grenade_rgd5_1" or sec=="grenade_gd-05_1" or sec=="grenade_7643b_1" or sec=="grenade_an_m14_1" or sec=="grenade_m61_1" or sec=="w_dynamite_1") and not grenades_on_belt[obj:id()] then del_item(obj:id()) inventory.start() f=true end end function on_item_drop(obj) local id=grenades_on_belt[obj:id()] if id and has_alife_info("ui_inventory_hide") and not has_alife_info("ui_car_body") and not db.actor:is_talking() then grenades_on_belt[obj:id()]=nil del_item(id) end end function on_info(info_id) if info_id=="ui_inventory" or info_id=="ui_car_body" or info_id=="ui_trade" then db.actor:iterate_inventory(function(dummy,item) if item:section()=="grenade_f1_1" or item:section()=="grenade_rgd5_1" or item:section()=="grenade_gd-05_1" or item:section()=="grenade_7643b_1" or item:section()=="grenade_an_m14_1" or item:section()=="grenade_m61_1" or item:section()=="grenade_m67_1" or item:section()=="w_dynamite_1" then del_item(item:id()) end end,nil) elseif info_id=="ui_inventory_hide" or info_id=="ui_car_body_hide" or info_id=="ui_trade_hide" or info_id=="ui_talk_hide" then inventory.start() f=true end end function update_tbl() if f then grenades_on_belt={} local sect for id,v in pairs (inventory.belt_id) do if v then sect=level.object_by_id(id):section() if sect=="fake_grenade_f1" then grenades_on_belt[spawn_in_inv("grenade_f1_1")]=id elseif sect=="fake_grenade_rgd5" then grenades_on_belt[spawn_in_inv("grenade_rgd5_1")]=id elseif sect=="fake_grenade_gd-05" then grenades_on_belt[spawn_in_inv("grenade_gd-05_1")]=id elseif sect=="fake_grenade_7643b" then grenades_on_belt[spawn_in_inv("grenade_7643b_1")]=id elseif sect=="fake_grenade_an_m14" then grenades_on_belt[spawn_in_inv("grenade_an_m14_1")]=id elseif sect=="fake_grenade_m61" then grenades_on_belt[spawn_in_inv("grenade_m61_1")]=id elseif sect=="fake_grenade_m67" then grenades_on_belt[spawn_in_inv("grenade_m67_1")]=id elseif sect=="fake_w_dynamite" then grenades_on_belt[spawn_in_inv("w_dynamite_1")]=id end end end f=false end end function spawn_in_inv(sec) local obj = alife():create(sec,db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),0) return obj.id end function del_item(id) local sobj=alife():object(id) if sobj then alife():release(sobj,true) end end Прописано в бинд_сталкер, в функции function actor_binder:on_item_take (obj) belt_ammo.on_item_take(obj) -- амуниция на поясе belt = {} belt_id = {} belt_status = false local need_update = true local inventory_open = false local separator_spawned = false local separator = "separator" local debug = false local flag function update() if (need_update == false) then return end if debug == true and belt_status == true then get_console():execute("belt_status=false") end belt_status = false -- Спавним разделяющий елемент if (separator_spawned == false) then alife():create(separator, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) separator_spawned = true if debug == true then get_console():execute("separator_spawned") end return end belt = {} belt_id = {} flag = 0 -- Сканируем инвентарь db.actor:inventory_for_each(scan_inv) need_update = false -- Удаляем разделяющий елемент db.actor:inventory_for_each(del_separator) separator_spawned = false if debug == true and belt_status == false then get_console():execute("belt_status=true") end belt_status = true if debug == true then for i,k in pairs(belt) do get_console():execute(i.."="..k) end end -- патроны на пояс belt_ammo.on_update() belt_grenade.update_tbl() -- патроны на пояс remove_duplicate() end -- Перебор предметов инвентаря function scan_inv(item) local section = item:section() if section == separator then flag = 1 return end if flag == 1 then if slot_item(item) ~= nil then flag = 2 else insert_to_table(belt, section) belt_id[item:id()] = true end end end -- Добавление в таблицу function insert_to_table(tbl, section) if tbl[section] == nil then tbl[section] = 1 else tbl[section] = tbl[section] + 1 end end -- Удаление разделяющего предмета function del_separator(item) if item:section() == separator then alife():release(alife():object(item:id()), true) if debug == true then get_console():execute("separator_removed") end end end -- Определение налечия предмета в одном из слотов function slot_item(item) for i=0,12 do local obj = db.actor:item_in_slot(i) if obj and item:id() == obj:id() then return i end end return nil end -- Поднятие предмета function on_item_take(item) -- патроны на пояс belt_ammo.on_item_take(item) belt_grenade.on_item_take(item) -- патроны на пояс if item:section() == separator then return end if (inventory_open == false) then if (separator_spawned == true) then db.actor:inventory_for_each(del_separator) separator_spawned = false end need_update = true if debug == true then get_console():execute("item_take") end end end -- Выброс предмета function on_item_drop(item) -- патроны на пояс belt_grenade.on_item_drop(item) -- патроны на пояс if item:section() == separator then return end if (inventory_open == false) then if (separator_spawned == true) then db.actor:inventory_for_each(del_separator) separator_spawned = false end need_update = true if debug == true then get_console():execute("item_drop") end end end -- Открытие/закрытие инвентаря function on_inventory_info(info_id) -- патроны на пояс belt_ammo.on_info(info_id) belt_grenade.on_info(info_id) -- патроны на пояс if info_id == "ui_inventory" then inventory_open = true if debug == true then get_console():execute("inventory_open") end belt_ammo.on_inventory_open() -- патроны на пояс elseif info_id == "ui_inventory_hide" then inventory_open = false need_update = true if debug == true then get_console():execute("inventory_close") end belt_ammo.on_inventory_close() -- патроны на пояс end end function check_blood() -- if belt_status == true then if belt["af_blood"]~=nil and belt["af_blood"]>0 then -- то есть когда параметр пояса[af_blood] равен 1, 2, 3.. Сколько навесишь Камней. amk.send_tip("Кровь Камня на поясе") end -- end end local unique_sect = { ["af_caterpillar"] = true, ["af_arhara_globus"] = true, ["af_vyvert_green"] = true, ["af_blood_green"] = true, ["af_dummy_spring_red"] = true, ["af_dummy_battery_red"] = true, ["af_dummy_pellicle_red"] = true, ["af_babka_3"] = true, ["af_babka_4"] = true, ["af_armor_4"] = true, ["af_cry_3"] = true, ["af_dik_4"] = true, ["af_kol_3"] = true, ["af_kol_4"] = true, ["af_pudd_4"] = true, ["af_spirit_3"] = true, ["af_spirit_4"] = true, ["af_gold_fish"] = true, ["af_eye_voron"] = true } --оставляет на поясе по одному(фиг,теперь двум) артефакту каждого вида function remove_duplicate() local t = check_duplicate() for k, v in pairs(belt_id) do local sobj = alife():object(k) if sobj then local sect = sobj:section_name() -- if is_unique(sobj:clsid()) and t[sect] ~= nil and t[sect] > 0 then --if is_unique(sect) and t[sect] ~= nil and t[sect] > 0 then if unique_sect[sect] and t[sect] ~= nil and t[sect] > 0 then alife():release(sobj, true) local text="Убраны лишние артефакты "..game.translate_string(amk.get_inv_name(sect)).." с пояса" news_manager.send_tip(db.actor, text, nil, nil, nil) amk.spawn_item_in_inv(sect, db.actor) t[sect] = t[sect] - 1 end end end end --собирает инфу о дупликатах на поясе --возвращает таблицу вида [секция арта] = <количество лишних артов> function check_duplicate() local result = {} for k, v in pairs(belt) do if v > 2 then result[k] = v - 2 end end return result end function start() need_update = true end Добавлено через 1 мин.: Nickel1255, В ДМХ например до взятия ключа, двери заблокированы у машин.. Добавлено через 1 мин.: Вот я где то, что то забыл прописать, а что не пойму.. Добавлено через 2 мин.: Привел только скрипты, конфиги думаю не нужны.. Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения' Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации Ссылка на комментарий
Sany@Prizrak 1 Опубликовано 5 Июля 2012 Поделиться Опубликовано 5 Июля 2012 Мне нужна скриптовая функция таймера, чтобы действие, а именно выдача инфопоршня при выполнении функции происходило через определённый промежуток времени. Заранее спасибо. Ссылка на комментарий
Shredder 49 Опубликовано 5 Июля 2012 Поделиться Опубликовано 5 Июля 2012 (изменено) Возможно, не совсем по теме, но всё же. Есть ли возможность создать в диалоговом окне прямоугольную область с иконками предметов, как в инвентаре? Честно говоря, очень сомневаюсь, что такое возможно. Но быть может кто-нибудь знает алгоритм заполнения прямоугольной области прямоугольниками, чтобы общая площадь получилась наименьшей. Изменено 5 Июля 2012 пользователем Shredder Ссылка на комментарий
Drunk 0 Опубликовано 5 Июля 2012 Поделиться Опубликовано 5 Июля 2012 (изменено) Установлено ТЧ 1.0004 + АМК 1.4.1 + 2 патча Как сделать респаун уже прописанных(готовых) зомбированных на Янтарь(как в оригинале) ? Что нужно дописать(и куда), так как описание самих зомбированных вроде есть ? Поиск не помог или я не умею им пользоваться Заранее благодарен. Сообщение от модератора ColR_iT Вот как раз для ответа на свой вопрос и придётся научиться пользоваться поиском. Изменено 5 Июля 2012 пользователем ColR_iT Ссылка на комментарий
n6260 150 Опубликовано 6 Июля 2012 Поделиться Опубликовано 6 Июля 2012 Как сделать респаун уже прописанных(готовых) зомбированных на Янтарь В этом разделе есть отдельная тема по спавну персонажей в игре. А как правится время респавна - давно уже не секрет и найти не сложно. 256 символов Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти