Hoşgeldin Misafir

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

NasyoneL

NasyoneL

Karanlık Özgürlüktür
25 Ağu 2017
25,060 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
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 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.