Сповіщення
Очистити все

Збірка звичайних скриптів і перевірок


NazarTmm
Ранг:
Досвідчений
Роль:
Модмейкер
Угруповання:
Бандити
Записи:
35
Приєднався:
2 роки тому
Початок теми  

Збірка корисних функцій для ПП.
Використовуйте як шпаргалку:

Видача предмета:

function назва функції (first_speaker, second_speaker)
dialogs.relocate_item_section(second_speaker, "назва предмета", "in")
end
 
Видача кількох однакових предметів:
function назва функції (first_speaker, second_speaker)
dialogs.relocate_item_section(second_speaker, "назва предмета", "in", число_предметів)
end
 
Додати скрипт для діалогу:
<action>назва скрипта.назва функції</action>
 
Відбирання одного предмета:
function назва функції(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "назва предмета")
end
Відбір кількох однакових предметів:
function назва функції(first_speaker, second_speaker)
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "назва предмета", число_предметів)
end
Додати скрипт для діалогу:
<action>назва скрипта.назва функції</action>

Спавн предмету до інвентарю ГГ:

function назва функції()
local obj = alife():create("РЕЧЬ", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
end

 

Перевірка наявності предмета у ГГ.

function Назва функції()
return db.actor:object("назва предмета")
end

Або

function назва функції(first_speaker, second_speaker)
return first_speaker:object("назва предмета") ~= nil
end
Додати скрипт для діалогу:
<precondition>ім'я скрипта.назва функції</precondition>
Перевірка наявності одного з декількох предметів у ГГ:
function Назва функції(first_speaker, second_speaker)
return first_speaker:object("назва предмета") ~= nil or
first_speaker:object("назва предмета") ~= nil or
first_speaker:object("назва предмета") ~= nil
end
Додати скрипт для діалогу:
<precondition>ім'я скрипта.назва функції</precondition>
 
Перевірка кількості грошей у ГГ:
function назва функції(first_speaker, second_speaker)
return first_speaker:money() >= кількість
end
Або
function назва функції()
return db.actor:money() >= кількість
end
 
Додати скрипт для діалогу:

<precondition>ім'я скрипта.назва функції</precondition>

Смерть ГГ.

function назва функції(npc, actor)
npc:kill(actor)
end
Додати скрипт для діалогу:
<action>назва скрипта.назва функції</action>

Лікування ГГ через діалог:

<action>dialogs.medic_magic_potion</action>
Видача грошей від НПС.
function назва функції(first_speaker, second_speaker)
dialogs.relocate_money_to_actor(first_speaker, second_speaker, кількість)
end
Додати скрипт для діалогу:
<action>назва скрипта.назва функції</action>
Поворот камери на точку шляху під час кат-сцени:
function actor_look( actor, npc, p )
    local point = patrol( p[1] )
    actor:actor_look_at_point( point:point(0) )
end
Змінити відношення загону (загонів) до ГГ:
function set_squads_neutral_to_actor( actor, npc, p )
    if p then
        for k,v in pairs( p ) do
            local squad = get_story_squad( v )
            if squad then
                squad:set_squad_relation("neutral")
            end
        end
    end
end

Замість neutral ставте те що вам треба.

Буде доповнюватися!

 

   
Цитата
Теги теми