Kod:
quest pet_system begin state start begin function give_pet_exp(ammount) local pet_item = pc.getqf("pet_item") local pet_level = pc.getqf("pet_"..pet_item.."_level") local pet_exp = pc.getqf("pet_"..pet_item.."_exp") local exp_table = {100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,20000} local mobVnum = pet_system.get_pet_info(pet_item)[1] local MAX_LEVEL = 20 if pet_level <= MAX_LEVEL then if pet_exp > exp_table[pet_level] then pet.spawn_effect(mobVnum, "d:ymir workeffectetclevelup_1level_up.mse") pc.setqf("pet_"..pet_item.."_level",pet_level+1) pc.setqf("pet_"..pet_item.."_exp",1) syschat("Your pet has reached Level "..pet_level) else pc.setqf("pet_"..pet_item.."_exp",pet_exp+ammount) end end end function get_pet_info(itemVnum) pet_info_map = { [53001] = { 34001, gameforge.pet_system._010_say ,0}, [53002] = { 34002, gameforge.pet_system._020_say ,0}, [53003] = { 34003, gameforge.pet_system._040_say ,0}, [53005] = { 34004, gameforge.pet_system._050_say, 1}, [53006] = { 34009, gameforge.pet_system._050_say, 1}, [53010] = { 34008, gameforge.pet_system._060_say, 0}, [53011] = { 34007, gameforge.pet_system._070_say, 0}, [53012] = { 34005, gameforge.pet_system._080_say, 0}, [53013] = { 34006, gameforge.pet_system._090_say, 0}, [53007] = { 34010, gameforge.pet_system._100_say, 0}, [53008] = { 34011, gameforge.pet_system._110_say, 0}, [53009] = { 34012, gameforge.pet_system._120_say, 0}, [38200] = { 34006, gameforge.pet_system._090_say, 0}, [38201] = { 34006, gameforge.pet_system._090_say, 0}, [53014] = { 34013, gameforge.pet_system._130_say, 0}, [53015] = { 34014, gameforge.pet_system._140_say, 0}, [53016] = { 34015, gameforge.pet_system._150_say, 0}, [53017] = { 34016, gameforge.pet_system._160_say, 0}, } itemVnum = tonumber(itemVnum) return pet_info_map[itemVnum] end function get_spawn_effect_file(idx) effect_table = { [0] = nil, [1] = "d:ymir workeffectetcappear_dienpc2_appear.mse", } return effect_table [idx] end when 38200.use or 38201.use or 53007.use or 53013.use or 53012.use or 53011.use or 53010.use or 53006.use or 53005.use or 53002.use or 53001.use or 53003.use or 53008.use or 53009.use or 53014.use or 53015.use or 53016.use or 53017.use begin local pet_info = pet_system.get_pet_info(item.vnum) if pc.getqf("pet_"..item.vnum.."_exp") == 0 then pc.setqf("pet_"..item.vnum.."_exp",1) pc.setqf("pet_"..item.vnum.."_level",1) end pc.setqf("pet_item",item.vnum) if null != pet_info then local mobVnum = pet_info[1] local petName = pet_info[2] local spawn_effect_file_name = pet_system.get_spawn_effect_file(pet_info[3]) if true == pet.is_summon(mobVnum) then if spawn_effect_file_name != nil then pet.spawn_effect (mobVnum, spawn_effect_file_name) end pet.unsummon(mobVnum) else if pet.count_summoned() < 1 then pet.summon(mobVnum, petName, false) else syschat(gameforge.pet_system._030_chat) end if spawn_effect_file_name != nil then pet.spawn_effect (mobVnum, spawn_effect_file_name) end end end end when kill with pet.count_summoned() == 1 and not npc.is_pc() begin local exp_give = number(1,40) local finnaly_exp = (pc.get_level() * exp_give / 10) * 2 pet_system.give_pet_exp(finnaly_exp) end end end
Maximum Level 20 dir.
Değiştirmek isterseniz,
Kod:
local MAX_LEVEL = 20
Kod:
25
Kod:
30
Kod:
local exp_table = {100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700,1800,1900,2000,2100,2200,2300,2400,2500}
Exp tablosuda yukarıdadır..
Herkese Hayırlı olsun.
Pet Level Sistemi [LUA]: Metin2 Quest Geliştirme Rehberi
Metin2 Lobby olarak, Metin2 sunucularında popüler olan Pet Level Sistemi konusunda detaylı bir rehber hazırladık. Bu sistem, oyuncuların evcil hayvanlarının seviye atlamalarını ve gelişimini sağlayan özelleştirilmiş bir quest yapısıdır. Lua diliyle yazılmış bu sistem, Metin2 Quest geliştiricileri için temel bir özelliktir ve hem lua quest bilgisi gerektirir hem de Metin2 Quest Sistemine derinlemesine bir bakış sunar.
Pet Level Sistemi Nedir?
Pet Level Sistemi, oyuncuların evcil hayvanlarını beslemesi, onları savaşlara sokması veya görevlere yönlendirmesiyle birlikte gelişen bir yapıdır. Bu sistem sayesinde petlerin level atlaması sağlanır, bu da onların daha güçlü hale gelmesini sağlar. Lua Quest dosyalarıyla entegre çalışarak, her bir petin gelişimi için özel kurallar belirlenebilir. Örneğin, petin belli bir süre hayatta kalması, belirli sayıda düşman öldürmesi gibi kriterlerle seviye kazanabilir.
Pet Level Sistemini Oluşturma Adımları
Metin2 Quest geliştirme sürecinde, Pet Level Sistemi için ilk adım, doğru bir lua script yapısı oluşturmaktır. Bu yapı, Metin2 Quest Script kurallarına uygun şekilde tanımlanmalıdır. Öncelikle petin level atlaması için gerekli olan flag ve state tanımlamaları yapılır. Bu değerler, oyuncunun petine özel verileri saklamak için kullanılır.
Sistemde, petin Mob öldürmesi durumunda puan alması gibi bir yapı kurulabilir. Bu puanlar biriktikçe petin Level atlaması sağlanır. Bu işlem sırasında Timer ve Trigger mekanizmaları devreye girer. Timer, belirli aralıklarla kontrol yaparken, trigger ise belirli eylemleri tetikler.
Reward (ödül) mekanizması da önemlidir. Her level atlama anında oyuncuya özel ödüller verilebilir. Bu ödüller Item tabanlı olabileceği gibi, deneyim puanı veya özel efektler de olabilir. Quest Reward sistemi, bu ödülü yönetmek için kullanılır.
Pet Level Sistemi Hata Ayıklama
Her Quest geliştirmede olduğu gibi, Pet Level Sistemi kurulumu sırasında da hatalarla karşılaşılabilir. Metin2 Quest Debug işlemleri için log kayıtları önemlidir. Lua Quest içindeki hatalar genellikle syntax hatası, flag eksikliği veya trigger konfigürasyonu gibi nedenlerden kaynaklanabilir. Metin2 Quest Hata çözümü için, sunucu logları detaylıca incelenmelidir.
Daily Quest (günlük görev) olarak Pet Level sistemini tanıtmak da etkili olabilir. Günlük görevlerde pet ile yapılan aktiviteler sayesinde bonus puanlar verilebilir. Bu sayede oyuncular sistemi aktif kullanmaya teşvik edilir. Metin2 Daily Quest yapısı, bu tarz tekrarlayan görevler için idealdir.
Pet Level Sistemi ile İlgili Örnek NPC
Oyuncuların pet seviyesini kontrol edebileceği bir NPC oluşturulabilir. Bu NPC üzerinden petin leveli, toplam puanı ve bir sonraki seviyeye geçmesi için gereken miktar görüntülenebilir. Bu işlem için özel bir Metin2 Quest NPC scripti yazılması gerekir. NPC, hem bilgi sunar hem de oyuncuya pet gelişimi hakkında ipuçları verebilir.
Özel ve Gelişmiş Pet Level Sistemleri
Gelişmiş sunucularda Custom Quest olarak tanımlanan Pet Level Sistemleri, çok daha karmaşık yapılara sahip olabilir. Bu sistemlerde, petlerin farklı sınıflara göre özel yetenekler kazanması gibi özellikler eklenebilir. Martysama Quest veya Metin2Dev Quest örneklerinde bu tür gelişmiş yapılar görülebilir.
Sonuç
Pet Level Sistemi, Metin2 sunucularında oyuncu sadakati artırmak için önemli bir özelliktir. Lua Quest bilgisiyle birlikte, bu sistemlerin özelleştirilmesi kolaydır. Metin2 Lobby olarak, Metin2 Quest geliştirme konusunda daha fazla kaynak ve rehber sunmaya devam edeceğiz.
Pet Level System [LUA]: Metin2 Quest Development Guide
Metin2 Lobby provides a detailed guide on the popular Pet Level System used in Metin2 servers. This system allows players' pets to gain levels and evolve through a customized quest structure written in Lua. It requires both lua quest knowledge and an in-depth understanding of the Metin2 Quest System.
What is the Pet Level System?
The Pet Level System enables pets to level up through player interactions such as feeding, combat participation, or completing tasks. This system enhances the pet's power as its level increases. Integrated with Lua Quest files, specific rules can be defined for each pet's progression. For instance, a pet can gain experience by surviving for a certain duration or defeating a set number of enemies.
Steps to Create the Pet Level System
The first step in developing a Pet Level System within Metin2 Quest development is building a correct Lua Script structure. The script must comply with Metin2 Quest Script standards. Initially, flag and state definitions are made to store pet-specific data for each player.
In the system, points can be awarded when the pet kills mobs. As these points accumulate, the pet gains a level. During this process, timer and trigger mechanisms activate. The timer performs checks at regular intervals, while triggers initiate specific actions.
Reward mechanisms are also important. Upon leveling up, special rewards can be given to the player. These rewards may be item-based or provide experience bonuses or special effects. The Quest Reward system manages these rewards.
Debugging the Pet Level System
As with any quest development, errors may occur during the Pet Level System setup. For Metin2 Quest Debug operations, log records are crucial. Errors in Lua Quest scripts often stem from syntax errors, missing flags, or incorrect trigger configurations. Server logs should be thoroughly reviewed for Metin2 Quest Error resolution.
Daily Quest implementations of the Pet Level System can also be effective. Bonus points can be awarded for activities involving pets, encouraging active usage. The Metin2 Daily Quest structure is ideal for such repetitive tasks.
Example NPC for Pet Level System
An NPC can be created to allow players to check their pet's level. This NPC displays the pet's current level, total points earned, and the amount needed to reach the next level. A custom Metin2 Quest NPC script is required for this functionality. The NPC not only provides information but also offers tips regarding pet development.
Advanced Custom Pet Level Systems
On advanced servers, Custom Quests like the Pet Level System can have more complex structures. In these systems, pets might gain unique abilities based on different classes. Examples of such advanced systems can be found in Martysama Quest or Metin2Dev Quest.
Conclusion
The Pet Level System is a significant feature in Metin2 servers to increase player engagement. Combined with Lua Quest skills, customizing these systems is straightforward. At Metin2 Lobby, we will continue providing more resources and guides on Metin2 Quest development.
