MTA için LUA Eğitimi #4 (GUİ and Event)

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Onaylı Üye
Katılım
2 May 2017
Mesajlar
111
Tepki puanı
19
Ödüller
6
9 HİZMET YILI
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
Bağlantıları görmek için lütfen Giriş Yap
bakınız.

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
Lua:
butonum = guiCreateButton(50,50,150,30,"Benim butonum",false)
function uygula()
    outputChatBox("başarıyla tıkladın.")
end
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
Lua:
butonum1 = guiCreateButton(50,50,150,30,"Benim butonum",false)
butonum2 = guiCreateButton(100,50,150,30,"2. butonum",false)
butonum3 = guiCreateButton(150,50,150,30,"3. butonum",false)
addEventHandler("onClientGUIClick",root,
function()
    if source == butonum1 then
        outputChatBox("1. butona tıkladın.")
    elseif source == butonum2 then
        outputChatBox("2. butona tıkladın.")
    elseif source == butonum3 then
        outputChatBox("3. butona tıkladın.")
    end
end)
--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
Lua:
butonum = guiCreateButton(50,50,150,30,"Benim butonum",false)
function uygula()
    outputChatBox("başarıyla 2 kez tıkladın.")
end
addEventHandler("onClientGUIDoubleClick",butonum,uygula)

birden fazla ise:
Kod: lua
Lua:
butonum1 = guiCreateButton(50,50,150,30,"Benim butonum",false)
butonum2 = guiCreateButton(100,50,150,30,"2. butonum",false)
butonum3 = guiCreateButton(150,50,150,30,"3. butonum",false)
addEventHandler("onClientGUIDoubleClick",root,
function()
    if source == butonum1 then
        outputChatBox("1. butona 2 kez tıkladın.")
    elseif source == butonum2 then
        outputChatBox("2. butona 2 kez tıkladın.")
    elseif source == butonum3 then
        outputChatBox("3. butona 2 kez tıkladın.")
    end
end)
--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
Lua:
butonum = guiCreateButton(50,50,150,30,"Benim butonum",false)
function uygula()
    outputChatBox("mouse butonun üzerine geldi")
end
addEventHandler("onClientMouseEnter",butonum,uygula)

birden fazla ise:
Kod: lua
Lua:
butonum1 = guiCreateButton(50,50,150,30,"Benim butonum",false)
butonum2 = guiCreateButton(100,50,150,30,"2. butonum",false)
butonum3 = guiCreateButton(150,50,150,30,"3. butonum",false)
addEventHandler("onClientMouseEnter",root,
function()
        if source == butonum1 then
                outputChatBox("mouse 1. butonun üzerine geldi")
        elseif source == butonum2 then
                outputChatBox("mouse 2. butonun üzerine geldi")
        elseif source == butonum3 then
                outputChatBox("mouse 3. butonun üzerine geldi")
        end
end)
--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
Lua:
butonum = guiCreateButton(50,50,150,30,"Benim butonum",false)
function uygula()
    outputChatBox("mouse butonun üzerinden gitti")
end
addEventHandler("onClientMouseLeave",butonum,uygula)

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

Diğer Event

onClientGUIChanged: GUI element üzerinde (bu elementler edit veya memo olmak şartıyla) değişiklik yapılınca başlatılacak Eventtir.
Sözdizimi: addEventHandler("onClientGUIChanged",buton-degiskeni,fonksiyon-adi)
Kod: lua
Lua:
editim = guiCreateEdit(50,100,150,30,"Buraya bir şey yaz!",false)
function uygula()
    outputChatBox(guiGetText(editim).." olarak değiştirildi.")
end
addEventHandler("onClientGUIChanged",editim,uygula)

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

Öğrenmek istediğiniz başka Event olursa özel mesaj yoluyla bildirirseniz konuya eklerim.
 
Moderatörün son düzenlenenleri:
Banlı Üye
Katılım
9 Ağu 2017
Mesajlar
1,246
Çözümler
4
Tepki puanı
265
Ödüller
6
8 HİZMET YILI
c+ örenelimde bi luayada geliriz
 
Herkesin menfaatince kankisin bu hayatta.
Süper Üye
Katılım
22 Ara 2017
Mesajlar
1,461
Çözümler
1
Tepki puanı
542
8 HİZMET YILI
eyvallah kardeş güzel çalışma
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst