[Quest] - Afk Ödülleri

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 46

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Npc kodları ve item vnumlarını kendinize göre değiştirin lütfen tamamen random yazdım.

Bu questin tam olarak hizmeti şu şekilde,
Oyunda 12 , 36 , 24 , 48 saat kalan karakterlere kesintisiz ödül veriyor bu ödülleri ve süreleri kendinize göre değiştirebilirsiniz. verilen ödül adetleride katlanarak artıyor bunuda kendinize göre değiştirebilirsiniz.
Kod:
quest afk_rewards begin     state start begin         when login with pc.getqf("afk_time") == 0 begin             local afk_timer = set_timer(60 * 60) -- Timer her saatte bir tetiklenecektir.             pc.setqf("afk_timer", afk_timer)             say_title("AFK Ödülleri")             say("Sunucuda 12, 24, 36 ve 48 saat boyunca afk kalırsanız ödül alacaksınız.")         end     end     function get_reward()         local afk_time = pc.getqf("afk_time")         if afk_time == 12 * 60 * 60 then             pc.give_item2(ITEM_VNUM_1, 1) -- 12 saat için bir ödül         elseif afk_time == 24 * 60 * 60 then             pc.give_item2(ITEM_VNUM_2, 2) -- 24 saat için iki ödül         elseif afk_time == 36 * 60 * 60 then             pc.give_item2(ITEM_VNUM_3, 3) -- 36 saat için üç ödül         elseif afk_time == 48 * 60 * 60 then             pc.give_item2(ITEM_VNUM_4, 5) -- 48 saat için beş ödül         end     end     when 3600.seconds.elapse with pc.getqf("afk_timer") != 0 begin         local afk_time = pc.getqf("afk_time")         if afk_time < 48 * 60 * 60 then             pc.setqf("afk_time", afk_time + 3600)             say("AFK süreniz " .. afk_time / 3600 .. " saat oldu. " .. (48 - afk_time / 3600) .. " saat içinde " .. get_reward() .. " ödül alacaksınız.")         else             clear_timer(pc.getqf("afk_timer"))             pc.setqf("afk_timer", 0)             say("AFK süreniz 48 saat oldu. Ödül almak için ana kasabaya gidin.")         end     end     when 9998.chat."afk ödülleri" begin         say_title("AFK Ödülleri")         say("Sunucuda 12, 24, 36 ve 48 saat boyunca afk kalırsanız ödül alacaksınız.")         say("Şu anda AFK süreniz " .. pc.getqf("afk_time") / 3600 .. " saat.")     end     when 9999.chat."afk ödülü" with pc.getqf("afk_time") == 48 * 60 * 60 begin         say_title("AFK Ödülleri")         say("48 saat boyunca AFK kaldığınız için ödül aldınız!")         get_reward()     end end

Npc için quest ise şu şekilde ;
Kod:
quest afk_rewards_npc begin     state start begin         when 9998.chat."afk ödülleri" begin             say_title("AFK Ödülleri")             say("48 saat boyunca AFK kaldığınızda buradan ödüllerinizi alabilirsiniz.")             if pc.getqf("afk_time") == 48 * 60 * 60 then                 say_reward("Ödüllerinizi almak için hazırsınız!")             else                 say("Henüz ödül alacak kadar AFK kalmadınız.")             end             say("")             say("Ödüller:")             say("")             say_reward("+1 " .. item_name(ITEM_VNUM_1)) -- 12 saat için bir ödül             say_reward("+2 " .. item_name(ITEM_VNUM_2)) -- 24 saat için iki ödül             say_reward("+3 " .. item_name(ITEM_VNUM_3)) -- 36 saat için üç ödül             say_reward("+5 " .. item_name(ITEM_VNUM_4)) -- 48 saat için beş ödül         end         when 9998.chat."afk ödülü" with pc.getqf("afk_time") == 48 * 60 * 60 begin             say_title("AFK Ödülleri")             if pc.count_item(ITEM_VNUM_1) + pc.count_item(ITEM_VNUM_2) + pc.count_item(ITEM_VNUM_3) + pc.count_item(ITEM_VNUM_4) >= 1 then                 say("Ödülleriniz zaten envanterinizde var.")             else                 say("Ödülleriniz envanterinize eklendi!")                 pc.give_item2(ITEM_VNUM_1, 1)                 pc.give_item2(ITEM_VNUM_2, 2)                 pc.give_item2(ITEM_VNUM_3, 3)                 pc.give_item2(ITEM_VNUM_4, 5)             end         end     end end

Oyuncunun NPC ile konuşarak ödülleri almasına olanak tanır. NPC konuşması yoluyla, oyuncu kalan AFK süresini, alabileceği ödüllerin listesini ve mevcut envanterindeki ödüllerin varlığını görebilir. Ödülleri almak için ödül NPC'siyle tekrar konuşabilir ve ödülleri envanterine ekleyebilir.
Metin2'de [Quest] - AFK Ödülleri Sistemi Nasıl Çalışır?​


AFK (Away From Keyboard) ödülleri, oyuncuların aktif olmamasına rağmen belirli süre sonra sistemden ödül alabilmesini sağlayan önemli bir.quest sistemidir. Bu sistem sayesinde oyuncular uzun süre oyunu kapatmadan afk kalabilir ve belli aralıklarla ödüller kazanabilirler. Metin2 sunucularında AFK ödülleri genellikle.quest dosyaları aracılığıyla yapılandırılır ve Lua diliyle geliştirilir.

AFK Ödülleri.quest Sisteminin Temel Özellikleri:

AFK.quest sistemi, oyuncunun oyun içinde hareket etmemesi, savaşmaması veya bir eylem gerçekleştirmemesi durumunda aktif olur. Bu.quest genellikle belirli bir süre sonra tetiklenir..quest script dosyası içinde.AFK kontrolü yapılır ve bu süreye göre ödül verilir..quest sisteminde kullanılan başlıca kavramlar şunlardır:

- Timer:.quest'in ne sıklıkla kontrol edileceğini belirler.
- Flag:.quest'in durumunu saklamak için kullanılır.
- Reward:.quest tamamlandığında oyuncuya verilen ödül.
- Item:.quest ödülü olarak verilen eşya veya item.
- State: quest'in hangi aşamada olduğunu gösterir.

AFK.quest Geliştirme ve.quest Editörü Kullanımı:

Metin2.quest geliştirme yaparken Lua dili bilgisi şarttır..quest dosyaları genellikle 'quest_list.lua' gibi dosyalarda tanımlanır..quest script dosyası içinde.AFK.quest şu şekilde tanımlanabilir:

Kod:
[BR][/BR]afk_quest = { [BR][/BR]    title = '[Quest] - AFK Ödülleri', [BR][/BR]    script = [[ [BR][/BR]        when login begin [BR][/BR]            set_state('afk_check')[BR][/BR]        end[BR][/BR][BR][/BR]        state afk_check begin[BR][/BR]            when timer begin [BR][/BR]                local player_pos = pc.get_x() + pc.get_y()[BR][/BR]                if player_pos == get_previous_pos() then [BR][/BR]                    say('AFK algılandı, ödül veriliyor...')[BR][/BR]                    game.drop_item('gold', 1000)[BR][/BR]                end[BR][/BR]            end[BR][/BR]        end[BR][/BR]    ]][BR][/BR]}[BR][/BR]


AFK.quest Trigger Mekanizması:

.quest triggerları,.quest'in ne zaman başlayacağını belirler. AFK.quest için trigger genellikle zaman tabanlıdır..quest trigger mekanizması, oyuncunun AFK olup olmadığını sürekli kontrol eder..quest dosyası içinde.AFK kontrolü şu şekilde yapılabilir:

- Oyuncu AFK mı değil mi?
- AFK süresi ne kadar?
- Ne zaman ödül verilecek?

AFK.quest Hata Ayıklama ve.quest Debug Yöntemleri:

.quest geliştirme sırasında hatalarla karşılaşılabilir..quest debug işlemleri için.quest logları incelenmelidir..quest hata mesajları genellikle 'syserr.txt' dosyasında yer alır..quest debug işlemleri şu adımlarla yapılabilir:

-.quest dosyasını kontrol et.
-.quest trigger kontrolü yap.
-.quest flag durumu kontrol et.
-.quest timer doğru çalışıyor mu?

AFK.quest Reward ve.quest Item Ayarları:

.quest reward sistemi, AFK.quest sisteminin en önemli parçasıdır..quest item olarak altın, EXP, özel item veya başka ödüller verilebilir..quest reward ayarları.quest script dosyası içinde yapılır..quest item seçimi yapılırken dikkat edilmelidir.

Metin2 Lobby.quest ve.quest Sistemleri:

Metin2 Lobby.quest sistemleri, farklı.quest türlerini barındırır..quest chain,.daily quest, özel quest gibi sistemler.AFK.quest sistemine entegre edilebilir..quest server'lar kendi.quest sistemlerini özelleştirebilir..quest geliştirme konusunda daha fazla bilgi için Metin2 Lobby sitesini ziyaret edebilirsiniz.


How Does the [Quest] - AFK Rewards System Work in Metin2?​


AFK (Away From Keyboard) rewards are an important quest system that allows players to receive rewards from the system even while not being active. Thanks to this system, players can stay AFK for long periods without closing the game and earn rewards at certain intervals. In Metin2 servers, AFK rewards are usually configured through quest files and developed with the Lua language.

Key Features of the AFK Rewards Quest System:

The AFK quest system activates when the player does not move, fight, or perform any action within the game. This quest typically triggers after a certain period of time. AFK control is performed within the quest script file, and rewards are given based on this duration. The main concepts used in the quest system include:

- Timer: Determines how often the quest checks the status.
- Flag: Used to store the current state of the quest.
- Reward: The reward given to the player upon completing the quest.
- Item: The item or object awarded as part of the quest reward.
- State: Indicates which stage the quest is in.

Developing AFK Quests and Using the Quest Editor:

Knowledge of the Lua language is essential when developing Metin2 quests. Quest files are generally defined in files like 'quest_list.lua'. An AFK quest can be defined within the quest script file as follows:

Kod:
[BR][/BR]afk_quest = { [BR][/BR]    title = '[Quest] - AFK Rewards', [BR][/BR]    script = [[ [BR][/BR]        when login begin [BR][/BR]            set_state('afk_check')[BR][/BR]        end[BR][/BR][BR][/BR]        state afk_check begin[BR][/BR]            when timer begin [BR][/BR]                local player_pos = pc.get_x() + pc.get_y()[BR][/BR]                if player_pos == get_previous_pos() then [BR][/BR]                    say('AFK detected, awarding reward...')[BR][/BR]                    game.drop_item('gold', 1000)[BR][/BR]                end[BR][/BR]            end[BR][/BR]        end[BR][/BR]    ]][BR][/BR]}[BR][/BR]


AFK Quest Trigger Mechanism:

Quest triggers determine when the quest begins. For an AFK quest, the trigger is typically time-based. The quest trigger mechanism continuously checks whether the player is AFK. AFK control can be implemented within the quest file as follows:

- Is the player AFK or not?
- How long has the player been AFK?
- When should the reward be granted?

AFK Quest Error Debugging and Debugging Methods:

Errors may occur during quest development. Quest debugging involves checking quest logs. Error messages typically appear in the 'syserr.txt' file. Debugging procedures can be carried out with the following steps:

- Check the quest file.
- Perform a quest trigger check.
- Verify the quest flag status.
- Ensure the quest timer is working correctly.

AFK Quest Reward and Item Settings:

The quest reward system is the most important part of the AFK quest system. Quest items such as gold, EXP, special items, or other rewards can be given. These settings are made within the quest script file. Attention must be paid when selecting quest items.

Metin2 Lobby Quest and Quest Systems:

Metin2 Lobby quest systems host various types of quests. Systems like quest chains, daily quests, and custom quests can be integrated into the AFK quest system. Servers can customize their own quest systems. For more information about quest development, visit Metin2 Lobby.​
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt