function r_shape(packet) local s local st = {} st.count = packet:r_u8() st.shapes = {} for i=1, st.count do s = {} s.type = packet:r_u8() if s.type == 0 then s.center = packet:r_vec3() s.radius = packet:r_float() else s.axis_x = packet:r_vec3() s.axis_y = packet:r_vec3() s.axis_z = packet:r_vec3() s.offset = packet:r_vec3() end st.shapes[i] = s end return st end
function w_shape(packet, st) local s packet:w_u8(st.count) for i=1, st.count do s = st.shapes[i] packet:w_u8(s.type) if s.type == 0 then packet:w_vec3(s.center) packet:w_float(s.radius) else packet:w_vec3(s.axis_x) packet:w_vec3(s.axis_y) packet:w_v ec3(s.axis_z) packet:w_vec3(s.offset) end end end
function rewrite_restrictor(se_obj, custom, radius) local packet = net_packet() se_obj:STATE_Write(packet) local game_vertex_id = packet:r_u16() local distance = packet:r_float() local direct_control = packet:r_s32() local level_vertex_id = packet:r_s32() local object_flags = packet:r_s32() local custom_data = packet:r_stringZ() local story_id = packet:r_s32() local spawn_story_id = packet:r_s32() local shape = r_shape(packet) local restrictor_type = packet:r_u8()
function create_shompl_restr() local se_obj = alife():create("space_restrictor",vector():set(-251.29605102539,-19.598033905029,-153.39739990234),9512,8) local custom = "[logic]\ncfg = scripts\\ins\\shompl.ltx" rewrite_restrictor(se_obj, custom, 5.0) end
ins33, а ты свой поршень esc_trader_can_leave зарегестрировал? Вообще просто выложи в текстовом виде всё, что сделал, да спрячь под спойлер... А я знаю, откель этот поршень и выдаётся ли он в нужное время? Сам же вроде говорил, что вставил поршень...Дык вставляй свой, нафиг уже существующие вставлять?
Сообщение отредактировал _Val_ - Понедельник, 23.07.2012, 13:41
_Val_, esc_trader_can_leave он из оригинала. Разве из-за него беда? Выдаю я его после первого диалолога с Сидоровичём.
Добавлено (23.07.2012, 13:45) --------------------------------------------- В конец xr_effects дописал.
function spawn_shompl() alife():create("gar_bandit_respawn_1",vector():set(-216.72268676758,-19.972440719604,-153.30784606934),36609,41) alife():create("repair_kit",vector():set(-216.72268676758,-19.972440719604,-153.30784606934),36609,41) end
ins33, тьфу, мутишь сам не понимаешь что. И меня с толку сбиваешь. Опять же добавляешь уже существующий поршень, или он там есть и ты добавил только экшен?
Сообщение отредактировал _Val_ - Понедельник, 23.07.2012, 13:57
_Val_, Добавляю существующий поршень, и экшон. В xr_effects Добавил будущие действие рестриктора с другой логикой, пока просто на наличие спавна его проверяю.
Сообщение отредактировал ins33 - Понедельник, 23.07.2012, 14:20
ins33, Должен быть вылет! Тут неверный экшн: <action>ins_restrictor.create_shompl_restr()</action> т.ч. твой экшн никогда даже не активировался, точнее этот блок диалога
Сообщение отредактировал XOBAH - Понедельник, 23.07.2012, 14:04
XOBAH, Второй спавн срабатывает. И как понять диалог не вызывается? _Val_, Сейчас добавил <action>xr_effects.create_shompl_restr()</action>
В xr_effects добавил
function create_shompl_restr() local se_obj = alife():create("space_restrictor",vector():set(-251.29605102539,-19.598033905029,-153.39739990234),9512,8) local custom = "[logic]\ncfg = scripts\\ins\\shompl.ltx" rewrite_restrictor(se_obj, custom, 5.0) end
Тоже тишина.
Добавлено (23.07.2012, 14:30) --------------------------------------------- _Val_, Так что с файлами АМК, какие из них нужны?
Сообщение отредактировал ins33 - Понедельник, 23.07.2012, 14:29