Quest Evenimente

Deconectat
Avatar utilizator
Nahual
Membru Club
Membru Club
Mesaje: 174
Membru din: 14 Mai 2018
Reputație: Membru Club Permanent
Status: Se putea si mai bine.
Regat: Jinno
Mulțumiri acordate: 4
Mulțumiri primite: 30

Quest Evenimente

Mesajde Nahual » 09 Noi 2018, 03:31

Nume: Evenimente
Descriere: In acest quest aveti 4 evenimente, 3 care nu se pot schimba dupa deschiderea serverului si unul customizabil(si prin asta vreau sa zic ca tu alegi ce sa pice)
Ce vreau sa zic prin "nu se pot schimba" ? Vreau sa zic ca de indata ce deschizi serverul, nu poti da reload q ca sa incarci schimbarile facute in quest, deoarece ti-ar f*te mare parte din restul questurilor, dupa cum prea bine stiati.
Aici aveti evenimentul clar de luna, balonul de aur, halloween si un eveniment la care voi alegeti ce sa pice(primele 3 sunt anuntate pe chat cand sunt active, ultimul nu, deoarece nu pica de fiecare data acelasi lucru). Al patrulea eveniment l-am facut mai mult din cauza ca uitam uneori sa pun anumite chestii la drop, iar in felul asta puteam sa-mi scap pielea pana la update, dar poate fi folosit si ca un fel de eveniment surpriza, de care nimeni nu avea idee.
Imagini: ăă.. "nam" =)
Quest:

Cod: Selectaţi tot

quest EVENTS begin
   state start begin   
   
      when 9004.chat."<GM> Evenimente" with pc.get_name() == "[SA]Nahual" begin
      local choice = select("Eveniment CL","Eveniment Halloween", "Eveniment Balonul de aur", "Seteaza Drop", "Nimic", "Nimic", "Creeaza un eveniment random")
         if choice == 1 then
            if game.get_event_flag("moonlight_event") == 1 then
               say_title("Administrare Eveniment:")
               say("")
               say("[Eveniment]Cufar Clar de Luna: Activ")
               say("")
               say_reward("Inchizi ?")
               local s=select("Da", "Nu")
               if s==1 then
                  say("Evenimentul a luat sfarsit .")
                  game.set_event_flag("moonlight_event", 0)
                  notice_all("[Eveniment]Cufar Clar de Luna: Terminat")
               elseif s==2 then
                  return
               end
            else
               say_title("Administrare Eveniment:")
               say("")
               say("Cufar Clar De Luna : ~ Inchis ")
               say("")
               say_reward("Start Eveniment?")
               local s=select("Da", "Nu")
               if s==1 then
                  say("[Eveniment]Cufar Clar de Luna: A inceput")
                  game.set_event_flag("moonlight_event", 1)
                  notice_all("[Eveniment]Cufar Clar de Luna: A inceput!")
               elseif s==2 then
                  return
               end
            end
         end
         if choice == 2 then
            if game.get_event_flag("halloween_event") == 1 then
               say_title("Administrare Eveniment:")
               say("")
               say("[Eveniment]Halloween : Activ")
               say("")
               say_reward("Inchizi ?")
               local s=select("Da", "Nu")
               if s==1 then
                  say("Evenimentul a luat sfarsit .")
                  game.set_event_flag("halloween_event", 0)
                  game.set_event_flag("halloween_event1", 0)
                  notice_all("[Eveniment]Halloween: Terminat")
               elseif s==2 then
                  return
               end
            else
               say_title("Administrare Eveniment:")
               say("")
               say("Halloween : ~ Inchis ")
               say("")
               say_reward("Start Eveniment?")
               local s=select("Da", "Nu")
               if s==1 then
                  say("[Eveniment]Halloween: A inceput")
                  game.set_event_flag("halloween_event", 1)
                  game.set_event_flag("halloween_event1", 1)
                  notice_all("Evenimentul Halloween a inceput!")
               elseif s==2 then
                  return
               end
            end
         end
         if choice == 3 then
            if game.get_event_flag("golden_balloon") == 1 then
               say_title("Administrare Eveniment:")
               say("")
               say("[Eveniment]Balonul de aur : Activ")
               say("")
               say_reward("Inchizi ?")
               local s=select("Da", "Nu")
               if s==1 then
                  say("Evenimentul a luat sfarsit .")
                  game.set_event_flag("golden_balloon", 0)
                  notice_all("Eveniment Balonul de aur s-a terminat")
               elseif s==2 then
                  return
               end
            else
               say_title("Administrare Eveniment:")
               say("")
               say("Balonul de aur : ~ Inchis ")
               say("")
               say_reward("Start Eveniment?")
               local s=select("Da", "Nu")
               if s==1 then
                  say("[Eveniment]Balonul de aur: A inceput")
                  game.set_event_flag("golden_balloon", 1)
                  notice_all("Eveniment Balonul de aur a inceput!")
               elseif s==2 then
                  return
               end
            end
         end
         if choice == 4 then
            local choice2 = select("CL", "Halloween", "Mingi", "Inchide")
            if choice2 == 4 then
               return
            end
            if choice2 == 1 then
               if pc.get_name() == "[SA]Nahual" then
                  say_title("Administrare Eveniment:")
                  say("")
                  say("Cat de mare sa fie dropul obiectelor ?")
                  say("")
                  say_reward("Rata de drop trebuie sa fie cuprinsa intre 1 si 100")
                  say("")
                  local new_chance = tonumber(input())
                  if new_chance < 0 or new_chance > 100 then
                     say_title("Administrare Eveniment:")
                     say("")
                     say("Introducere incorecta ~")
                  else
                     game.set_event_flag("mond_drop_chance", new_chance)
                     say_title("Administrare Eveniment:")
                     say("")
                     say("Dropul actual " ..new_chance.. " setat.")
                     return
                  end
               else
                  say_title("Administrare Eveniment:")
                  say("")
                  say("Nu ai dreptul pentru a executa evenimentul .")
               end
            end--choice2 == 1
            if choice2 == 2 then
               if pc.get_name() == "[SA]Nahual" then
                  say_title("Administrare Eveniment:")
                  say("")
                  say("Cat de mare sa fie dropul obiectelor ?")
                  say("")
                  say_reward("Rata de drop trebuie sa fie cuprinsa intre 1 si 100")
                  say("")
                  local hChoice = select("Bomboane", "Restul", "Inchide")
                  if hChoice == 3 then
                     return
                  end
                  if hChoice == 1 then
                     say_title("Administrare eveniment Bomboane")
                     local new_chance1 = tonumber(input())
                     if new_chance1 < 0 or new_chance1 > 100 then
                        say_title("Administrare Eveniment:")
                        say("")
                        say("Introducere incorecta ~")
                     else
                        game.set_event_flag("hallo_drop_chance1", new_chance1)
                        say_title("Administrare Eveniment:")
                        say("")
                        say("Dropul actual " ..new_chance1.. " setat.")
                        return
                     end
                  end
                  if hChoice == 2 then
                     say_title("Administrare drop Halloween - restul")
                     local new_chance = tonumber(input())
                     if new_chance < 0 or new_chance > 100 then
                        say_title("Administrare Eveniment:")
                        say("")
                        say("Introducere incorecta ~")
                     else
                        game.set_event_flag("hallo_drop_chance", new_chance)
                        say_title("Administrare Eveniment:")
                        say("")
                        say("Dropul actual " ..new_chance.. " setat.")
                        return
                     end
                  end
               else
                  say_title("Administrare Eveniment:")
                  say("")
                  say("Nu ai dreptul pentru a executa evenimentul .")
               end
            end--choice2 == 2
            if choice2 == 3 then
               if pc.get_name() == "[SA]Nahual" then
                  say_title("Administrare Eveniment:")
                  say("")
                  say("Cat de mare sa fie dropul obiectelor ?")
                  say("")
                  say_reward("Rata de drop trebuie sa fie cuprinsa intre 1 si 100")
                  say("")
                  local new_chance = tonumber(input())
                  if new_chance < 0 or new_chance > 100 then
                     say_title("Administrare Eveniment:")
                     say("")
                     say("Introducere incorecta ~")
                  else
                     game.set_event_flag("baloon_drop_chance", new_chance)
                     say_title("Administrare Eveniment:")
                     say("")
                     say("Dropul actual " ..new_chance.. " setat.")
                     return
                  end
               else
                  say_title("Administrare Eveniment:")
                  say("")
                  say("Nu ai dreptul pentru a executa evenimentul .")
               end
            end--choice2 == 2
         end--choice 4
         if choice == 5 then
            return
         end
         if choice == 6 then
            return
         end
         if choice == 7 then
            if game.get_event_flag("random_event") == 0 then
               say_title("Eveniment random")
               say("Nu ai setat un eveniment")
               say("Doresti sa creezi unul acum ?")
               local rechoice = select ("Da","Nu")
               if rechoice == 2 then return
               else
                  say("ce doresti sa se dropeze in acest eveniment ?")
                  say("introdu codul itemului")
                  local randomvnum = tonumber(input())
                  if randomvnum == 0 then return
                  else
                     say("ce rata de drop doresti sa aiba ?")
                     local randomrate = tonumber(input())
                     if randomrate < 0 or randomrate > 100 then
                        say("rata de drop trebuie sa fie cuprinsa intre 1 si 100")
                        return
                     else
                        game.set_event_flag("random_event", 1)
                        game.set_event_flag("random_event_droprate", randomrate)
                        game.set_event_flag("random_event_item", randomvnum)
                        say("Evenimentul a fost activat cu succes")
                     end
                  end
               end
            else
               say("evenimentul random este activ")
               say("doresti sa-l inchizi ?")
               local eractiv = select ("Da","Nu")
               if eractiv == 2 then
                  return
               else
                  game.set_event_flag("random_event", 0)
                  say("evenimentul a fost inchis")
               end
            end
         end
      end--when 9004 chat
------============================KILLING PROCESS BEGIN==========================
      when kill begin
         if npc.is_pc() then
         else
         local pLevel = pc.get_level()
         local mLevel = npc.get_level()
            if (mLevel - 15 <= pLevel) and (pLevel <= mLevel + 15) then
               if game.get_event_flag("moonlight_event") == 1 then
                  local chance = number(1, 100)
                  local chance_max = game.get_event_flag("mond_drop_chance")
                  if chance <= chance_max then
                     pc.give_item2(50011)                  
                  else
                  end
               else
               end
               if game.get_event_flag("halloween_event") == 1 then
                  local chance = number(1, 100)
                  local chance_max2 = game.get_event_flag("hallo_drop_chance")
                  local chance_max_bomboane = game.get_event_flag("hallo_drop_chance1")
                  if chance <= chance_max2 then
                     pc.give_item2(30321)
                     pc.give_item2(30322)
                  else
                  end
                  if chance <= chance_max_bomboane then
                     pc.give_item2(50032)
                  else
                  end
               else
               
               end
               if game.get_event_flag("golden_balloon") == 1 then
                  local chance = number(1, 100)
                  local chance_max3 = game.get_event_flag("baloon_drop_chance")
                  if chance <= chance_max3 then
                     pc.give_item2(50096)
                  else
                  end
               else
               end
               if game.get_event_flag("random_event") == 1 then
                  local chance = number(1, 100)
                  local randomevent_chance = game.get_event_flag("random_event_droprate")
                  local randomitemvnum = game.get_event_flag("random_event_item")
                  if chance <= randomevent_chance then
                     pc.give_item2(randomitemvnum)
                  else
                  end
               else
               end
            end
         end
      end--when kill begin
      when 8051.kill or 8052.kill or 8053.kill or 8054.kill or 8055.kill or 8056.kill or 8057.kill or 8058.kill with game.get_event_flag("halloween_event") == 1 begin
         if pc.get_level() >= 90 then
            game.drop_item_with_ownership(10954)
         else
         end
      end--when
      when 6091.kill or 6191.kill or 3290.kill or 6408.kill or 3490.kill or 3690.kill or 3190.kill or 3595.kill or 3890.kill or 3790.kill or 3891.kill or 3791.kill or 3191.kill or 3391.kill or 3590.kill or 3090.kill or 3691.kill or 3491.kill or 3091.kill or 3591.kill or 3291.kill or 3390.kill with game.get_event_flag("halloween_event") == 1 begin
         if pc.get_level() >= 80 then
            game.drop_item_with_ownership(10954)
         else
         end
      end--when
      when 2493.kill or 1191.kill or 1192.kill or 691.kill or 791.kill or 2091.kill or 2191.kill or 1901.kill or 1903.kill or 2206.kill or 1091.kill or 1092.kill or 1093.kill or 2306.kill or 292.kill or 964.kill or 283.kill or 2092.kill or 2491.kill or 2492.kill or 2494.kill or 2495.kill or 5002.kill or 2307.kill or 1306.kill or 2094.kill or 5004.kill with game.get_event_flag("halloween_event") == 1 begin
         if pc.get_level() >= 80 then
            game.drop_item_with_ownership(10954)
         else
         end
      end--when
      when login begin
         if game.get_event_flag("golden_balloon") == 1 then
            notice("[Eveniment] Balonul de aur este activ.")
         end
         if game.get_event_flag("halloween_event") == 1 then
            notice("[Eveniment]Halloween este activ.")
         end
         if game.get_event_flag("moonlight_event") == 1 then
            notice("[Eveniment]Cufar Clar de Luna este activ.")
         end
      end
   end---state
end--quest
--###############################################################################
--#-------------------------------------#---------------------------------------#
--#-------------------------------------#---------------------------------------#
--#-Daca intampinati probleme legat-----#-Copyright @ Hai las-o dracu =))-------#
--#-de instalarea sau modificarea ------#-Daca si la astea am ajuns sa punem----#
--#- questului ma puteti contacta pe ---#-drepturi de autor =))-----------------#
--#-J4M sau la adresa de discord--------#-Sper sa va ajute ! -------------------#
--#-Nahual#1133-------------------------#--(da, pentru cine se intreaba, am ----#
--#-------------------------------------#--stat mai mult sa desenez astea) =))--#
--#-------------------------------------#---------------------------------------#
--###############################################################################

Download: Trebuie să fii logat sau înregistrat pentru a vedea acest link.
Atentie ! Modificati itemele dropate la evenimentul de halloween !!!

Mic tutorial de instalare:
Pentru cei ce nu vor sa-l descarce:
Salvati continutul questului intr-un fisier cu extensia .quest sau .lua, numele acestuia nu conteaza.
Mergeti in usr/game/share/locale/romania/quest si puneti fisierul.
Va conectati la putty si scrieti cd + locatia (exemplu cd usr/game/share/locale/romania/quest )
Scrieti ./qc numele questului pe care l-ati ales + extensia (exemplu: ./qc aministrare_evenimente.lua)
Pentru cei ce au probleme cu qc(acces denied sau ce dadea cand nu aveai drepturi) scrieti chmod +x qc
Testati. Spor !

Pentru cei ce descarca direct fisierul:
Duceti fisierul in quest, adica in usr/game/share/locale/romania/quest
Va conectati la Putty si scrieti cd + locatia (ex: cd usr/game/share/locale/romania/quest)
Scrieti ./qc administrare_evenimente.lua
Pentru cei ce au probleme cu drepturile de qc: scrieti chmod +x qc
Testati. Spor !


Daca aveti idei pentru alte evenimente sau intampinati probleme in modificarea sau instalarea questului, puteti lasa un mesaj aici sau ma puteti cauta pe discord, Nahual#1133
Bafta !
"O ardem romantic, noaptea in parc, sub lună plină
Până-mi cresc coarne, păr pe corp.. și mă transform in mă-ta !"
Imagine
Decât să vorbeşti fără să gândeşti, mai bine gândeşti fără să vorbeşti.

Crezi ca te pot ajuta ?
Discord -> Nahual#1133

Deconectat
Avatar utilizator
iBraxy
Nivel 2
Nivel 2
Mesaje: 267
Membru din: 04 Mai 2016
Status: No Mood
Server Metin2: None
Regat: Jinno
Mulțumiri acordate: 9
Mulțumiri primite: 64
Contact:

Re: Quest Evenimente

Mesajde iBraxy » Ieri, , 22:24

Observatii constructive:
1. Incearca sa nu foloseti .kill - when kill with (npc.get_race() == vnumMOB) -- in caz de multi vnums faci o functie.
2. Incearca sa folosesti sintaxele corect si sa nu lasi gap-uri in cod. (if argument then code else GAP, NU folosesti else daca ai gap)
3. Incearca sa foloseti [ENTER] in loc de repetarea functiei say - say("TEXTTEXT[ENTER]TEXTTEXT")

Mai sunt si altele dar nu am chef sa insir, te-ai prins tu :)
[LUA SERVICE]: http://just4metin.ro/mica-publicitate/service-braxy-t68473.html

Imagine


Înapoi la “Quest-uri”

Cine este conectat

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