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

Создание квеста

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

Есть ли какой скрипт чтоль, чтоб ГГ после диалога (ну или посое выбора строки) вылечивался?

 

Костя, а мне поможешь?

The srp 0.3 is a lie! The AMK 2.0 is a lie!

In NLC 6.0 we trust

Ссылка на комментарий
Костя, а мне поможешь?

Извини, но я к сожалению не знаю ответа. Не скриптер я. Попробуй спросить у Kolmogor. Он хорошо разбирается в таких вещах.

Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет!

Ссылка на комментарий

db.actor.health = 1;

 

что значит 1? полная жизнь или что? мне просто надо чтоб независимо от количества здоровья оно становилось полным. да и не будет вылетов при использовании этой функции коли полное здоровье?

The srp 0.3 is a lie! The AMK 2.0 is a lie!

In NLC 6.0 we trust

Ссылка на комментарий

1 - значит полная жизнь

вылетов при полной жизни не будет, можно поставить в прекондишн проверку полная жизнь или нет и не показывать соответствующую фразу

Ссылка на комментарий
function_have_af_baloon ()

return weapons_barter. have_item_namber ("af_baloon",1) ~= false

end

Если ещё нужно обьяснение то(просто пост был написан 15.12.2008, 3:09) - эта функция проверяет наличие того или иного предмета (ты и сам наверно понял) , а вылетало вот почему return weapons_barter. have_item_namber ("af_baloon",1) ~= false ,(то что выделено) это ссылка на другой фаил в котором есть вот такая функция have_item_namber (item_section,num) --(или как-то так)..

Если не хочешь использовать чужой фаил , то в свой добавь это

 

function delete_some_somth(section, count)
    news_manager.relocate_item(db.actor, "out", section, count)
    db.actor:iterate_inventory(
        function(dummy, item)
            if (count > 0) and (item:section() == section) then
                alife():release(alife():object(item:id()))
                count = count - 1
            end
        end,
    db.actor)
end




function have_item_namber(itm,need_namber)
local actor=db.actor
items_count=0
itemin=itm
actor:iterate_inventory(cheking_item,actor)
    if items_count>=need_namber then
        return true
    else
        return false
    end
end

и тогда твоя функция будет выглядеть так :

function_have_af_baloon ()

return have_item_namber ("af_baloon",1) ~= false

end

Ссылка на комментарий
Скрипты можно вставлять в любой скриптовый файл. Главное потом ссылку на него дать. Но можешь и свой создать. Его нигде прописывать не придется. Создаешь файл название.script в папке gamedata/scripts. И пишешь в него свои функции. А потом по ссылкам задействуешь их.

 

Ага. большое thanks

Ссылка на комментарий
Это еще что такое?
Да да я понял ... я потом додумался посмотреть у СЯК"a и нашел :)....

Нашел немного раньше чем ты написал...но спасибо... насчет return не знал - правда..:)...плюсик ушел к тебе на Новый Год! ;)

Ссылка на комментарий
НУ вот вроде всё... подскажите пожалуйста...уже 5 часов бьюсь с этим :)

 

Это еще что такое?

function have_all() 
return sak.have_item_namber("old_doc_3_4",1) ~= false
return sak.have_item_namber("old_doc_3_3",1) ~= false
return sak.have_item_namber("old_doc_3_2",1) ~= false
return sak.have_item_namber("old_doc_3_1",1) ~= false
end

В блоке может быть только один return

Вот как тут можно сделать:

function have_all()
return sak.have_item_namber("old_doc_3_4",1) ~= false and
sak.have_item_namber("old_doc_3_3",1) ~= false and
sak.have_item_namber("old_doc_3_2",1) ~= false and
sak.have_item_namber("old_doc_3_1",1) ~= false
end

Ссылка на комментарий

Если я введу допустим три прекондишн для появления диалога, есть ли функция, которая будет выдавать их рандомно, а еще лучше с определенной вероятностью, например первый прекондишн - 50%, второй 40%, третий 15%?

Ссылка на рабочий acdc и сочинение на тему "Как я распаковал оллспавн"
Ссылка на комментарий

Нет, но можно сделать самому:

 

function pc1()
...
end

function pc2()
...
end

function pc3()
...
end

function precondition()
  local random = math.random(100)
  if random < 50 then
    return pc1()
  elseif random < 90 then
    return pc2()
  else
    return pc3()
  end
end

Ссылка на комментарий

Можно. Дэн использовал рандомность в НС3 (в диалоге dialogs_new.xml):

                <precondition>amk_dialogs.pre_rnd_50_100</precondition>

                <precondition>amk_dialogs.pre_rnd_0_50</precondition>

Первый прекондишн ставь на одну ветку диалога, второй на другую. Здесь представлен шанс 50 на 50.

Ссылка на комментарий
Можно. Дэн использовал рандомность в НС3 (в диалоге dialogs_new.xml):

                <precondition>amk_dialogs.pre_rnd_50_100</precondition>

                <precondition>amk_dialogs.pre_rnd_0_50</precondition>

Первый прекондишн ставь на одну ветку диалога, второй на другую. Здесь представлен шанс 50 на 50.

 

 

 

За помощь спасибо большое, постараюсь использовать оба варианта. Не могу отыскать функцию на проверку здоровья гг другими сталкерами.

Ссылка на рабочий acdc и сочинение на тему "Как я распаковал оллспавн"
Ссылка на комментарий

Как сделать чтоб после выполнения квеста сразу начинался новый?

Как сделать чтоб после нажатия на определённую ветку диалога квест выполнился?

Ссылка на комментарий
Как сделать чтоб после выполнения квеста сразу начинался новый?

Как сделать чтоб после нажатия на определённую ветку диалога квест выполнился?

 

 

Ответы на первой странице темы (смотри про инфопорции).

Ссылка на рабочий acdc и сочинение на тему "Как я распаковал оллспавн"
Ссылка на комментарий

Как написать функцию для precondition в диалогах на то, что некоторая непись с определённым id жива и мертва?

Ссылка на комментарий
Ребята, подскажите пожалуйста, как заставить выбранного НПС идти в нужную мне точку?

В фенечке для АМК, которая выложена здесь на форуме, есть текстовый файл, где описано как это сделать.

Ссылка на комментарий

quest

Спасибо, но там не совсем то... Там НПС посылают в уже заданную точку, она прописана в all.spawn, а мне нужно отправлять НПС в любую точку, например к меченому.

31537598c394a3d311e1a1697d1525b6.jpg
Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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

AMK-Team.ru

×
×
  • Создать...