22 Haziran 2018, 14:06:31

Gönderen Konu: Hazır GUI Fonksiyonları (pxLib)  (Okunma sayısı 698 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Paradox

  • Kurucu
  • *
  • İleti: 640
  • SH Gaming
Hazır GUI Fonksiyonları (pxLib)
« : 08 Mayıs 2017, 17:39:00 »
Kullanımı:

Kod: Lua
  1. panelOlustur(x,y,genislik,uzunluk,panel adı,r,g,b,[ortalama])
Spoiler for Hiden:
x = Panelin oluşturulacağı x koordinatı
y = Panelin oluşturulacağı x koordinatı
genislik = Panelin genişliği
uzunluk = Panelin uzunluğu
panelOlustur = Panelin adı
r,g,b = Panelin renk kodları
ortalama = Eğer true yapılırsa panel otomatik olarak ortalanır

Kod: Lua
  1. butonOlustur(x,y,genislik,uzunluk,buton adı,r,g,b,[GUI])
Spoiler for Hiden:
x = Butonun oluşturulacağı x koordinatı
y = Butonun oluşturulacağı x koordinatı
genislik = Butonun genişliği
uzunluk = Butonun uzunluğu
panel adı = Butonun adı
r,g,b = Butonun renk kodları
GUI = İçine yazılacak GUI elementi

pxLib: Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
Spoiler for Hiden:
Kod: Lua
  1. -- www.MTASA-TURK.com
  2. -- Paradox
  3.  
  4. pxLib = {
  5.     panelust = {},
  6.     panel = {},
  7.         panel_label = {},
  8.         buton = {},    
  9.         buton_arkaplan = {},
  10.         panelsayi = 0,
  11.         butonsayi = 0  
  12. }
  13.  
  14. function panelOlustur(x,y,x2,y2,ad,r,g,b,ortalama)
  15.     if x and y and x2 and y2 and ad and r and g and b then
  16.             pxLib.panelsayi = pxLib.panelsayi + 1              
  17.             pxLib.panel[pxLib.panelsayi] = guiCreateStaticImage(x,y+22,x2,y2, "resimler/arkaplan.png", false )
  18.         guiSetProperty(pxLib.panel[pxLib.panelsayi], "ImageColours", "tl:D2000000 tr:D2000000 bl:D2000000 br:D2000000")                        
  19.             pxLib.panelust[pxLib.panelsayi] = guiCreateStaticImage(0,0,x2,22, "resimler/arkaplan.png", false ,pxLib.panel[pxLib.panelsayi])    
  20.         guiSetProperty(pxLib.panelust[pxLib.panelsayi], "ImageColours", "tl:"..RGBToHex(250,r,g,b).." tr:"..RGBToHex(250,r,g,b).." bl:"..RGBToHex(250,r,g,b).." br:"..RGBToHex(250,r,g,b).."")         
  21.             pxLib.panel_label[pxLib.panelsayi] = guiCreateLabel(0,0,x2,22,ad,false,pxLib.panelust[pxLib.panelsayi])    
  22.         guiSetFont(pxLib.panel_label[pxLib.panelsayi], "default-bold-small")
  23.         guiLabelSetHorizontalAlign(pxLib.panel_label[pxLib.panelsayi], "center", false)
  24.         guiLabelSetVerticalAlign(pxLib.panel_label[pxLib.panelsayi], "center")
  25.                
  26.                 if ortalama==true then
  27.                     local screenW, screenH = guiGetScreenSize()
  28.             local windowW, windowH = x2,y2
  29.             local x, y = (screenW - windowW) /2,(screenH - windowH) /2
  30.                     guiSetPosition(pxLib.panel[pxLib.panelsayi], x, y, false)                  
  31.                 end
  32.                 return pxLib.panel[pxLib.panelsayi]
  33.         end
  34. end
  35.  
  36. function butonOlustur(x,y,x2,y2,ad,r,g,b,gui)
  37.     if x and y and x2 and y2 and ad and r and g and b then
  38.             pxLib.butonsayi = pxLib.butonsayi + 1      
  39.             pxLib.buton_arkaplan[pxLib.butonsayi] = guiCreateStaticImage(x,y,x2,y2, "resimler/buton.png", false, gui or nil )  
  40.         guiSetProperty(pxLib.buton_arkaplan[pxLib.butonsayi], "ImageColours", "tl:"..RGBToHex(180,r,g,b).." tr:"..RGBToHex(180,r,g,b).." bl:"..RGBToHex(180,r,g,b).." br:"..RGBToHex(180,r,g,b).."")           
  41.             pxLib.buton[pxLib.butonsayi] = guiCreateLabel(0,0,x2,y2,ad,false,pxLib.buton_arkaplan[pxLib.butonsayi])    
  42.         guiSetFont(pxLib.buton[pxLib.butonsayi], "default-bold-small")
  43.         guiLabelSetHorizontalAlign(pxLib.buton[pxLib.butonsayi], "center", false)
  44.         guiLabelSetVerticalAlign(pxLib.buton[pxLib.butonsayi], "center")
  45.         butonEfekt(pxLib.butonsayi,r,g,b)
  46.         return pxLib.buton[pxLib.butonsayi]            
  47.         end
  48. end
  49.  
  50. function butonEfekt(i,r,g,b)
  51.     addEventHandler( "onClientMouseEnter",root,function()
  52.                 if source == pxLib.buton[i] then
  53.                 guiSetProperty(pxLib.buton_arkaplan[i], "ImageColours", "tl:"..RGBToHex(250,r,g,b).." tr:"..RGBToHex(250,r,g,b).." bl:"..RGBToHex(250,r,g,b).." br:"..RGBToHex(250,r,g,b).."")
  54.                 end
  55.     end)
  56.        
  57.     addEventHandler( "onClientMouseLeave",root,function()
  58.                 if source == pxLib.buton[i] then                       
  59.             guiSetProperty(pxLib.buton_arkaplan[i], "ImageColours", "tl:"..RGBToHex(180,r,g,b).." tr:"..RGBToHex(180,r,g,b).." bl:"..RGBToHex(180,r,g,b).." br:"..RGBToHex(180,r,g,b).."")
  60.         end
  61.         end)   
  62. end
  63.  
  64. local _guiSetVisible = guiSetVisible
  65. function guiSetVisible(element,durum)
  66.     for i=1,pxLib.butonsayi do
  67.         if element == pxLib.buton[i] then
  68.                     _guiSetVisible(pxLib.buton_arkaplan[pxLib.butonsayi],durum)
  69.                 else
  70.                     _guiSetVisible(element,durum)
  71.                 end
  72.         end    
  73. end
  74.  
  75. --- USEFUL FUNCTIONS ---
  76. ------------------------
  77.  
  78. function RGBToHex(alpha, red,green, blue )
  79.         if((red < 0 or red > 255 or green < 0 or green > 255 or blue < 0 or blue > 255) or (alpha and (alpha < 0 or alpha > 255))) then
  80.                 return nil
  81.         end
  82.         if(alpha) then
  83.                 return string.format("%.2X%.2X%.2X%.2X", alpha,red,green,blue)
  84.         else
  85.                 return string.format("%.2X%.2X%.2X", red,green,blue)
  86.         end
  87. end
resimler/arkaplan.png

resimler/buton.png

Örnek: Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
Spoiler for Hiden:
Kod: Lua
  1. -- www.MTASA-TURK.com
  2. -- Paradox
  3.  
  4. addEventHandler( "onClientResourceStart", getRootElement(),function()
  5.     panelOlustur(0,0,250,250,"Deneme Panel",0,255,170,true) -- Panel Adı: pxLib.panel[1]
  6.     butonOlustur(20,180,100,32,"Deneme Buton",250,0,250,pxLib.panel[1]) -- Buton Adı: pxLib.buton[1]
  7.     butonOlustur(150,180,70,32,"Kapat",250,0,250,pxLib.panel[1]) -- Buton Adı: pxLib.buton[2]
  8.     showCursor(true)   
  9. end)
  10.  
  11. addEventHandler ( "onClientGUIClick", getRootElement(),function()
  12.     if source == pxLib.buton[1] then
  13.             -- Deneme Buton isimli butona basınca yapacakların
  14.         elseif source == pxLib.buton[2] then
  15.             guiSetVisible(pxLib.panel[1],false) -- Kapat butonuna bastığında panelin kapanmasını sağlar
  16.                 showCursor(false)
  17.         end
  18. end)
Alınacak sonuç:



Güncellemeler:
  • 15.05.2017 - 'onClientMouseEnter' ve 'onClientMouseLeave' sorunu giderildi.
  • 16.05.2017 - Değişken atama eklendi. Butonda 'guiSetVisible' fonksiyonu düzenlendi.
« Son Düzenleme: 10 Haziran 2018, 23:23:59 Gönderen: LJ »
 
Mesajı Beğenenler: Tofask, Rüzgar

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

Hazır GUI Fonksiyonları (pxLib)
« : 08 Mayıs 2017, 17:39:00 »

ertrldtcu

  • Deneyimli Üye
  • *
  • İleti: 429
Ynt: Hazır GUI Fonksiyonları (pxLib)
« Yanıtla #1 : 08 Mayıs 2017, 17:43:06 »
Ellerine sağlık. Fonksiyonların içine 2 eventi eklemişsin ve bunlar butonun görünümüyle alakalı. Yeni başlayan arkadaşlar tıklama eventini kullanmada sıkıntı çekebilir. Tıklama eventini de oluşturma fonksyionlarının içine eklersen veya oluşturma fonksiyonlarına return eklersen değişken ile daha rahat eventler kullanabilirler.
« Son Düzenleme: 08 Mayıs 2017, 18:22:32 Gönderen: ertrldtcu »
Script yazmak için sadece kod bilmek yetmez.
 

ByCash

  • Süper Moderatör
  • *
  • İleti: 935
  • LS Gaming
    • MTASA-TURK
Ynt: Hazır GUI Fonksiyonları (pxLib)
« Yanıtla #2 : 08 Mayıs 2017, 17:49:08 »
Yeni başlayanlar için yararlı olmuş, eline sağlık.
 

Shephard

  • drugs
  • Grafiker
  • *
  • İleti: 469
  • 1337
Ynt: Hazır GUI Fonksiyonları (pxLib)
« Yanıtla #3 : 08 Mayıs 2017, 18:15:52 »
Eline sağlık.
shephard^  ( skype: shephard_99 | 1337 team )
Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
 

CruzerGq

  • Süper Moderatör
  • *
  • İleti: 503
  • LS Gaming | Hırsız & Polis
    • MTASA-TURK
Ynt: Hazır GUI Fonksiyonları (pxLib)
« Yanıtla #4 : 08 Mayıs 2017, 20:50:44 »
Eline sağlık.
 

Narkoz

  • Kurucu
  • *
  • İleti: 511
  • SH Gaming
Ynt: Hazır GUI Fonksiyonları (pxLib)
« Yanıtla #5 : 08 Mayıs 2017, 23:12:35 »
Eline sağlık yararlı paylaşım.
 

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

Ynt: Hazır GUI Fonksiyonları (pxLib)
« Yanıtla #5 : 08 Mayıs 2017, 23:12:35 »

Paradox

  • Kurucu
  • *
  • İleti: 640
  • SH Gaming
Ynt: Hazır GUI Fonksiyonları (pxLib)
« Yanıtla #6 : 09 Mayıs 2017, 00:01:31 »
Yorumlarınız için teşekkürler.

Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
Ellerine sağlık. Fonksiyonların içine 2 eventi eklemişsin ve bunlar butonun görünümüyle alakalı. Yeni başlayan arkadaşlar tıklama eventini kullanmada sıkıntı çekebilir. Tıklama eventini de oluşturma fonksyionlarının içine eklersen veya oluşturma fonksiyonlarına return eklersen değişken ile daha rahat eventler kullanabilirler.
Sadece görünüş açısından değişiklik yapılmasını daha uygun görüyorum. Diğer ek eventleri kendileri ekleyebilirler.
 

MarkeloF

  • Moderatör
  • *
  • İleti: 604
  • Just do it.
Ynt: Hazır GUI Fonksiyonları (pxLib)
« Yanıtla #7 : 09 Mayıs 2017, 07:35:51 »
Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
Ellerine sağlık. Fonksiyonların içine 2 eventi eklemişsin ve bunlar butonun görünümüyle alakalı. Yeni başlayan arkadaşlar tıklama eventini kullanmada sıkıntı çekebilir. Tıklama eventini de oluşturma fonksyionlarının içine eklersen veya oluşturma fonksiyonlarına return eklersen değişken ile daha rahat eventler kullanabilirler.

+1

Eline sağlık.
                                                 
 

Cynax

  • #
  • Uzman Üye
  • *
  • İleti: 546
  • Bıraktı
Ynt: Hazır GUI Fonksiyonları (pxLib)
« Yanıtla #8 : 09 Mayıs 2017, 12:40:22 »
Linkleri Görebilmek İçin Kayıt Olun veya Giriş Yapın
Eline sağlık.
 

Prose

  • Deneyimli Üye
  • *
  • İleti: 472
  • Gökhan Türkoglu
Ynt: Hazır GUI Fonksiyonları (pxLib)
« Yanıtla #9 : 28 Mayıs 2017, 18:04:15 »
Daha Detaylı Anlatım Olabilirdi

Eline Saglık
 

murathanryz

  • Murathan Dönmez
  • Yeni Üye
  • *
  • İleti: 67
  • Metro Gaming
Ynt: Hazır GUI Fonksiyonları (pxLib)
« Yanıtla #10 : 28 Mayıs 2017, 19:12:59 »
Ellerine sağlık, yararlı. .)