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

Скриптование


Svoboда

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

Как создать тайник, в который можно положить все что захочешь(именно что изначально хотел(на стадии создания мода)) (пример: мы убили сталка, залутали его, нам дался инфопоршень на спавн тайника , он спавнится в координатах которые задаешь в скриптах, содержимое его записываешь в логику. приходишь к нему, лутаешь и как только возьмешь все, что в нем было рюкзак исчезает из игры). Я сделал примерно так, но тайник спавнится до того как я получаю инфопоршень на работу скрипта.

Скрытый текст

; cse_alife_object properties
game_vertex_id = 61
distance = 0.0000002
level_vertex_id = 45293
object_flags = 0xffffffbf
custom_data = <<END
[logic]
active = kamp@walk_otdix

[known_info]
atp_body1_info

[kamp@walk_otdix]
center_point = enemy_look1
radius = 2
combat_ignore_cond = {+esc_melnik_attack}
END
story_id = 7409

Скрытый текст

<!-- Тайники с трупов -->
<info_portion id="atp_body1_info"><action>addon_mod1.spawn_body_habar1</action></info_portion>
<info_portion id="atp_body1_article"><article>atp_body1_info</article></info_portion>

 

Скрытый текст

-- Тайники с трупов -----------------------------------------------------------------------------------------------

function spawn_body_habar1()
    db.actor:give_info_portion ("atp_body1_article")
    alife():create("body_habar1", vector():set (-195.044, -19.788, -127.924), 56700, 56)
    news_manager.send_tip(db.actor, "treasure2", nil)
end  
 

Скрытый текст

;--------Хабары---------------------------------
[body_habar1]:habar_body2
visual = equipments\item_rukzak
radius = 1
custom_data = scripts\treasures\body_habar1.ltx
----------------------------------------------------------------ЭТО файл spawn_section---------------------------------

[inventory_box]
GroupControlSection    = spawn_group
discovery_dependency = 
$spawn                 = "devices\inventory box"
class                = O_INVBOX
cform                = skeleton
visual                = physics\box\expl_dinamit.ogf
script_binding      = bind_physic_object.init

[habar_body2]
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "devices\inventory box"
class = O_INVBOX
cform = skeleton
visual = physics\box\expl_dinamit.ogf
script_binding = bind_physic_object.init

--------------------------------ЭТО ФАЙЛ devices--------------------------

Скрытый текст

[spawn]
ammo_5.45x39_ap = 3

Дополню: Я спавнюсь. бегу к найму у которого после того как его залутаешь дается инфопоршень(якобы на спавн тайник, но тайник спавнится до того как я взял инфопоршень). Но, когда я все таки лутаю чела, мне дается инфа которая идет с скриптом и выводится сообщение о том что получен тайник (см.спойлер СКРИПТ)

Поделиться этим сообщением


Ссылка на сообщение

 

Кто в курсе, почему когда в одном скрипте 4 функции, например:

Скрытый текст

function create_level_changer(

...

...

end

function exit_escape_to_garbage1()    
        create_level_changer(11078, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),     
                        44614,
                        61,
                        vector():set(-208.693, -20.290, -146.893),    
                        vector():set(0.0, 0.0, 0.0),    
                        "l01_escape",
                        1)
end    
function delete_tel()
    local se_obj = alife():object(11078)
    if se_obj then
        alife():release(se_obj, true)
    end

function timer()
    m_timers.quick_timer:aux_cond() 
        self:taction(delete_tel)
end  

Скрытый текст

 [error]Expression    : functor_exists
 [error]Function      : CPhraseScript::Action
 [error]File          : PhraseScript.cpp
 [error]Line          : 214
 [error]Description   : Cannot find <action> script function [provodnik.timer], dialog_id = [teleport_welcome]

То пишет это.

Изменено пользователем Quest_Rider

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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