- 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 7 Gün
- Başarım Puanı
- 188
- MmoLira
- 264
- 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!
Merhabalar,
Bu kez farklı bir sistem ile karşınızdayım. Oyuncuların oyunda Matematik işlemleri yapacağı bir sistem paylaşacağım sizinle.
Peki tam olarak nedir Matematik Oyunu Sistemi?
Oyuncuların birer saat arayla oynayabilecekleri ve Matematik sorularını doğru cevapladıkları taktirde Matematik puanı kazanıp, Matematik Sistemi - Marketinden çeşitli eşyalar alabilecekleri bir sistemdir.
Sistem nasıl işler?
Oyuncu NPC'ye gider ve "Matematik Oyunu" seçeneğini seçer. Daha sonra önüne rastgele 2 sayı ve rastgele işlem gelir.(Sayılar 1 ile 10 arasında oluşturulur. Dileyen değiştirebilir bunu.) Daha sonra oyuncu bu Matematik işleminin cevabını kutucuğa girer ve doğru girerse gelen işleme göre Matematik puanı kazanır. Çarpma +5, çıkarma +3 ve toplama +1 puan ek olarak verir. 60 saniye süresi vardır.(Dileyen bu süreyi ayarlayabilir) 60 saniye sonunda kaç puan toplarsa o hesabına kayıt edilir. Eğer 60 saniyesi dolmadan yanlış cevap verirse oyun biter ve tekrardan oynayamaz. Oyuncu oyunu tekrar oynayabilmek için 1 saat beklemelidir.
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. Sistemleri ekledikten sonra /reload q yapmanız yeterlidir.
Fonksiyon kodu:
Bu işlem de bittikten sonra "quest_functions" dosyasını açıyor ve en alta "genel_veri" fonksiyonunu ekliyoruz. Bura ile de işimiz bitti.
ÖNEMLİ BİLGİLENDİRME:
Matematik Sistemi - Market'e adetli ve adetsiz olmak üzere yeni eşyalar ekleyebilirsiniz. Şimdi onu nasıl ekleyeceğinizi göstereceğim.
İlk olarak şu kısmı buluyoruz:
Daha sonra ekleyeceğimiz yeni eşyayı şu şekilde ekliyoruz:
İlk kısım satılacak eşyanın adıdır. Lütfen bu satılacak eşyaların son harfini " ı " yapmayalım. Aksi taktirde çalışmayacaktır sistem.
İkinci kısım satılacak eşyanın kodudur.
Üçüncü eşyanın kaç Onur Puanına satılacağıdır. Yani fiyatıdır.
Dördüncü kısım çok önemli, dikkatli okuyun lütfen:
Bu dördüncü kısma 1 yada 0 değeri vereceksiniz. Eğer 1 değeri verirseniz eşyanız adetli satılacak demektir. Yani oyuncu o eşyaya tıkladığında kaç adet almak istiyorsunuz diye uyarı ile karşılaşacaktır. Fakat 0 değeri verirseniz herhangi bir adet değeri sormayacak ve direkt eşyayı satın al butonu olacak ve o eşyadan sadece 1 adet alabilecektir. Eğer bu kısmı anlamadıysanız konu altına yazın biraz daha detaylı anlatayım.
Evet son haliyle yeni kodlar şu şekilde oluyor:
Lütfen her eklediğiniz eşyadan sonra sonuna virgül koyun ve yeni eşyayı öyle ekleyin. Aksi taktirde sistem yine çalışmayacaktır. Tekrar söylüyorum anlamadığınız bir yer olursa konu altından sorun lütfen.
Oynanma süreleri için aşağıdaki kısmı bulup düzenlemeniz gerekiyor:
İndirmeden kodları incelemek isteyenler için:
Bu kez farklı bir sistem ile karşınızdayım. Oyuncuların oyunda Matematik işlemleri yapacağı bir sistem paylaşacağım sizinle.
Peki tam olarak nedir Matematik Oyunu Sistemi?
Oyuncuların birer saat arayla oynayabilecekleri ve Matematik sorularını doğru cevapladıkları taktirde Matematik puanı kazanıp, Matematik Sistemi - Marketinden çeşitli eşyalar alabilecekleri bir sistemdir.
Sistem nasıl işler?
Oyuncu NPC'ye gider ve "Matematik Oyunu" seçeneğini seçer. Daha sonra önüne rastgele 2 sayı ve rastgele işlem gelir.(Sayılar 1 ile 10 arasında oluşturulur. Dileyen değiştirebilir bunu.) Daha sonra oyuncu bu Matematik işleminin cevabını kutucuğa girer ve doğru girerse gelen işleme göre Matematik puanı kazanır. Çarpma +5, çıkarma +3 ve toplama +1 puan ek olarak verir. 60 saniye süresi vardır.(Dileyen bu süreyi ayarlayabilir) 60 saniye sonunda kaç puan toplarsa o hesabına kayıt edilir. Eğer 60 saniyesi dolmadan yanlış cevap verirse oyun biter ve tekrardan oynayamaz. Oyuncu oyunu tekrar oynayabilmek için 1 saat beklemelidir.
Matematik Oyunu Sistemi - Resimler
Matematik Oyunu Sistemi - Dosyalar
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
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. Sistemleri ekledikten sonra /reload q yapmanız yeterlidir.
Fonksiyon kodu:
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 de işimiz bitti.
ÖNEMLİ BİLGİLENDİRME:
Matematik Sistemi - Market'e adetli ve adetsiz olmak üzere yeni eşyalar ekleyebilirsiniz. Şimdi onu nasıl ekleyeceğinizi göstereceğim.
İlk olarak şu kısmı buluyoruz:
PHP:
function esyalar(esya_bilgisi)
esya = {
[1] = {"Hız İksiri",71050,50000,1},
[2] = {"Saldırı İksiri",27112,10000,1},
[3] = {"Eskrim Broşür",70031,1000000,0},
[4] = {"Kutsama Kağıt",25040,500000,0},
[5] = {"Büyülü Metal",25041,10000000,0}
}
return esya[esya_bilgisi]
end
Daha sonra ekleyeceğimiz yeni eşyayı şu şekilde ekliyoruz:
PHP:
[6] = {"Beyaz İnci",27992,500000,0}
İlk kısım satılacak eşyanın adıdır. Lütfen bu satılacak eşyaların son harfini " ı " yapmayalım. Aksi taktirde çalışmayacaktır sistem.
İkinci kısım satılacak eşyanın kodudur.
Üçüncü eşyanın kaç Onur Puanına satılacağıdır. Yani fiyatıdır.
Dördüncü kısım çok önemli, dikkatli okuyun lütfen:
Bu dördüncü kısma 1 yada 0 değeri vereceksiniz. Eğer 1 değeri verirseniz eşyanız adetli satılacak demektir. Yani oyuncu o eşyaya tıkladığında kaç adet almak istiyorsunuz diye uyarı ile karşılaşacaktır. Fakat 0 değeri verirseniz herhangi bir adet değeri sormayacak ve direkt eşyayı satın al butonu olacak ve o eşyadan sadece 1 adet alabilecektir. Eğer bu kısmı anlamadıysanız konu altına yazın biraz daha detaylı anlatayım.
Evet son haliyle yeni kodlar şu şekilde oluyor:
PHP:
function esyalar(esya_bilgisi)
esya = {
[1] = {"Hız İksiri",71050,50000,1},
[2] = {"Saldırı İksiri",27112,10000,1},
[3] = {"Eskrim Broşür",70031,1000000,0},
[4] = {"Kutsama Kağıt",25040,500000,0},
[5] = {"Büyülü Metal",25041,10000000,0},
[6] = {"Beyaz İnci",27992,500000,0}
}
return esya[esya_bilgisi]
end
Lütfen her eklediğiniz eşyadan sonra sonuna virgül koyun ve yeni eşyayı öyle ekleyin. Aksi taktirde sistem yine çalışmayacaktır. Tekrar söylüyorum anlamadığınız bir yer olursa konu altından sorun lütfen.
Oynanma süreleri için aşağıdaki kısmı bulup düzenlemeniz gerekiyor:
PHP:
tekrarOynamaSuresi = 3600 -- saniye cinsindendir. 3600 saniye 1 saate denk gelir.
oynamaSuresi = 60 -- Oyunu ne kadar süre oynayacağını belirler. 60 saniye 1 dakikadır
İndirmeden kodları incelemek isteyenler için:
PHP:
quest matematik begin
state start begin
when 20355.chat."Matematik Oyunu" begin
say_title("Bilgilendirme:")
say("")
say("Matematik soruları çözüm merkezine hoş geldin!")
say("Sorular gelsin!")
wait("")
k=1
if pc.getqf("matematik_katildim") == 0 then
pc.setqf("matematik_puanim",1)
pc.setqf("matematik_katildim",1)
end -- if pc.getqf("matematik_katildim") == 0
if pc.getqf("sure") - get_time() > 0 then
say_title("Uyarı:")
say("")
say_reward("Saatte 1 defa oynayabilirsiniz! Süreniz dolmadı!")
say("")
return
end
tekrarOynamaSuresi = 3600 -- saniye cinsindendir. 3600 saniye 1 saate denk gelir.
oynamaSuresi = 60 -- Oyunu ne kadar süre oynayacağını belirler. 60 saniye 1 dakikadır
pc.setqf("matematikteyim",1)
pc.setqf("matematikteyim_sure",get_time()+oynamaSuresi)
pc.setqf("sure",get_time()+tekrarOynamaSuresi)
while true do
if pc.getqf("matematikteyim_sure") - get_time() > 0 then
say_title("Bilgilendirme:")
say("")
gelen_islem = tostring(matematik.matematik_islem())
gelen_sayi_x = matematik.matematikSorular()
gelen_sayi_y = matematik.matematikSorular()
say(k..".soru: "..gelen_sayi_x.." "..gelen_islem.." "..gelen_sayi_y)
if gelen_islem == "+" then
islemi_yap = gelen_sayi_x + gelen_sayi_y
pc.setqf("toplama",pc.getqf("toplama")+1)
elseif gelen_islem == "-" then
islemi_yap = gelen_sayi_x - gelen_sayi_y
pc.setqf("cikarma",pc.getqf("cikarma")+1)
elseif gelen_islem == "*" then
islemi_yap = gelen_sayi_x * gelen_sayi_y
pc.setqf("carpma",pc.getqf("carpma")+1)
end -- if gelen_islem == "+" then endi
say("")
-- say(islemi_yap)
oyuncu_cevap = input()
if tonumber(oyuncu_cevap) != islemi_yap then
say_title("Uyarı:")
say("")
say_reward("Yanlış cevap verdiğiniz yarışma sona erdi.")
say_reward("1 saat sonra tekrar oynayabilirsiniz!")
say("")
say_reward("Toplam Matematik Puanınız: "..pc.getqf("matematik_puanim"))
say("")
pc.setqf("toplama",0)
pc.setqf("cikarma",0)
pc.setqf("carpma",0)
return
else
if gelen_islem == "+" then
pc.setqf("matematik_puanim",(pc.getqf("matematik_puanim")+pc.getqf("toplama"))+1)
elseif gelen_islem == "-" then
pc.setqf("matematik_puanim",(pc.getqf("matematik_puanim")+pc.getqf("cikarma"))+3)
elseif gelen_islem == "*" then
pc.setqf("matematik_puanim",(pc.getqf("matematik_puanim")+pc.getqf("carpma"))+5)
end -- if gelen_islem == "+" then
end -- if tonumber(oyuncu_cevap) != islemi_yap then endi
k=k+1
else
say_title("Uyarı:")
say("")
say_reward("Süreniz doldu!")
say("")
say_reward("Toplam Matematik Puanınız: "..pc.getqf("matematik_puanim"))
say("")
pc.setqf("matematikteyim_sure",0)
pc.setqf("toplama",0)
pc.setqf("cikarma",0)
pc.setqf("carpma",0)
return
end --
end -- while true do endi
end -- when 20355.chat."Matematik Oyunu" begin endi
when 20355.chat."Matematik Sistemi - Market" begin
esyalar = {}
oyuncuMatematikPuani = pc.getqf("matematik_puanim")
kacAdetEsyaVar = 5 -- Buraya markette satılan eşya sayısını girin.
for i=1,kacAdetEsyaVar,1 do
esyaBilgileri = { [1] = matematik.esyalar(i) }
esyalar[i] = esyaBilgileri[1][1]
end
esyalarSay = tonumber(table.getn(esyalar))
esyalar[esyalarSay+1] = "Kapat"
esyaSec = select_table(esyalar)
for m=1,esyalarSay,1 do
if esyaSec == esyalarSay + 1 then
return
end
if esyaSec == m then
esyaBilgileri = { [1] = matematik.esyalar(m) }
--------------------------------------
esyaKodu = esyaBilgileri[1][2]
esyaAdetlimi = esyaBilgileri[1][4]
esyaMatematikPuani = esyaBilgileri[1][3]
--------------------------------------
say_title("[WINDOW_SIZE width;350|height;450]Eşya:")
say_item_vnum(esyaKodu)
say("")
esyaAdetlimi = tonumber(esyaAdetlimi)
if esyaAdetlimi == 1 then
say_reward("Eşyadan kaç adet almak istiyorsunuz?")
esyaAdet = matematik.esyaAdet_input()
if esyaAdet < 0 or esyaAdet == 0 then
say_title("Uyarı:")
say("")
say_reward("Geçersiz miktar girdiniz. Tekrar deneyin.")
say("")
else
toplamTutar = esyaMatematikPuani * esyaAdet
say_title("Bilgilendirme:")
say("")
say("Eşyadan "..esyaAdet.." adet almak istediniz.")
say("")
say_reward(esyaAdet.." adet eşyanın fiyatı "..genel_veri((esyaMatematikPuani*esyaAdet)).." Matematik Puani")
say("")
say_reward("Matematik Puanınız: "..genel_veri(oyuncuMatematikPuani))
say("")
say_title("Alışveriş sonrası durum:")
say("")
if oyuncuMatematikPuani < toplamTutar then
say_reward("Eşyayı satın alamazsınız. Matematik puanınız yetersiz.")
say("")
else
say_reward("Kalacak Matematik Puanınız: "..genel_veri(oyuncuMatematikPuani-toplamTutar))
say("")
esyaSecimYap = select("Satın Al","Kapat")
say_title("Bilgilendirme")
say("")
say("Eşyayı almak üzeresiniz. Onaylıyor musunuz?")
say("")
esyaOnay = select("Evet","Hayır")
if esyaOnay == 2 then
return
end
if esyaSecimYap == 1 then
pc.setqf("matematik_puanim",pc.getqf("matematik_puanim")-toplamTutar)
pc.give_item2(esyaKodu,esyaAdet)
say_title("Bilgilendirme:")
say("")
say("Eşya başarı ile alındı.")
say("Matematik puanınız eksildi.")
say("")
say_reward("Kalan Matematik Puanınız: "..genel_veri(oyuncuMatematikPuani))
say("")
elseif esyaSecimYap == 2 then
return
end
end
end -- girilen eşya adetinin kontrol endi
elseif esyaAdetlimi == 0 then
say("")
say_reward("Eşya Matematik Puanı: "..genel_veri(esyaMatematikPuani))
say("")
say_reward("Matematik Puanınız: "..genel_veri(oyuncuMatematikPuani))
say("")
say_title("Alışveriş sonrası durum:")
say("")
if oyuncuMatematikPuani < esyaMatematikPuani then
say_reward("Eşyayı satın alamazsınız. Matematik puanınız yetersiz.")
say("")
else
say_reward("Kalacak Matematik Puanınız: "..genel_veri((oyuncuMatematikPuani-esyaMatematikPuani)))
say("")
esyaSecimYap = select("Satın Al","Kapat")
if esyaSecimYap == 1 then
say_title("Bilgilendirme")
say("")
say("Eşyayı almak üzeresiniz. Onaylıyor musunuz?")
say("")
esyaOnay = select("Evet","Hayır")
if esyaOnay == 2 then
return
end
pc.setqf("matematik_puanim",pc.getqf("matematik_puanim")-esyaMatematikPuani)
pc.give_item2(esyaKodu,1)
say_title("Bilgilendirme:")
say("")
say("Eşya başarı ile alındı.")
say("Matematik puanınız eksildi.")
say("")
oyuncuMatematikPuani = pc.getqf("matematik_puanim")
say_reward("Kalan Matematik Puanınız: "..genel_veri(oyuncuMatematikPuani))
say("")
elseif esyaSecimYap == 2 then
return
end
end
end -- eşya adetlimi kontrol endi
end -- seçilen eşyanın endi
end -- eşyaları seçtiren forun endi
end
function matematikSorular()
rastgele_sayi = math.random(1,10)
return rastgele_sayi
end -- function matematikSorular() endi
function matematik_islem()
islem = {
[1] = {"+"},
[2] = {"-"},
[3] = {"*"}
}
islemSay = tonumber(table.getn(islem))
rastgele_islem = math.random(1,islemSay)
return islem[rastgele_islem][1]
end -- function matematik_islem() endi
function esyalar(esya_bilgisi)
esya = {
[1] = {"Hız İksiri",71050,500,1},
[2] = {"Saldırı İksiri",27112,1000,1},
[3] = {"Eskrim Broşür",70031,5000,0},
[4] = {"Kutsama Kağıt",25040,500,0},
[5] = {"Büyülü Metal",25041,10000,0}
}
return esya[esya_bilgisi]
end
function esyaAdet_input (gelen_veri)
say (gelen_veri)
local n = nil
while n == nil do
n = tonumber (input())
if n != nil and n <= 200 then
break
end
say_reward("Sayi giriniz ve 200 den fazla miktar girmeyiniz!")
n = nil
end
return n
end
end -- state start begin endi
end -- quest matematik begin endi
- Katılım
- 6 Nis 2014
- Konular
- 25,408
- Mesajlar
- 52,478
- Çözüm
- 1
- Online süresi
- 5d 3h
- Reaksiyon Skoru
- 2,410
- Altın Konu
- 2
- TM Yaşı
- 12 Yıl 2 Ay 9 Gün
- Başarım Puanı
- 877
- MmoLira
- 3,740
- DevLira
- 0
Teşekkürler.
- Katılım
- 9 Ağu 2014
- Konular
- 76
- Mesajlar
- 716
- Online süresi
- 1h 44m
- Reaksiyon Skoru
- 35
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 10 Ay 8 Gün
- Başarım Puanı
- 117
- MmoLira
- 261
- DevLira
- 0
Teşekkürler.




