[YARDIM] Tıklama Eventinin Paneli de Etkilemesi

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı EazyE25

  • Yeni Üye
  • *
    • İleti: 18
Hepinize öncelikle iyi akşamlar.

Yaptığım bir scriptte toplamda 6 tane buton var ve satır olarak en sonda bulunan butonum bir yol aktifleme butonu. Nedense tüm sistemlerimde aynı şey oluyor ve en sonda bulunan onClientGUIClick eventi ile işlev verilen buton ile üzerine yazıldığı panel aynı işlevi görüyor. Bu durumu örneklendirecek olursak :

Bir panel yaptım ve buna bir yol aktif etme butonu , bir de kapatma butonu ekledim. Kapatma butonunun satırı yol aktif etmeden daha aşşağıda. Yani kapatma butonunun işlevini yol aktif etmenin işlevinden daha sonra verdim. Fakat bu işlev sadece kapatma işlevi yalnızca butona değil , butonun bulunduğu panele de veriliyor. Bu tamamen istemsizce veya hata üzerine gerçekleşen bir şey. Eğer yol aktif etmeyi en sona alırsam da yol aktif etme işlevi panele geçiyor. Bu hata daha önce de karşıma çıkmıştı ama yaptığım panelin arkasına şeffaf bir arkaplan koyarak işi çözdüğümü sanmıştım. Fakat artık bu işlem işe yaramıyor. Konu hakkında bilgisi olan arkadaşlar yardımcı olurlarsa sevinirim.
« Son Düzenleme: 13 Eylül 2019, 03:24:30 Gönderen: Narkoz »
Linki görebilmek için Kayıt olun yada Giriş yapın.
 


MTASATURK

[YARDIM] Tıklama Eventinin Paneli de Etkilemesi
« : 08 Ağustos 2019, 19:04:30 »

Çevrimdışı neyo-

  • Dev.
  • Yeni Üye
  • *
    • İleti: 7
Yanıtla #1 : 10 Ağustos 2019, 17:49:33
Linki görebilmek için Kayıt olun yada Giriş yapın.
Hepinize öncelikle iyi akşamlar.

Yaptığım bir scriptte toplamda 6 tane buton var ve satır olarak en sonda bulunan butonum bir yol aktifleme butonu. Nedense tüm sistemlerimde aynı şey oluyor ve en sonda bulunan onClientGUIClick eventi ile işlev verilen buton ile üzerine yazıldığı panel aynı işlevi görüyor. Bu durumu örneklendirecek olursak :

Bir panel yaptım ve buna bir yol aktif etme butonu , bir de kapatma butonu ekledim. Kapatma butonunun satırı yol aktif etmeden daha aşşağıda. Yani kapatma butonunun işlevini yol aktif etmenin işlevinden daha sonra verdim. Fakat bu işlev sadece kapatma işlevi yalnızca butona değil , butonun bulunduğu panele de veriliyor. Bu tamamen istemsizce veya hata üzerine gerçekleşen bir şey. Eğer yol aktif etmeyi en sona alırsam da yol aktif etme işlevi panele geçiyor. Bu hata daha önce de karşıma çıkmıştı ama yaptığım panelin arkasına şeffaf bir arkaplan koyarak işi çözdüğümü sanmıştım. Fakat artık bu işlem işe yaramıyor. Konu hakkında bilgisi olan arkadaşlar yardımcı olurlarsa sevinirim.
Muhtemelenbir yerde mantık hatası yapmış olabilirsin kodlarını yolla yardımcı olurlar
 


Çevrimdışı #Serius

  • Uzman Üye
  • *
    • İleti: 685
Yanıtla #2 : 10 Ağustos 2019, 18:00:16
Olay su dostum paneli render ederken bir degisken kullan. 'durum' die bir değişken kullanalım

Kod
addEventHandler("onClientRender",root,function()
     if durum == true then -- eğer durum true ise altaki kodları çalıştır
   -- kodlar
    dxDrawRectangle(x+4,y+4,w-8,20,tocolor(35,35,35,120))
 dxDrawRectangle(x+4,y+50,w-8,20,tocolor(35,35,35,120))
   end
end)
-- tıklama eventi
 addEventHandler("onClientClick",root,function(button,durum)
     if button == "left" and durum == "down" then -- eğer mousenin sol tuşuyla tıklanmışsa
        if mouse_bolgedemi(x+4,y+4,w-8,20) and durum == true then -- eğer durum aktifse yani true ise çalıştır değilse çalıştırma!
         outputChatBox("1. Butona tıklandı")
         return end
  if mouse_bolgedemi(x+4,y+50,w-8,20) and durum == true then -- eğer durum aktifse yani true ise çalıştır değilse çalıştırma!
         outputChatBox("2. Butona tıklandı")
         return end
     end
end)

function mouse_bolgedemi ( x, y, width, height )
if ( not isCursorShowing( ) ) then
return false
end
local sx, sy = guiGetScreenSize ( )
local cx, cy = getCursorPosition ( )
local cx, cy = ( cx * sx ), ( cy * sy )
if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then
return true
else
return false
end
end

-- olmazssa bana kodları at yardımcı olayım dostum ben dx olarak anlattım.

« Son Düzenleme: 10 Ağustos 2019, 18:02:23 Gönderen: By.Angel »
 


Çevrimdışı ertrldtcu

  • Uzman Üye
  • *
    • İleti: 589
Yanıtla #3 : 10 Ağustos 2019, 21:22:56
mta guinin bittiği nokta denilebilir
tüm click eventlerini tek bi functa toplayıp hangi butona tıklandığını kontrol etmelisin
yaptığım bi kaç panelin click funclarını incelersen daha rahat anlayabilirsin
system