[Quest] Premii cu puncte(my version)

  • Autor subiect [RaffaeL]
  • Dată creare
  • Răspunsuri: Răspunsuri 4
  • Vizualizări: Vizualizări 2K

[RaffaeL]

Software Developer
11 Noi 2018
64
304
53
Spain/Ro
discord.gg
Monede Dragon
0
Cod:
quest puncte_metin begin
    state start begin
        function setMain()
            iteme = {
                {["vnum"] = 50011, ["pctVnum"] = 50901, ["buyCount"] = 1, ["reqPoints"] = 10},
                {["vnum"] = 50133, ["pctVnum"] = 50901, ["buyCount"] = 1, ["reqPoints"] = 20},
                {["vnum"] = 38055, ["pctVnum"] = 50901, ["buyCount"] = 1, ["reqPoints"] = 30},
                {["vnum"] = 50134, ["pctVnum"] = 50901, ["buyCount"] = 1, ["reqPoints"] = 60},
                {["vnum"] = 71153, ["pctVnum"] = 50901, ["buyCount"] = 1, ["reqPoints"] = 60},
                {["vnum"] = 41315, ["pctVnum"] = 50901, ["buyCount"] = 1, ["reqPoints"] = 200},
                {["vnum"] = 41316, ["pctVnum"] = 50901, ["buyCount"] = 1, ["reqPoints"] = 200}
                --se pot adauga oricate iteme se doreste
            }
            lista_iteme = {}

            for i in iteme do
                table.insert(lista_iteme, item_name(iteme[i]["vnum"]))
            end
            table.insert(lista_iteme, "Renunta")
            
            stonesInfo = {
                [8001] = {1,""}, [8002] = {1,""}, [8003] = {1,""},
                [8004] = {1,""}, [8005] = {1,""}, [8006] = {1,""},
                [8007] = {1,""}, [8008] = {1,""}, [8009] = {1,""},
                [8010] = {1,""}, [8011] = {1,""}, [8012] = {1,""},
                [8013] = {1,""}, [8014] = {1,""}, [8024] = {1,""},
                [8025] = {1,""}, [8026] = {1,""}, [8027] = {1,""}
            }
            stonesVnum = {
                8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009,
                8010, 8011, 8012, 8013, 8014, 8024, 8025, 8026, 8027
            }

            for m in stonesVnum do
                pct = tonumber(iteme[1]["pctVnum"])
                count = stonesInfo[npc.get_race()][1]
                mName = tostring(stonesInfo[npc.get_race()][2])
                mVnum = tostring(stonesVnum[m])
                if mName == "" then mName = tostring(mob_name(mVnum)) end
                if npc.get_race() == stonesVnum[m] then
                    pc.give_item2(pct, count)
                    chat(string.format("Ai distrus un %q, obtinand astfel %d punct!", tostring(mName), tonumber(count)))
                    chat(string.format("In acest moment ai %d puncte.", tonumber(pc.count_item(pct))))
                end
            end
            return iteme, stonesInfo, stonesVnum
        end

        function BuyItemWithPoints()
            say("Premii cu puncte![ENTER]")
            say(string.format("Salut %s, aici poti sa cheltui punctele obtinute", pc.get_name()))
            say("distrugand metinele gasite pe server!")
            say("Fiecare metin iti va da 1 punct.")
            say(string.format("In acest moment ai %d puncte[ENTER]", pc.count_item(tonumber(iteme[1]["pctVnum"]))))
            say("Ce vrei sa faci?[ENTER]")
            if select("Cumpara", "Renunta") == 2 then
                return
            else
                say_size(350,350)
                say("Alege ce obiect doresti:")
                lista = select_table(lista_iteme)
                item = iteme[lista]["vnum"]
                item_schimb = iteme[lista]["pctVnum"]
                reqPoints = iteme[lista]["reqPoints"]
                buyCount = iteme[lista]["buyCount"]
                nr_actual = pc.count_item(item_schimb)
                nr_diff = reqPoints - nr_actual
                say_size(300,350)
                say_title("Premii cu puncte[ENTER]")
                say(string.format("Sigur doresti sa cumperi %d x %q?", tonumber(buyCount), tostring(item_name(item))))
                say_show_item(item)
                say(string.format("Sunt necesare: %d x %q", tonumber(reqPoints), tostring(item_name(item_schimb))))
                say_show_item(item_schimb) say("[ENTER]")
                if (select("Da", "Nu") == 1) then
                    if pc.count_item(item_schimb) < reqPoints then
                        say("Premii cu puncte[ENTER]")
                        say("Pentru a face negotul ai nevoie de:")
                        say(string.format("%d x %q", tonumber(reqPoints), tostring(item_name(item_schimb))))
                        say_show_item(item_schimb)
                        say(string.format("Insa tu ai %d ", tonumber(nr_actual)))
                        say(string.format("Revino cand aduni inca %d x %q[ENTER]", tonumber(nr_diff), tostring(item_name(item_schimb))))
                        return
                    else
                        say_title("Premii cu puncte[ENTER]")
                        say("Negot finalizat cu succes! Ai primit:[ENTER]")
                        say(string.format("%d x %q", tonumber(buyCount), tostring(item_name(item))))
                        say_show_item(item)
                        say(string.format("si ti-au fost retrase %d puncte.", tonumber(reqPoints)))
                        pc.remove_item(item_schimb, reqPoints)
                        pc.give_item2(item, buyCount)
                        say(string.format("In acest moment ai %d puncte[ENTER]", pc.count_item(tonumber(iteme[1]["pctVnum"]))))
                    end
                end
            end
        end

        when kill with not npc.is_pc() begin
            puncte_metin.setMain()
        end

        when 20094.chat."Premii cu puncte!" begin
            puncte_metin.BuyItemWithPoints()
        end
    end
end

Pastebin: Infomanii - Din pasiune pentru jocuri !
 
Ultima editare: