Pet Level Sistemi [ LUA ]

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
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
Yapabilirsiniz. Exp tablosunuda ona göre ayarlamayı unutmayın ..

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.​
 

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

Benzer konular

Geri
Üst Alt