Fivem.com.tr
Fivem.com.tr
- Katılım
- 1 Eki 2022
- Mesajlar
- 5,891
- Tepki
- 112
Anlatacağım şeyler fivem script yazma konusunda sizi bir adım daha ilerletebilir.
Threadlar;
Örnek 1 -
Kod:
Oyuncu client taraflı oyuna bağlandığı zaman tek taraflı olarak kod çalışır.Sürekli olarak çalışmaz.Fivemde çoğunlukla ped veya blip create kodları için kullanılır.
Örnek 2 -
Kod:
Oyuncu client taraflı oyuna bağlandığı zaman döngüyü sona erdirmenize kadar çalışır.
Eventler;
--client
Kod:
--server
Kod:
Event Trigger ve Eventlerin Fonksiyon Kullanımları;
Kod:
Client ve Server Side Export Alma
Client
Kod:
Kod:
Scriptin fxmanifest veya __resource tarafına aşağıdaki kodu yazmanız yeterli olacaktır.
Kod:
Server
Kod:
Kullanımı;
Kod:
for döngüsü
For döngüsünün içine yazdığınız değer boş bir değer veya nil ise döngüyü çalıştırmaz ve hata verir.
Kod:
Break;
Yaptığınız işlemi kırmaya yarar çoğunlukla for döngülerinde kullanılır.
Return;
Kod:
Biraz mala anlatır gibi oldu
Aklıma geldikçe konuyu güncel tutmaya çalışacağım.
Parasızlığın eğlenmenizi engellemesine asla izin vermeyin. -Anonim
Konu alıntıdır, yanlış veya hatalı bir bilgi/paylaşım var ise yanıtlayabilir veya bizimle iletişime geçebilirsiniz.
Threadlar;
Örnek 1 -
Kod:
Kod:
Citizen.CreateThread(function()
-- code
end)
Oyuncu client taraflı oyuna bağlandığı zaman tek taraflı olarak kod çalışır.Sürekli olarak çalışmaz.Fivemde çoğunlukla ped veya blip create kodları için kullanılır.
Ziyaretçiler için gizlenmiş link,görmek için
Giriş yap veya üye ol.
Örnek 2 -
Kod:
Kod:
Citizen.CreateThread(function()
while true do -- while ESX == nil do -- while playerinjail == true do
Citizen.Wait(1)
end
end)
Oyuncu client taraflı oyuna bağlandığı zaman döngüyü sona erdirmenize kadar çalışır.
Eventler;
--client
Kod:
Kod:
RegisterNetEvent('asd')
AddEventHandler('asd',function()
end)
--server
Kod:
Kod:
RegisterServerEvent('asd)
AddEventHandler('asd',function()
end)
Event Trigger ve Eventlerin Fonksiyon Kullanımları;
Kod:
Kod:
-- client
RegisterCommand('txt',function(args,raw)
local komut1 = args[1] -- kişinin /txt yazdıktan bir sonraki capslockundaki kelimeyi algılattım
local komut2 = args[2] -- kişinin /txt yazdıktan iki sonraki capslockundaki kelimeyi algılattım
TriggerServerEvent('test',komut1,komut2) --server side'a göndermemiz için iki değeride virgülle ayırıp yazdım
end)
--server
RegisterServerEvent('test')
AddEventHandler('test',function(a,b) -- clientten server side'ye gönderdiğim değerleri server side'de fonksiyonun içine yazdım.(Değerlerin isminin aynı olmasına gerek yok)
print(a,b)
end)
Client ve Server Side Export Alma
Client
Kod:
Kod:
local dead = false
AddEventHandler('esx:onPlayerDeath', function()
dead = true
end)
IsPlayerDead = function()
return dead
end
Kod:
Kod:
local ispeddead = exports.scriptismi:IsPlayerDead() -- size true veya false değerini verecektir.
if ispeddead then --
else
end
Scriptin fxmanifest veya __resource tarafına aşağıdaki kodu yazmanız yeterli olacaktır.
Kod:
Kod:
exports {
'fonksiyonismi' --bendeki IsPlayerDead
}
Server
Kod:
Kod:
exports("kickplayer", function(source,reason)
DropPlayer(source,'Sunucudan Kicklendiniz Sebep = '..reason) -- kişiyi sebebini bildirerek sunucudan kickledim
end)
Kullanımı;
Kod:
Kod:
RegisterCommand('kickplayer',function(source,args,raw)
local playerId = tonumber(args[1]) -- kişinin komutu yazdıktan sonraki ilk kelimesini kicklenecek kişinin idsi olarak algılamasını yazdım.
local reason = args[2]
exports['scriptismi']:kickplayer(playerId,reason)
end)
for döngüsü
For döngüsünün içine yazdığınız değer boş bir değer veya nil ise döngüyü çalıştırmaz ve hata verir.
Kod:
Kod:
local table = {}
for i,j in pairs(table) do
-- döngü çalışmaz
end
local table2 -- herhangi bir değer vermedim o yüzden table2 = nil
for k,v in pairs(table2) do
-- hata
end
Break;
Yaptığınız işlemi kırmaya yarar çoğunlukla for döngülerinde kullanılır.
Return;
Kod:
Kod:
local identifiers = { --tablomu oluşturdum
'hasan1',
'hasan2',
'hasan3',
'hasan4'
}
GetPlayerIdent = function(ident) -- fonksiyonun içine ident yazdım
for i,j in pairs(identifiers) do --identifiers için for döngümü başlattım
if j == ident then -- j bana identifiers tablomun içindeki değerleri veriyor.İçindeki değerlerin biri benim fonksiyonun içindeki 'ident' değeriyle eşit mi değil mi kontrolünü yapıyorum.
return true -- true olarak dönmesini sağlıyorum
end
end
return false --eğer döngünün içinde true olarak dönerse kod aşağıya inemeyeceği için false değerine ulaşamaz.
end
RegisterCommand('hasan',function()
local identifier = GetPlayerIdent('hasan1')
local identifier2 = GetPlayerIdent('asdasd1')
print(identifier) -- bize true verecek
print(identifier2) -- false verecek
end)
Biraz mala anlatır gibi oldu
Aklıma geldikçe konuyu güncel tutmaya çalışacağım.
Parasızlığın eğlenmenizi engellemesine asla izin vermeyin. -Anonim
Konu alıntıdır, yanlış veya hatalı bir bilgi/paylaşım var ise yanıtlayabilir veya bizimle iletişime geçebilirsiniz.