Fethi Polat 1
Fethi Polat
TuZaKK 1
TuZaKK
xranzei 1
xranzei
Agresifizm 1
Agresifizm
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

Basit Quest Yazma Dersleri

  • Konuyu başlatan Konuyu başlatan bodos4
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 19
  • Görüntüleme Görüntüleme 3K
Hadi önceki yazdığımız quest iskeleti üzerinde geliştirme yapalım. :)
Önceki postumuzda oluşturduğumuz quest iskeleti üzerine butonlar ekleyerek yaptıracaklarımızı seçenek seçenek ayıracağız.
Yani;
oQrBO2.png
Bu şekilde.


  • Kırmızı ile renklendirdiğim kod bölümü local select özelliğini kullanır yani kullanıcıya seçenek sunar.
  • Lacivert ile renklendirdiğim kod bölümü local select özelliğini kullanırken seçenek listesine bir isim tanımlamanızı sağlar.Tanımladığınız liste ismi seçeneklerinizle uyuşacak ve tıkladığınız an yazmasını istediğiniz kod çıkacaktır.
    • Gördüğünüz gibi local sec = select("1.Seçenek","2.Seçenek") den sonra ilk 1.seçenek için if sec komutunu kullandım.
      • Her zaman 1. seçenek için if komutu kullanılır.
      • Her zaman 2. seçenek için elseif komutu kullanılır.
  • Mor renk ile işaretlediğim bölümde örnek 1.buton hariç listedeki herhangi bir butonun açılmasını istiyorsak buton numarasını girerek açılmasını sağlayabiliriz.
    • Bunun için herzaman 3.bir buton kullanmak gerekir çünkü 1.buton if komutu kullanır diğer bunlar ise elseif.

Kod:
quest gmpanel begin   
    state start begin

      when letter with pc.is_gm and pc.get_name() == "thesprit" begin
          send_letter("GM:Panel")
      end
      when info or button with pc.is_gm and pc.get_name() == "thesprit" begin
      say("GM Paneline Hoşgeldiniz.")
        [COLOR=#FF0000]local [/COLOR][COLOR=#0000cd]sec[/COLOR][COLOR=#FF0000] = select("1.Seçenek","2.Seçenek")[/COLOR]
        [COLOR=#008000]if[/COLOR] [COLOR=#0000CD]sec[/COLOR] == [COLOR=#800080]1 then[/COLOR]
        say("1. seçeneğe tıkladın.")
        [COLOR=#008000]elseif[/COLOR] [COLOR=#0000CD]sec[/COLOR] == [COLOR=#800080]2 then[/COLOR]
        say("2. seçeneğe tıkladın.")
        end
      end
   end
end

Questimize değişik şeyler ekleyelim madem bu bir GM Paneli sistem ve karekter hakkında bilgiler olmalı.:)


  • Ben butonlara isim verdim ve 1 adet buton daha ekledim.
    • 1.Butona Drop değerleri ismini verdim.
    • 2.Butona Eşya ver ismini girdim.
    • 3.Butona Kapat ismini verdim istemezsek ekranı kapatacak.
  • 1.Butona eklediğim drop değerleri ver butonunda input,command kodlarını kullandım.
    • input() kodu quest üzerinde gireceğiniz bir değer için size bir kutu verir.
      • Örnek bir imput;
        • XWLaL5.png
  • Lacivert renkli yerler local item , local gold , local exp komutlarıyla herbir inputa isim verdim.
    • ​1. inputun ismi item
    • 2. inputun ismi gold
    • 3. inputun ismi exp
  • Eğik Yazı ile yazdığım yerler ise inputlara girilen değerleri kodlara yansıtacak bölümlerdir.
    • command("priv 0 1 "..item.." 1000") koduyla 1.input yani ismi item olan inputa girilen değerin kodların arasına yansıttım.
      • Yani inputa oyun içerisinden "300" yazdınız ve kod bu şekilde işledi.
        • command("priv 0 1 300 1000") şeklinde işleyerek Eşya düşürme drobunu 300 olarak açtı. :)

Kod:
quest gmpanel begin   
    state start begin

      when letter with pc.is_gm and pc.get_name() == "thesprit" begin
          send_letter("GM:Panel")
      end
      when info or button with pc.is_gm and pc.get_name() == "thesprit" begin
      say("GM Paneline Hoşgeldiniz.")
        local sec = select("Drop değerleri","Eşya ver","Kapat")
        if sec == 1 then
        say("Drop değerleri seçeneğine tıkladın.")
        say("Madem tıkladın devamını getirelim.")
            say("İtem değeri:")
            [COLOR=#0000CD]local item[/COLOR] = [COLOR=#FF0000]input()[/COLOR]
            say("Drop değerleri girmeye devam edin.")
            say("Altın değeri:")
            [COLOR=#0000CD]local gold[/COLOR] = [COLOR=#FF0000]input()[/COLOR]
            say("Exp değeri:")
            [COLOR=#0000CD]local exp[/COLOR] = [COLOR=#FF0000]input()        [/COLOR]
[COLOR=#008000]                        command("priv 0 1 [I]"..item.."[/I] 1000")
         command("priv 0 4 [I]"..exp.."[/I] 1000")
            command("priv 0 2 [I]"..gold.."[/I] 1000")[/COLOR]
        say("Dropları belirlediğin miktarda açtım.")
        elseif sec == 2 then
        say("2. seçeneğe tıkladın.")
        elseif sec == 3 then
        return
        end
      end
   end
end


Güncellemeye devam edersen sağlam bir konu olabilir.

Vakit buldukça güncelleyeceğim.:)
 
Son düzenleme:

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

Geri
Üst