Fethi Polat 1
Fethi Polat
InfernoShade 1
InfernoShade
Psych0SoociaL 1
Psych0SoociaL
onur akbaş 1
onur akbaş
noisiv 1
noisiv
Hikaye Ekle

Oyuncu Hakkında Bilgi Alma Sistemi[LUA]

  • Konuyu başlatan Konuyu başlatan thenemne0032
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 15
  • Görüntüleme Görüntüleme 2K

thenemne0032

Level 6
TM Üye
Katılım
11 Ağu 2010
Konular
67
Mesajlar
1,092
Online süresi
7h 8m
Reaksiyon Skoru
476
Altın Konu
0
TM Yaşı
15 Yıl 10 Ay 14 Gün
Başarım Puanı
188
MmoLira
264
DevLira
0
Ticaret - 0%
0   0   0

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Merhabalar,

Bir çok yerde bu sistemi paylaşanı gördüm fakat hiçbiri çalışmıyor. Hazır şekilde kopyala-yapıştır yapılmış tüm forumlarda. Aşağıdaki vereceğim sistem sorunsuz bir şekilde çalışmaktadır. Dilediğiniz oyuncunun bilgilerini isim yazarak öğrenebilirsiniz.




Sistemden Resimler


d5gDjL.jpg


b57p8V.jpg



PARA MİKTARI ARASINA .(NOKTA) KOYMA:


Şimdi para tutarlarının arasına .(nokta) koyma fonksiyonuna geldik. Bu fonksiyonu da eklemeniz gerekiyor. Eğer bu fonksiyonu eklemezseniz sistem çalışmaz. Ona göre kodlandı. Şimdi o fonksiyonu eklemeyi göstereceğim:


"questlib.lua" dosyasını açıyoruz ve en alta aşağıdaki kodları ekleyip kapatıyoruz. Reboot atmanıza gerek yok. Reload q yeterli olacaktır.


PHP:
function genel_veri(gelen_miktar) 
    gelen2 = tostring(gelen_miktar) 
    local gelen = gelen_miktar  
    local sayac = 10 
    local basamak = 1 
    local ilkhal = basamak 
    while true do 
        if gelen / sayac >= 1 then 
            basamak = basamak + 1 
            sayac = sayac * 10 
        else 
            break 
        end 
    end 
    t = {} 
    sonucText = "" 
    for i=1, string.len(gelen2) do 
        t[i]= (string.sub(gelen2,i,i)) 
    end 
    for k , v in pairs(t) do--1324 
        if (basamak  == 9 or basamak == 6 or basamak == 3) and sonucText !=  "" then 
            sonucText = sonucText.."." 
            sonucText = sonucText..v 
        else 
            sonucText = sonucText..v 
        end 
        basamak = basamak - 1 
    end 
    return sonucText 
end



Bu işlem de bittikten sonra "quest_functions" dosyasını açıyor ve en alta "genel_veri" fonksiyonunu ekliyoruz. Bura ile işimiz bitti.



LUA dosyasını oluşturma:


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


PHP:
quest oyuncu_bilgi_al begin
	state start begin
		when 20087.chat."Oyuncu Hakkında Bilgi Al" begin
			karakter_adi = pc.get_name()
			say_title("Merhaba, "..karakter_adi)
			say("")
			say("Buradan dilediğin bir oyuncu hakkında bilgi alabilirsin.[ENTER]Bilgi almak istediğin oyuncunun ismini yazman yeterli.")
			say("")
			say_reward("Bilgi almak istediğin oyuncunun ismini gir: ")
			oyuncu_isim = string.format(input())
			oyuncuAra = find_pc_by_name(oyuncu_isim)
			
			if oyuncuAra == 0 then
				say_title("Uyarı:")
				say("")
				say_reward("Aradığınız isimde bir oyuncu yok yada oyunda değil.")
				say("")
				return
			end
			
			o_id = pc.select(oyuncuAra)
				oyuncu_isim = pc.get_name()
				oyuncu_seviye = pc.get_level()
				oyuncu_parasi = pc.get_gold()
				oyuncu_tecrube = pc.get_exp()
				oyuncu_gerekli_tecrube = pc.get_next_exp()
				oyuncu_oyun_suresi = pc.get_playtime()
				oyuncu_derece_puani = pc.get_alignment()
				oyuncu_tam_enerji = pc.get_max_hp()
				oyuncu_kimlik = pc.get_player_id()
			pc.select(o_id)
			
			oyuncuBilgiAl = mysql_query("select * from player.player where name='"..oyuncu_isim.."' and id='"..oyuncu_kimlik.."' ")
			oyuncuEnSonGiris = oyuncuBilgiAl.last_play[1]
			
			say_title("Oyuncu Bilgiler:")
			say("")
			say_reward("Oyuncu İsmi: "..oyuncu_isim)
			say_reward("Oyuncu Seviyesi: "..oyuncu_seviye)
			say_reward("Oyuncu Parası: "..genel_veri(oyuncu_parasi))
			say_reward("Oyuncu Tecrübe: "..genel_veri(oyuncu_tecrube))
			say_reward("Oyuncu Gerekli Tecrübe: "..genel_veri(oyuncu_gerekli_tecrube))
			say_reward("Oyuncu Oyun Süresi: "..genel_veri(oyuncu_oyun_suresi))
			say_reward("Oyuncu Derece Puanı: "..genel_veri(oyuncu_derece_puani))
			say_reward("Oyuncu Tam Enerji: "..genel_veri(oyuncu_tam_enerji))
			say_reward("Oyuncu En Son Giriş: "..oyuncuEnSonGiris)
			
			say("")
		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 oyuncu_bilgi.lua

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

En Çok Reaksiyon Alan Mesajlar

Çok güzel bir konu teşekkür ederim. Birşey danışmak istiyorum.
Oyuncu Karakteri: Örn: Savaşçı
Oyuncu Eğitimi: Örn: Bedensel Eğitim
Oyuncu Kaç Kez Öldürüldü: Örn: 25
Oyuncu Kaç Kez Öldürdü: Örn: 50

Gibi bir güncelleme yapılsa çok daha iyi olur diye düşünüyorum.

Evet bunlar düşündüğüm şeylerdi fakat eklememişti. Kaç defa öldüğü olabilir de kaç defa öldürdüğü biraz sıkıntı adam karakter açıp yada biriyle anlaşıp yükseltebilir öldürme oranını. Aslında öldürdüğü oyuncuyla arasında en az 5 seviye fark olacak gibi şartlar da eklenebilir. Boş vaktim olursa ilgileneceğim.
Başarılı bir sistem.İnşallah daha iyilerinide yaparsınız
 
Daha önce denediklerimde hem bu kadar fazla özellik yoktu hemde bazı özellikler çalışmıyordu sağolasın :ka19:
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst