- Katılım
- 30 Kas 2009
- Konular
- 223
- Mesajlar
- 2,760
- Reaksiyon Skoru
- 218
- Altın Konu
- 0
- TM Yaşı
- 16 Yıl 6 Ay 19 Gün
- Başarım Puanı
- 148
- MmoLira
- -18
- DevLira
- 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!
Arkadaşlar sizlere bugünden sonra hem quest yazmayı öğreteceğim hemde yazdığımız questleri paylaşacağım
yarka kardeşimiz sabit konuda temel kavramları anlattı ilk defa quest işinde iseniz ilk olarak oraya bakın ve sonra buraya gelin burada temel dersler yok..
Yarka0000 Konusuna Git
burada anlatacağım her questi kendim yazacağım daha önce vardı diyen arkadaş olursa kanıt koysun..
İleri düzey kimseye muhtaç olmadan quest yazmak için mutlaka ilk olarak LUA dili öğrenin
LUA da şunları öğrenin çok faydası olacaktır:değişken,dizi,fonksiyon,if yapısı,switc,for,while
Ayrıca ben veri tabanlı questler yazdığım için konumu takip edenler boş zamanlarında SQL öğrensin
SQL de şunları öğrenin çok faydası olacak :SELECT,UPDATE,INSERT,DELETE
Ben her zaman veri tabanlı questler yazarım bu yüzden mysql_query fonksiyonlarınız serverinizde mutlaka çalışıyo olsun çalışmıyo ise tedavisi bu bölümde var.
Bu konuya giderek dosyaları seninki ile değiştir reboot at: CsFranNq Konusuna Git
Değiştirmeyenler için söylüyorum ben bu arkadaşın questlib dosyasını kullanmaktayım bu yüzden say_red, say_green gibi kodlar çalışmaya bilir bunları say olarak değiştirin
Quest:
Şikayet sistemi questi
Görsel:
Anlatım:
Şikayet sistemi zaten vardı dienler için veri tabanlı quest ben görmedim bendede vardı notice_all den başka bir numarası yoktu GM oyunda ise görüyo yoksa laf salatası
ama olurda ben görmedi isem genede nasıl yapıldığını anlarsınız bunu seçtim çünkü ilk dersimiz için en uygunu bu ilerde daha derin yerlere gireceğiz
ilk olarak questimizin nerede çalışacağına karar veriyoruz ben 20018 kodlu npc yi seçtim o size kalmış..
Questi başlattıkdan sonra ilk olarak oyuncunun ismini oyuncu değişkenine atadım ( local oyuncu = pc.get_name() )
Bir kaç diyalogdan sonra ondan kimi şikayet edeceğini kutuya yazmasını istedim ( local kimietti = input() )
Büyük küçük harfe dikkat dedim aslında önemli değil Moses adlı oyuncuyu moses die yazsada bulur o
Oyuncunun yazdığı ismi veri tabanından player tablosuna bakarak böyle bir oyuncu varmı yokmu kontrol ettim
( local varmibak = mysql_query("select * from....") ) dieye devam eden blok
Sql de where komutu kullandım where koşul belirtme demekdir dedim ki (name='"..kimietti.."')
bunu anlamı player tablosunda name isminde bir sütün var orada oyuncuların isimleri yazar bende oyuncumuzun yazmış olduğu ismi oraya soktum varmı bak dedim
Altına ( if(table.getn(varmibak))==0 then ) dedim bunun anlamı şu eğer varmibak değişkenindeki satır sayısı
0 ise buraya gir yani oyuncu kutuya sallama bir isim girer ise SQL 0 değeri dönderir doğal olarak buraya girer
daha sonra else dedim yani 0 değilse sıfır hariç ne dönerse artık aklına gelen bütün rakamlar.
Normalde buda bir açık fakat oyunda isim tekil olduğu için yani 2 oyuncu aynı ismi taşıyamadığı için sonu var ise
hep 1 döner bu yüzden == 1 yazmaya gerek yok
Bir kaç diyalogdan sonrada oyuncuda bu aşamada kararından vaz geçmesi halinde bir seçim yapmasını istedim
( local secim = select("evet","hayır") )
Daha sonra ( if secim == 2 then ) dedim yani eğer hayırı secerse questi kapat dedim (return) sonlandırmak
else dedim 2 yi seçmesse geriye 1 kalır 1 de evet demek o zman veriyi tabloya kayıt etmeye getirdim
Veriyi kayıt etmeye geldi fakat ilk olarak bize bir tablo gerekli tabloyu player veri tabanına açalım (player.player değil player sadece) tablodaki sutunlar id,kim,kimi,neden olacak bilmeyenler yorum atsın yardımcı olurum
tobloyuda açtıkdan sonra:
Veriyi kayıt ettim( local kaydet =mysql_query10("inser into player.sikayet.......") ) diye
Hala işimiz bitmedi belki bir hata alırız veir kayıt edilmez bunu almamız için sorguladım
( if(kaydet) then ) bunun anlamı şu eğer kayıt başarılı ise true değeri gelir true de olumlu,1 doğru anlamına gelir
ozaman buraya girecektir
else kayit başarılı değilse hata raporu verdim
Evet arkadaşlar quest çalışmakta resmide yolladım zaten bir sorun sıkıntı durumunda yorum atın yeterli yardımcı olurum.
Ben elimden geldiği kadar hergün bir quest yazıp anlatımını yapacagım dileyen questi kullanır dileyen anlatımı dinler
özel quest yazdırmak isteyen öm atsın (ücretli büyük çaplı questler)
yarka kardeşimiz sabit konuda temel kavramları anlattı ilk defa quest işinde iseniz ilk olarak oraya bakın ve sonra buraya gelin burada temel dersler yok..
Yarka0000 Konusuna Git
burada anlatacağım her questi kendim yazacağım daha önce vardı diyen arkadaş olursa kanıt koysun..
İleri düzey kimseye muhtaç olmadan quest yazmak için mutlaka ilk olarak LUA dili öğrenin
LUA da şunları öğrenin çok faydası olacaktır:değişken,dizi,fonksiyon,if yapısı,switc,for,while
Ayrıca ben veri tabanlı questler yazdığım için konumu takip edenler boş zamanlarında SQL öğrensin
SQL de şunları öğrenin çok faydası olacak :SELECT,UPDATE,INSERT,DELETE
Ben her zaman veri tabanlı questler yazarım bu yüzden mysql_query fonksiyonlarınız serverinizde mutlaka çalışıyo olsun çalışmıyo ise tedavisi bu bölümde var.
Bu konuya giderek dosyaları seninki ile değiştir reboot at: CsFranNq Konusuna Git
Değiştirmeyenler için söylüyorum ben bu arkadaşın questlib dosyasını kullanmaktayım bu yüzden say_red, say_green gibi kodlar çalışmaya bilir bunları say olarak değiştirin
Quest:
Şikayet sistemi questi
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Görsel:
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Anlatım:
Şikayet sistemi zaten vardı dienler için veri tabanlı quest ben görmedim bendede vardı notice_all den başka bir numarası yoktu GM oyunda ise görüyo yoksa laf salatası
ama olurda ben görmedi isem genede nasıl yapıldığını anlarsınız bunu seçtim çünkü ilk dersimiz için en uygunu bu ilerde daha derin yerlere gireceğiz
PHP:
---------BURASI ANLATIM BURAYI ALAMYIN YUKARDA LINK VERDIM-----------------
quest sikayet begin
state start begin
when 20018.chat."Sikayet Sistemi" begin
local oyuncu = pc.get_name() // oyuncunun ismini değişkene atadım
say_title("Demek birini Şikayet edeceksin.")
say("")
say_red("Büyük küçük harfe dikkat edin")
local kimietti = input() //oyuncudan birinin ismini girmesini istedim
local varmibak = mysql_query10("select * from player.player where name='"..kimietti.."'") //veri tabanında böyle bir oyuncu varmı baktım
if (table.getn(varmibak)==0) then //var ise 1 yok ise 0 satır dönecektir 0 ise buraya gir dedim
say_red("Malesef böyle bir youncu yok")
return
else //1 oyuncu var ise buraya gir dedim
say("Güzel oyunda böyle bir oyuncu var")
say("Demek Şikayet etmek istiyorsun")
say("")
say_red("Dikkat gereksiz kullanım cezalandırılır")
say("Neden Şikayet ediyorsunuz..!")
local neden = input() //oyuncudan bir neden girmesini istedim
say("Gerçekten"..kimietti.."'yi")
say(""..neden.." sebebi ile")
say("Sikayet etmek istiyor musunuz?")
say("Gereksiz kullanım sonucu siz ban yersiniz")
say_yellow("Gercekten sikayet edecekmisin?")
local secim = select("Evet","Hayır") //bu aşamada vaz gecmesi olasılıgını düşünerek secenek sundum
if secim == 2 then //hayır der ise questi kapattım
return //bitirdim
else //Evet der ise buraya girecek
---Buraya girmeden önce bir tablo oluşturun adını sikayet yapın 4 sutun olsun id(int),kim(vrc),kimi(vrc),neden(vrc) yapamayanlar yoruma yazsın
local kaydet = mysql_query10("insert into player.sikayet(kim,kimi,neden) values ('"..oyuncu.."','"..kimietti.."','"..neden.."') ")
//Aldıgım verileri güzelce veri tabanına kaydettım
if(kaydet) then //bu aşamada eğer kayıt başarılı ise (true) değeri döner öyle ise buraya gir dedim
say("Şikayetiniz alınmıştır")
else
say("Kayıt hatası veri tabanı yok veya kodlama hatası") //kayit hatalı ise (false) değeri döner o zaman buraya gir dedim
end
end
end
end
end
end
ilk olarak questimizin nerede çalışacağına karar veriyoruz ben 20018 kodlu npc yi seçtim o size kalmış..
Questi başlattıkdan sonra ilk olarak oyuncunun ismini oyuncu değişkenine atadım ( local oyuncu = pc.get_name() )
Bir kaç diyalogdan sonra ondan kimi şikayet edeceğini kutuya yazmasını istedim ( local kimietti = input() )
Büyük küçük harfe dikkat dedim aslında önemli değil Moses adlı oyuncuyu moses die yazsada bulur o
Oyuncunun yazdığı ismi veri tabanından player tablosuna bakarak böyle bir oyuncu varmı yokmu kontrol ettim
( local varmibak = mysql_query("select * from....") ) dieye devam eden blok
Sql de where komutu kullandım where koşul belirtme demekdir dedim ki (name='"..kimietti.."')
bunu anlamı player tablosunda name isminde bir sütün var orada oyuncuların isimleri yazar bende oyuncumuzun yazmış olduğu ismi oraya soktum varmı bak dedim
Altına ( if(table.getn(varmibak))==0 then ) dedim bunun anlamı şu eğer varmibak değişkenindeki satır sayısı
0 ise buraya gir yani oyuncu kutuya sallama bir isim girer ise SQL 0 değeri dönderir doğal olarak buraya girer
daha sonra else dedim yani 0 değilse sıfır hariç ne dönerse artık aklına gelen bütün rakamlar.
Normalde buda bir açık fakat oyunda isim tekil olduğu için yani 2 oyuncu aynı ismi taşıyamadığı için sonu var ise
hep 1 döner bu yüzden == 1 yazmaya gerek yok
Bir kaç diyalogdan sonrada oyuncuda bu aşamada kararından vaz geçmesi halinde bir seçim yapmasını istedim
( local secim = select("evet","hayır") )
Daha sonra ( if secim == 2 then ) dedim yani eğer hayırı secerse questi kapat dedim (return) sonlandırmak
else dedim 2 yi seçmesse geriye 1 kalır 1 de evet demek o zman veriyi tabloya kayıt etmeye getirdim
Veriyi kayıt etmeye geldi fakat ilk olarak bize bir tablo gerekli tabloyu player veri tabanına açalım (player.player değil player sadece) tablodaki sutunlar id,kim,kimi,neden olacak bilmeyenler yorum atsın yardımcı olurum
tobloyuda açtıkdan sonra:
Veriyi kayıt ettim( local kaydet =mysql_query10("inser into player.sikayet.......") ) diye
Hala işimiz bitmedi belki bir hata alırız veir kayıt edilmez bunu almamız için sorguladım
( if(kaydet) then ) bunun anlamı şu eğer kayıt başarılı ise true değeri gelir true de olumlu,1 doğru anlamına gelir
ozaman buraya girecektir
else kayit başarılı değilse hata raporu verdim
Evet arkadaşlar quest çalışmakta resmide yolladım zaten bir sorun sıkıntı durumunda yorum atın yeterli yardımcı olurum.
Ben elimden geldiği kadar hergün bir quest yazıp anlatımını yapacagım dileyen questi kullanır dileyen anlatımı dinler
özel quest yazdırmak isteyen öm atsın (ücretli büyük çaplı questler)
- Katılım
- 30 Kas 2009
- Konular
- 223
- Mesajlar
- 2,760
- Reaksiyon Skoru
- 218
- Altın Konu
- 0
- TM Yaşı
- 16 Yıl 6 Ay 19 Gün
- Başarım Puanı
- 148
- MmoLira
- -18
- DevLira
- 0
Demekki kimsenin ihtiyacı yok konu iptal
- Katılım
- 29 Haz 2010
- Konular
- 29
- Mesajlar
- 292
- Online süresi
- 10h 21m
- Reaksiyon Skoru
- 10
- Altın Konu
- 0
- TM Yaşı
- 15 Yıl 11 Ay 24 Gün
- Başarım Puanı
- 118
- MmoLira
- 149
- DevLira
- 0
Arkadaşlar sizlere bugünden sonra hem quest yazmayı öğreteceğim hemde yazdığımız questleri paylaşacağım
yarka kardeşimiz sabit konuda temel kavramları anlattı ilk defa quest işinde iseniz ilk olarak oraya bakın ve sonra buraya gelin burada temel dersler yok..
Yarka0000 Konusuna Git
burada anlatacağım her questi kendim yazacağım daha önce vardı diyen arkadaş olursa kanıt koysun..
İleri düzey kimseye muhtaç olmadan quest yazmak için mutlaka ilk olarak LUA dili öğrenin
LUA da şunları öğrenin çok faydası olacaktır:değişken,dizi,fonksiyon,if yapısı,switc,for,while
Ayrıca ben veri tabanlı questler yazdığım için konumu takip edenler boş zamanlarında SQL öğrensin
SQL de şunları öğrenin çok faydası olacak :SELECT,UPDATE,INSERT,DELETE
Ben her zaman veri tabanlı questler yazarım bu yüzden mysql_query fonksiyonlarınız serverinizde mutlaka çalışıyo olsun çalışmıyo ise tedavisi bu bölümde var.
Bu konuya giderek dosyaları seninki ile değiştir reboot at: CsFranNq Konusuna Git
Değiştirmeyenler için söylüyorum ben bu arkadaşın questlib dosyasını kullanmaktayım bu yüzden say_red, say_green gibi kodlar çalışmaya bilir bunları say olarak değiştirin
Quest:
Şikayet sistemi questiLinkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Görsel:
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Anlatım:
Şikayet sistemi zaten vardı dienler için veri tabanlı quest ben görmedim bendede vardı notice_all den başka bir numarası yoktu GM oyunda ise görüyo yoksa laf salatasıama olurda ben görmedi isem genede nasıl yapıldığını anlarsınız bunu seçtim çünkü ilk dersimiz için en uygunu bu ilerde daha derin yerlere gireceğiz
PHP:---------BURASI ANLATIM BURAYI ALAMYIN YUKARDA LINK VERDIM----------------- quest sikayet begin state start begin when 20018.chat."Sikayet Sistemi" begin local oyuncu = pc.get_name() // oyuncunun ismini değişkene atadım say_title("Demek birini Şikayet edeceksin.") say("") say_red("Büyük küçük harfe dikkat edin") local kimietti = input() //oyuncudan birinin ismini girmesini istedim local varmibak = mysql_query10("select * from player.player where name='"..kimietti.."'") //veri tabanında böyle bir oyuncu varmı baktım if (table.getn(varmibak)==0) then //var ise 1 yok ise 0 satır dönecektir 0 ise buraya gir dedim say_red("Malesef böyle bir youncu yok") return else //1 oyuncu var ise buraya gir dedim say("Güzel oyunda böyle bir oyuncu var") say("Demek Şikayet etmek istiyorsun") say("") say_red("Dikkat gereksiz kullanım cezalandırılır") say("Neden Şikayet ediyorsunuz..!") local neden = input() //oyuncudan bir neden girmesini istedim say("Gerçekten"..kimietti.."'yi") say(""..neden.." sebebi ile") say("Sikayet etmek istiyor musunuz?") say("Gereksiz kullanım sonucu siz ban yersiniz") say_yellow("Gercekten sikayet edecekmisin?") local secim = select("Evet","Hayır") //bu aşamada vaz gecmesi olasılıgını düşünerek secenek sundum if secim == 2 then //hayır der ise questi kapattım return //bitirdim else //Evet der ise buraya girecek ---Buraya girmeden önce bir tablo oluşturun adını sikayet yapın 4 sutun olsun id(int),kim(vrc),kimi(vrc),neden(vrc) yapamayanlar yoruma yazsın local kaydet = mysql_query10("insert into player.sikayet(kim,kimi,neden) values ('"..oyuncu.."','"..kimietti.."','"..neden.."') ") //Aldıgım verileri güzelce veri tabanına kaydettım if(kaydet) then //bu aşamada eğer kayıt başarılı ise (true) değeri döner öyle ise buraya gir dedim say("Şikayetiniz alınmıştır") else say("Kayıt hatası veri tabanı yok veya kodlama hatası") //kayit hatalı ise (false) değeri döner o zaman buraya gir dedim end end end end end end
ilk olarak questimizin nerede çalışacağına karar veriyoruz ben 20018 kodlu npc yi seçtim o size kalmış..
Questi başlattıkdan sonra ilk olarak oyuncunun ismini oyuncu değişkenine atadım ( local oyuncu = pc.get_name() )
Bir kaç diyalogdan sonra ondan kimi şikayet edeceğini kutuya yazmasını istedim ( local kimietti = input() )
Büyük küçük harfe dikkat dedim aslında önemli değil Moses adlı oyuncuyu moses die yazsada bulur o
Oyuncunun yazdığı ismi veri tabanından player tablosuna bakarak böyle bir oyuncu varmı yokmu kontrol ettim
( local varmibak = mysql_query("select * from....") ) dieye devam eden blok
Sql de where komutu kullandım where koşul belirtme demekdir dedim ki (name='"..kimietti.."')
bunu anlamı player tablosunda name isminde bir sütün var orada oyuncuların isimleri yazar bende oyuncumuzun yazmış olduğu ismi oraya soktum varmı bak dedim
Altına ( if(table.getn(varmibak))==0 then ) dedim bunun anlamı şu eğer varmibak değişkenindeki satır sayısı
0 ise buraya gir yani oyuncu kutuya sallama bir isim girer ise SQL 0 değeri dönderir doğal olarak buraya girer
daha sonra else dedim yani 0 değilse sıfır hariç ne dönerse artık aklına gelen bütün rakamlar.
Normalde buda bir açık fakat oyunda isim tekil olduğu için yani 2 oyuncu aynı ismi taşıyamadığı için sonu var ise
hep 1 döner bu yüzden == 1 yazmaya gerek yok
Bir kaç diyalogdan sonrada oyuncuda bu aşamada kararından vaz geçmesi halinde bir seçim yapmasını istedim
( local secim = select("evet","hayır") )
Daha sonra ( if secim == 2 then ) dedim yani eğer hayırı secerse questi kapat dedim (return) sonlandırmak
else dedim 2 yi seçmesse geriye 1 kalır 1 de evet demek o zman veriyi tabloya kayıt etmeye getirdim
Veriyi kayıt etmeye geldi fakat ilk olarak bize bir tablo gerekli tabloyu player veri tabanına açalım (player.player değil player sadece) tablodaki sutunlar id,kim,kimi,neden olacak bilmeyenler yorum atsın yardımcı olurum
tobloyuda açtıkdan sonra:
Veriyi kayıt ettim( local kaydet =mysql_query10("inser into player.sikayet.......") ) diye
Hala işimiz bitmedi belki bir hata alırız veir kayıt edilmez bunu almamız için sorguladım
( if(kaydet) then ) bunun anlamı şu eğer kayıt başarılı ise true değeri gelir true de olumlu,1 doğru anlamına gelir
ozaman buraya girecektir
else kayit başarılı değilse hata raporu verdim
Evet arkadaşlar quest çalışmakta resmide yolladım zaten bir sorun sıkıntı durumunda yorum atın yeterli yardımcı olurum.
Ben elimden geldiği kadar hergün bir quest yazıp anlatımını yapacagım dileyen questi kullanır dileyen anlatımı dinler
özel quest yazdırmak isteyen öm atsın (ücretli büyük çaplı questler)
Çok teşekkürler güzel paylaşım devamını bekliyoruz
- Katılım
- 30 Kas 2009
- Konular
- 223
- Mesajlar
- 2,760
- Reaksiyon Skoru
- 218
- Altın Konu
- 0
- TM Yaşı
- 16 Yıl 6 Ay 19 Gün
- Başarım Puanı
- 148
- MmoLira
- -18
- DevLira
- 0
Rica ederim kardesim
- Durum
- Üzgünüz bu konu cevaplar için kapatılmıştır...
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 10
- Görüntüleme
- 334


