Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!
Merhaba arkadaşlar, bugün Metin2'de Quest yazma temellerini, syntaxlerini gözden geçireceğiz.
1. Metin2 Questleri LUA dilini kullanır. Neden LUA Dilini neden kullanır?
- Çünkü Lua en hızlısı.
- Çünkü Lua işletim sisteminden bağımsız
- Çünkü Lua yaygın
- Çünkü Lua bedava
- Çünkü Lua güçlü ama basit
- Çünkü Lua açık kaynak kodlu ve sürekli geliştirilmekte
- Çünkü Lua kolayca genişletilebilir ve gömülebilir(Lua'da C kullanılabilir C'de Lua kullanılabilir)
2. Lua Programlama Diline Genel Bir Bakış
Diğer scripting dillerine kıyasla hızlı olmasının nedeni stack based yerine register based vm kullanmasındandır. Bununla beraber zaten hız odaklı bir tasarıma sahiptir. Güzel ve başarılı bir memory manager'ı vardır. Çok temiz bir C APIsi vardır. Syntax'ı güzel anlaşılır ve kullanışlıdır. Embedded bir script dili lazım olduğunda ilk seçeneklerden birisidir. LUA...
3. Metin2 İle İlgili LUA Diline Giriş.
Metin2'de bildiğimiz gibi LUA interpreter'i birazcık farklı işliyor. Bunun sebebinide quest yazığımı kolaylaştırdığı anlamına getirebiliriz.
Quest Yapısı:
Start ->
-> State
Fonksiyonlar.
<- State End
Start End <-
* State nedir?
State sizin kendi atadığınız bir takım kod çerçevesine denir, her state değiştirdiğiniz de otomatikman questin yönünüde değiştirmiş olursunuz. State'e bir takım kapı diyebiliriz, ama tek kapı gibi, bir state açılır diğer state'ler otomatiktan kapanır. Questte sadece 1 adet aktif state kullanabiliriz. Eğer start statemizi kullanmazsak hata almamız yine olasıdır çünkü, start default bir value'dir eğer isterseniz start statesini yazıp içini boş bırakabilirsiniz.
Örnek Basic(Kolay) Quest:
Gördüğünüz gibi bu örnekte 2 adet statemiz mevcut. 1. Start, 2. İse bir diğer statemiz. Dikkat ederseniz state ve questin sonlarında hep end var. Eğer end kullanmazsak interpreter bizim hangi kodu girdiğimizi ve nerede biteceğini hesaplayamıyor, bu yüzden de hata almanıza yol açıyor.
* State değiştirme
Bu örnekde, start statemizi "diger_state"ye çevirdik. Bu bağlamda bu questi çalıştırdığımız zaman otomatikman diger_state'ye geçecektir. Ve boş (null) sonuç döndürecektir.
Alintidir.
1. Metin2 Questleri LUA dilini kullanır. Neden LUA Dilini neden kullanır?
- Çünkü Lua en hızlısı.
- Çünkü Lua işletim sisteminden bağımsız
- Çünkü Lua yaygın
- Çünkü Lua bedava
- Çünkü Lua güçlü ama basit
- Çünkü Lua açık kaynak kodlu ve sürekli geliştirilmekte
- Çünkü Lua kolayca genişletilebilir ve gömülebilir(Lua'da C kullanılabilir C'de Lua kullanılabilir)
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
ana sayfasından kendisi,yardım,gelişim ve geliştirme çevresi hakkında daha fazlasını elde edebilirsiniz.2. Lua Programlama Diline Genel Bir Bakış
Diğer scripting dillerine kıyasla hızlı olmasının nedeni stack based yerine register based vm kullanmasındandır. Bununla beraber zaten hız odaklı bir tasarıma sahiptir. Güzel ve başarılı bir memory manager'ı vardır. Çok temiz bir C APIsi vardır. Syntax'ı güzel anlaşılır ve kullanışlıdır. Embedded bir script dili lazım olduğunda ilk seçeneklerden birisidir. LUA...
3. Metin2 İle İlgili LUA Diline Giriş.
Metin2'de bildiğimiz gibi LUA interpreter'i birazcık farklı işliyor. Bunun sebebinide quest yazığımı kolaylaştırdığı anlamına getirebiliriz.
Quest Yapısı:
Start ->
-> State
Fonksiyonlar.
<- State End
Start End <-
* State nedir?
State sizin kendi atadığınız bir takım kod çerçevesine denir, her state değiştirdiğiniz de otomatikman questin yönünüde değiştirmiş olursunuz. State'e bir takım kapı diyebiliriz, ama tek kapı gibi, bir state açılır diğer state'ler otomatiktan kapanır. Questte sadece 1 adet aktif state kullanabiliriz. Eğer start statemizi kullanmazsak hata almamız yine olasıdır çünkü, start default bir value'dir eğer isterseniz start statesini yazıp içini boş bırakabilirsiniz.
Örnek Basic(Kolay) Quest:
quest deneme begin
-- Default, Varsayılan Başlangıç.
state start begin
end
-- Diğer State
state diger_state begin
end
end
Gördüğünüz gibi bu örnekte 2 adet statemiz mevcut. 1. Start, 2. İse bir diğer statemiz. Dikkat ederseniz state ve questin sonlarında hep end var. Eğer end kullanmazsak interpreter bizim hangi kodu girdiğimizi ve nerede biteceğini hesaplayamıyor, bu yüzden de hata almanıza yol açıyor.
* State değiştirme
quest deneme begin
-- Default, Varsayılan Başlangıç.
state start begin
setstate(diger_state)
end
-- Diğer State
state diger_state begin
end
end
Bu örnekde, start statemizi "diger_state"ye çevirdik. Bu bağlamda bu questi çalıştırdığımız zaman otomatikman diger_state'ye geçecektir. Ve boş (null) sonuç döndürecektir.
Alintidir.
Son düzenleme:
Yararli konur teŞekkÜr ederİm . .
Yorum icin Teşekkürler.
Teşekkürler.ellerine sağlık
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 10
- Görüntüleme
- 338