Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
lsclon 527 Опубликовано 26 Февраля 2014 Поделиться Опубликовано 26 Февраля 2014 ...вышел с Кордона, вернулся на АТП бандюки... Респавнер на текущей локации не работает, если явно не указано работать онлайн. Соответственно, выйдя с локации, вы запускаете респавнеры, находящиеся на Кордоне. ...может ещё что нужно править. Если речь идёт об оригинале ТЧ, то вот эта строка: if self.respawn_time < game.get_game_time() then, работает пока вы находитесь на локации. Стоит вам перейти на другую локацию или перезагрузится, параметр self.respawn_time принимает значение game.CTime(), что явно меньше текущей даты. Это происходит потому, что сам параметр self.respawn_time не сохраняется. Посмотрите как это исправлено в "Народной Солянке". 3 Вообще-то я белая и пушистая... Ссылка на комментарий
AndrewMor 527 Опубликовано 27 Февраля 2014 Поделиться Опубликовано 27 Февраля 2014 (изменено) Такой вопрос возник: можно ли удалить аномалию, заспавненную через all.spawn, по выдаче инфопоршня? Или возможно ли в секции спавна аномалии прописать условие спавна? Изменено 27 Февраля 2014 пользователем AndrewMor Сталкер - наше всё! Ссылка на комментарий
GIDROCEFAL 3 Опубликовано 27 Февраля 2014 Поделиться Опубликовано 27 Февраля 2014 Доброго времени суток. Заранее приношу извинения, если не туда пишу. Играю в Народную солянку + ООП. Получил обыкновенный радар артефактов, вставил в пистолетный слот, а он не работает. Не пищит, хоть и стою рядом с артом. Вот и подумал может надо в файлах что-то подправить по этому поводу. Заранее благодарю. Ссылка на комментарий
VovanDolg 1 Опубликовано 27 Февраля 2014 Поделиться Опубликовано 27 Февраля 2014 (изменено) Или возможно ли в секции спавна аномалии прописать условие спавна? Скорее всего возможно, вот пример(сам не проверял, но работать должно) [153] ; cse_abstract properties section_name = zone_mosquito_bald_weak name = esc_zone_mosquito_bald_weak position = -62.7365341186523,20.1926517486572,169.534149169922 direction = -0.367405563592911,0.0629953369498253,0.17383885383606 ; cse_alife_object properties game_vertex_id = 165 distance = 39.2000007629395 level_vertex_id = 213209 object_flags = 0xffffff3e custom_data = <<END [spawner] cond = {+название_поршня} END ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 5.02300071716309 ; cse_alife_space_restrictor properties restrictor_type = 0 ; cse_alife_custom_zone properties max_power = 0 ; cse_alife_anomalous_zone properties offline_interactive_radius = 30 artefact_spawn_count = 32 ; se_zone_anom properties А чем мотивируется утверждение, если ты не проверял? Догадками? ColR_iT Изменено 27 Февраля 2014 пользователем ColR_iT Ссылка на комментарий
AndrewMor 527 Опубликовано 27 Февраля 2014 Поделиться Опубликовано 27 Февраля 2014 (изменено) Скорее всего возможно, вот пример(сам не проверял, но работать должно) Я сам не проверял, потому и спросил, может кто ответить точно. Просто вроде ни в одной секции аномалий такого не встречал. Будем пробовать. Ну вот, попробовал и могу сказать: не работает такой способ. Аномалия спавнится в любом случае, независимо от того, выдан поршень или нет. И не будет. Скрипты не читают секцию spawner в объектах отличных от НПС или мобов. ColR_iT Тогда такой вопрос: есть аномалия, спавненная скриптом. Как ее скриптом убрать? Известны ее координаты и вертексы. Масса способов: заспавнить уникальную секцию или запомнить где-то переменную с id этой аномалии, как самое простое. ColR_iT Масса способов: заспавнить уникальную секцию или запомнить где-то переменную с id этой аномалии, как самое простое. ColR_iT А примерчик не можете привести? Или ссылочку. Изменено 27 Февраля 2014 пользователем ColR_iT Сталкер - наше всё! Ссылка на комментарий
PowerMonger 1 Опубликовано 27 Февраля 2014 Поделиться Опубликовано 27 Февраля 2014 И снова я со своим АТП и бандитами-военными. Мне подсказали, что надо в gulag_escape.script сменить bandit на military...Я заглянул. Но думаю, что это не совсем то, что надо. Вот например кусок скрипта: --' Бандиты на фабрике if type == "esc_fabrika_bandit" then-- часовые днёмt = { section = "logic@esc_fabrika_bandit_walker1",idle = 0,prior = 2, state = {0},in_rest = "esc_prison_zone", out_rest = "esc_fabrika_bandit_space_restrictor"}table.insert(sj, t)t = { section = "logic@esc_fabrika_bandit_walker2",idle = 0,prior = 2, state = {0},in_rest = "esc_prison_zone", out_rest = "esc_fabrika_bandit_space_restrictor"}table.insert(sj, t)t = { section = "logic@esc_fabrika_bandit_walker3",idle = 0,prior = 2, state = {0},in_rest = "esc_prison_zone", out_rest = "esc_fabrika_bandit_space_restrictor"} Если тут что-то сменить с bandit, на military, я думаю, кроме вылета ничего не получу=/.. Что же все таки сделать, чтобы на АТП Шустрого пленили не бандиты, а военные, и при том никуда не расходились и Шустрого не губили?(Понятнее чтобы было, читайте вопрос на 577 стр.). Ссылка на комментарий
AndrewMor 527 Опубликовано 27 Февраля 2014 Поделиться Опубликовано 27 Февраля 2014 В продолжение темы: вот скрипт, который спавнит аномалию. Как здесь вписать ее id? Чтобы он сохранялся и читался из нет-пакета? function get_story_id_not_replay() local ST ST = xr_logic.pstor_retrieve(db.actor, "ScriptAnomId", 0) if type(ST) ~= "number" or ST == nil then ST = 9000 xr_logic.pstor_store(db.actor, "ScriptAnomId", ST) end if type(ST) == "number" or ST ~= nil then ST = ST + 1 xr_logic.pstor_store(db.actor, "ScriptAnomId", ST) end return tonumber(ST)endfunction create_anom(name_anom, posit_anom, lvid_anom, gvid_anom, radius_anom, power_anom) local obj = alife():create(name_anom, posit_anom, lvid_anom, gvid_anom)-----------------------write----------------------local packet = net_packet()obj:STATE_Write(packet)-----------------------load------------------------- cse_alife_objectlocal game_vertex_id = packet:r_u16()local distance = packet:r_float()local direct_control = packet:r_u32()local level_vertex_id = packet:r_u32()local object_flags = packet:r_u32()local custom_data = packet:r_stringZ()local story_id = packet:r_u32()local spawn_story_id = packet:r_u32()-- cse_shapelocal shape_count = packet:r_u8()for i=1,shape_count dolocal shape_type = packet:r_u8()if shape_type == 0 then-- spherelocal center = packet:r_vec3()local radius = packet:r_float()else-- boxlocal box = packet:r_matrix()endend-- cse_alife_space_restrictorlocal restrictor_type = packet:r_u8()-- cse_alife_custom_zonelocal max_power = packet:r_float()local owner_id = packet:r_u32()local enabled_time = packet:r_u32()local disabled_time = packet:r_u32()local start_time_shift = packet:r_u32()-- cse_alife_anomalous_zonelocal offline_interactive_radius = packet:r_float()local artefact_spawn_count = packet:r_u16()local artefact_position_offset = packet:r_u32()-- se_zone_anomlocal last_spawn_time_present = packet:r_u8()if (string.find (name_anom, 'zone_zharka_static') ~= nilor string.find (name_anom, 'zone_witches_galantine') ~= nilor string.find (name_anom, 'zone_mosquito_bald') ~= nilor string.find (name_anom, 'zone_mincer') ~= nilor string.find (name_anom, 'zone_gravi_zone') ~= nilor string.find (name_anom, 'zone_buzz') ~= nil )and packet:r_elapsed() ~= 0 thenabort("left=%d", left)end---------------------------save---------------------- cse_alife_objectpacket:w_begin(game_vertex_id)packet:w_float(distance)packet:w_u32(direct_control)packet:w_u32(level_vertex_id)object_flags = bit_not(193)packet:w_u32(object_flags)packet:w_stringZ(custom_data)packet:w_u32(get_story_id_not_replay())packet:w_u32(get_story_id_not_replay())-- cse_shapepacket:w_u8(1) -- количество фигурpacket:w_u8(0) -- тип фигуры: сфераpacket:w_vec3(vector():set(0, 0, 0))if radius_anom ~= nil thenpacket:w_float(radius_anom)elsepacket:w_float(1.0)end-- cse_alife_space_restrictorpacket:w_u8(restrictor_type)-- cse_alife_custom_zoneif power_anom ~= nil thenpacket:w_float(power_anom)elsepacket:w_float(max_power)endpacket:w_u32(owner_id)packet:w_u32(enabled_time)packet:w_u32(disabled_time)packet:w_u32(start_time_shift)-- cse_alife_anomalous_zonepacket:w_float(offline_interactive_radius)packet:w_u16(artefact_spawn_count)packet:w_u32(artefact_position_offset)-- se_zone_anompacket:w_u8(last_spawn_time_present)------------------------read------------------------packet:r_seek(0)obj:STATE_Read (packet, packet:w_tell())end-----------------------------------спавним аномалии-----------------------------------function spawn_anom1()this.create_anom('zone_witches_galantine_strong', vector():set(132.84954833984,8.5610275268555,-19.224378585815),1152755,4019, 3, 0.7)end Сталкер - наше всё! Ссылка на комментарий
Призрачный 125 Опубликовано 27 Февраля 2014 Поделиться Опубликовано 27 Февраля 2014 PowerMonger в gulag_escpase в конце у меня уже поставлено на бандиты вот if gulag_type == "esc_bridge" then return npc_community == "bandit" end if gulag_type == "esc_specnaz" then return se_obj:profile_name() == "esc_soldier_specnaz" end if gulag_type == "esc_blokpost" then return npc_community == "straj" end if gulag_type == "esc_killers" then return npc_community == "killer" end if gulag_type == "esc_lager" then return npc_community == "stalker" end if gulag_type == "esc_fabrika_bandit" then return npc_community == "military" end if gulag_type == "esc_ambush" then return npc_community == "bandit" end if gulag_type == "esc_corps" then return npc_community == "stalker" end if gulag_type == "esc_assault" then return npc_community == "stalker" end if gulag_type == "esc_stalker_camp" then return npc_community == "stalker" end return false end 1 Ссылка на комментарий
ins33 16 Опубликовано 27 Февраля 2014 Поделиться Опубликовано 27 Февраля 2014 (изменено) @AndrewMor, Тут ты можешь можешь только все zone_witches_galantine_strong удалить. Как вариант можешь создать уникальную аномалию, или: по имени: for a=10,65635,1 dolocal obj=alife():object(a)if obj and string.find(obj:name(),"имя_аномалии") then -- name = из all.spawn-- Если надо удалить все, то используй obj:section_name()alife():release(obj,true)endend Изменено 27 Февраля 2014 пользователем ins33 Ссылка на комментарий
AndrewMor 527 Опубликовано 27 Февраля 2014 Поделиться Опубликовано 27 Февраля 2014 Тут ты можешь можешь только все zone_witches_galantine_strong удалить. Как вариант можешь создать уникальную аномалию, или: Мне нужно удалить именно конкретные аномалии, которые я буду спавнить скриптом. Дать им уникальные id'ы, а потом по этим id/ам их удалить, также скриптово. Хотя я могу эти аномалии и через all.spawn заспавнить, а удалить скриптово. Так даже удобнее будет. Спасибо, буду пробовать. Сталкер - наше всё! Ссылка на комментарий
ins33 16 Опубликовано 27 Февраля 2014 Поделиться Опубликовано 27 Февраля 2014 (изменено) @AndrewMor, Поздно прочитал, тогда используй obj:section_name() Только так, будет удалять все аномалии с такой секцией. Изменено 27 Февраля 2014 пользователем ins33 Ссылка на комментарий
MGS 21 Опубликовано 28 Февраля 2014 Поделиться Опубликовано 28 Февраля 2014 Есть тут 1 проблема: После убийства пси собаки (которую я заспавнил на новой локации) я получаю вылет: Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...Oaie ?a?iiauey\gamedata\scripts\sim_statistic.script:12: attempt to index global 'xr_statistic' (a nil value) Как исправить? Ссылка на комментарий
Капрал Хикс 513 Опубликовано 28 Февраля 2014 Поделиться Опубликовано 28 Февраля 2014 (изменено) @MGS, ну очевидно же. В скрипте xr_statistic, скорее всего, синтаксическая ошибка. Изменено 28 Февраля 2014 пользователем Капрал Хикс Ссылка на комментарий
VovanDolg 1 Опубликовано 28 Февраля 2014 Поделиться Опубликовано 28 Февраля 2014 Function : CScriptEngine::lua_error Если не уверен в написании скриптов, проверь их на ошибки с помощью программы LuaChecker. Ссылка на комментарий
Dim@s535 0 Опубликовано 2 Марта 2014 Поделиться Опубликовано 2 Марта 2014 Здравствуйте, сталкеры, и удачи, как в Зоне, так и в моддинге. Я очень рад, что узнал об этом сайте вовремя, одновременно начав ковыряться в файлах S.T.A.L.K.E.R.'а. Раньше (года три назад) хорошо разбирался в конфигах и сделал небольшую модификацию, но потом забросил игру. Теперь снова решил окунуться с головой во вселенную S.T.A.L.K.E.R.'а. Но вот беда: за это время я забыл, где что находится и как делается... досада. Поэтому последовал вопрос: как сделать использование предметов в ТЧ и ЧН как в ЗП? Не мгновенным восстановлением здоровья аптечками, а постепенным и с возможностью установки времени лечения в конфиге. Сам в скриптах игры новичок, поэтому не злитесь, если глупыми вопросами достану. Если не в ту тему попал или вопрос уже задавался, извините, ради Бога. Искал, искал, но ничего не нашёл. Заранее благодарен за помощь. Ссылка на комментарий
AndrewMor 527 Опубликовано 2 Марта 2014 Поделиться Опубликовано 2 Марта 2014 Заспавнил дверь на Затоне, как в ЗП в Железном лесу. При подключении логики двери - вылет: Expression : motion_ID.valid()Function : CKinematicsAnimated::ID_CycleFile : E:\stalker\sources\trunk\xr_3da\SkeletonAnimated.cppLine : 136Description : ! MODEL: can't find cycle:Arguments : Чего-то не хватает, анимации, что ли? И где ее взять? Сталкер - наше всё! Ссылка на комментарий
Капрал Хикс 513 Опубликовано 2 Марта 2014 Поделиться Опубликовано 2 Марта 2014 @Dim@s535, тебе сюда http://www.amk-team.ru/forum/index.php?showtopic=12674 Ссылка на комментарий
VVV32768 299 Опубликовано 2 Марта 2014 Поделиться Опубликовано 2 Марта 2014 Всем доброго здравия. Накопилась пара вопросов, по порядку. Использую стандартную ф-ю спавна alife():create и т.д. При спавне вместо 4х заявленных плотей появляется 3. Или вместо десяти девять не суть важно, но всегда на одну меньше. Не пойму куда девается одна единица. Можно конечно добавить лишнюю строчку и не морочаться, но хотелось бы разобраться. И второй вопрос: Наверное всем знаком РПК из соли rpk74_sk1, перенёс его в игру со всеми "хвостиками". Всё работает нормально, но, периодически возникает пачка красных строк в консоли can not find save ~ weapon_type(описание примерно). Как я понял это происходит при автосейве. Что это может значить, может кто сталкивался с подобным, тоже хотелось бы понять что не так. Безглючная работа компа и модов, зависит от присутствия у юзера драйверов mozgi.sys и pryami_hands.vxd. Ссылка на комментарий
ColR_iT 171 Опубликовано 2 Марта 2014 Поделиться Опубликовано 2 Марта 2014 @VVV32768, что касается недостачи одной спавненной единицы, то с 90% вероятностью могу сказать, что это неправильно составленная функция (спав, ведь происходит в цикле?). По-поводу красных строчек, то здесь желательно увидеть, что именно в лог пишет игра. Кстати, хорошо бы увидеть и код спавна. 1 Ссылка на комментарий
Хемуль36рус 1 789 Опубликовано 2 Марта 2014 Поделиться Опубликовано 2 Марта 2014 @VVV32768, Валер, скорее всего ствол не прописан вот в этом скрипте, weap.script Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти