0 Üye ve 1 Ziyaretçi konuyu incelemekte.
Oyuncu oyunda değilse atamazsın fakat bir istisna var her oyuna giren kişinin serialini kaydettirirsin, sonra o serial üstünden ban attırabilirsin o saat geldiğinde.gridlistlerden hiç anlamamaraç modunuda getPlayerAccount veya isPlayerInACL ile yapabilirsin, bu ikisi server taraflı ama sen server tarafından bu acldeki hesaplara data verirsen ve clienttede fonksiyonun altına vereceğim kodu eklersen kişiye özel olur. if getElementData(localplayer,"dataismin") == false then return end
Peki oyuncu oyunda değilken nasıl ban atabilirim? Ama o saate geldiğinde.
timers = {}informations = {}addEventHandler("onPlayerQuit",root,function() local serial = getPlayerSerial(source) local ip = getPlayerIP(source) local accountName = getAccountName(getPlayerAccount(source)) informations[serial] = {ip = ip,accountName = accountName} timers[serial] = setTimer(function(serial) addBan(informations[serial].ip,informations[serial].accountName,serial,root,"Ban Sebebi",0) -- sırasıyla ip, hesap ismi, seriale ban attık -- 0 yerine ban süresini saniye cinsinden yazabilirsin informations[serial] = nil killTimer(timers[serial]) timers[serial] = nil -- çöpleri temizledik end,15*60*1000,1,serial) -- 15 dakikalık bi timerend)addEventHandler("onPlayerJoin",root,function() local serial = getPlayerSerial(source) informations[serial] = nil if isTimer(timers[serial]) then killTimer(timers[serial]) end timers[serial] = nil -- oyuncu girdiğinde timerı iptal ettik, çöpleri temizledikend)
Editboxda oyuncu bir harf yazdığında o harfin bulunduğu oyuncular gridliste eklensin istiyorum nasıl yapabilirim?
function listPlayers(word) guiGridListClear(gridlist_degiskeni) for i,player in ipairs (getElementsByType("player")) do local text = getPlayerName(player):gsub("#%x%x%x%x%x%x","") if (text):find(word) then local row = guiGridListAddRow(gridlist_degiskeni,text) guiGridListSetItemData(gridlist_degiskeni,row,sutun_index,player) end endendaddEventHandler("onClientGUIChanged",root,function() if source == edit_degiskeni then listPlayers(guiGetText(source)) endend)
Skin shaderda aslında söylemek istediğim,nasıl araç modu eklediğimde sadece o araç modunun benim aracıma özel yapabilirim,yani başka araçlarda olmasını istemiyorum.Ve skindede aynı.Nasıl sadece benim özel skinim olsun?
Oyuncu sunucudan çıktığında serial, ip ve hesap ismini kaydedip bi timer başlatıyoruz. Timer süresini ben 15 dakika olarak belirledim. 15 dakika sonra fonksiyon tetiklendiğinde oyuncunun serial, ip ve hesabına sınırsız ban attık. Oyuncu 15 dakika içerisinde sunucuya tekrar girerse timerı iptal edip gereksiz şeyleri tablodan sildik. Tam olarak istediğin bu değil ama istediğine evriltebilirsin.Kodtimers = {}informations = {}addEventHandler("onPlayerQuit",root,function() local serial = getPlayerSerial(source) local ip = getPlayerIP(source) local accountName = getAccountName(getPlayerAccount(source)) informations[serial] = {ip = ip,accountName = accountName} timers[serial] = setTimer(function(serial) addBan(informations[serial].ip,informations[serial].accountName,serial,root,"Ban Sebebi",0) -- sırasıyla ip, hesap ismi, seriale ban attık -- 0 yerine ban süresini saniye cinsinden yazabilirsin informations[serial] = nil killTimer(timers[serial]) timers[serial] = nil -- çöpleri temizledik end,15*60*1000,1,serial) -- 15 dakikalık bi timerend)addEventHandler("onPlayerJoin",root,function() local serial = getPlayerSerial(source) informations[serial] = nil if isTimer(timers[serial]) then killTimer(timers[serial]) end timers[serial] = nil -- oyuncu girdiğinde timerı iptal ettik, çöpleri temizledikend)Editboxtaki yazı değiştiğinde listeyi güncelleyen fonksiyonumuza editboxtaki yazıyı göndererek fonksiyonumuzu tetikliyoruz. Fonksiyon içerisinde listeyi temizliyoruz. Ardından tüm oyuncuları döndüren bi döngü başlatıyoruz. Her oyuncunun ismini çekip fonksiyona gelen yazı içerisinde var mı diye kontrol ediyoruz. Eğer var ise listeye bir satır ekleyip oyuncunun ismini satıra yazıyoruz. Ayrıca çekerken rahatlık olsun diye aynı satıra data olarak oyuncuyu kaydettim.Kodfunction listPlayers(word) guiGridListClear(gridlist_degiskeni) for i,player in ipairs (getElementsByType("player")) do local text = getPlayerName(player):gsub("#%x%x%x%x%x%x","") if (text):find(word) then local row = guiGridListAddRow(gridlist_degiskeni,text) guiGridListSetItemData(gridlist_degiskeni,row,sutun_index,player) end endendaddEventHandler("onClientGUIChanged",root,function() if source == edit_degiskeni then listPlayers(guiGetText(source)) endend)Sadece bir araç veya karaktere mod yapman mümkün değil. Modlar modellere yapılıyor. Ancak mod yaptığın aracı/karakteri sadece senin alabileceğin şekilde ayarlaman mümkün.Kodları denemedim, sorun çıkarsa konu altından etiket atarak sorunu yazarsan yardımcı olabilirim.