Server Canavarı

Metin2 PvP Beceri Değiştirme Sistemi


  • 24 Ekim 2015 Cumartesi
  • Unknown
  • Yorum Yok

 Beceri Değiştirme Sistem


Yapımcı: thenemne0032


Merhabalar,

Peki nedir Beceri Değiştirme Sistemini?

Oyuncunun becerisini yetenekleri sıfırlamadan değiştirmeye yarar. Ne demek istiyorum?

Şöyle ki; G1, M3 ve 2 adet de P yeteneğiniz olduğunu düşünelim ve Zihinsel bir savaşçısınız. Bu Quest sayesinde becerinizi değiştirip, Bedensel beceriye dönerseniz yeteneklerinizin değeleri sıfırlanmaz ve olduğu gibi geçer: G1, M3 ve 2 tane P şeklinde. Sistem bu şekilde işler. 40004 yüzüğüne ayarlanmıştır ve kullanıldıktan sonra yüzük silinir. Ayrıca değiştirirken de 10m yang alır. 



LUA dosyasını oluşturma:

1-) usr/game/share/locale/turkey/quest bölümüne "beceridegistir.lua" adında bir lua dosyası açalım. Daha sonra dosyasının içine aşağıdaki kodları yazalım:

PHP- Kodu:
quest beceridegistir begin
    state start begin
        when 40004.
use begin
            
if pc.get_gold() < 10000000 then
                say_title
("Uyarı:")
                
say("")
                
say_reward("Beceri değiştirmek için hesabında yeterli yang yok.")
                
say("")
                return
            elseif 
pc.get_level() < 5 then
                say_title
("Uyarı:")
                
say("")
                
say_reward("Beceri değiştirme sistemini kullanabilmen için en az[ENTER]5 seviye olman gerekli.")
                
say("")
                return
            elseif 
pc.get_skill_group() == 0 then
                say_title
("Uyarı:")
                
say("")
                
say_reward("Önce kendine beceri belirlemen gerekiyor.")
                
say("")
                return
            
end
            karakterSinif 
pc.get_job()
            if 
karakterSinif == or karakterSinif == 4 then -- savaşçı
                karakterYetenek 
pc.get_skill_group() -- burada hangi sınıf olduğunu seçiyor
                
if karakterYetenek == 1 then
                        say_title
("Bilgilendirme:")
                        
say("")
                        
say("Merhaba "..pc.get_name())
                        
say("Buradan başka bir beceriye geçebilirsin.")
                        
say("Sahip olduğun yeteneklerin özelliklerini kaybetmeyeceksin.")
                        
say("Bunun için 10m yang ödemen gerekiyor.")
                        
say("Diğer beceriye geçmek istiyor musun?")
                        
say("")
                        
yetenekDegistir select("Evet","Hayır")
                            if 
yetenekDegistir == 1 then
                                pc
.change_money(-10000000)
                                
pc.set_skill_group(2)
                                
pc.set_skill_level(16,pc.get_skill_level(1))
                                
pc.set_skill_level(17,pc.get_skill_level(2))
                                
pc.set_skill_level(18,pc.get_skill_level(3))
                                
pc.set_skill_level(19,pc.get_skill_level(4))
                                
pc.set_skill_level(20,pc.get_skill_level(5))
                                
item.remove()
                                
say_title("Bilgilendirme:")
                                
say("")
                                
say("Beceriniz değiştirildi. Hesabınızdan 10m yang alındı.")
                                
say("3 saniye içerisinde oyundan çıkış yapacaksınız.")
                                
say("")
                                
command("logout")
                            
end
                    
elseif karakterYetenek == 2 then
                        say_title
("Bilgilendirme:")
                        
say("")
                        
say("Merhaba "..pc.get_name())
                        
say("Buradan başka bir beceriye geçebilirsin.")
                        
say("Sahip olduğun yeteneklerin özelliklerini kaybetmeyeceksin.")
                        
say("Bunun için 10m yang ödemen gerekiyor.")
                        
say("Diğer beceriye geçmek istiyor musun?")
                        
say("")
                        
yetenekDegistir select("Evet","Hayır")
                            if 
yetenekDegistir == 1 then
                                pc
.change_money(-10000000)
                                
pc.set_skill_group(1)
                                
pc.set_skill_level(1,pc.get_skill_level(16))
                                
pc.set_skill_level(2,pc.get_skill_level(17))
                                
pc.set_skill_level(3,pc.get_skill_level(18))
                                
pc.set_skill_level(4,pc.get_skill_level(19))
                                
pc.set_skill_level(5,pc.get_skill_level(20))
                                
item.remove()
                                
say_title("Bilgilendirme:")
                                
say("")
                                
say("Beceriniz değiştirildi. Hesabınızdan 10m yang alındı.")
                                
say("3 saniye içerisinde oyundan çıkış yapacaksınız.")
                                
say("")
                                
command("logout")
                            
end
                end
            
elseif karakterSinif == or karakterSinif == 5 then -- ninja
                karakterYetenek 
pc.get_skill_group()
                if 
karakterYetenek == 1 then
                        say_title
("Bilgilendirme:")
                        
say("")
                        
say("Merhaba "..pc.get_name())
                        
say("Buradan başka bir beceriye geçebilirsin.")
                        
say("Sahip olduğun yeteneklerin özelliklerini kaybetmeyeceksin.")
                        
say("Bunun için 10m yang ödemen gerekiyor.")
                        
say("Diğer beceriye geçmek istiyor musun?")
                        
say("")
                        
yetenekDegistir select("Evet","Hayır")
                            if 
yetenekDegistir == 1 then
                                pc
.change_money(-10000000)
                                
pc.set_skill_group(2)
                                
pc.set_skill_level(49,pc.get_skill_level(31))
                                
pc.set_skill_level(50,pc.get_skill_level(32))
                                
pc.set_skill_level(51,pc.get_skill_level(33))
                                
pc.set_skill_level(52,pc.get_skill_level(34))
                                
pc.set_skill_level(53,pc.get_skill_level(35))
                                
item.remove()
                                
say_title("Bilgilendirme:")
                                
say("")
                                
say("Beceriniz değiştirildi. Hesabınızdan 10m yang alındı.")
                                
say("3 saniye içerisinde oyundan çıkış yapacaksınız.")
                                
say("")
                                
command("logout")
                            
end
                    
elseif karakterYetenek == 2 then
                        say_title
("Bilgilendirme:")
                        
say("")
                        
say("Merhaba "..pc.get_name())
                        
say("Buradan başka bir beceriye geçebilirsin.")
                        
say("Sahip olduğun yeteneklerin özelliklerini kaybetmeyeceksin.")
                        
say("Bunun için 10m yang ödemen gerekiyor.")
                        
say("Diğer beceriye geçmek istiyor musun?")
                        
say("")
                        
yetenekDegistir select("Evet","Hayır")
                            if 
yetenekDegistir == 1 then
                                pc
.change_money(-10000000)
                                
pc.set_skill_group(1)
                                
pc.set_skill_level(31,pc.get_skill_level(49))
                                
pc.set_skill_level(32,pc.get_skill_level(50))
                                
pc.set_skill_level(33,pc.get_skill_level(51))
                                
pc.set_skill_level(34,pc.get_skill_level(52))
                                
pc.set_skill_level(35,pc.get_skill_level(53))
                                
item.remove()
                                
say_title("Bilgilendirme:")
                                
say("")
                                
say("Beceriniz değiştirildi. Hesabınızdan 10m yang alındı.")
                                
say("3 saniye içerisinde oyundan çıkış yapacaksınız.")
                                
say("")
                                
command("logout")
                            
end
                end
            
elseif karakterSinif == or karakterSinif == 6 then -- sura
                karakterYetenek 
pc.get_skill_group()
                if 
karakterYetenek == 1 then
                        say_title
("Bilgilendirme:")
                        
say("")                      
                        
say("Merhaba "..pc.get_name())
                        
say("Buradan başka bir beceriye geçebilirsin.")
                        
say("Sahip olduğun yeteneklerin özelliklerini kaybetmeyeceksin.")
                        
say("Bunun için 10m yang ödemen gerekiyor.")
                        
say("Diğer beceriye geçmek istiyor musun?")
                        
say("")
                        
yetenekDegistir select("Evet","Hayır")
                            if 
yetenekDegistir == 1 then
                                pc
.change_money(-10000000)
                                
pc.set_skill_group(2)
                                
pc.set_skill_level(76,pc.get_skill_level(61))
                                
pc.set_skill_level(77,pc.get_skill_level(62))
                                
pc.set_skill_level(78,pc.get_skill_level(63))
                                
pc.set_skill_level(79,pc.get_skill_level(64))
                                
pc.set_skill_level(80,pc.get_skill_level(65))
                                
pc.set_skill_level(81,pc.get_skill_level(66))
                                
item.remove()
                                
say_title("Bilgilendirme:")
                                
say("")
                                
say("Beceriniz değiştirildi. Hesabınızdan 10m yang alındı.")
                                
say("3 saniye içerisinde oyundan çıkış yapacaksınız.")
                                
say("")
                                
command("logout")
                            
end
                    
elseif karakterYetenek == 2 then
                        say_title
("Bilgilendirme:")
                        
say("")
                        
say("Merhaba "..pc.get_name())
                        
say("Buradan başka bir beceriye geçebilirsin.")
                        
say("Sahip olduğun yeteneklerin özelliklerini kaybetmeyeceksin.")
                        
say("Bunun için 10m yang ödemen gerekiyor.")
                        
say("Diğer beceriye geçmek istiyor musun?")
                        
say("")
                        
yetenekDegistir select("Evet","Hayır")
                            if 
yetenekDegistir == 1 then
                                pc
.change_money(-10000000)
                                
pc.set_skill_group(1)
                                
pc.set_skill_level(61,pc.get_skill_level(76))
                                
pc.set_skill_level(62,pc.get_skill_level(77))
                                
pc.set_skill_level(63,pc.get_skill_level(78))
                                
pc.set_skill_level(64,pc.get_skill_level(79))
                                
pc.set_skill_level(65,pc.get_skill_level(80))
                                
pc.set_skill_level(66,pc.get_skill_level(81))
                                
item.remove()
                                
say_title("Bilgilendirme:")
                                
say("")
                                
say("Beceriniz değiştirildi. Hesabınızdan 10m yang alındı.")
                                
say("3 saniye içerisinde oyundan çıkış yapacaksınız.")
                                
say("")
                                
command("logout")
                            
end
                
elseif karakterSinif == or karakterSinif == 7 then -- şaman
                karakterYetenek 
pc.get_skill_group()
                if 
karakterYetenek == 1 then
                        say_title
("Bilgilendirme:")
                        
say("")
                        
say("Merhaba "..pc.get_name())
                        
say("Buradan başka bir beceriye geçebilirsin.")
                        
say("Sahip olduğun yeteneklerin özelliklerini kaybetmeyeceksin.")
                        
say("Bunun için 10m yang ödemen gerekiyor.")
                        
say("Diğer beceriye geçmek istiyor musun?")
                        
say("")
                        
yetenekDegistir select("Evet","Hayır")
                            if 
yetenekDegistir == 1 then
                                pc
.change_money(-10000000)
                                
pc.set_skill_group(2)
                                
pc.set_skill_level(106,pc.get_skill_level(91))
                                
pc.set_skill_level(107,pc.get_skill_level(92))
                                
pc.set_skill_level(108,pc.get_skill_level(93))
                                
pc.set_skill_level(109,pc.get_skill_level(94))
                                
pc.set_skill_level(110,pc.get_skill_level(95))
                                
pc.set_skill_level(111,pc.get_skill_level(96))
                                
item.remove()
                                
say_title("Bilgilendirme:")
                                
say("")
                                
say("Beceriniz değiştirildi. Hesabınızdan 10m yang alındı.")
                                
say("3 saniye içerisinde oyundan çıkış yapacaksınız.")
                                
say("")
                                
command("logout")
                            
end
                    
elseif karakterYetenek == 2 then
                        say_title
("Bilgilendirme:")
                        
say("")
                        
say("Merhaba "..pc.get_name())
                        
say("Buradan başka bir beceriye geçebilirsin.")
                        
say("Sahip olduğun yeteneklerin özelliklerini kaybetmeyeceksin.")
                        
say("Bunun için 10m yang ödemen gerekiyor.")
                        
say("Diğer beceriye geçmek istiyor musun?")
                        
say("")
                        
yetenekDegistir select("Evet","Hayır")
                            if 
yetenekDegistir == 1 then
                                pc
.change_money(-10000000)
                                
pc.set_skill_group(1)
                                
pc.set_skill_level(91,pc.get_skill_level(106))
                                
pc.set_skill_level(92,pc.get_skill_level(107))
                                
pc.set_skill_level(93,pc.get_skill_level(108))
                                
pc.set_skill_level(94,pc.get_skill_level(109))
                                
pc.set_skill_level(95,pc.get_skill_level(110))
                                
pc.set_skill_level(96,pc.get_skill_level(111))
                                
item.remove()
                                
say_title("Bilgilendirme:")
                                
say("")
                                
say("Beceriniz değiştirildi. Hesabınızdan 10m yang alındı.")
                                
say("3 saniye içerisinde oyundan çıkış yapacaksınız.")
                                
say("")
                                
command("logout")
                            
end
                        end
                end
-- if endi
            end
      
        end
    end
end  

Bunu kaydedip çıkıyoruz.

2-)Putty'e geliyoruz.

cd /usr/game/share/locale/turkey/quest yazıp enterliyoruz. Daha sonra şu komutu yazıyoruz.

./qc beceridegistir.lua

Putty ile de işimiz bitti.
3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Daha sonra 40004 yü sistemi kontrol edebilirsiniz.



Metin2 PvP Beceri Değiştirme Sistemi hakkında 0 yorum var.

ServerCanavarı. Blogger tarafından desteklenmektedir.