- Katılım
- 5 Ocak 2018
- Konular
- 12
- Mesajlar
- 268
- Online süresi
- 8m 14s
- Reaksiyon Skoru
- 8
- Altın Konu
- 0
- TM Yaşı
- 8 Yıl 5 Ay 5 Gün
- Başarım Puanı
- 64
- Yaş
- 25
- MmoLira
- 109
- DevLira
- 0
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Başarılı Bir Çalışma Teşekkürler
- Katılım
- 29 Ocak 2010
- Konular
- 0
- Mesajlar
- 65
- Reaksiyon Skoru
- 0
- Altın Konu
- 0
- TM Yaşı
- 16 Yıl 4 Ay 13 Gün
- Başarım Puanı
- 54
- MmoLira
- 1
- DevLira
- 0
Teşekkür.
- Katılım
- 13 Haz 2013
- Konular
- 1,313
- Mesajlar
- 5,089
- Çözüm
- 19
- Online süresi
- 1mo 5d
- Reaksiyon Skoru
- 1,503
- Altın Konu
- 15
- TM Yaşı
- 12 Yıl 12 Ay 2 Gün
- Başarım Puanı
- 332
- MmoLira
- 1,605
- DevLira
- 41
Merhabalar,
Şimdiki sistem Gelişmiş Işınlama Sistemi. Bu sistem ile oyuncular birbirlerini yanlarına çağırabilirler. Sistemde herhangi bir bug yada sorun yoktur. Özel haritaları dilediğiniz gibi engelleyebilirsiniz. Ayrıca dileyen oyuncu ışınlama sistemini kapatabilir böylelikle diğer oyuncular ışınlama isteği yollayamazlar. Ek olarak oyuncular dakikada 1 defa ışınlanabilirler. Tekrardan ışınlanabilmeleri için 1 dakika beklemeleri gerekir.
Sistemin en güzel özelliği ise arkadaş listenizde ekli olan kişilerin adlarını yazmanız gerekmiyor! Dilediğiniz arkadaşınızı tek tıklama ile yanınıza çağırabilirsiniz. Dilerseniz sistemin tanıtım videosuna geçelim. Daha sonra da kurulumunu anlatacağım:
Gelişmiş Işınlama Sistemi - Tanıtım
Gelişmiş Işınlama Sistemi - Dosyalar
Oyununuzda MySQL kodları çalışmıyorsa ise aşağıdaki "questing.lua" yı indirin.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
"questing.lua" nın içindeki tüm kodları "questlib.lua" ya yapıştırın MySQL sorunu çözülecektir.
Gelişmiş Işınlama Sistemi - Kurulum
"player" veritabanından "player" tablosunu açıyoruz ve en alta: "isinlan_durum" sütununu ekliyoruz. Aşağıdaki gibi:
![]()
Daha sonra Default değerini 0 yapıyorsunuz! Kesinlikle çok önemli. Default değerini 0 yapmayı unutmayın! Aşağıdaki gibi:
![]()
Gelişmiş Işınlama Sistemi - ÖNEMLİ BİLGİLER
İlk başta da belirttiğim gibi dilediğiniz haritada ışınlama olayını engelleyebilirsiniz. Bunun için şu kısma eklemeler yapmanız gerekiyor:
PHP:yasakli_bolgeD = { 103 }
Buradaki kodu şu şekilde düzenlerseniz:
PHP:yasakli_bolgeD = { 1, 103 }
Buraya eklenen "1" kırmızı bayrağın harita index kodudur. Sizde ışınlamayı engellemek istediğiniz haritanın index kodunu buraya eklerseniz o haritada ışınlama gerçekleşmez.
Bir diğer bilgi "Işınlama Pasaportu" adlı nesneyi değiştirmek için şuradaki kodu değiştirmeniz yeterlidir:
PHP:istenilecek_esya_kodu = 30168 -- eklenecek eşya kodu
Buraya hangi eşyanın kodunu yazarsanız onu "Işınlama Pasaportu" olarak görür. Dilediğiniz eşyayı "Işınlama Pasaportu" yapabilirsiniz.
Son olarak süre ayarını göstereceğim. Oyuncu 1 kere ışınlandıktan sonra 1 dakika beklemesi gerekir bu süreyi düzeltmek istiyorsanız aşağıdaki kodu düzenlemeniz gerekli:
PHP:pc.setqf("sure",get_time()+60)
Buradaki "60" saniye cinsindendir. Eğer bunu aşağıdaki gibi değiştirirseniz:
PHP:pc.setqf("sure",get_time()+3600)
"3600" saniye olur yani 1 saat. Tabii bunu şu şekilde de yapabilirsiniz:
PHP:pc.setqf("sure",get_time()+60*60)
Yine "3600" saniye yapar yani 1 saat. Buradaki sayıyı düzenlemeniz yeterlidir süreyi ayarlamak için. Önemli bilgiler bu kadar.
İndirmek istemeyip, LUA dosyasını oluşturmak isteyenler için:
1-) usr/game/share/locale/turkey/quest bölümüne "oyuncu_isinla.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_isinlan begin state start begin when letter with pc.get_level() >= 5 begin send_letter("Oyuncu Işınla") end -- when letter with pc.get_level() >= 5 begin endi when oyuncu_isinla.timer with pc.getqf("isinlamaya_tikladim") == 1 begin send_letter("Oyuncu Işınla") pc.setqf("isinlamaya_tikladim",0) end when info or button with pc.get_level() >= 5 begin pc.setqf("isinlamaya_tikladim",1) timer("oyuncu_isinla",1) istenilecek_esya_kodu = 30168 -- eklenecek eşya kodu baslikO = "Bilgilendirme:" baslikOL = "Uyarı:" oyuncu_isim = pc.get_name() oyuncu_kimlik = pc.get_player_id() say_title("[WINDOW_SIZE width;350|height;450]"..baslikO) say("") say("Merhaba oyuncu, "..oyuncu_isim) say("Buradan dilediğin oyuncuyu yanına çağırabilirsin.") say("Ama unutma ki bunu dakikada sadece 1 kere yapabilirsin.") say("") say("Işınlamayı kullanabilmen için hem senin hem de çağıracağın[ENTER]kişinin aşağıdaki eşyaya sahip olması gerekiyor: ") say_item_vnum(istenilecek_esya_kodu) say("") say_reward("Ne yapmak istiyorsun?") say("") oyuncu_isinlan_sec = select("Yanına Çağır","Arkadaşını Çağır","Ayarlar","Kapat") if oyuncu_isinlan_sec == 1 then say_title(baslikO) say("") say_reward("Yanına çağırmak istediğin kişinin ismini gir: ") cagirilacak_oyuncu_isim = tostring(input()) cagirilacak_oyuncu_isimK = oyuncu_isinlan.isim_kontrol(cagirilacak_oyuncu_isim) if pc.count_item(istenilecek_esya_kodu) < 1 then say_title(baslikOL) say("") say_reward("Oyuncuyu çağırabilmek için Işınlama Pasaportuna sahip[ENTER]olmanız gerekiyor.") say("") return elseif not cagirilacak_oyuncu_isimK then say_title(baslikOL) say("") say_reward("Hatalı bir giriş yaptınız yada oyuncu oyunda değil.") say("") return elseif cagirilacak_oyuncu_isimK == -1 then say_title(baslikOL) say("") say_reward("Yöneticiyi yanınıza çağıramazsınız!") say("") return elseif cagirilacak_oyuncu_isimK == -2 then say_title(baslikOL) say("") say_reward("Çağırdığınız oyuncu ışınlama isteklerini kabul etmiyor.") say("") return end -- if pc.count_item(istenilecek_esya_kodu) < 1 then harita_kimlik = pc.get_map_index() yasakli_bolgelerK = oyuncu_isinlan.yasakli_bolge(harita_kimlik) if not yasakli_bolgelerK then say_title(baslikOL) say("") say_reward("Bu bölgeye oyuncu çağıramazsınız!") say("") return end -- if not yasakli_bolgelerK then oyuncu_kontrol = find_pc_by_name(cagirilacak_oyuncu_isim) istek_yolla = confirm(oyuncu_kontrol,oyuncu_isim.." sizi yanına çağırıyor. Gitmek istiyor musunuz?",30) if istek_yolla == CONFIRM_OK then oyuncu_konum_x = pc.get_x()*100 oyuncu_konum_y = pc.get_y()*100 o_id = pc.select(oyuncu_kontrol) if pc.getqf("sure") - get_time() > 0 then sure_k = 1 syschat("Sistem: Henüz yeni ışınlandınız. 1 dakika beklemeniz gerekiyor.") elseif pc.count_item(istenilecek_esya_kodu) < 1 then esya_k = 1 syschat("Sistem: Işınlanmak için Işınlanma Pasaportuna sahip olmanız gerekiyor.") else pc.setqf("sure",get_time()+60) pc.warp(oyuncu_konum_x,oyuncu_konum_y) end -- if pc.getqf("sure") - get_time() > 0 then endi pc.select(o_id) if esya_k == 1 then syschat("Sistem: Çağırdığınız oyuncuda Işınlama Pasaportu mevcut değil.") esya_k = 0 elseif sure_k == 1 then syschat("Sistem: Oyuncu henüz yeni ışınlanmış. 1 dakika beklemesi gerekiyor.") sure_k = 0 end -- if esya_k == 1 then endi else o_id = pc.select(oyuncu_kontrol) syschat("Sistem: Işınlamayı kabul etmediniz.") pc.select(o_id) syschat("Sistem: Oyuncu ışınlama isteğinizi kabul etmedi.") end -- if istek_yolla == CONFIRM_OK then endi elseif oyuncu_isinlan_sec == 2 then say_title(baslikO) say("") say("Çağırmak istediğiniz arkadaşınızı seçin: ") say("") arkadasKontrol = mysql_query10("select * from player.messenger_list where account='"..oyuncu_isim.."' ") arkadasKontrolSay = tonumber(table.getn(arkadasKontrol)) if arkadasKontrolSay < 1 then say_reward("Arkadaş listenizde kimse ekli değil.") say("") else arkadasListesiDizi = {} for i=1,arkadasKontrolSay,1 do arkadas = arkadasKontrol.companion[i] arkadasAra = find_pc_by_name(arkadas) if arkadasAra != 0 then arkadasListesiDizi[i] = arkadas end -- if arkadasAra != 0 then endi end -- for i=1,arkadasKontrolSay,1 do endi arkadasListesiDiziSay = tonumber(table.getn(arkadasListesiDizi)) arkadasListesiDizi[arkadasListesiDiziSay+1] = "Kapat" arkadasSec = select_table(arkadasListesiDizi) for i=1,arkadasListesiDiziSay,1 do if arkadasSec == arkadasListesiDiziSay + 1 then return end -- if arkadasSec == arkadasListesiDiziSay + 1 then endi if arkadasSec == i then cagirilacak_oyuncu_isim = tostring(arkadasListesiDizi[i]) cagirilacak_oyuncu_isimK = oyuncu_isinlan.isim_kontrol(cagirilacak_oyuncu_isim) if pc.count_item(istenilecek_esya_kodu) < 1 then say_title(baslikOL) say("") say_reward("Oyuncuyu çağırabilmek için Işınlama Pasaportuna sahip[ENTER]olmanız gerekiyor.") say("") return elseif not cagirilacak_oyuncu_isimK then say_title(baslikOL) say("") say_reward("Oyuncu oyunda değil!") say("") return elseif cagirilacak_oyuncu_isimK == -1 then say_title(baslikOL) say("") say_reward("Yöneticiyi yanınıza çağıramazsınız!") say("") return elseif cagirilacak_oyuncu_isimK == -2 then say_title(baslikOL) say("") say_reward("Çağırdığınız oyuncu ışınlama isteklerini kabul etmiyor.") say("") return end -- if pc.count_item(istenilecek_esya_kodu) < 1 then endi harita_kimlik = pc.get_map_index() yasakli_bolgelerK = oyuncu_isinlan.yasakli_bolge(harita_kimlik) if not yasakli_bolgelerK then say_title(baslikOL) say("") say_reward("Bu bölgeye oyuncu çağıramazsınız!") say("") return end -- if not yasakli_bolgelerK then oyuncu_kontrol = find_pc_by_name(cagirilacak_oyuncu_isim) istek_yolla = confirm(oyuncu_kontrol,oyuncu_isim.." sizi yanına çağırıyor. Gitmek istiyor musunuz?",30) if istek_yolla == CONFIRM_OK then oyuncu_konum_x = pc.get_x()*100 oyuncu_konum_y = pc.get_y()*100 o_id = pc.select(oyuncu_kontrol) if pc.getqf("sure") - get_time() > 0 then sure_k = 1 syschat("Sistem: Henüz yeni ışınlandınız. 1 dakika beklemeniz gerekiyor.") elseif pc.count_item(istenilecek_esya_kodu) < 1 then esya_k = 1 syschat("Sistem: Işınlanmak için Işınlanma Pasaportuna sahip olmanız gerekiyor.") else pc.setqf("sure",get_time()+60) pc.warp(oyuncu_konum_x,oyuncu_konum_y) end -- if pc.getqf("sure") - get_time() > 0 then endi pc.select(o_id) if esya_k == 1 then syschat("Sistem: Çağırdığınız oyuncuda Işınlama Pasaportu mevcut değil.") esya_k = 0 elseif sure_k == 1 then syschat("Sistem: Oyuncu henüz yeni ışınlanmış. 1 dakika beklemesi gerekiyor.") end -- if esya_k == 1 then endi else o_id = pc.select(oyuncu_kontrol) syschat("Sistem: Işınlamayı kabul etmediniz.") pc.select(o_id) syschat("Sistem: Oyuncu ışınlama isteğinizi kabul etmedi.") end -- if istek_yolla == CONFIRM_OK then endi end -- if arkadasSec == i then endi end -- for i=1,arkadasListesiDiziSay,1 do endi end -- if arkadasKontrolSay < 1 then endi elseif oyuncu_isinlan_sec == 3 then isinlama_durumK = mysql_query("select * from player.player where id='"..oyuncu_kimlik.."' ") oyuncu_isinlama_durum = tonumber(isinlama_durumK.isinlan_durum[1]) if oyuncu_isinlama_durum == 0 then durum = "PASİF" elseif oyuncu_isinlama_durum == 1 then durum = "AKTİF" end say_title(baslikO) say("") say("Merhaba oyuncu, "..oyuncu_isim) say("Dilersen buradan ışınlama isteklerini kapatabilirsin.") say("Böylelikle kimse sana ışınlama isteği yollayamaz.") say("") say_reward("Işınlama durumun: "..durum) say("") say_reward("Ne yapmak istiyorsun?") say("") isinlanma_durum_sec = select("Işınlama Durumu: Aktif Et","Işınlama Durumu: Pasifleştir","Kapat") if isinlanma_durum_sec == 1 then isinlama_durumK = mysql_query("select * from player.player where id='"..oyuncu_kimlik.."' ") oyuncu_isinlama_durum = tonumber(isinlama_durumK.isinlan_durum[1]) if oyuncu_isinlama_durum == 1 then say_title(baslikOL) say("") say_reward("Işınlama durumu zaten aktif. Tekrar aktifleştiremezsiniz.") say("") elseif oyuncu_isinlama_durum == 0 then say_title(baslikO) say("") say("Işınlama durumu başarı ile aktifleştirildi.") say("") mysql_query("UPDATE player.player SET isinlan_durum=1 where id='"..oyuncu_kimlik.."' ") end elseif isinlanma_durum_sec == 2 then if oyuncu_isinlama_durum == 0 then say_title(baslikOL) say("") say_reward("Işınlama durumu zaten pasif. Tekrar pasifleştiremezsiniz.") say("") elseif oyuncu_isinlama_durum == 1 then say_title(baslikO) say("") say("Işınlama durumu başarı ile pasifleştirildi.") say("") mysql_query("UPDATE player.player SET isinlan_durum=0 where id='"..oyuncu_kimlik.."' ") end end -- if isinlanma_durum_sec == 1 then endi elseif oyuncu_isinlan_sec == 4 then return end -- if oyuncu_isinlan_sec == 1 then endi end -- when info or button with pc.get_level() >= 5 begin endi function isim_kontrol(gelen_oyuncu_isim) oyuncu_isim_f = gelen_oyuncu_isim oyuncu_ara = find_pc_by_name(oyuncu_isim_f) if oyuncu_isim_f == "" or oyuncu_isim_f == nil then return false elseif oyuncu_isim_f == pc.get_name() then return false elseif oyuncu_ara == 0 then return false end o_id = pc.select(oyuncu_ara) if pc.is_gm() then oyuncu_yonetici = 1 else oyuncu_kimlik = pc.get_player_id() isinlan_durumK = mysql_query10("select * from player.player where id='"..oyuncu_kimlik.."' ") isinlan_durumK_Say = tonumber(table.getn(isinlan_durumK)) if isinlan_durumK_Say > 0 then isinlan_deger = tonumber(isinlan_durumK.isinlan_durum[1]) if isinlan_deger == 0 then isinlan_durum_kontrol = 1 end end end pc.select(o_id) if oyuncu_yonetici == 1 then oyuncu_yonetici = 0 return -1 elseif isinlan_durum_kontrol == 1 then isinlan_durum_kontrol = 0 return -2 end return true end -- function isim_kontrol(gelen_oyuncu_isim) endi function yasakli_bolge(gelen_harita_kimlik) harita_kimlik_f = gelen_harita_kimlik yasakli_bolgeD = { 103 } yasakli_bolgeD_Say = tonumber(table.getn(yasakli_bolgeD)) for i=1,yasakli_bolgeD_Say,1 do if harita_kimlik_f == yasakli_bolgeD[i] then return false end end return true end --function yasakli_bolge(gelen_harita_kimlik) end -- state start begin endi end -- quest oyuncu_isinlan begin endi
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_isinla.lua
Putty ile de işimiz bitti.
3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Daha sonra sol tarafta görev şeklinde gelen Oyuncu Işınla kısmından sistemi deneyebilirsiniz.
Kırık olan indirme link'i tarafımca kaldırıldı
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 10
- Görüntüleme
- 327





