[YARDIM] Kod İzni

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı EazyE25

  • Yeni Üye
  • *
    • İleti: 18
: 17 Ağustos 2019, 23:37:39
Merhaba arkadaşlar. Yaptığım bir sistemde sistemin çalışması için 2 türlü denetimden geçiyor oyuncu. Bu denetimler aynı fonksiyon içinde yapılıyor. Denetimler ile oyuncunun belirli şartları sağlayıp sağlayamadığı belirlenip sağlayamadığı takdirde oyuncu sunucudan atılıyor. Oyuncunun durumu 1. denetimdeki şartlara uyuyor ise 2. denetime geçmesini istiyorum. Aksi takdirde 2. denetime geçmesini istemiyorum. Bunu nasıl yapabilirim acaba ? Bu arada nedense aşşağıda bıraktığım kod oyuncunun 1. denetimi geçememesine rağmen 2. denetimine bakıyor ve oyuncuyu atıyor. Acaba 1. durumu denetlemede bir hata mı var onu da söyleyebilir misiniz ? Aşağıda konu ile ilgili kendim uğraştığım kodu bırakıyorum. Yardımlarınız için şimdiden teşekkür ederim. :)

Bir de konu dışında bir şey daha söylemek istiyorum. Fonksiyonlardaki " source " , " thePlayer " , " localPlayer " ve değişkenlerdeki " local " ile yazılan ve direkt ismi ile yazılan değişkenlerin aralarındaki farkları bana anlatabilecek varsa çok sevinirim.

Örnek kod :

g_Root = getRootElement()
takim =
{
["takim"] = true,
}
serial =
{
["serial"] = true,
["serial2"] = true,
}

addEventHandler("onPlayerJoin", getRootElement(),
function ()
      aph = getPlayerTeam( source )
           ac = getPlayerSerial ( source )
end)

addEventHandler("onPlayerJoin", g_Root,
function ()
      if (takim[aph]) then
      return true
       else
       if not ( serial[ac] ) then
        kickPlayer(source,"Üzgünüm serialin uyuşmuyor.")
        return false
    end
    end
end)

Mesaj Birleştirildi: [time]18 Ağustos 2019, 00:46:30[/time]
Konu ile ismi çok alakasız olmuş gibi şimdi farkettim ama bir sıkıntı çıkarıyorsa haberdar eder misiniz ?
« Son Düzenleme: 13 Eylül 2019, 03:18:59 Gönderen: Narkoz »
Linki görebilmek için Kayıt olun yada Giriş yapın.
 


MTASATURK

[YARDIM] Kod İzni
« : 17 Ağustos 2019, 23:37:39 »

Çevrimdışı Casti

  • C-se (Discord - Casti#9795)
  • Deneyimli Üye
  • *
    • İleti: 307
Yanıtla #1 : 18 Ağustos 2019, 12:49:49
Çalışıp çalışmayacağından emin değilim çünkü denemedim.

Kod
g_Root = getRootElement()

takim =
{
["takim"] = true,
}
serial =
{
["serial"] = true,
["serial2"] = true,
}


addEventHandler("onPlayerJoin", g_Root,
function ()
local takimi = getPlayerTeam(source)
for i = 1, #takim do
        if takim[i] == takimi then
local seriali = getPlayerSerial(source)
for i = 1, #serial do
        if serial[i] == seriali then
--Eğer serial tabloda bulunuyorsa ne olacak ?
else
kickPlayer(source, "Üzgünüm serialin veya takımın uyuşmuyor")
end
end
end
end
end)
« Son Düzenleme: 18 Ağustos 2019, 12:55:30 Gönderen: Casti »
>:( >:( >:( >:( >:( >:( >:( >:( >:( >:(
 
Mesajı Beğenenler: EazyE25


Çevrimdışı Mahlukat

  • Uzman Üye
  • *
    • İleti: 637
Yanıtla #2 : 18 Ağustos 2019, 14:19:47
Kod
-- 2 denetimi 'and' operatörü ile yapabilirsin.

local takimlar = {
["Atakimi"] = true,
["Btakimi"] = true,
}
local serialler = {
["Serial"] = true,
["Serial2"] = true,
}

addEventHandler("onPlayerJoin",root, function()
local serial,takim = getPlayerSerial(source),getPlayerTeam(source)
if not takim then return end -- eğer takımı yoksa geri dön
local takimisim = getTeamName(takim) -- takim ismini çek
if takimlar[takimisim] and serialler[serial] then -- eğer takım ismi 'takımlar' tablosunda var ise  ve serial 'serialler' tablosunda var ise,
--işlemler
else
-- eğer yukardaki koşulun herhangi biri eşleşmiyosa işlemler
end
end)

Kod
-- fonksiyonlardaki parametreleri sen verirsin. tabi eğer kendi oluşturduğun bi fonksiyonsa.
-- 'source' genelde eventlerde olur. tetiklenen eventin kaynağıdır. mta wikisinde bi eventin 'source' ne olduğu yazar.

addEventHandler("onPlayerJoin",root, function()
--https://wiki.multitheftauto.com/wiki/OnPlayerJoin
print(getElementType(source)) -- source oyuna giren kişi
end)

addEventHandler("onVehicleEnter",root, function(thePlayer, seat, jacked)
-- source = binilen araç
--https://wiki.multitheftauto.com/wiki/OnVehicleEnter
print(getElementType(source))
end)

Kod
-- localPlayer terimi sadece client-side taraflıdır. client-side dosyalar her oyuncuda ayrı çalıştığı için, oyuncunun kendisini temsil eder.
Kod
-- local = http://www.mtasaturk.com/script-dersleri/kisaltilmis-ve-basitlestirilmis-lua-dersi/ 
-- 'Yerel Değişkenler'
Linki görebilmek için Kayıt olun yada Giriş yapın.
 
Mesajı Beğenenler: EazyE25, Casti


Çevrimdışı Casti

  • C-se (Discord - Casti#9795)
  • Deneyimli Üye
  • *
    • İleti: 307
Yanıtla #3 : 18 Ağustos 2019, 14:57:00
getTeamName unutmuşum :)
>:( >:( >:( >:( >:( >:( >:( >:( >:( >:(
 
Mesajı Beğenenler: Mahlukat, EazyE25


Çevrimdışı EazyE25

  • Yeni Üye
  • *
    • İleti: 18
Yanıtla #4 : 18 Ağustos 2019, 16:19:34
Linki görebilmek için Kayıt olun yada Giriş yapın.
Kod
-- 2 denetimi 'and' operatörü ile yapabilirsin.

local takimlar = {
["Atakimi"] = true,
["Btakimi"] = true,
}
local serialler = {
["Serial"] = true,
["Serial2"] = true,
}

addEventHandler("onPlayerJoin",root, function()
local serial,takim = getPlayerSerial(source),getPlayerTeam(source)
if not takim then return end -- eğer takımı yoksa geri dön
local takimisim = getTeamName(takim) -- takim ismini çek
if takimlar[takimisim] and serialler[serial] then -- eğer takım ismi 'takımlar' tablosunda var ise  ve serial 'serialler' tablosunda var ise,
--işlemler
else
-- eğer yukardaki koşulun herhangi biri eşleşmiyosa işlemler
end
end)

Kod
-- fonksiyonlardaki parametreleri sen verirsin. tabi eğer kendi oluşturduğun bi fonksiyonsa.
-- 'source' genelde eventlerde olur. tetiklenen eventin kaynağıdır. mta wikisinde bi eventin 'source' ne olduğu yazar.

addEventHandler("onPlayerJoin",root, function()
--https://wiki.multitheftauto.com/wiki/OnPlayerJoin
print(getElementType(source)) -- source oyuna giren kişi
end)

addEventHandler("onVehicleEnter",root, function(thePlayer, seat, jacked)
-- source = binilen araç
--https://wiki.multitheftauto.com/wiki/OnVehicleEnter
print(getElementType(source))
end)

Kod
-- localPlayer terimi sadece client-side taraflıdır. client-side dosyalar her oyuncuda ayrı çalıştığı için, oyuncunun kendisini temsil eder.
Kod
-- local = http://www.mtasaturk.com/script-dersleri/kisaltilmis-ve-basitlestirilmis-lua-dersi/ 
-- 'Yerel Değişkenler'

Yanıtın için sağol Mahlukat sorunumu halledip sistemi biraz daha ilerlettim.
« Son Düzenleme: 19 Ağustos 2019, 14:21:41 Gönderen: EazyE25 »
Linki görebilmek için Kayıt olun yada Giriş yapın.