12 Aralık 2018, 02:44:17

Gönderen Konu: GUI Event Dersi  (Okunma sayısı 1358 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

ertrldtcu

  • Deneyimli Üye
  • *
  • İleti: 448
GUI Event Dersi
« : 25 Şubat 2017, 18:26:48 »
Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın'ni okuyup geldiğinizi varsayarak GUI Event Dersi veriyorum.

MTA'da her olay bir Event'e bağlıdır. Olay gerçekleşince Event başlar. MTA'nın kendi gömülü Event'leri olduğu gibi siz kendinizde Event oluşturabilirsiniz. Bu dersimizde MTA'nın gömülü bazı GUI Event'lerini kullanmayı öğreteceğim. Tüm GUI Event'lerini görmek için Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın'yi ziyaret edebilirsiniz.

Tıklama Eventleri

onClientGUIClick: GUI elemente tıklandığında başlatılacak Eventtir.
Sözdizimi: addEventHandler("onClientGUIClick",buton-degiskeni,fonksiyon-adi)-- buton değişkeni yazılan yere tıklandığında fonksiyon adı yazan yerdeki fonksiyonu başlatır.
Kod: Lua
  1. butonum = guiCreateButton(50,50,150,30,"Benim butonum",false)
  2. function uygula()
  3.     outputChatBox("başarıyla tıkladın.")
  4. end
  5. addEventHandler("onClientGUIClick",butonum,uygula)

Eğer birden fazla tıklama koyucaksınız her tıklama için ayrı fonksiyon oluşturmak yerine hepsini bir fonksiyonda toplayabiliriz:
Kod: Lua
  1. butonum1 = guiCreateButton(50,50,150,30,"Benim butonum",false)
  2. butonum2 = guiCreateButton(100,50,150,30,"2. butonum",false)
  3. butonum3 = guiCreateButton(150,50,150,30,"3. butonum",false)
  4. addEventHandler("onClientGUIClick",root,
  5. function()
  6.         if source == butonum1 then
  7.                 outputChatBox("1. butona tıkladın.")
  8.         elseif source == butonum2 then
  9.                 outputChatBox("2. butona tıkladın.")
  10.         elseif source == butonum3 then
  11.                 outputChatBox("3. butona tıkladın.")
  12.         end
  13. end)
  14. --her tıklama için yeni bir elseif oluşturmalısınız.



onClientGUIDoubleClick: GUI elemente üst üste 2 kez tıkladığınızda başlatılacak Eventtir.
Sözdizimi: addEventHandler("onClientGUIDoubleClick",buton-degiskeni,fonksiyon-adi)
Kod: Lua
  1. butonum = guiCreateButton(50,50,150,30,"Benim butonum",false)
  2. function uygula()
  3.     outputChatBox("başarıyla 2 kez tıkladın.")
  4. end
  5. addEventHandler("onClientGUIDoubleClick",butonum,uygula)

birden fazla ise:
Kod: Lua
  1. butonum1 = guiCreateButton(50,50,150,30,"Benim butonum",false)
  2. butonum2 = guiCreateButton(100,50,150,30,"2. butonum",false)
  3. butonum3 = guiCreateButton(150,50,150,30,"3. butonum",false)
  4. addEventHandler("onClientGUIDoubleClick",root,
  5. function()
  6.         if source == butonum1 then
  7.                 outputChatBox("1. butona 2 kez tıkladın.")
  8.         elseif source == butonum2 then
  9.                 outputChatBox("2. butona 2 kez tıkladın.")
  10.         elseif source == butonum3 then
  11.                 outputChatBox("3. butona 2 kez tıkladın.")
  12.         end
  13. end)
  14. --her çift tıklama için yeni bir elseif oluşturmalısınız.

Mouse Eventleri

onClientMouseEnter: Mouse belirlenen GUI elementin üstüne gittiğinde başlatılacak Eventtir.
Sözdizimi: addEventHandler("onClientMouseEnter",buton-degiskeni,fonksiyon-adi)
Kod: Lua
  1. butonum = guiCreateButton(50,50,150,30,"Benim butonum",false)
  2. function uygula()
  3.     outputChatBox("mouse butonun üzerine geldi")
  4. end
  5. addEventHandler("onClientMouseEnter",butonum,uygula)

birden fazla ise:
Kod: Lua
  1. butonum1 = guiCreateButton(50,50,150,30,"Benim butonum",false)
  2. butonum2 = guiCreateButton(100,50,150,30,"2. butonum",false)
  3. butonum3 = guiCreateButton(150,50,150,30,"3. butonum",false)
  4. addEventHandler("onClientMouseEnter",root,
  5. function()
  6.         if source == butonum1 then
  7.                 outputChatBox("mouse 1. butonun üzerine geldi")
  8.         elseif source == butonum2 then
  9.                 outputChatBox("mouse 2. butonun üzerine geldi")
  10.         elseif source == butonum3 then
  11.                 outputChatBox("mouse 3. butonun üzerine geldi")
  12.         end
  13. end)
  14. --her element için yeni bir elseif oluşturmalısınız.



onClientMouseLeave: Mouse belirlenen GUI elementin üzerinden ayrıldığında başlatılacak Eventtir.
Sözdizimi: addEventHandler("onClientMouseLeave",buton-degiskeni,fonksiyon-adi)
Kod: Lua
  1. butonum = guiCreateButton(50,50,150,30,"Benim butonum",false)
  2. function uygula()
  3.     outputChatBox("mouse butonun üzerinden gitti")
  4. end
  5. addEventHandler("onClientMouseLeave",butonum,uygula)

birden fazla ise:
Kod: Lua
  1. butonum1 = guiCreateButton(50,50,150,30,"Benim butonum",false)
  2. butonum2 = guiCreateButton(100,50,150,30,"2. butonum",false)
  3. butonum3 = guiCreateButton(150,50,150,30,"3. butonum",false)
  4. addEventHandler("onClientMouseLeave",root,
  5. function()
  6.         if source == butonum1 then
  7.                 outputChatBox("mouse 1. butonun üzerinden gitti")
  8.         elseif source == butonum2 then
  9.                 outputChatBox("mouse 2. butonun üzerinden gitti")
  10.         elseif source == butonum3 then
  11.                 outputChatBox("mouse 3. butonun üzerinden gitti")
  12.         end
  13. end)
  14. -- her element için yeni bir elseif oluşturmalısınız.

Diğer Event

onClientGUIChanged: GUI element üzerinde değişiklik yapılınca başlatılacak Eventtir.
Sözdizimi: addEventHandler("onClientGUIChanged",buton-degiskeni,fonksiyon-adi)
Kod: Lua
  1. editim = guiCreateEdit(50,100,150,30,"Buraya bir şey yaz!",false)
  2. function uygula()
  3.     outputChatBox(guiGetText(editim).." olarak değiştirildi.")
  4. end
  5. addEventHandler("onClientGUIChanged",editim,uygula)

birden fazla ise:
Kod: Lua
  1. editim1 = guiCreateEdit(50,50,150,30,"1. editim",false)
  2. editim2 = guiCreateEdit(100,50,150,30,"2. editim",false)
  3. editim3 = guiCreateEdit(150,50,150,30,"3. editim",false)
  4. addEventHandler("onClientGUIChanged",root,
  5. function()
  6.         if source == editim1 then
  7.                 outputChatBox(guiGetText(editim1).." olarak değiştirildi.")
  8.         elseif source == editim2 then
  9.                 outputChatBox(guiGetText(editim2).." olarak değiştirildi.")
  10.         elseif source == editim3 then
  11.                 outputChatBox(guiGetText(editim3).." olarak değiştirildi.")
  12.         end
  13. end)
  14. -- her element için yeni bir elseif oluşturmalısınız.

Öğrenmek istediğiniz başka Event olursa konu altından bildirirseniz konuya eklerim.

Tarafımca yazılmıştır.
Script yazmak için kod bilmek yetmez.
 
Mesajı Beğenenler: Paradox, Mahlukat

MTASA-TURK | Türkiye'nin En Güncel MTA Platformu

GUI Event Dersi
« : 25 Şubat 2017, 18:26:48 »

FT.FATE

  • GÖKTÜRK-DD
  • Acemi Üye
  • *
  • İleti: 166
  • Çayımız Bardakta, Çocukluğumuz Sokaklarda Kaldı.
Ynt: GUI Event Dersi
« Yanıtla #1 : 25 Şubat 2017, 18:29:44 »
Bir Çok Kişinin İşine Yarıyacak Teşekkürler.
 

Narkoz

  • Kurucu
  • *
  • İleti: 534
  • SH Gaming
Ynt: GUI Event Dersi
« Yanıtla #2 : 25 Şubat 2017, 18:42:46 »
Çoğu kişinin işine yarayacaktır. Yararlı paylaşım.
 

CruzerGq

  • Süper Moderatör
  • *
  • İleti: 501
    • MTASATURK
Ynt: GUI Event Dersi
« Yanıtla #3 : 25 Şubat 2017, 20:11:28 »
Güzel yazmışsın. Teşekkürler.
 

+LJ

  • Moderatör
  • *
  • İleti: 353
  • #MustafaKemalAtatürk
Ynt: GUI Event Dersi
« Yanıtla #4 : 25 Şubat 2017, 21:52:08 »
Gayet güzel, bu derslere devam et.
 

ertrldtcu

  • Deneyimli Üye
  • *
  • İleti: 448
Ynt: GUI Event Dersi
« Yanıtla #5 : 25 Şubat 2017, 22:03:54 »
İstekte bulunarak devamını getirmeme yardımcı olabilirsiniz.
Script yazmak için kod bilmek yetmez.
 

MTASA-TURK | Türkiye'nin En Güncel MTA Platformu

Ynt: GUI Event Dersi
« Yanıtla #5 : 25 Şubat 2017, 22:03:54 »

Paradox

  • Kurucu
  • *
  • İleti: 703
  • SH Gaming
Ynt: GUI Event Dersi
« Yanıtla #6 : 26 Şubat 2017, 01:50:33 »
Yararlı bir anlatım olmuş, bir çok kişinin işine yarayacaktır.
 

Cynax

  • #
  • Uzman Üye
  • *
  • İleti: 540
  • Bıraktı
Ynt: GUI Event Dersi
« Yanıtla #7 : 26 Şubat 2017, 07:15:40 »
Kod bilgin iyi ve yardımcıda oluyorsun.Teşekkürler etoo.
 

ByCash

  • Bilişim Teknolojileri
  • Süper Moderatör
  • *
  • İleti: 974
  • C# - LUA
    • MTASATURK
Ynt: GUI Event Dersi
« Yanıtla #8 : 26 Şubat 2017, 14:01:53 »
Yararlı bir konu, eline sağlık.
Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
 

Boşluk

  • Acemi Üye
  • *
  • İleti: 104
  • Division
Ynt: GUI Event Dersi
« Yanıtla #9 : 26 Şubat 2017, 20:03:28 »
Wiki ye üşenenlerin bakması gereken program. Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
 

ertrldtcu

  • Deneyimli Üye
  • *
  • İleti: 448
Ynt: GUI Event Dersi
« Yanıtla #10 : 26 Şubat 2017, 20:08:28 »
Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
Wiki ye üşenenlerin bakması gereken program. Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
Türkçe wiki hazırlama yolunda ilerliyorum. Wiki'den herkes anlamıyor.
Script yazmak için kod bilmek yetmez.
 

Boşluk

  • Acemi Üye
  • *
  • İleti: 104
  • Division
Ynt: GUI Event Dersi
« Yanıtla #11 : 26 Şubat 2017, 20:08:57 »
Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
Türkçe wiki hazırlama yolunda ilerliyorum. Wiki'den herkes anlamıyor.

Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın gibiler için yararlı olur. :)
« Son Düzenleme: 26 Şubat 2017, 21:26:50 Gönderen: Narkoz »
 

ertrldtcu

  • Deneyimli Üye
  • *
  • İleti: 448
Ynt: GUI Event Dersi
« Yanıtla #12 : 26 Şubat 2017, 20:11:40 »
Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın gibiler için yararlı olur. :)
Kendisine saygısı olmayanın bilgisinden faydalanmak istemiyor.
Script yazmak için kod bilmek yetmez.
 

Boşluk

  • Acemi Üye
  • *
  • İleti: 104
  • Division
Ynt: GUI Event Dersi
« Yanıtla #13 : 26 Şubat 2017, 20:12:54 »
Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
Kendisine saygısı olmayanın bilgisinden faydalanmak istemiyor.

Ne manada biraz daha açar mısın?
« Son Düzenleme: 26 Şubat 2017, 21:27:54 Gönderen: Narkoz »
 

Samsunlee

  • Acemi Üye
  • *
  • İleti: 184
Ynt: GUI Event Dersi
« Yanıtla #14 : 27 Şubat 2017, 10:52:16 »
Faydalı paylaşımın için teşekkürler