[LUA] Official events & events manger

Avatar utilizator
Yahiko
Membru Club

Membru Club
Mesaje: 3865
Membru din: 25 Mai 2015, 18:31
Aprecieri: 0
Mulţumiri: 4857  
Discord: Copiază ID
 Contact:
Medalii

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  


Continut: Ascuns
Trebuie sa multumesti autorului pentru a putea vedea mesajul.
Sursa: MrLibya
ScanVirus: 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 18 Mai 2021, 18:52 de către [RaKu], modificat de 5 ori în total.
Motiv: Continut Ascuns
Pentru acest mesaj, Yahiko a primit 9 (de) mulţumiri
Quatro • Helsinky • YoKe • nexus72 • redmi99 • BacanuAlin • Metrix008 • endriuzeu • onija13
*Contact Discord: Yahiko#2936
*Doar SMS: 0749592613
*Grup discord: Click
Cu stimă,
Yahiko.

GL & HF
Afișează semnătura
Avatar utilizator
Ionut Nistor
Nivel 1

Nivel 1
Mesaje: 144
Membru din: 31 Dec 2015, 18:00
Server: metin2ploiesti.com
Regat: Jinno
Aprecieri: 9  
Mulţumiri: 85  
 Contact:
Medalii

Mai exact, ce face acest quest, poze?. Mulțumesc!
Imagine
Afișează semnătura
Răspunde

Înapoi la “Quest-uri”

  • Informaţie
  • Cine este conectat

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