[YARDIM] Gridlistte Seçilen Kişiye İşlevi Verme

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Yavuzay

  • Yeni Üye
  • *
    • İleti: 37
Yanıtla #15 : 30 Ocak 2018, 00:24:23
Herhangi bir debug yok senden kaynaklı bir şeyler var
 


MTASATURK

Ynt: Gridlistte seçilen kişiye butondaki işlevi vermek
« Yanıtla #15 : 30 Ocak 2018, 00:24:23 »

Çevrimdışı #Serius

  • Uzman Üye
  • *
    • İleti: 685
Yanıtla #16 : 30 Ocak 2018, 00:27:19
Sunucudan çıkıp birdaha gir :D
 


Çevrimdışı ByCash

  • Admin
  • *
    • İleti: 986
Yanıtla #17 : 30 Ocak 2018, 00:29:01
Telefondan yazdım bir hata çıkarsa geri dönüş yaparsın.

client-side
Kod: lua
--[[ByCash
Bu kod MTA:SA Üretim Ekibi tarafından hazırlanmıştır.
WebSite: www.MTASA-TURK.com
]]

MTASAUretimEkibi = {
 durum = "onClientMouseClick", --[[Eventin gerçekleşeceği durum.]]
 element = getRootElement() --[[Durumun gerçekleşeceği element.]]
 buton = butonadi, --[[İşlevi gerçekleştirecek "Buton".]]
 gridlist = gridlistadi, --[[Oyuncu listesinin bulunduğu "GridList".]]
 trigger_event = "MuteEvent_", --[[server-side dan çekilecek event.]]
}

addEventHandler(MTASAUretimEkibi.durum, MTASAUretimEkibi.element,
function()
local oyuncu_ = getPlayerFromName(guiGridListGetItemData(MTASAUretimEkibi.gridlist, guiGridListGetSelectedItem(MTASAUretimEkibi.gridlist), 1))
local yetkili_ = getLocalPlayer()
if source == MTASAUretimEkibi.buton then
if isElement(oyuncu_) then
triggerServerEvent(MTASAUretimEkibi.trigger_event, oyuncu_, yetkili_)
end
end
end)


server-side
Kod: lua
--[[ByCash
Bu kod MTA:SA Üretim Ekibi tarafından hazırlanmıştır.
WebSite: www.MTASA-TURK.com
]]

MTASAUretimEkibi = {
 durum = "MuteEvent_", --[[Eventin gerçekleşeceği durum.]]
 element = getRootElement() --[[Durumun gerçekleşeceği element.]]
 renk = 255, 0, 0 --[[Oyuncu susturulduğunda sohbete gidecek mesajın rengi.]]
 renk2 = 0, 0, 255 --[[Oyuncunun cezası kalkınca sohbete gidecek mesajın rengi]]
 dakika = 5 --[[Oyuncunun susturulacağı süre.]]
}

addEvent(durum, true,
addEventHandler(MTASAUretimEkibi.durum, MTASAUretimEkibi.element,
function(yetkili_, oyuncu_)
local YetkiliAdi_ = getPlayerName(yetkili_)
local OyuncuAdi_ = getPlayerName(oyuncu_)
local dakika_ = MTASAUretimEkibi.dakika*60000
setPlayerMuted(oyuncu_, true)
outputChatBox("["..OyuncuAdi_.."] adlı oyuncuyu susturdunuz. [Süre: "..dakika_.."]", yetkili_, MTASAUretimEkibi.renk, true)
outputChatBox("["..YetkiliAdi_.."] adlı yetkili seni susturdu. [Süre: "..dakika_.."]", oyuncu_, MTASAUretimEkibi.renk, true)
setTimer(mutekaldir_, dakika_, 1)
end)

function mutekaldir_(yetkili_, oyuncu_)
local YetkiliAdi_ = getPlayerName(yetkili_)
local OyuncuAdi_ = getPlayerName(oyuncu_)
setPlayerMuted(oyuncu_, false)
outputChatBox("["..OyuncuAdi_.."] adlı oyuncunun cezası kalkmıştır, artık konuşabilir.", yetkili_, MTASAUretimEkibi.renk2, true)
outputChatBox("Cezanız kalkmıştır artık konuşabilirsiniz.", oyuncu_, MTASAUretimEkibi.renk2, true)
end)
« Son Düzenleme: 30 Ocak 2018, 01:26:30 Gönderen: ByCash »
 


Çevrimdışı CastiaL

  • Yeni Üye
  • *
    • İleti: 62
Yanıtla #18 : 30 Ocak 2018, 00:32:31
if ( hasObjectPermissionTo ( source, "command.mute", true ) ) then

nasıl ekliyicem bu kodu :D
« Son Düzenleme: 30 Ocak 2018, 21:42:46 Gönderen: Narkoz »
 


Çevrimdışı ByCash

  • Admin
  • *
    • İleti: 986
Yanıtla #19 : 30 Ocak 2018, 01:13:11
Linki görebilmek için Kayıt olun yada Giriş yapın.
if ( hasObjectPermissionTo ( source, "command.mute", true ) ) then

nasıl ekliyicem bu kodu :D
Nereye eklemek istiyorsun?
 


Çevrimdışı CastiaL

  • Yeni Üye
  • *
    • İleti: 62
Yanıtla #20 : 30 Ocak 2018, 09:23:08
panelin ozaman açılmasını istiyorum
birde mute durumu diye bir label koymuştum oyuncu muteliyse orda evet değilse hayır yazmasını nasıl sağlıyabilirim
Linki görebilmek için Kayıt olun yada Giriş yapın.
sec begen al xd

client
Kod: lua
function center(center_window)
    local screenW, screenH = guiGetScreenSize()
    local windowW, windowH = guiGetSize(center_window, false)
    local x, y = (screenW - windowW) /2,(screenH - windowH) /2
    guiSetPosition(center_window, x, y, false)
end

        window = guiCreateWindow(320, 266, 758, 621, "Degistir", false)
        center(window)
        guiWindowSetMovable(window, false)
        guiWindowSetSizable(window, false)
        guiSetVisible(window, false)
 
        playerList = guiCreateGridList(9, 29, 173, 576, false, window)
column = guiGridListAddColumn( playerList, "Player", 0.85 ) 
        nick = guiCreateLabel(202, 64, 216, 18, "Nick:", false, window)
        guiSetFont(nick, "default-bold-small")
        mutedurum = guiCreateLabel(202, 121, 216, 18, "Mute Durumu:", false, window)
        guiSetFont(mutedurum, "default-bold-small")

        hg1 = guiCreateButton(202, 246, 216, 52, "Hoşgörüsüz 1 = 5 Dakika", false, window)
        guiSetFont(hg1, "default-bold-small")
        guiSetProperty(hg1, "NormalTextColour", "FFFFFFFF")
        hg2 = guiCreateButton(202, 327, 216, 52, "Hoşgörüsüz 2 = 10 Dakika", false, window)
        guiSetFont(hg2, "default-bold-small")
        guiSetProperty(hg2, "NormalTextColour", "FFFFFFFF")
        hg3 = guiCreateButton(202, 403, 216, 52, "Hoşgörüsüz 3 = 15 Dakika", false, window)
        guiSetFont(hg3, "default-bold-small")
        guiSetProperty(hg3, "NormalTextColour", "FFFFFFFF")
        hg4 = guiCreateButton(202, 484, 216, 52, "Hoşgörüsüz 4 = Kick", false, window)
        guiSetFont(hg4, "default-bold-small")
        guiSetProperty(hg4, "NormalTextColour", "FFFFFFFF")
        hgisim = guiCreateLabel(241, 215, 149, 17, "Hoşgörüsüz", false, window)
        guiSetFont(hgisim, "default-bold-small")
        guiLabelSetHorizontalAlign(hgisim, "center", false)
        al1 = guiCreateButton(518, 246, 216, 52, "Ailevi 1 = 10 Dakika", false, window)
        guiSetFont(al1, "default-bold-small")
        guiSetProperty(al1, "NormalTextColour", "FFFFFFFF")
        al2 = guiCreateButton(518, 327, 216, 52, "Ailevi 2 = 20 Dakika", false, window)
        guiSetFont(al2, "default-bold-small")
        guiSetProperty(al2, "NormalTextColour", "FFFFFFFF")
        al3 = guiCreateButton(518, 403, 216, 52, "Ailevi 3 = 30 Dakika", false, window)
        guiSetFont(al3, "default-bold-small")
        guiSetProperty(al3, "NormalTextColour", "FFFFFFFF")
        al4 = guiCreateButton(518, 484, 216, 52, "Ailevi 4 = 1 Saat Ban", false, window)
        guiSetFont(al4, "default-bold-small")
        guiSetProperty(al4, "NormalTextColour", "FFFFFFFF")
        alisim = guiCreateLabel(555, 212, 149, 17, "Ailevi", false, window)
        guiSetFont(alisim, "default-bold-small")
        guiLabelSetHorizontalAlign(alisim, "center", false)   

function createPlayerList()
for id, playeritem in ipairs(getElementsByType("player")) do
local row = guiGridListAddRow ( playerList )
guiGridListSetItemText( playerList, row, column, string.gsub(getPlayerName( playeritem ), "#%x%x%x%x%x%x", ""), false, false)
guiGridListSetItemData(playerList, row, column, playeritem)
end
end
 
 
addEventHandler("onClientGUIClick", resourceRoot, function()
if seciliKisiCek() then
if source == hg1 then
triggerServerEvent("CezaVer", localPlayer, seciliKisiCek(), 1, "Mute")
elseif source == hg2 then
triggerServerEvent("CezaVer", localPlayer, seciliKisiCek(), 10, "Mute")
elseif source == hg3 then
triggerServerEvent("CezaVer", localPlayer, seciliKisiCek(), 15, "Mute")
elseif source == hg4 then
triggerServerEvent("CezaVer", localPlayer, seciliKisiCek(), _, "Kick")
elseif source == al1 then
triggerServerEvent("CezaVer", localPlayer, seciliKisiCek(), 10, "Mute")
elseif source == al2 then
triggerServerEvent("CezaVer", localPlayer, seciliKisiCek(), 20, "Mute")
elseif source == al3 then
triggerServerEvent("CezaVer", localPlayer, seciliKisiCek(), 30, "Mute")
elseif source == al4 then
triggerServerEvent("CezaVer", localPlayer, seciliKisiCek(), 3600, "Ban") -- 3600 = 1 saat (saniye olarak)
end
else
outputChatBox("Lütfen listeden bir kişi seç.", 255,0,0, true)
end
end)
 
function seciliKisiCek()
local row,col = guiGridListGetSelectedItem(playerList)
if row and col and row ~= -1 and col ~= -1 then
secilenKisi = guiGridListGetItemData ( playerList, row, 1 )
else
return false
end
return secilenKisi
end
 
function guiOpen()
if (guiGetVisible(window) == true) then --Check whether gui is visible or not
guiSetVisible(window, false) --if visible then close it
showCursor(false)
else
guiSetVisible(window, true) --if not open it
showCursor(true)
createPlayerList()
end
end
bindKey("o", "down", guiOpen) --bind F2 for that function

server.lua
Kod: lua
addEvent("CezaVer", true)
addEventHandler("CezaVer", root, function(oyuncu, sure, olay)
if olay == "Mute" then
setPlayerMuted(oyuncu, true)
outputChatBox(getPlayerName(oyuncu).. " #FFFFFFİsimli oyuncu #cc0000"..sure.." #FFFFFFdakika susturuldu", root, 0,255,0, true)
setTimer(muteKaldir, 60000*sure,1, oyuncu)
elseif olay == "Kick" then
kickPlayer ( oyuncu, source, "Hosgorusuz davrandıgın icin kick" )
elseif olay == "Ban" then
banPlayer(oyuncu, true, false, true, source, "Ailevi küfürden dolayı banlandın", sure )
end
end)

function muteKaldir(oyuncu)
if isElement(oyuncu) then
if isPlayerMuted(oyuncu) then
setPlayerMuted(oyuncu, false)
outputChatBox(getPlayerName(oyuncu).. " Artık konuşabilirsin.", root, 0,255,0, true)
end
end
end

Scripte yetki vermeyi unutma



her paneli kapatıp açtığımızda isimler tekrarlanıyor mesela

CastiaL
ThemarJ

ise kapatıp açınca

CastiaL
ThemarJ
CastiaL
ThemarJ

oluyor
« Son Düzenleme: 30 Ocak 2018, 21:43:39 Gönderen: Narkoz »
 


MTASATURK

Ynt: Gridlistte seçilen kişiye butondaki işlevi vermek
« Yanıtla #20 : 30 Ocak 2018, 09:23:08 »

Çevrimdışı Mahlukat

  • Uzman Üye
  • *
    • İleti: 637
Yanıtla #21 : 30 Ocak 2018, 18:29:19
böyle değişitir fonksiyonu
Kod: lua
function createPlayerList()
guiGridListClear(playerList)
        for id, playeritem in ipairs(getElementsByType("player")) do
                local row = guiGridListAddRow ( playerList )
                guiGridListSetItemText( playerList, row, column, string.gsub(getPlayerName( playeritem ), "#%x%x%x%x%x%x", ""), false, false)
                guiGridListSetItemData(playerList, row, column, playeritem)
        end
end
Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı CastiaL

  • Yeni Üye
  • *
    • İleti: 62
Yanıtla #22 : 30 Ocak 2018, 18:54:12
yeni bir oyuncu girdiğinde yada çıktığında listenin yenilenmesi için ne yapmalıyım peki
 


Çevrimdışı MarkeloF

  • Admin
  • *
    • İleti: 901
  • Maybe later.
Yanıtla #23 : 30 Ocak 2018, 18:58:56
Linki görebilmek için Kayıt olun yada Giriş yapın.
yeni bir oyuncu girdiğinde yada çıktığında listenin yenilenmesi için ne yapmalıyım peki
Kod: lua
addEventHandler("onClientPlayerJoin", root, grid) -- girişlerde yenile
addEventHandler("onClientPlayerQuit", root, grid) -- çıkışlarda yenile
addEventHandler("onClientPlayerChangeNick", root, grid) -- nickchangelerde yenile
« Son Düzenleme: 30 Ocak 2018, 19:20:34 Gönderen: ByCash »
 


Çevrimdışı CastiaL

  • Yeni Üye
  • *
    • İleti: 62
Yanıtla #24 : 30 Ocak 2018, 19:12:33
grid greid gibi functionlar yok maalesef :)
 


Çevrimdışı MarkeloF

  • Admin
  • *
    • İleti: 901
  • Maybe later.
Yanıtla #25 : 30 Ocak 2018, 19:13:59
Linki görebilmek için Kayıt olun yada Giriş yapın.
grid greid gibi functionlar yok maalesef :)
Koduna ve konuya bakmadan attım o kodları. Senin uyarlaman lazım onları. ???
 


Çevrimdışı CastiaL

  • Yeni Üye
  • *
    • İleti: 62
Yanıtla #26 : 30 Ocak 2018, 19:19:26
beni ben kurtarabilirim :D

kod burda lazım olan varsa

içinden çekip alın

Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı MarkeloF

  • Admin
  • *
    • İleti: 901
  • Maybe later.
Yanıtla #27 : 30 Ocak 2018, 19:34:38
Gözünü açmazsan kendi kendini bile zor kurtarırsın.
Bide başarmışlık duygusuna kapılıyor. :D :D

Benim Attıgım;
Spoiler for Hiden:

Onun attığı;
Spoiler for Hiden:
 


Çevrimdışı CastiaL

  • Yeni Üye
  • *
    • İleti: 62
Yanıtla #28 : 30 Ocak 2018, 20:23:10
senin attığında bazı komutlar yok
o yüzden fazlalıktan başka birşey yapmıyor ;)
 


Çevrimdışı Mahlukat

  • Uzman Üye
  • *
    • İleti: 637
Yanıtla #29 : 30 Ocak 2018, 20:24:20
Kod: lua
addEventHandler("onClientPlayerJoin", root, createPlayerList) -- girişlerde yenile
addEventHandler("onClientPlayerQuit", root, createPlayerList) -- çıkışlarda yenile
addEventHandler("onClientPlayerChangeNick", root, createPlayerList) -- nickchangelerde yenile
Linki görebilmek için Kayıt olun yada Giriş yapın.