Jump to content
Sign in to follow this  
BotPRO

Алтарь Чёрного Дракона

Recommended Posts

Всем известно, что ещё с официального сервера у  алтаря чёрного дракона, наложено по 5 печатей  4х типов, недавно мне стало интересно, как же сделать, что бы на алтаре было не по 5 , а до пустим по 50.

Ну а теперь рассказываю. Буду показывать на примере с NPC.

 

Ставим NPC.

resource\garner\garnernpc.txt

Spoiler

 

147 Тестовый NPC 1 103 4 224100,278400 224100,278400 180 Аргент города 8 0 test_npc    0
 

 

Прописываем ему функцию.

resource\script\MisScript\NpcScript01-08.lua

Spoiler

--by BotPRO

function test_npc ()

 Talk( 1, "У меня ты можешь получить бд алтарь с 50 печатями на нём." )
 Text( 1, "Получить", BDAltar, 1)
 Text( 1, "Уйти", CloseTalk )    

end

 

Добавляем переменную BDAltar в function MsgProc( character, npc, rpk, page, trade, missionlist, exchangeData ).

resource\script\MisSdk\NpcSdk.lua

Spoiler

--by BotPRO

elseif item.func == BDAltar then
                      return BDAltar(character)

 

Добавляем функцию BDAltar.

resource\script\calculate\forge.lua

Spoiler

--by BotPRO

function BDAltar (role, Item )
    local Item_CanGet = GetChaFreeBagGridNum ( role )
    if Item_CanGet <1 then
        SystemNotice(role ,"Требуется 1 свободный слот в Вашем инвентаре, чтобы получить  алтарь Чёрного Дракона.")
        UseItemFailed ( role )
        return
    end
    local r1,r2 =MakeItem ( role , 266  , 1 , 4 )
    local Item_BDAltar = GetChaItem ( role , 2 , r2 )
    

    local str_BDAltar = GetItemAttr( Item_BDAltar ,ITEMATTR_VAL_STR )
    local con_BDAltar = GetItemAttr( Item_BDAltar ,ITEMATTR_VAL_CON )
    local agi_BDAltar = GetItemAttr( Item_BDAltar ,ITEMATTR_VAL_AGI )
    local dex_BDAltar = GetItemAttr( Item_BDAltar ,ITEMATTR_VAL_DEX )


    
    str_JLone    = -45
    con_JLone = -45
    agi_JLone    = -45
    dex_JLone = -45


    
    SetItemAttr ( Item_BDAltar ,ITEMATTR_VAL_STR , str_JLone )
    SetItemAttr ( Item_BDAltar ,ITEMATTR_VAL_CON , con_JLone )
    SetItemAttr ( Item_BDAltar ,ITEMATTR_VAL_AGI , agi_JLone )
    SetItemAttr ( Item_BDAltar ,ITEMATTR_VAL_DEX , dex_JLone)
    RefreshCha(role)

    
    
end

 

Что же получиться ?
Да вот что.

Bez_ymeny_1.jpg

 

P.S Я дал вам основу, проверки всякие сами прикручивайте, можно много интересного сделать на моём примере.

  • Like 5

Share this post


Link to post
Share on other sites

Ты мне конечно не очень нравишься, но за тему спасибо. Много интересного можно провернуть с подобной распаковкой

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...