[LUA] Official events & events manger

Deconectat
Avatar utilizator
Răzvaan
Utilizator interzis !
Utilizator interzis !
Mesaje: 2052
Membru din: 15 Mar 2015
Localitate: Suceava
Reputație: Super Ad Moderator
Lider Ad Moderatori
Lider Mister
Fost Lider Moderatori
Fost Lider Trial Moderatori
Fost Lider Miss
Nume anterioare: ElAlcon, Brian O'Conner, Grinchzvan
Status: Un fel de două feluri
Server Metin2: da
Regat: Shinsoo
Mulțumiri acordate: 1
Mulțumiri primite: 41
Contact:

[LUA] Official events & events manger

Mesajde Răzvaan » 05 Feb 2016, 18:33

Event manager:

Cod: Selectaţi tot

quest event begin

             state start begin

                 when letter with pc.get_gm_level()==5 begin

                     send_letter(gameforge.event.letter_10)

                 end

                 when button or info begin

                     say_title(gameforge.event.title_20)

                     say(gameforge.event.say_30)

                     local events_info = {

                         --- event_name , flag

                         {gameforge.event.event_90, "new_2006_drop"},

                         {gameforge.event.event_100, "new_drop_moon"},

                         {gameforge.event.event_110, "new_valentine_drop"},

                         {gameforge.event.event_120, "new_football_drop"},

                         {gameforge.event.event_130, "new_ramadan_drop"},

                         {gameforge.event.event_140, "halloween_hair"},

                         {gameforge.event.event_150, "easter_rabbit"},

                         {gameforge.event.event_160, "new_xmas_event"},

                         {gameforge.event.event_170, "dressup_saleh"},

                         {gameforge.event.event_180, "sertbox_saleh"},

                         -- حالة خاصه , لاتقم بالتعديل هنا

                         {gameforge.event.say_70, nil}, -- rate

                         {gameforge.locale.cancel, ""} -- close

                     }

                     local menu01 = {}

                     for num1,str1 in ipairs(events_info) do

                         table.insert(menu01, str1[1])

                     end

                     local seltab01 = select_table(menu01, gameforge.locale.cancel)

                     if seltab01 == table.getn(menu01) then return end

                     say_reward(gameforge.event.say_reward_40)

                     if events_info[seltab01][2] == nil then

                         say(gameforge.event.say_80)

                         local min_rate = tonumber(input())

                         if min_rate == nil then

                             say(gameforge.event.say_90)

                             return

                         end

                         game.set_event_flag("event_rate", min_rate)

                     else

                         local s = select(gameforge.event.select_50, gameforge.event.select_60, gameforge.locale.cancel)

                         if s == 1 then

                             notice_all(string.format(gameforge.event.notice_70, events_info[seltab01][1]))

                             game.set_event_flag(events_info[seltab01][2], 1)

                         elseif s == 2 then

                             notice_all(string.format(gameforge.event.notice_80, events_info[seltab01][1]))

                             game.set_event_flag(events_info[seltab01][2], 0)

                         else

                             return

                         end

                     end

                 end

             end

         end 


Event drop:

Cod: Selectaţi tot

quest event_drop begin

             state start begin

                 function get_events_table()

                     if event_drop.events_info == nil then

                         event_drop.events_info={

                             {gameforge.event.event_90, "new_2006_drop", 50037},

                             {gameforge.event.event_100, "new_drop_moon", 50011},

                             {" صندوق غامض ", "new_kids_day_drop", 50034},

                             {gameforge.event.event_120, "new_football_drop", 50096},

                             {gameforge.event.event_130, "new_ramadan_drop", 30315},

                             {gameforge.event.event_170, "dressup_saleh", 50130},

                             {gameforge.event.event_180, "sertbox_saleh", 50033},

                         }

                     end

                     return event_drop.events_info

                 end

                

                 when login or enter begin

                     for i,v in ipairs(event_drop.get_events_table()) do

                         if game.get_event_flag(v[2]) == 1 then

                             syschat(gameforge.event.say_100, v[1])

                         end

                     end

                 end

                

                 when kill with not npc.is_pc() begin

                     for i,v in ipairs(event_drop.get_events_table()) do

                         if game.get_event_flag(v[2]) == 1 then

                             local level = pc.get_level()

                             local limit = npc.get_level0()

                             local rate = game.get_event_flag("event_rate")

                             if level < limit+5 then

                                 if math.random(1, 100) <= rate then

                                     game.drop_item_with_ownership(v[3])

                                 end

                             end

                         end

                     end

                 end

             end

         end 


Trebuie să fii logat sau înregistrat pentru a vedea acest link.

Sursa: MrLibya

Tutorial instalare quest:
1. Salvaţi conţinutul quest-ului într-un fişier text numit de exemplu q1.quest .
2. Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).
3. Îl puneţi acolo (să fie .quest) şi da-ţi permisiuni 777.
4. Te loghezi în FreeBSD / putty şi scrii în felul următor: cd /usr/home/game/share/locale/germany/quest apoi ./qc q1.quest
5. Intraţi pe server şi scrieţi /reload q .
6. Testaţi quest-ul .
Ultima oară modificat 06 Apr 2016, 18:28 de către h u m a n, modificat de 3 ori în total.
Motiv: Adăugat tutorial instalare.
Imagine

SERVICII: PHOTOSHOP, PHPBB, METIN2

Deconectat
Avatar utilizator
medionis
Nivel 1
Nivel 1
Mesaje: 70
Membru din: 31 Dec 2015
Localitate: Filipestii de Padure
Status: Sunt bine mersi ^.^
Server Metin2: metin2ploiesti.com
Regat: Jinno
Mulțumiri acordate: 7
Mulțumiri primite: 3
Contact:

Re: [LUA] Official events & events manger

Mesajde medionis » 28 Mar 2016, 08:49

Mai exact, ce face acest quest, poze?. Mulțumesc!
Imagine


Înapoi la “Quest-uri”

Cine este conectat

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