[YARDIM] Table İçine Kayıt Etmek

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı elydric

  • Yeni Üye
  • *
    • İleti: 30
: 08 Ekim 2019, 19:08:55
Selamlar bir script yapmaya çalışıyorum ama table konusunda takıldım şunu yapamıyorum mesela bir oyuncuya uyarı verilecek bu uyarıyı table'da kayıt ediyoruz sanırım, yani mysql'lik değil uzun birşey değil belli çünkü öğrendiğime göre script restartlanınca table kayıtları siliniyormuş neyse, bir oyuncuya uyarı verilecek, bu oyununcunun kaç uyarısı olduğunu table kayıt edecek belli bir uyarı sonra kick yiyecek gibi mesela bunu nasıl yapabiliirm? Biraz karışık oldu sanırım ama kısacası şu: table içine kayıt nasıl yapılır?
« Son Düzenleme: 18 Ocak 2020, 16:50:42 Gönderen: Narkoz »
 


MTASATURK

[YARDIM] Table İçine Kayıt Etmek
« : 08 Ekim 2019, 19:08:55 »

Çevrimdışı EmreAkcay

  • Yeni Üye
  • *
    • İleti: 58
Yanıtla #1 : 08 Ekim 2019, 20:02:15
Nasıl yapacağın konusundaki bir fikrim var ancak ne kadar yardımcı olur bilmem ; oyuncuya uyarı verdiğinde setElementData ile kişiye uyarıldığı hakkında data verirsin daha sonra bu dataya bağlı gereksinimleri girersin örneğin kişiye uyarıldı datası 2. Kez verildiğinde susturulsun 3. verildiğinde kick atılsın gibi ne kadar doğru mantık bilmiyorum seni yanıltmak istemem umarım daha bilgili arkadaşlar yardımcı olur
[✘] Harbiye Askeri RPG ®
 


Çevrimdışı elydric

  • Yeni Üye
  • *
    • İleti: 30
Yanıtla #2 : 08 Ekim 2019, 20:34:36
Linki görebilmek için Kayıt olun yada Giriş yapın.
Nasıl yapacağın konusundaki bir fikrim var ancak ne kadar yardımcı olur bilmem ; oyuncuya uyarı verdiğinde setElementData ile kişiye uyarıldığı hakkında data verirsin daha sonra bu dataya bağlı gereksinimleri girersin örneğin kişiye uyarıldı datası 2. Kez verildiğinde susturulsun 3. verildiğinde kick atılsın gibi ne kadar doğru mantık bilmiyorum seni yanıltmak istemem umarım daha bilgili arkadaşlar yardımcı olur

örnek bir kod yazarmısın bi mantık çıkarayım
 


Çevrimdışı Mahlukat

  • Uzman Üye
  • *
    • İleti: 637
Yanıtla #3 : 08 Ekim 2019, 21:29:06
Kod
local uyarilar = {}

function uyariVer(oyuncu)
local toplamUyari = uyarilar[oyuncu] or 0 -- tablodaki verisini çek veya 0
uyarilar[oyuncu] = toplamUyari+1 -- üstüne yaz
if uyarilar[oyuncu] == 3 then
uyarilar[oyuncu] = 0 -- sıfırla
--kickPlayer(...)
end
end
Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı elydric

  • Yeni Üye
  • *
    • İleti: 30
Yanıtla #4 : 08 Ekim 2019, 21:34:34
Linki görebilmek için Kayıt olun yada Giriş yapın.
Kod
local uyarilar = {}

function uyariVer(oyuncu)
local toplamUyari = uyarilar[oyuncu] or 0 -- tablodaki verisini çek veya 0
uyarilar[oyuncu] = toplamUyari+1 -- üstüne yaz
if uyarilar[oyuncu] == 3 then
uyarilar[oyuncu] = 0 -- sıfırla
--kickPlayer(...)
end
end

Çok sağ ol peki burada bir çok oyuncu olabilir, hangi oyuncu olduğunu sistem otomatik kendisi seçiyor mu yoksa oyuncular karışmaz mı? inşAllah anlamışsındır  :-X :-X

Mesaj Birleştirildi: 08 Ekim 2019, 21:46:47
Kod
local uyarilar = {}
local yasakliKelimeler = {
küfür
}

function uyariEkle()
local toplamUyari = uyarilar[oyuncu] or 0
for i,yasakliKelime in pairs(yasakliKelimeler) do
cancelEvent()
uyarilar[oyuncu] = toplamUyari+1
outputChatBox("Küfür ettiğiniz için uyarıldınız!",thePlayer,255,0,0,false)
outputChatBox("Mevcut Uyarınız: "..uyarilar[oyuncu],thePlayer,255,0,0,false)
end
end
addEventHandler("onPlayerChat",root,uyariEkle)

Mesela şöyle birşey yaptım bana debug'da 15. satır:table index is nill diyor neden böyle diyor? Linki görebilmek için Kayıt olun yada Giriş yapın.
« Son Düzenleme: 08 Ekim 2019, 21:46:47 Gönderen: elydric »
 


Çevrimdışı Mahlukat

  • Uzman Üye
  • *
    • İleti: 637
Yanıtla #5 : 08 Ekim 2019, 22:26:40
Kod
local uyarilar = {}
local yasakliKelimeler = {"amk"}

function uyariEkle(msg,typ) -- onPlayerChat eventi parametreleri
-- local toplamUyari = uyarilar[oyuncu] or 0 -- Yanlış. 'oyuncu' nereden geliyor? ^^
local toplamUyari = uyarilar[source] or 0 -- Doğru. 'onPlayerChat' eventinde source, mesaj yazan kişidir
for i,yasakliKelime in pairs(yasakliKelimeler) do
if string.find(msg,yasakliKelime) then -- eğer yazılan msg içinde küfür varsa
cancelEvent()
uyarilar[oyuncu] = toplamUyari+1
outputChatBox("Küfür ettiğiniz için uyarıldınız!",source,255,0,0,false)
outputChatBox("Mevcut Uyarınız: "..uyarilar[oyuncu],source,255,0,0,false)
end
end
end
addEventHandler("onPlayerChat",root,uyariEkle)
Linki görebilmek için Kayıt olun yada Giriş yapın.
 


MTASATURK

Ynt: [YARDIM]Table içine kayıt etmek
« Yanıtla #5 : 08 Ekim 2019, 22:26:40 »

Çevrimdışı #Serius

  • Uzman Üye
  • *
    • İleti: 685
Yanıtla #6 : 09 Ekim 2019, 10:51:45
Kod
local uyarilar = {}
local yasakliKelimeler = {"amk"}

function uyariEkle(msg,typ) -- onPlayerChat eventi parametreleri
-- local toplamUyari = uyarilar[oyuncu] or 0 -- Yanlış. 'oyuncu' nereden geliyor? ^^
local toplamUyari = uyarilar[source] or 0 -- Doğru. 'onPlayerChat' eventinde source, mesaj yazan kişidir
for i,yasakliKelime in pairs(yasakliKelimeler) do
if string.find(msg,yasakliKelime) then -- eğer yazılan msg içinde küfür varsa
cancelEvent()
uyarilar[source] = toplamUyari+1
outputChatBox("Küfür ettiğiniz için uyarıldınız!",source,255,0,0,false)
outputChatBox("Mevcut Uyarınız: "..uyarilar[source],source,255,0,0,false)
if uyarilar[source] == 3 then
uyarilar[source] = 0 -- sıfırla
kickPlayer(source,"Uyarılara rahmen sen devam ettin cezasını çek!")
                        end
end
end
end
addEventHandler("onPlayerChat",root,uyariEkle)
« Son Düzenleme: 09 Ekim 2019, 10:54:38 Gönderen: By.Angel »
 


Çevrimdışı elydric

  • Yeni Üye
  • *
    • İleti: 30
Yanıtla #7 : 09 Ekim 2019, 16:35:50
Linki görebilmek için Kayıt olun yada Giriş yapın.
Kod
local uyarilar = {}
local yasakliKelimeler = {"amk"}

function uyariEkle(msg,typ) -- onPlayerChat eventi parametreleri
-- local toplamUyari = uyarilar[oyuncu] or 0 -- Yanlış. 'oyuncu' nereden geliyor? ^^
local toplamUyari = uyarilar[source] or 0 -- Doğru. 'onPlayerChat' eventinde source, mesaj yazan kişidir
for i,yasakliKelime in pairs(yasakliKelimeler) do
if string.find(msg,yasakliKelime) then -- eğer yazılan msg içinde küfür varsa
cancelEvent()
uyarilar[source] = toplamUyari+1
outputChatBox("Küfür ettiğiniz için uyarıldınız!",source,255,0,0,false)
outputChatBox("Mevcut Uyarınız: "..uyarilar[source],source,255,0,0,false)
if uyarilar[source] == 3 then
uyarilar[source] = 0 -- sıfırla
kickPlayer(source,"Uyarılara rahmen sen devam ettin cezasını çek!")
                        end
end
end
end
addEventHandler("onPlayerChat",root,uyariEkle)

çok sağ olun Linki görebilmek için Kayıt olun yada Giriş yapın.  Linki görebilmek için Kayıt olun yada Giriş yapın.  mahlukat sanırım scriptte uyarilar[oyuncu] yaptığı için script çalışmamış bunda sorun yok
 
Mesajı Beğenenler: #Serius