Guida Miglioramento skill P

Stato
Discussione chiusa ad ulteriori risposte.

Misterioso

Utente Electrum
8 Febbraio 2009
380
14
193
192
Ultima modifica:
Gentili utenti,

oggi mi é capitato di dare un utente di questa community al quale ho mandato un piccolo esempio di quest per migliorare una skill a P con un determinato oggetto (la PDA_Perfetta / Pietra_Arcobaleno per intenderci).
So benissimo che ci saranno decine di versioni in giro, ma visto che ormai é prodotta tanto vale pubblicarla qui in caso qualcuno l'abbia bisogno o voglia semplicemente vedere stili di scrittura di quest fatte da terzi dato che ognuno di noi col passare del tempo adotta un proprio stile di scrittura del codice.

Avvertimento: Questa versione non é stata testata, quindi se qualcuno per caso la userà faccia cortesemente sapere l'esito di funzionamento.

JavaScript:
--[[
    up_skill_p by Misterioso // Jo
    Skype: jano.attaccaa
    Date Create ->  22:56 04.04.2016
    Last Edit -> 15:13 11.03.2017
--]]

quest up_skill_p begin
    state start begin
   
        --************
        --    Funzioni
        --************
        function is_poor_player(yang_richiesti)
            if(pc.get_money() < yang_richiesti) then
                say("[ENTER]Non hai abbastanza yang per usare la pda perfetta")
                say_reward(string.format("Hai bisogno di %s Yang", yang_stringa))
                return true
            end
            return false
        end
       
        function is_young_player(liv_min)
            if(pc.get_level() < liv_min) then
                say("[ENTER]Mi dispiace ma non hai il livello adatto")
                say_reward(string.format("Devi essere almeno Lv. %d ", liv_min))
                return true
            end
            return false
        end
       
        function is_furbacchione(vnum_item)
            local cnt_item = pc.count_item(vnum_item)
            if(cnt_item <= 0) then
                say("[ENTER]I conti non tornano...[ENTER]Sei forse Harry Potter ??[ENTER]")
                return true
            end
           
            pc.remove_item(vnum_item, 1)
           
            if(pc.count_item(vnum_item) >= cnt_item) then
                say("[ENTER]I conti non tornano...[ENTER]Sei forse Harry Potter ??[ENTER]")
                return true
            end
            return false
        end
       
       
        --************
        --    50512.use
        --************
        when 50512.use  begin
            -- Configurazioni
            local liv_min = 50
            local yang_richiesti = 50000000
            local yang_stringa = "50.000.000"
           
            say_title("PDA perfetta")
           
            -- Check liv minimo
            if(up_skill_p.is_young_player(liv_min)) then return end
            -- Check yang
            if(up_skill_p.is_poor_player(yang_richiesti)) then return end
           
            -- Configurazione skills
            local config_skill = {
                            -- Guerriero (Job = 0)
                            {
                                {
                                    "Corporale",
                                    {
                                        {"Taglio a Tre Vie", 1},
                                        {"Vortice della Spada", 2},
                                        {"Estasi", 3},
                                        {"Aura della Spada", 4},
                                        {"Sibilare", 5}
                                    }
                                },
                                {
                                    "Mentale",
                                    {
                                        {"Penetrazione", 16},
                                        {"Colpire Duramente", 17},
                                        {"Pestone", 18},
                                        {"Corpo Forte", 19},
                                        {"Colpo di Spada", 20}
                                    }
                                }
                            },
                           
                            -- Ninja (Job = 1)
                            {
                                {
                                    "Corpo a Corpo",
                                    {
                                        {"Tranello", 31},
                                        {"Attacco Veloce", 32},
                                        {"Vortice del Pugnale", 33},
                                        {"Camuffamento", 34},
                                        {"Nuvola Velenosa", 35}
                                    }
                                },
                                {
                                    "Lotta a Distanza",
                                    {
                                        {"Tiro Ripetuto", 46},
                                        {"Pioggia di Frecce", 47},
                                        {"Freccia di Fuoco", 48},
                                        {"Passo di Piuma", 49},
                                        {"Freccia Velenosa", 50}
                                    }
                                }
                            },
                           
                            -- Sura (Job = 2)
                            {
                                {
                                    "Magia Bianca",
                                    {
                                        {"Schiocco di Dita", 61},
                                        {"Vortice del Drago", 62},
                                        {"Lama Magica", 63},
                                        {"Paura", 64},
                                        {"Armatura Magica", 65},
                                        {"Annullare della Magia", 66}
                                    }
                                },
                                {
                                    "Magia Nera",
                                    {
                                        {"Colpo Oscuro", 76},
                                        {"Colpo di Fiamma", 77},
                                        {"Spirito di Fuoco", 78},
                                        {"Protezione Oscura", 79},
                                        {"Colpo dello Spirito", 80},
                                        {"Pietra Oscura", 81}
                                    }
                                }
                            },
                           
                            -- Shamy (Job = 3)
                            {
                                {
                                    "Shamana Drago",
                                    {
                                        {"Talismano Volante", 91},
                                        {"Tiro del Drago", 92},
                                        {"Ruggito del Drago", 93},
                                        {"Benedizione", 94},
                                        {"Riflessione", 95},
                                        {"Aiuto del Drago", 96}
                                    }
                                },
                                {
                                    "Shamana Curare",
                                    {
                                        {"Lancio dei Fulmini", 106},
                                        {"Evoca Lampi", 107},
                                        {"Artiglio Lampo", 108},
                                        {"Curare", 109},
                                        {"Velocita'", 110},
                                        {"Attacco+", 111}
                                    }
                                }
                            }
                        }
                       
                       
            -- Mostro scelta dottrina
            local myRace = pc.get_job()
            local myDoctrine = pc.get_skill_group()
           
            if(myDoctrine < 1 or myDoctrine > 2) then
                say_title("Scegli una dottrina")
                say("Non hai ancora scelto una dottrina")
                return
            end

            -- local scegli_dottrina = {config_skill[myRace+1][1][1], config_skill[myRace+1][2][1]}
            -- table.insert(scegli_dottrina, "Chiudi")
           
            -- say_title("Scegli una dottrina")
            -- local myDoctrine = select_table(scegli_dottrina)
            -- if(myDoctrine == table.getn(scegli_dottrina)) then return end
           
            -- Mostro scelta skill
            local skill_list_choice = {}
            local skill_list_values = {}
            for i=1, table.getn(config_skill[myRace+1][myDoctrine][2]) do
                if(pc.get_skill_level(config_skill[myRace+1][myDoctrine][2][i][2]) < 40) then
                    table.insert(skill_list_choice, config_skill[myRace+1][myDoctrine][2][i][1])
                    table.insert(skill_list_values, config_skill[myRace+1][myDoctrine][2][i][2])
                end
            end
           
            if(table.getn(skill_list_choice) < 1) then
                say("Non hai nessuna skill da migliorare.")
                return
            end
           
            table.insert(skill_list_choice, "Annulla")
           
            say_title("Scegli una skill da migliorare")
            local mySkill = select_table(skill_list_choice)
            if(mySkill == table.getn(skill_list_choice)) then return end
           
            -- Re-check yang
            if(up_skill_p.is_poor_player(yang_richiesti)) then return end
            -- Remove item and check
            if(up_skill_p.is_furbacchione(50512)) then return end
           
            -- Miglioramento della skill
            pc.set_skill_level(skill_list_values[mySkill], 59)
            pc.change_gold(-yang_richiesti)
           
            chat(string.format("Skill %s portata a P!", skill_list_choice[mySkill]))
            syschat("-"..yang_stringa)

        end -- when
       
    end -- state
end -- quest

Dò sempre il benvenuto a qualsiasi commento e/o critica a scopo costruttivo che possa contribuire al miglioramento delle proprie abilità e all'ampliamento della creatività.

Cordiali saluti,
Misterioso
 
TeenPark non parlare su ;)
Bella quest Misterioso ^^

Chi ha mai negato di essere "TeenPark" che mi citi, escluso gli spam,
questa quest la si trova forse pure nei files 2011 di franzi di quanto è old, di bella o particolare non ha proprio nulla.
Avesse magari le nuove novità di metin magari la si potrebbe accettare per chi ha proprio 0 competenze in lua,
ma non ha le 6skill(ninja e war) e neppure le skill lycan.
 
Stato
Discussione chiusa ad ulteriori risposte.