[Problema QUEST Biolog]

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Deconectat
Avatar utilizator
xDec
Nou Venit
Nou Venit
Mesaje: 28
Membru din: 15 Iun 2017
Localitate: Romania
Status: Fuck your enemies
Server Metin2: Elios Metin2
Regat: Jinno
Mulțumiri acordate: 1
Mulțumiri primite: 0
Contact:

[Problema QUEST Biolog]

Mesajde xDec » 16 Apr 2018, 08:07

*Problemă:Quest Biolog Elimina Timp.
Tipologie server:Pvm Easy
*Resursă folosită:J4M
*ServerFiles utilizat:Zearth2
*Syserr:-
Poză: Imagine
Imagine
Imagine
Imagine

*Detalii suplimentare:Salut, am incercat si eu sa bag questul asta da nu vrea de nici o culoare.
Am pus fisierul timp_biolog.quest in /usr/home/game/share/locale/romania/quest, i-am dat permisiuni intru pe server apare la biolog sa elimin timpul dau pe el dar degeaba, imi spune ca a fost eliminat timpul dar nu elimina nimic. Imi ia doar floarea din inventar.
Putin ajutor?


Questul:

Cod: Selectaţi tot

quest timp_biolog begin
   state start begin
         when 20084.chat."Dinte de orc-Elimina timp" with get_time() <= pc.getqf("duration") begin
            say_title("Biologul Regatului:")
            say("Planta magica contine acid sulfuric")
            say("Doar o picatura din ea pe un obiect si")
            say("a fost distrus!Daca imi oferi una voi putea")
            say("sparge dintele mai repede!Ai una?")
            say_item("Floarea biologului","31066","")
            local s = select ("Da,am la mine.", "Inapoi")
            if s == 2 then
            return
            elseif s == 1 then
            if pc.count_item(31066) > 0 then
            say_title("Biologul:")
            say("Aceasta planta este magnifica.Voi putea distruge")
            say("dintele imediat.")
            say(" . . . ")
            say(" . . . ")
            say("Gata.Dintele a fost distrus.Acum astept sa imi")
            say("dai altul pentru cercetari!")
            pc.remove_item(31066, 1)
            pc.setqf("duration", get_time()-1)
            end
            elseif pc.count_item(31066) == 0 then
            say_title("Biologul:")
            say("Nu detii nici o planta de acest gen.")
            say("Ce e drept..este destul de rara.")
            say("Iti dau un sfat:O vei gasii in cufarul")
            say("floral.")
            say_item_vnum(30006)
         end
      end
   end
end

Deconectat
Avatar utilizator
Bughy
Helper
Helper
Mesaje: 202
Membru din: 10 Apr 2018
Localitate: Cluj
Reputație: Trial-Helper J4M
Helper J4M
Status: Mega-Image
Server Metin2: Toate =))
Regat: Jinno
Mulțumiri acordate: 2
Mulțumiri primite: 17
Contact:

Re: [Problema QUEST Biolog]

Mesajde Bughy » 16 Apr 2018, 09:40

Ai itemul cu acest cod in invetar? ai nevoie de el ca sa elimlini timpul: 31066
Imagine
Daca te-am ajutat lasa un like :) B-) :ymhug: ;)

Deconectat
Avatar utilizator
xDec
Nou Venit
Nou Venit
Mesaje: 28
Membru din: 15 Iun 2017
Localitate: Romania
Status: Fuck your enemies
Server Metin2: Elios Metin2
Regat: Jinno
Mulțumiri acordate: 1
Mulțumiri primite: 0
Contact:

Re: [Problema QUEST Biolog]

Mesajde xDec » 16 Apr 2018, 09:43

Bughy scrie:Ai itemul cu acest cod in invetar? ai nevoie de el ca sa elimlini timpul: 31066

Sigur ca il am in inventar.
Itemul mi-l ia din inventar dar nu elimina si timpul.

Conectat
Avatar utilizator
[JeanBaros]
Nivel 2
Nivel 2
Mesaje: 202
Membru din: 11 Dec 2014
Localitate: Targu Jiu
Reputație: Jucator
Nume anterior: XLD
Status: Metin2Ulterius
Server Metin2: Metin2Ulterius
Regat: Chunjo
Mulțumiri acordate: 3
Mulțumiri primite: 7
Contact:

Re: [Problema QUEST Biolog]

Mesajde [JeanBaros] » 16 Apr 2018, 09:44

Bughy scrie:Ai itemul cu acest cod in invetar? ai nevoie de el ca sa elimlini timpul: 31066



*Detalii suplimentare:Salut, am incercat si eu sa bag questul asta da nu vrea de nici o culoare.
Am pus fisierul timp_biolog.quest in /usr/home/game/share/locale/romania/quest, i-am dat permisiuni intru pe server apare la biolog sa elimin timpul dau pe el dar degeaba, imi spune ca a fost eliminat timpul dar nu elimina nimic. Imi ia doar floarea din inventar.

Tu citesti inainte sa comentezi la un post ?

P.S : Verifica 31066 din object, sau reinstaleaza quest-ul acesta.
Imagine

Deconectat
Avatar utilizator
Bughy
Helper
Helper
Mesaje: 202
Membru din: 10 Apr 2018
Localitate: Cluj
Reputație: Trial-Helper J4M
Helper J4M
Status: Mega-Image
Server Metin2: Toate =))
Regat: Jinno
Mulțumiri acordate: 2
Mulțumiri primite: 17
Contact:

Re: [Problema QUEST Biolog]

Mesajde Bughy » 16 Apr 2018, 09:45

[JeanBaros] scrie:
Bughy scrie:Ai itemul cu acest cod in invetar? ai nevoie de el ca sa elimlini timpul: 31066



*Detalii suplimentare:Salut, am incercat si eu sa bag questul asta da nu vrea de nici o culoare.
Am pus fisierul timp_biolog.quest in /usr/home/game/share/locale/romania/quest, i-am dat permisiuni intru pe server apare la biolog sa elimin timpul dau pe el dar degeaba, imi spune ca a fost eliminat timpul dar nu elimina nimic. Imi ia doar floarea din inventar.

Tu citesti inainte sa comentezi la un post ?

P.S : Verifica 31066 din object, sau reinstaleaza quest-ul acesta.


Vad ca si tu esti pe langa =)))
"verifica ... din object sau reinstaleaza quest-ul"

Omul nu stie sa scoata limita de timp la biolog, nu crezi ca ar trebuii sa ii spui ce sa verifice?
Imagine
Daca te-am ajutat lasa un like :) B-) :ymhug: ;)

Deconectat
Avatar utilizator
Bughy
Helper
Helper
Mesaje: 202
Membru din: 10 Apr 2018
Localitate: Cluj
Reputație: Trial-Helper J4M
Helper J4M
Status: Mega-Image
Server Metin2: Toate =))
Regat: Jinno
Mulțumiri acordate: 2
Mulțumiri primite: 17
Contact:

Re: [Problema QUEST Biolog]

Mesajde Bughy » 16 Apr 2018, 09:47

Oricum, pune quest asta:

Cod: Selectaţi tot

      when 20084.chat."Elimina timp" with get_time() <= pc.getqf("duration") begin
         say_title("Biolog:")
         say("Planta magica contine acid sulfuric")
         say("Doar o picatura din ea pe un obiect si")
         say("a fost distrus!Daca imi oferi una voi putea")
         say("elimina timpul mai repede!Ai una?")
         say_item("Floarea biologului","31066","")
         local s = select ("Da,am la mine.", "Inapoi")
         if s == 2 then
            return
         elseif s == 1 then
         if pc.count_item(31066) > 0 then
             say_title("Biologul:")
             say("Aceasta planta este magnifica.Voi putea elimina")
             say("timpul imediat.")
             say(" . . . ")
             say(" . . . ")
             say("Gata.Timpul a fost eliminat.Acum astept sa imi")
             say("aduci alte materiale pentru cercetari!")
            pc.remove_item(31066, 1)
             pc.setqf("duration", get_time()-1)
            end
         elseif pc.count_item(31066) == 0 then
             say_title("Biologul:")
             say("Nu detii nici o planta de acest gen.")
             say("Ce e drept..este destul de rara.")
         end
      end
Imagine
Daca te-am ajutat lasa un like :) B-) :ymhug: ;)

Conectat
Avatar utilizator
[JeanBaros]
Nivel 2
Nivel 2
Mesaje: 202
Membru din: 11 Dec 2014
Localitate: Targu Jiu
Reputație: Jucator
Nume anterior: XLD
Status: Metin2Ulterius
Server Metin2: Metin2Ulterius
Regat: Chunjo
Mulțumiri acordate: 3
Mulțumiri primite: 7
Contact:

Re: [Problema QUEST Biolog]

Mesajde [JeanBaros] » 16 Apr 2018, 09:49

Bughy scrie:
[JeanBaros] scrie:
Bughy scrie:Ai itemul cu acest cod in invetar? ai nevoie de el ca sa elimlini timpul: 31066



*Detalii suplimentare:Salut, am incercat si eu sa bag questul asta da nu vrea de nici o culoare.
Am pus fisierul timp_biolog.quest in /usr/home/game/share/locale/romania/quest, i-am dat permisiuni intru pe server apare la biolog sa elimin timpul dau pe el dar degeaba, imi spune ca a fost eliminat timpul dar nu elimina nimic. Imi ia doar floarea din inventar.

Tu citesti inainte sa comentezi la un post ?

P.S : Verifica 31066 din object, sau reinstaleaza quest-ul acesta.


Vad ca si tu esti pe langa =)))
"verifica ... din object sau reinstaleaza quest-ul"

Omul nu stie sa scoata limita de timp la biolog, nu crezi ca ar trebuii sa ii spui ce sa verifice?




Incearca asta: sterge vechiul quest.

when 20084.chat."Elimina timp" with get_time() <= pc.getqf("duration") begin
say_title("Biolog:")
say("Planta magica contine acid sulfuric")
say("Doar o picatura din ea pe un obiect si")
say("a fost distrus!Daca imi oferi una voi putea")
say("elimina timpul mai repede!Ai una?")
say_item("Floarea biologului","31066","")
local s = select ("Da,am la mine.", "Inapoi")
if s == 2 then
return
elseif s == 1 then
if pc.count_item(31066) > 0 then
say_title("Biologul:")
say("Aceasta planta este magnifica.Voi putea elimina")
say("timpul imediat.")
say(" . . . ")
say(" . . . ")
say("Gata.Timpul a fost eliminat.Acum astept sa imi")
say("aduci alte materiale pentru cercetari!")
pc.remove_item(31066, 1)
pc.setqf("duration", get_time()-1)
end
elseif pc.count_item(31066) == 0 then
say_title("Biologul:")
say("Nu detii nici o planta de acest gen.")
say("Ce e drept..este destul de rara.")
end
end
Imagine

Deconectat
Avatar utilizator
xDec
Nou Venit
Nou Venit
Mesaje: 28
Membru din: 15 Iun 2017
Localitate: Romania
Status: Fuck your enemies
Server Metin2: Elios Metin2
Regat: Jinno
Mulțumiri acordate: 1
Mulțumiri primite: 0
Contact:

Re: [Problema QUEST Biolog]

Mesajde xDec » 16 Apr 2018, 10:00

[JeanBaros] scrie:
Bughy scrie:
[JeanBaros] scrie:

*Detalii suplimentare:Salut, am incercat si eu sa bag questul asta da nu vrea de nici o culoare.
Am pus fisierul timp_biolog.quest in /usr/home/game/share/locale/romania/quest, i-am dat permisiuni intru pe server apare la biolog sa elimin timpul dau pe el dar degeaba, imi spune ca a fost eliminat timpul dar nu elimina nimic. Imi ia doar floarea din inventar.

Tu citesti inainte sa comentezi la un post ?

P.S : Verifica 31066 din object, sau reinstaleaza quest-ul acesta.


Vad ca si tu esti pe langa =)))
"verifica ... din object sau reinstaleaza quest-ul"

Omul nu stie sa scoata limita de timp la biolog, nu crezi ca ar trebuii sa ii spui ce sa verifice?




Incearca asta: sterge vechiul quest.

when 20084.chat."Elimina timp" with get_time() <= pc.getqf("duration") begin
say_title("Biolog:")
say("Planta magica contine acid sulfuric")
say("Doar o picatura din ea pe un obiect si")
say("a fost distrus!Daca imi oferi una voi putea")
say("elimina timpul mai repede!Ai una?")
say_item("Floarea biologului","31066","")
local s = select ("Da,am la mine.", "Inapoi")
if s == 2 then
return
elseif s == 1 then
if pc.count_item(31066) > 0 then
say_title("Biologul:")
say("Aceasta planta este magnifica.Voi putea elimina")
say("timpul imediat.")
say(" . . . ")
say(" . . . ")
say("Gata.Timpul a fost eliminat.Acum astept sa imi")
say("aduci alte materiale pentru cercetari!")
pc.remove_item(31066, 1)
pc.setqf("duration", get_time()-1)
end
elseif pc.count_item(31066) == 0 then
say_title("Biologul:")
say("Nu detii nici o planta de acest gen.")
say("Ce e drept..este destul de rara.")
end
end

Mi-a dat asta acum: Imagine

Deconectat
Avatar utilizator
xDec
Nou Venit
Nou Venit
Mesaje: 28
Membru din: 15 Iun 2017
Localitate: Romania
Status: Fuck your enemies
Server Metin2: Elios Metin2
Regat: Jinno
Mulțumiri acordate: 1
Mulțumiri primite: 0
Contact:

Re: [Problema QUEST Biolog]

Mesajde xDec » 16 Apr 2018, 10:30

Am rezolvat aia cu assertion value dar acum imi face la fel...
Imi ia floarea din inventar dar nu imi scoate si timpul.

Poza:Imagine
Cod:

Cod: Selectaţi tot

quest timp_biolog begin
state start begin when 20084.chat."Elimina timp" with get_time() <= pc.getqf("duration") begin
         say_title("Biolog:")
         say("Planta magica contine acid sulfuric")
         say("Doar o picatura din ea pe un obiect si")
         say("a fost distrus!Daca imi oferi una voi putea")
         say("elimina timpul mai repede!Ai una?")
         say_item("Floarea biologului","31066","")
         local s = select ("Da,am la mine.", "Inapoi")
         if s == 2 then
            return
         elseif s == 1 then
         if pc.count_item(31066) > 0 then
             say_title("Biologul:")
             say("Aceasta planta este magnifica.Voi putea elimina")
             say("timpul imediat.")
             say(" . . . ")
             say(" . . . ")
             say("Gata.Timpul a fost eliminat.Acum astept sa imi")
             say("aduci alte materiale pentru cercetari!")
            pc.remove_item(31066, 1)
             pc.setqf("duration", get_time()-1)
            end
         elseif pc.count_item(31066) == 0 then
             say_title("Biologul:")
             say("Nu detii nici o planta de acest gen.")
             say("Ce e drept..este destul de rara.")
         end
      end
   end
end


Trebuie bagat altundeva questul asta?
trebuie sa il bag in astea?

Cod: Selectaţi tot

----------------------------------------------------
--------------COLLECT QUEST_lv40--------------------
----------Metin2Phemios Copyright----------------
----------------------------------------------------
quest collect_quest_lv40  begin
   state start begin
   end
   state run begin
      when login or levelup with pc.level >= 40 begin
         set_state(information)
      end
   end

   state information begin
      when letter begin
         local v = find_npc_by_vnum(20084)
         if v != 0 then
            target.vid("__TARGET__", v, gameforge.collect_quest_lv30._99_sayTitle)
         end
         send_letter(gameforge.collect_quest_lv40._10_sendLetter)
      end

      when button or info begin
         say_title(gameforge.collect_quest_lv40._20_sayTitle)
         say(gameforge.collect_quest_lv40._30_say)
      end

      when __TARGET__.target.click or   20084.chat.gameforge.collect_quest_lv40._40_npcChat begin
         target.delete("__TARGET__")
         say_title(gameforge.collect_quest_lv30._99_sayTitle)
         say(gameforge.collect_quest_lv40._50_say)
         wait()
         say_title(gameforge.collect_quest_lv30._99_sayTitle)
         say(gameforge.collect_quest_lv40._60_say)
         wait()
         say_title(gameforge.collect_quest_lv30._99_sayTitle)
         say(gameforge.collect_quest_lv40._70_say)
         set_state(go_to_disciple)
         pc.setqf("duration",0)  -- Die Versuchszeit
         pc.setqf("collect_count",0)--Die Zahl der gesammelten Artikel
         pc.setqf("drink_drug",0) --Wenn man das Verwirrungsswasser trinkt, 1
      end
   end

   state go_to_disciple begin
      when letter begin
         send_letter(gameforge.collect_quest_lv30._70_sendLetter)

      end
      when button or info begin
         say_title(gameforge.collect_quest_lv40._80_sayTitle)
         say(gameforge.collect_quest_lv40._90_say)
         say_item_vnum(30047)
         say_reward(string.format(gameforge.collect_quest_lv40._100_sayReward, pc.getqf("collect_count")))
               end

      when 71035.use begin --Das Verwirrungswasser
         if get_time() < pc.getqf("duration") then
            say(gameforge.collect_quest_lv40._110_say)
            return
         end
         if pc.getqf("drink_drug")==1 then
            say(gameforge.collect_quest_lv40._120_say)
            return
         end
         if pc.count_item(30047)==0 then
            say_title(gameforge.collect_quest_lv30._99_sayTitle)
            say(gameforge.collect_quest_lv40._130_say)
            return
         end

         pc.remove_item(71035, 1)
         pc.setqf("drink_drug",1)
      end




      when 20084.chat.gameforge.collect_quest_lv40._140_npcChat with pc.count_item(30047) >0   begin
         if get_time() > pc.getqf("duration") then
            if  pc.count_item(30047) >0 then
               say_title(gameforge.collect_quest_lv30._99_sayTitle)
               say(gameforge.collect_quest_lv40._150_say)
               pc.remove_item(30047, 1)
               pc.setqf("duration",get_time()+60*60*1)--------------1ora
               wait()

               local pass_percent
               if pc.getqf("drink_drug")==0 then
                  pass_percent=60
               else
                  pass_percent=90
               end

               local s= number(1,100)
               if s<= pass_percent  then
                  if pc.getqf("collect_count")< 14 then     --nicht mehr als 15
                     local index =pc.getqf("collect_count")+1
                     pc.setqf("collect_count",index)     --Da du eins besorgt hast, mache ich +1
                     say_title(gameforge.collect_quest_lv30._99_sayTitle)
                     say(string.format(gameforge.collect_quest_lv40._160_say, 15-pc.getqf("collect_count")))
                     pc.setqf("drink_drug",0)    --Anfang mit dem Wunderwasser
                     return
                  end
                  say_title(gameforge.collect_quest_lv30._99_sayTitle)
                  say(gameforge.collect_quest_lv40._170_say)
                  pc.setqf("collect_count",0)
                  pc.setqf("drink_drug",0)
                  pc.setqf("duration",0)
                  set_state(key_item)
                  return
               else
                  say_title(gameforge.collect_quest_lv30._99_sayTitle)
                  say(gameforge.collect_quest_lv40._180_say)
                  pc.setqf("drink_drug",0)    --Anfang mit dem Geheimwasser
                  return
               end
            else
               say_title(gameforge.collect_quest_lv30._99_sayTitle)
               --say(string.format(gameforge.collect_quest_lv40._190_say, item_name(30080)))
               say(gameforge.collect_quest_lv40._190_say)
               return
            end
         else
            say_title(gameforge.collect_quest_lv30._99_sayTitle)
            say(gameforge.collect_quest_lv40._200_say)
            return
         end

      end
   end


   state key_item begin
      when letter begin
         send_letter(gameforge.collect_quest_lv30._210_sendLetter)

         if pc.count_item(30221)>0 then
            local v = find_npc_by_vnum(20084)
            if v != 0 then
               target.vid("__TARGET__", v, gameforge.collect_quest_lv40._210_targetVid)
            end
         end

      end
      when button or info begin
         if pc.count_item(30221) >0 then
            say_title(gameforge.collect_quest_lv40._220_sayTitle)
            say(gameforge.collect_quest_lv40._230_say)
            return
         end

         say_title(gameforge.collect_quest_lv40._240_sayTitle)
         say(gameforge.collect_quest_lv40._250_say)
         say_item_vnum(30221)----------Der Seelenstein der geheimen Sekte
         say(gameforge.collect_quest_lv40._260_say)
      end




      when 731.kill or 732.kill or 733.kill or 734.kill or 735.kill or 736.kill or 737.kill or 701.kill or 702.kill or 703.kill or 704.kill or 705.kill or 706.kill or 707.kill  begin
         local s = number(1, 500)
         if s == 1 and pc.count_item(30221)==0 then
            pc.give_item2(30221, 1)
            send_letter(gameforge.collect_quest_lv40._270_sendLetter)
         end
      end


      when __TARGET__.target.click  or   20084.chat.gameforge.collect_quest_lv40._280_npcChat with pc.count_item(30221) > 0  begin
         target.delete("__TARGET__")
         if pc.count_item(30221) > 0 then
            say_title(gameforge.collect_quest_lv30._99_sayTitle)
            say(gameforge.collect_quest_lv40._290_say)
            pc.remove_item(30221,1)
            set_state(__reward)
         else
            say_title(gameforge.collect_quest_lv30._99_sayTitle)
            --say(string.format(gameforge.collect_quest_lv30._290_say, item_name(30221)))
             say(gameforge.collect_quest_lv40._295_say)
            return
         end
      end

   end

   state __reward begin
      when letter begin
         send_letter(gameforge.collect_quest_lv40._300_sendLetter)

         local v = find_npc_by_vnum(20018)
         if v != 0 then
            target.vid("__TARGET__", v, gameforge.collect_quest_lv30._310_targetVid)
         end

      end
      when button or info begin
         say_title(gameforge.collect_quest_lv40._310_sayTitle)
         say(gameforge.collect_quest_lv40._320_say)
      end

      when __TARGET__.target.click  or   20018.chat.gameforge.collect_quest_lv40._330_npcChat  begin
          target.delete("__TARGET__")
         say_title(gameforge.collect_quest_lv30._340_sayTitle)
         say(gameforge.collect_quest_lv40._340_say)
         say_reward(gameforge.collect_quest_lv40._350_sayReward)

         affect.add_collect(apply.POISON_REDUCE,5,60*60*24*365*60) --60Jahre
         pc.give_item2(50110)
         clear_letter()
         set_quest_state("collect_quest_lv50", "run")
         set_state(__complete)
      end

   end


   state __complete begin
   end
end




Deconectat
Avatar utilizator
Bughy
Helper
Helper
Mesaje: 202
Membru din: 10 Apr 2018
Localitate: Cluj
Reputație: Trial-Helper J4M
Helper J4M
Status: Mega-Image
Server Metin2: Toate =))
Regat: Jinno
Mulțumiri acordate: 2
Mulțumiri primite: 17
Contact:

Re: [Problema QUEST Biolog]

Mesajde Bughy » 16 Apr 2018, 10:41

Sterge quest-ul biologului si pune acest quest, timpul de asteptare este 0

Cod: Selectaţi tot

quest biologul_chaegirab begin
    -- Functiile necesare questului
    state functions begin
        function Data()
            local data
            data = {
                {
                    "Dintii de orc",
                    30006,
                    10,
                    "Valea orcilor",
                    {635, 636, 637}
                },
               
                {
                    "Cartile blestemate",
                    30047,
                    15,
                    "Valea orcilor",
                    {703, 704, 705, 707, 706}
                },
               
                {
                    "Amintirile de demon",
                    30015,
                    20,
                    "Turnul Demonilor",
                    {1001, 1002, 1003, 1004}
                },
               
                {
                    "Globurile de gheata",
                    30050,
                    20,
                    "Muntele Sohan",
                    {1102, 1103, 1104, 1107, 1106}
                },
               
                {
                    "Ramurile Zelkova",
                    30165,
                    20,
                    "Padurea Rosie",
                    {2301, 2302, 2303, 2304, 2305, 2311, 2312, 2313, 2314, 2315}
                },
               
                {
                    "Table sacre",
                    30166,
                    30,
                    "Campul cu serpi",
                    {1401, 1402, 1403, 1601, 1602, 1603}
                },
               
                {
                    "Crengile rosii",
                    30167,
                    30,
                    "Padurea Rosie",
                    {2311, 2312, 2313, 2314, 2315, 7024}
                },
               
                {
                    "Vestile despre Rege",
                    30168,
                    20,
                    "Atlantida",
                    {2401, 2402, 2403, 2404, 2411, 2412, 2413, 2414}
                }
            }
            return data
        end
        function getLevel(bquest_level)
            local levels
            local bquest_level = pc.getqf("blevel")
            levels = {30, 40, 50, 60, 70, 80, 90, 94, 100}
            return levels[bquest_level]
        end
        function getBonusName()
            local names
            local blevel = pc.getqf("blevel")
            names = {
                "Bonus +10 Viteză de mişcare (permanent)",
                "Bonus +5 valoare atac (permanent)",
                "Bonus +60 apărare (permanent)",
                "Bonus +50 atac (permanent)",
                "Bonus +11 viteză de mişcare (permanent)[ENTER]Bonus +10 rezistenţă la monştri (permanent)",
                "Bonus +10 forţă de atac (permanent)[ENTER]Bonus +6 viteză de atac (permanent)",
                "Bonus +10% contra semi-oamenilor (permanent)",
                "Bonus +10% critică (permanent)[ENTER]Bonus +10% pătrunzătoare (permanent)[ENTER]Bonus +3000 HP (permanent)"
            }
            return names[blevel]
        end
        function applyBonus()
            local blevel = pc.getqf("blevel")
            if blevel == 1 then
                affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60)
            elseif blevel == 2 then
                affect.add_collect(apply.ATT_SPEED,5,60*60*24*365*60)
            elseif blevel == 3 then
                affect.add_collect(apply.DEF_GRADE_BONUS,60,60*60*24*365*60)
            elseif blevel == 4 then
                affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60*24*365*60)
            elseif blevel == 5 then
                affect.add_collect(apply.MOV_SPEED,11,60*60*24*365*60)   
                affect.add_collect_point(POINT_DEF_BONUS,10,60*60*24*365*60)
            elseif blevel == 6 then
                affect.add_collect(apply.ATT_SPEED,6,60*60*24*365*60)       
                affect.add_collect_point(POINT_ATT_BONUS,10,60*60*24*365*60)
            elseif blevel == 7 then
                affect.add_collect(apply.ATTBONUS_HUMAN,10,60*60*24*365*60)
            elseif blevel == 8 then
                affect.add_collect(apply.CRITICAL_PCT,10,60*60*24*365*60)
                affect.add_collect(apply.PENETRATE_PCT,10,60*60*24*365*60)
                affect.add_collect(apply.MAX_HP,3000,60*60*24*365*60)
            end
        end
    end
    state start begin
        when login or levelup with pc.get_level() >= 30 and not pc.is_gm() begin
            local v = find_npc_by_vnum(20084)
            if v != 0 then
                target.vid("__TARGET__", v, "Chaegirab")
            end
            send_letter("Cauta-l pe Biolog")
        end
        when button or info begin
            say_title("Cauta-l pe Biolog!")
            say("Biologul are nevoie de ajutorul")
            say("tau pentru studiile sale.")
            say("Cauta-l si intreaba-l cu ce il poti")
            say("ajuta. Ajutorul tau nu o sa ramana")
            say("nerasplatit.")
            say("")
        end
        when __TARGET__.target.click or 20084.chat."Caut ajutor" begin
            target.delete("__TARGET__")
            say_title("Caut ajutor")
            say("Salut tinere razboinic,")
            say("Am nevoie de ajutorul tau pentru")
            say("a-mi termina studiile despre monstrii")
            say("ce ne cutreiera lumea noastra.")
            say("")
            say_reward("Citeste cu atentie informatiile urmatoare!")
            say("")
            wait()
            say_title("Cercetari")
            say("Cercetarile mele se bazeaza pe")
            say("anumite obiecte care se afla la")
            say("monstrii de pe continent.")
            say("Adu-mi toate materialele de care")
            say("am nevoie si te voi rasplati cu")
            say("o gramada de lucruri.")
            say("")
            wait()
            set_state(mission_start)
            clear_letter()
            pc.setqf("blevel", 1)
        end
    end
    state mission_start begin
        when letter or login or levelup begin
            local data = biologul_chaegirab.Data()
            local blevel = pc.getqf("blevel")
            if pc.get_level() >= biologul_chaegirab.getLevel() then
                send_letter("BIOLOG ~ "..data[blevel][1])
            end
            if pc.count_item(data[blevel][2]) > 0 then
                local v = find_npc_by_vnum(20084)
                if v != 0 then
                    target.vid("__TARGET__", v, "Chaegirab")
                end
            end
        end
        when button or info begin
            local data = biologul_chaegirab.Data()
            local blevel = pc.getqf("blevel")
            say_title("Dintii de orc")
            say("Salut tinere razboinic,")
            say("Biologul are nevoie sa ii aduci")
            say(""..data[blevel][3].."x "..item_name(data[blevel][2]).."")
            say("Se gasesc in "..data[blevel][4].."!")
            say("Poti aduce o bucata odata la 3 ore.")
            say("")
            wait()
        end
        when __TARGET__.target.click or 20084.click begin
            target.delete("__TARGET__")
            local data = biologul_chaegirab.Data()
            local blevel = pc.getqf("blevel")
            if pc.get_level() >= biologul_chaegirab.getLevel() then
                say_title(data[blevel][1])
                say("Salut "..pc.get_name().."!")
                say("Ai venit sa imi aduci niste obiecte?")
                say("Tine minte! Poti sa imi aduci odata la")
                say("3 ore pentru a avea timp sa le studiez!")
                say("")
                wait()
                say_title(data[blevel][1])
                say("Ai venit sa imi aduci "..item_name(data[blevel][2]).."?")
                if pc.is_gm() then
                    pc.setqf("duration", get_time()+0)
                end
                if pc.count_item(data[blevel][2]) == 0 then
                    say("")
                    say_reward("Se pare ca inca nu ai facut rost de nici un obiect!")
                    say_reward("Revino cand ai obiectele cerute.")
                    return
                end
                if get_time() < pc.getqf("duration") then
                    say("")
                    say_reward("Inca nu au trecut cele 3 ore.")
                    say_reward("Revino mai tarziu.")
                    return
                end
                local bcount = pc.getqf("bcount")+1
                if bcount == data[blevel][3] then
                    say("Felicitari!")
                    say("Mi-ai adus toate obiectele necesare")
                    say("pentru a-mi termina studiul.")
                    say("")
                    say_reward("Rasplata : ")
                    say_reward(biologul_chaegirab.getBonusName())
                    wait()
                    biologul_chaegirab.applyBonus()
                    pc.setqf("blevel", pc.getqf("blevel")+1)
                    pc.setqf("bcount", 0)
                    pc.setqf("duration", get_time())
                    set_state(mission_next)
                else
                    say("Ooh...ai gasit "..item_name(data[blevel][2]).."?")
                    say("Lasa-ma sa studiez...")
                    say("...")
                    say("Se pare ca este bun.")
                    say("Mai ai de adus "..(data[blevel][3] - pc.getqf("bcount") - 1).."!")
                    say("")
                    pc.remove_item(data[blevel][2], 1)
                    pc.setqf("duration", get_time()+1)
                    pc.setqf("bcount", bcount)
                end
            else
                say_title("Biolog")
                say("Eu ma ocup de toate studiile")
                say("din acest regat de aceea sunt")
                say("foarte ocupat momentan.")
                say("")
            end
        end
        when 30130.use begin
            if get_time() < pc.getqf("duration")-5 then
                pc.setqf("duration", get_time()+5)
                chat("Timpul a fost redus la 5 secunde!")
                pc.remove_item(30130, 1)
            else
                chat("Timpul este deja scazut!")
            end
        end
        when kill begin
            local data = biologul_chaegirab.Data()
            local blevel = pc.getqf("blevel")
            for k,r in pairs(data[blevel][5]) do
                if npc.get_race() == r and pc.count_item(data[blevel][2]) < data[blevel][3] then
                    local c = math.random(0, 30)
                    if c == 1 then
                        pc.give_item2(data[blevel][2], 1)
                    end
                end
            end
        end
    end
    state mission_next begin
        when login or levelup or letter begin
            local data = biologul_chaegirab.Data()
            local blevel = pc.getqf("blevel")
            if pc.get_level() >= biologul_chaegirab.getLevel() then
                set_state(mission_start)
            end
        end
    end
    state __END__ begin
    end
end
Imagine
Daca te-am ajutat lasa un like :) B-) :ymhug: ;)


Înapoi la “Arhivă Probleme şi Întrebări”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 29 vizitatori