Перейти к содержанию

нн здесь

Сталкеры
  • Публикаций

    10
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные нн здесь


  1. Всем добра. Сталкиваюсь с таким впервые в жизни: level_changer никак не хочет работать. Пытался добавлять его и напрямую в секцию спавна на локации, и через скрипт после события, и сам-то переход появляется, метки рабочие, но при нахождении главного героя внутри него ничего не происходит. Меня мучает мысль, что я допустил какую-то глупую ошибку и топчусь вокруг решения. Если что, делается всё это на движке ЗовП.

     

    Спойлер

    [9057]
    ; cse_abstract properties
    section_name = level_changer
    name = yan_to_agroprom
    position = -67.359397888184,1.073881983757,-356.98132324219
    direction = 0,0,2.2000000171829e-005
    cse_abstract__unk1_h16 = 0x1

    ; cse_alife_object properties
    game_vertex_id = 42
    distance = 67.1999969482422
    level_vertex_id = 33205
    object_flags = 0xffffff3e
    custom_data = <<END
    [story_object]
    story_id = yan_to_agroprom
    END

    ; cse_shape properties
    shapes = shape0
    shape_0:type = sphere
    shape_0:offset = 0,0,0
    shape_0:radius = 7.674519002437592

    ; cse_alife_space_restrictor properties
    restrictor_type = 3

    ; cse_alife_level_changer properties
    dest_game_vertex_id = 39
    dest_level_vertex_id = 5792
    dest_position = -248.83865356445,4.0241374969482,177.24537658691
    dest_direction = -0.0372739993035793,4.0937013626099,-0.0588079988956451
    dest_level_name = garbage
    dest_graph_point = garbage_graph_point
    silent_mode = 1

    ; se_level_changer properties

    И скрипт:

    function create_level_changer(p_story_id, p_position, p_lvertex_id, p_gvertex_id, game_vertext_id, p_dest_lv, p_dest_gv, p_dest_pos, p_dest_dir, p_dest_level, p_silent) 
    local obj = alife():create("level_changer", p_position, p_lvertex_id, p_gvertex_id)

    level.map_add_object_spot(obj.id, "level_changer_down", "")

    local packet = net_packet() 
    obj:STATE_Write(packet)
    local game_vertex_id = packet:r_u16() 
    local cse_alife_object__unk1_f32 = packet:r_float() 
    local cse_alife_object__unk2_u32 = 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()


    local shape_count = packet:r_u8() 
    for i=1,shape_count do 
    local shape_type = packet:r_u8() 
    if shape_type == 0 then 

    local center = packet:r_vec3() 
    local radius = packet:r_float() 
    else 

    local axis_x_x = packet:r_float() 
    local axis_x_y = packet:r_float() 
    local axis_x_z = packet:r_float() 
    local axis_y_x = packet:r_float() 
    local axis_y_y = packet:r_float() 
    local axis_y_z = packet:r_float() 
    local axis_z_x = packet:r_float() 
    local axis_z_y = packet:r_float() 
    local axis_z_z = packet:r_float() 
    local offset_x = packet:r_float() 
    local offset_y = packet:r_float() 
    local offset_z = packet:r_float() 
    end 
    end


    local restrictor_type = packet:r_u8()
    local dest_game_vertex_id = packet:r_u16() 
    local dest_level_vertex_id = packet:r_u32() 
    local dest_position = packet:r_vec3() 
    local dest_direction = packet:r_vec3() 
    local dest_level_name = packet:r_stringZ() 
    local dest_graph_point = packet:r_stringZ() 
    local silent_mode = packet:r_u8()

    packet:w_begin(game_vertex_id) 
    packet:w_float(cse_alife_object__unk1_f32) 
    packet:w_u32(cse_alife_object__unk2_u32) 
    packet:w_u32(level_vertex_id)
    packet:w_u32( bit_not(193) ) 
    packet:w_stringZ(custom_data) 
    packet:w_u32(p_story_id) 
    packet:w_u32(spawn_story_id)

    packet:w_u8(1)
    packet:w_u8(1) 
    packet:w_float(2) 
    packet:w_float(0)
    packet:w_float(0) 
    packet:w_float(0) 
    packet:w_float(4)
    packet:w_float(0) 
    packet:w_float(0)
    packet:w_float(0) 
    packet:w_float(4) 
    packet:w_float(0)
    packet:w_float(0) 
    packet:w_float(0) 

    packet:w_u8(3)

    packet:w_u16(p_dest_gv)
    packet:w_s32(p_dest_lv) 
    packet:w_vec3(p_dest_pos)
    packet:w_vec3(p_dest_dir) 
    packet:w_stringZ(p_dest_level)
    packet:w_stringZ("start_actor_02") 
    packet:w_u8(p_silent)

    packet:r_seek(0) 
    obj:STATE_Read(packet, packet:w_tell()) 
    end 

    function create_changer_yantogar() 
    if (not has_alife_info( "teleported" )) then 
    dialogs_yantar.create_level_changer("yan_to_agroprom", vector():set(-67.359397888184,1.073881983757,-356.98132324219),33205,42, 
    5792, 
    39, 
    vector():set(-248.83865356445,4.0241374969482,177.24537658691), 
    vector():set(0.0,1.5,0.0),"garbage",0) 
    db.actor:give_info_portion("teleported") 
    end 
    end 

    Пожалуйста, если кто-то сталкивался или знает, как решить проблему, отзовитесь.


  2. 36 минут назад, Hrust сказал:

    @нн здесь, такое не прокатит?

    
    function spawn_minefield()
    	local obj = alife():create("zone_mine_field", vector():set(105.76, 12.17, -45.00), db.actor:level_vertex_id() , db.actor:game_vertex_id() )
    end

    Только я не помню, как в ЗП секция мины называлась.

     

    [error]Expression : assertion failed

    [error]Function : CCustomZone::CalcDistanceTo

    [error]File : F:\ 2.5.40\SourcesAXR\xrGame\CustomZone.cpp

    [error]Line : 1561

    [error]Description : nearest_s

     

    Впринципе так же как и прошлые способы выдает. Никогда с таким ранее не сталкивался


  3. Очень тупой вопрос хочу задать, но нигде не нашёл рабочего решения. 

    Каким способом можно заспавнить аномалию (мину) через Спейс рестриктор. Понятно, что нужно внести функцию в xr_effects, но вопрос касается самой функции, потому что все, что мне удалось найти, либо просто не работает, либо вызывает вылеты. Enable функция тоже не работает корректно конкретно для мин. =spawn_object, понятное дело, также не работает. Отдельно партиклы спавнить не вариант.

    Может быть есть знающие люди, а то я второй день голову ломаю.


  4. Привет всем.

    Столкнулся с таким вылетом, когда ставлю объект (любой, даже спавн предметов, партиклов и тд)

    Спойлер

    FATAL ERROR
    [error]Expression
    :assertion failed [error]Function : X:\stalker_addon\\sources\\trunk\editors\LevelEditor\Edit\ESceneCustomOTools.cpp [error]File :X:\stalker_addon\sources\\trunk\editors\LevelEditor\Edit\ESceneCustomOTools.cpp error]Line : 283 [error]Description: _name

    Сдк пользуюсь 0.7-0.8 

    Сама локация открывается корректно, но ставить объекты невозможно, получается вылет.

    Знатоки, подскажите, пожалуйста, возможно ли исправить это?


  5. Доброго дня всем, вопрос по вылету в компиляторе сдк 0.7. Разумеется, гуглил, но ничего, что решило бы проблему, не сыскал.

    Проблема возникает при компиляции спавна на абсолютно новой локации.

    Лог:

    File : D:\prog_repository\sources\trunk\utils\xrAI\xr_graph_merge.cpp. Line : 597. Description : tpGraphs.size()

     

    В конфигах прописал название локации. Аи сетка имеется. Не могу понять, как исправить.

    Был бы признателен, если бы кто-то помог.

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Оставаясь на сайте, вы подтверждаете свое согласие на их использование. Политика конфиденциальности | Условия использования