Bu konuda bazı GUI fonksiyonları kullanmayı öğreteceğim. Tüm GUI fonksiyonları için Linki görebilmek için
Kayıt olun yada
Giriş yapın.'yi ziyaret edebilirsiniz.
Sözdizimlerinde kullandığım kavramların açıklamaları:
x: yazılan değer sayı olmak zorundadır. Sayı değeri arttıkça gui element sağa kayar, azaldıkça sola kayar.
y: yazılan değer sayı olmak zorundadır. Sayı değeri arttıkça gui element aşağı kayar, azaldıkça yukarı kayar.
genislik: yazılan değer sayı olmak zorundadır. Sayı değeri arttıkça gui element sağa doğru genişler, azaldıkça sola doğru daralır.
uzunluk: yazılan değer sayı olmak zorundadır. Sayı değeri arttıkça gui element aşağı doğru genişler, azaldıkça yukarı doğru daralır.
degisken: Daha önceden GUI element oluşturduğunuzda ='den önceki kısma yazdığınız yazı. Sadece ingilizce karakter ve sayı kullanılabilir. Boşluk kullanılamaz.
-- (iki eksi): LUA satırdaki iki eksiden sonraki kısmı okumaz.
durum: true veya false değerleri verilir. true olumlu, false olumsuz anlamına gelir.
r,g,b: 3 değişkenli renk kodu düzeni. Örneğin: 255,155,55
GUI'ye giriş yapmadan önce outputChatBox ve setTimer anlatayım. Bu fonksiyon ile sohbette yazı çıkartabilirsiniz.
outputChatBox: Sohbet kısmına yazı yollamanızı sağlar.
Sözdizimi : outputChatBox("yazmak istediğiniz yazı")
setTimer: Belirli bir süreyle fonksiyonu başlatmanızı sağlar.
Sözdizimi : setTimer(fonksiyon-adı,kaç saniye sonra başlasın,kaç kere tekrar etsin) -- tekrar sayısını 0 yaparsanız sınırsız olur.
Şimdi başlayalım GUI'ye
Panel FonksiyonlarıguiCreateWindow: Boş bir panel oluşturmanızı sağlar.
Sözdizimi: guiCreateWindow(x,y,genislik,uzunluk,"panel başlığı",false)
panel = guiCreateWindow(150,200,250,250,"Deneme panel",false)
guiWindowSetMovable: Oyuncunun paneli hareket ettirmesini engellemenize yarar.
Sözdizimi: guiWindowSetMovable(panel-degiskeni, durum)-- durum true olursa hareket ettirilir, false olursa ettirilemez
panel = guiCreateWindow(150,200,250,250,"Deneme panel",false)
guiWindowSetMovable(panel,false) -- panel yazan kısma panel değişkenini yazıcaksınız
guiWindowSetSizable: Oyuncunun panelin boyutunu değiştirmesini engellemenizi sağlar.
Sözdizimi: guiWindowSetSizable(panel-degiskeni, durum)-- durum true olursa boyutu değiştirilebilir, false olursa değiştirilemez
panel = guiCreateWindow(150,200,250,250,"Deneme panel",false)
guiWindowSetSizable(panel,false)-- panel yazan kısma panel değişikenini yazacaksınız
guiSetProperty(panel-degiskeni, "CaptionColour", "FFrenk kodu"): Panelin başlığına renk vermenizi sağlar. Renk kodunun başına FF eklemelisiniz
panel = guiCreateWindow(150,200,250,250,"Deneme panel",false)
guiSetProperty(panel, "CaptionColour", "FFFF0000")-- panel başlığını kırmızı renk yaptık
Paneli ekranın tam ortasına almak için kullanılacak kod:screenx,screeny = guiGetScreenSize()
genislik, yukseklik = 500, 250 -- buradan panelin boyutunu ayarlıyorsunuz.
x, y = (screenx/2-genislik/2), (screeny/2-yukseklik/2)
guiCreateWindow(x, y,genislik,yukseklik,"Deneme panel",false) -- panelin konum ve boyutunu bu şekilde yapıyorsunuz
Linki görebilmek için
Kayıt olun yada
Giriş yapın.Buton FonksiyonuguiCreateButton: Tıklamalarda kullanmak için bir buton oluşturmanızı sağlar.
Sözdizimi: guiCreateButton(x,y,genislik,uzunluk,"buton yazısı",false)
butonum = guiCreateButton(40,50,120,30,"Deneme buton",false)--false'den sonra bir virgül koyup panel değişkenini yazarak panelinize bağlayabilirsiniz.
Linki görebilmek için
Kayıt olun yada
Giriş yapın.CheckBox FonksiyonlarıguiCreateCheckBox: Ufak bir kutucuk oluşturur. Genellik seçim yaparken kullanılır.
Sözdizimi: guiCreateCheckBox(x,y,genislik,uzunluk,"checkbox yazısı",durum,false)-- durum true ise seçilmiş, false ise seçilmemiş anlamına gelir.
checkboxum = guiCreateCheckBox(10,20,150,30,"Deneme checkboxum",true,false)-- false'den sonra bir virgül koyup panel değişkenini yazarak panelinize bağlayabilirsiniz
Linki görebilmek için
Kayıt olun yada
Giriş yapın.guiCheckBoxSetSelected: Checkbox'un seçilme durumunu değiştirmenize yarar.
Sözdizimi: guiCheckBoxSetSelected(checkbox-degiskeni,durum)-- durum true olursa seçer, false olursa seçimi kaldırır.
checkboxum = guiCreateCheckBox(10,20,150,30,"Deneme checkboxum",true,false)-- burada seçili
guiCheckBoxSetSelected(checkboxum,false)-- artık seçili değil
guiCheckBoxGetSelected: Checkbox'un seçilme durumunu çeker.
Sözdizimi: guiCheckBoxGetSelected(checkbox-degiskeni)
checkboxum = guiCreateCheckBox(10,20,150,30,"Deneme checkboxum",true,false)
checkbox-durumu = guiCheckBoxGetSelected(checkboxum)
outputChatBox(checkbox-durumu)-- chatboxta checkboxun seçili olup olmadığı yazacak
ComboBox FonksiyonlarıguiCreateComboBox: Tıklayınca açılan bir liste oluşturur.
Sözdizimi: guiCreateComboBox(x,y,genislik,uzunluk,"combobox yazısı",false)
comboboxum = guiCreateComboBox(85,60,105,30,"Skinler",false)-- false'den sonra bir virgül koyup panel değişkenini yazarak panelinize bağlayabilirsiniz
Linki görebilmek için
Kayıt olun yada
Giriş yapın.guiComboBoxAddItem: Comboboxunuza bir seçenek eklemenizi sağlar.
Sözdizimi: guiComboBoxAddItem(combobox-degiskeni,"eklenecek seçenek")
comboboxum = guiCreateComboBox(85,60,105,30,"Skinler",false)
guiComboBoxAddItem(comboboxum, "CJ Skini")
Linki görebilmek için
Kayıt olun yada
Giriş yapın.guiComboBoxClear: Combobox'taki tüm seçenekleri silmenizi sağlar.
Sözdizimi: guiComboBoxClear(combobox-degiskeni)
comboboxum = guiCreateComboBox(85,60,105,30,"Skinler",false)
guiComboBoxClear(comboboxum)
guiComboBoxGetItemText: Combobox'taki seçeneğin yazısını çeker.
Sözdizimi: guiComboBoxGetItemText(combobox-degiskeni, secilen-satir)
comboboxum = guiCreateComboBox(85,60,105,30,"Skinler",false)
secili = guiComboBoxGetSelected(comboboxum)
yazisi = guiComboBoxGetItemText(comboboxum,secili)
outputChatBox(yazisi)-- seçilen seçeneğin yazısını chatboxta çıkardık
guiComboBoxSetItemText: Combobox'taki seçeneğin yazısını değiştirir.
Sözdizimi: guiComboBoxSetItemText(combobox-degiskeni, secenek-id, yeni-yazi)
comboboxum = guiCreateComboBox(85,60,105,30,"Skinler",false)
secili = guiComboBoxGetSelected(comboboxum)
guiComboBoxSetItemText(comboboxum, secili, "Seçildi")-- seçilen seçeneğin yazısını değiştirdik
guiComboBoxRemoveItem: Combobox'taki seçeneği silmemizi sağlar.
Sözdizimi: guiComboBoxRemoveItem(combobox-degiskeni, secenek-id)
comboboxum = guiCreateComboBox(85,60,105,30,"Skinler",false)
secili = guiComboBoxGetSelected(comboboxum)
guiComboBoxRemoveItem(comboboxum, secili)-- seçilen seçeneği sildik
guiComboBoxGetSelected: Combobox'taki seçilen seçeneği çeker.
Sözdizimi: guiComboBoxGetSelected(combobox-degiskeni)
Edit FonksiyonlarıguiCreateEdit: Oyuncunun yazı yazabileceği kutucuk oluşturur.
Sözdizimi: guiCreateEdit(x,y,genislik,uzunluk,"edit yazısı",false)
editim = guiCreateEdit(50,100,150,30,"Buraya bir şey yaz!",false)-- false'den sonra bir virgül koyup panel değişkenini yazarak panelinize bağlayabilirsiniz
Linki görebilmek için
Kayıt olun yada
Giriş yapın.guiEditSetMaxLength: Edit'e yazılabilecek maksimum karakter sayısını ayarlamanızı sağlar.
Sözdizimi: guiEditSetMaxLength(edit-degiskeni, maks-karakter-sayisi)
editim = guiCreateEdit(50,100,150,30,"Buraya bir şey yaz!",false)
guiEditSetMaxLength(editim,150)
guiSetProperty(edit-degiskeni, "ValidationString", "[0-9]*"): Edit'e sadece sayı yazılabilmesini sağlar.
editim = guiCreateEdit(50,100,150,30,"Buraya bir şey yaz!",false)
guiSetProperty(editim, "ValidationString", "[0-9]*")
guiEditSetReadOnly: Edit'e yazdığınız yazının değiştirilememesini sağlar.
Sözdizimi: guiEditSetReadOnly(edit-degiskeni, durum)-- durum true olursa yazı değiştirilebilir, false olursa değiştirilemez.
editim = guiCreateEdit(50,100,150,30,"Buraya bir şey yaz!",false)
guiEditSetReadOnly(editim,false)
guiEditSetMasked: Edit'e yazılan yazının gizlenmesini sağlar. (her karakter * olarak gözükür)
Sözdizimi: guiEditSetMasked(edit-degiskeni,durum)-- true olursa içerik gizlenir, false olursa gizlenmez.
editim = guiCreateEdit(50,100,150,30,"Buraya bir şey yaz!",false)
guiEditSetMasked(editim,true)
Linki görebilmek için
Kayıt olun yada
Giriş yapın.Memo FonksiyonlarıguiCreateMemo: Editte her şeyi bir satıra yazabiliyorsunuz. Memo'da alt satıra geçme şansınız oluyor.
Sözdizimi: guiCreateMemo(x,y,genislik,uzunluk,"memo yazısı",false)
memom = guiCreateMemo(25,50,75,100,"Canım Memom <3",false)-- false'den sonra bir virgül koyup panel değişkenini yazarak panelinize bağlayabilirsiniz
Linki görebilmek için
Kayıt olun yada
Giriş yapın.guiMemoSetReadOnly: Memo'ya yazdığınız yazının değiştirilememesini sağlar.
Sözdizimi: guiMemoSetReadOnly(memo-degiskeni, durum)-- durum true olursa yazı değiştirilebilir, false olursa değiştirilemez.
memom = guiCreateMemo(25,50,75,100,"Canım Memom <3",false)
guiMemoSetReadOnly(memom,false)
Tab Panel FonksiyonlarıguiCreateTabPanel: Sekmeli bir panel oluşturmanızı sağlar.
Sözdizimi: guiCreateTabPanel(x,y,genislik,uzunluk,false)
tabpanelim = guiCreateTabPanel(20,40,200,300,false)-- false'den sonra bir virgül koyup panel değişkenini yazarak panelinize bağlayabilirsiniz
guiCreateTab: Tab paneline sekme eklemenizi sağlar.
Sözdizimi: guiCreateTab(sekme-adi,tabpanel-degiskeni)
tabpanelim = guiCreateTabPanel(20,40,200,300,false)
kurallartab = guiCreateTab("Kurallar",tabpanelim)
Linki görebilmek için
Kayıt olun yada
Giriş yapın.Label FonksiyonlarıguiCreateLabel: Yazı yazabileceğiniz boş bir katman oluşturur.
Sözdizimi: guiCreateLabel(x,y,genislik,uzunluk,"label yazısı",false)
labelim = guiCreateLabel(80,100,250,300,"vay canınaaa",false)-- false'den sonra bir virgül koyup panel değişkenini yazarak panelinize bağlayabilirsiniz
guiLabelSetColor: Oluşturduğunuz labela renk vermenizi sağlar.
Sözdizimi: guiLabelSetColor(label-degiskeni,r,g,b,)-- örnek r,g,b -> 255,155,55
labelim = guiCreateLabel(80,100,250,300,"vay canınaaa",false)
guiLabelSetColor(labelim,255,155,55)
Linki görebilmek için
Kayıt olun yada
Giriş yapın.guiLabelSetHorizontalAlign: Label'daki yazıyı yatay olarak hizalamayı sağlar.
Sözdizimi: guiLabelSetHorizontalAlign(label-degiskeni-"konum")-- 3 adet konum vardır: "left"(sola hizalar) "center"(ortaya hizalar) "right"(sağa hizalar)
labelim = guiCreateLabel(80,100,250,300,"vay canınaaa",false)
guiLabelSetHorizontalAlign(labelim,"center")
guiLabelSetVerticalAlign: Label'daki yazıyı dikey olarak hizalamayı sağlar.
Sözdizimi: guiLabelSetVerticalAlign(label-degiskeni,"konum")-- 3 adet konum vardır: "top"(yukarı hizalar) "center"(ortaya hizalar) "bottom"(alta hizalar)
labelim = guiCreateLabel(80,100,250,300,"vay canınaaa",false)
guiLabelSetVerticalAlign(labelim,"center")
Resim FonksiyonuguiCreateStaticImage: Resim oluşturmanızı sağlar.
Sözdizimi: guiCreateStaticImage(x,y,genislik,uzunluk,"resim-konumu",false)
resimim = guiCreateStaticImage(50,50,250,250,"arabam.png",false)-- false'den sonra bir virgül koyup panel değişkenini yazarak panelinize bağlayabilirsiniz
Linki görebilmek için
Kayıt olun yada
Giriş yapın.GridList FonksiyonlarıguiCreateGridList: Satır ekleyebileceğiniz bir liste oluşturur.
Sözdizimi: guiCreateGridList(x,y,genislik,uzunluk,false)
gridlistim = guiCreateGridList(30,40,100,350,false)-- false'den sonra bir virgül koyup panel değişkenini yazarak panelinize bağlayabilirsiniz
guiGridListAddColumn: Gridlist'e yeni bir sütun ekler.
Sözdizimi: guiGridListAddColumn(gridlist-degiskeni, "sütun yazısı", genislik)-- 0 < genislik <= 1
gridlistim = guiCreateGridList(30,40,100,350,false)
sutun = guiGridListAddColumn(gridlistim, "<3 Sütunum <3", 0.7)
guiGridListAddRow: Gridlist'e yeni bir satır ekler.
Sözdizimi: guiGridListAddRow(gridlist-degiskeni)-- virgül koyup "" içinde bir yazı yazarsanız sıradaki sütuna eklenir.
gridlistim = guiCreateGridList(30,40,100,350,false)
sutun = guiGridListAddColumn(gridlistim, "<3 Sütunum <3", 0.7)
satirim = guiGridListAddRow(gridlistim, "örnek satır")
guiGridListClear: Gridlist'teki her şeyi siler.
Sözdizimi: guiGridListClear(gridlist-degiskeni)
gridlistim = guiCreateGridList(30,40,100,350,false)
sutun = guiGridListAddColumn(gridlistim, "<3 Sütunum <3", 0.7)
satirim = guiGridListAddRow(gridlistim, "örnek satır")
setTimer(guiGridListClear,5000,1,gridlistim)-- gridlistteki her şey 5 saniye sonra her şey silindi
guiGridListRemoveColumn: Gridlist'teki sütunu siler.
Sözdizimi: guiGridListRemoveColumn(gridlist-degiskeni,sütun-degiskeni)
gridlistim = guiCreateGridList(30,40,100,350,false)
sutun = guiGridListAddColumn(gridlistim, "<3 Sütunum <3", 0.7)
setTimer(guiGridListRemoveColumn,5000,1,gridlistim,sutun)-- gridlistteki sütun 5 saniye sonra silinir
guiGridListRemoveRow: Gridlist'teki satırı siler.
Sözdizimi: guiGridListRemoveRow(gridlist-degiskeni,satir-degiskeni)
gridlistim = guiCreateGridList(30,40,100,350,false)
satirim = guiGridListAddRow(gridlistim, "örnek satır")
setTimer(guiGridListRemoveRow,5000,1,gridlistim,satirim )-- gridlistteki satır 5 saniye sonra silinir
guiGridListSetItemColor: Gridlist'teki satırın rengini değiştirebilmenizi sağlar.
Sözdizimi: guiGridListSetItemColor(gridlist-degiskeni,satır-degiskeni,sütun-degiskeni,r,g,b)
gridlistim = guiCreateGridList(30,40,100,350,false)
sutun = guiGridListAddColumn(gridlistim, "<3 Sütunum <3", 0.7)
satirim = guiGridListAddRow(gridlistim, "örnek satır")
guiGridListSetItemColor(gridlistim,satirim,sutun,255,155,55)
Linki görebilmek için
Kayıt olun yada
Giriş yapın.Kullanışlı FonksiyonlarguiSetFont: GUI elementin fontunu değiştirmenize yarar.
Sözdizimi: guiSetFont(degisken,font)
labelim = guiCreateLabel(80,100,250,300,"vay canınaaa",false)
guiSetFont(labelim,"sa-gothic")
Linki görebilmek için
Kayıt olun yada
Giriş yapın.guiGetText: GUI elementteki yazıyı çekmenizi sağlar.
Sözdizimi: guiGetText(degisken)
guiSetText: GUI elementteki yazıyı değiştirmenizi sağlar.
Sözdizimi: guiSetText(degisken,"Yeni yazı")
guiSetAlpha: GUI elementin şeffaflığını ayarlamanızı sağlar. 0 ile 1 arasında bir değer verebilirsiniz. 0'a yanaştıkça şeffaflık artar, 1'e yanaştıkça şeffaflık azalır.
Sözdizimi: guiSetAlpha(degisken,seffaflik)-- 0 <= seffaflik <= 1
guiSetVisible: GUI elementin görünürlüğünü ayarlamanızı sağlar.
Sözdizimi: guiSetVisible(degisken,durum)-- durum true olursa görünür, false olursa görünmez olur.
guiGetVisible: GUI elementin görünürlüğünü çekmeye yarar.
Sözdizimi: guiGetVisible(degisken)
showCursor: Mouse imlecini açıp kapamaya yarar.
Sözdizimi: showCursor(durum)-- durum true olursa görünür, false olursa görünmez.
Bindkey ekleme:bindKey( "tus", "down",
function()
guiSetVisible(panel-degiskeni, not guiGetVisible(panel-degiskeni))
showCursor(guiGetVisible(panel-degiskeni))
end)
Serverdeki oyuncuları GridList'e aktarma:function oyuncusirala()
guiGridListClear(gridlist-degiskeni)
for id, players in ipairs (getElementsByType("player")) do
local satirekle = guiGridListAddRow(gridlist-degiskeni)
guiGridListSetItemText(gridlist-degiskeni,satirekle,sutun-degiskeni,string.gsub(getPlayerName(players),'#%x%x%x%x%x%x',''),false,false)
guiGridListSetItemData(gridlist-degiskeni,satirekle,sutun-degiskeni,getPlayerName(players))
end
end
-- eklenmesi gereken Eventler
addEventHandler("onClientPlayerJoin", root, oyuncusirala) -- oyuncu servere girince liste yenilenir
addEventHandler("onClientPlayerQuit", root, oyuncusirala) -- oyuncu serverden çıkınca liste yenilenir
addEventHandler("onClientPlayerChangeNick", root, oyuncusirala) -- oyuncu nick değiştirince liste yenilenir
addEventHandler("onClientResourceStart", resourceRoot, oyuncusirala) -- script başlatıldığında liste yenilenir
Tarafımca yazılmıştır.