- Katılım
- 4 yıl 2 ay
- Mesajlar
- 103
Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.
sanırım biraz noktalamadan dolayı sert bir cevap vermişim gibi olmuş. kesinlikle yanlış anlaşılmasın. BakiTelli arkadaşa çok teşekkür ediyorum değerli vaktini ayırıp cevap yazdığı için ❤verilen cevap yanlış. biraz araştırdıktan sonra doğrusunu buldum yapamayan arkadaşlar olursa
exports['okokNotify']:Alert("başlık", "buraya mesajı yaz", 5000, 'success')
while true do
Citizen.Wait(5)
if onDuty then
if packagePos ~= nil then
local pos = GetEntityCoords(PlayerPedId(), true)
if carryPackage == nil then
if #(pos - vector3(packagePos.x, packagePos.y, packagePos.z)) < 2.3 then
exports['okokTextUI']:Open('[E] Message', 'darkred', 'left')
exports['okokTextUI']:Close()
if IsControlJustReleased(0, 38) then
QBCore.Functions.Progressbar("pickup_reycle_package", "Pick Up The Package ..", math.random(4000, 6000), false, true, {
disableMovement = true,
disableCarMovement = true,
disableMouse = false,
disableCombat = true,
}, {}, {}, {}, function()
ClearPedTasks(PlayerPedId())
PickupPackage()
end)
end
dostum eline emeğine sağlık bir 30 dakika sonra deneyeceğim değer verip anlattığın için çok teşekkür ediyorum <3if #(pos - vector3(packagePos.x, packagePos.y, packagePos.z)) < 2.3 then
exports['okokTextUI']:Open('[E] Message', 'darkred', 'left')
exports['okokTextUI']:Close()
Burada yaptığın hata şu, if #(pos - vector3(... le başlayan kısımda "EĞER KARAKTER packagePos koordinatının çevresinde 2.3 yarıçapa sahip bir çember içerisinde ise okokTextUI 'yı aç okokTextUI 'yi kapat demişsin.
Bu bağlamda close verdiğin için milisaniyeler arasında ui i gösterip hemen kapatıyor.
Eğer close yaptığın yeri silersen de döngü içerisinde olduğu için sürekli olarak Ui 'ı açmaya başlar. Spamlar. Bu da istemeyeceğin bir durumdur.
Bunun için önce döngünün dışına üst tarafa bir değişken oluşturacaksın.
bkz;
Citizen.CreateThread......blablabla
local inArea = false
local uiShow = false
ardından
if #(pos - vector3(packagePos.x, packagePos.y, packagePos.z)) < 2.3 then
bunun altına da inArea değişkenini true yapacaksın. Türkçesi, eğer karakter belirtilen alan içinde ise inArea değişkenini true yap a denk gelmekte.
bkz;
if #(pos - vector3(packagePos.x, packagePos.y, packagePos.z)) < 2.3 then
inArea = true
bunu yaptıktan sonrasında ise
if onDuty then
i kapattığın end in sonrasında yeni bir if başlatarak
if inArea and not uiShow then
exports['okokTextUI']:Open('[E] Message', 'darkred', 'left')
uiShow = true
end atıyorsun.
Bu demek oluyor ki eğer karakter alanın içinde ise (Hatırlarsan karakter alanın içerisinde olduğunda inArea'yı true yapmıştık) ve uiShow false ise (Yani ui gözükmüyor ise) textUi 'i aç.
Bu kadarı da yeterli değil,
if inArea and not uiShow then
exports['okokTextUI']:Open('[E] Message', 'darkred', 'left')
uiShow = true
end atıyorsun. yere düzenleme yapmamız lazım.
Karakter alanın içinde değilse dahi hala daha açık tutmaya devam edecek çünkü kapatma fonksiyonunu göndermedik.
if inArea and not uiShow then
exports['okokTextUI']:Open('[E] Message', 'darkred', 'left')
uiShow = true
elseif not inArea and uiShow then
exports['okokTextUI']:Close()
uiShow = false
end atıyorsun.
ve inArea değişkenini de düzenlememiz için
PickupPackage()
end)
end
kısmını
PickupPackage()
end)
else
inArea = false
end
şeklinde düzenliyorsun.
Herhangi bir şekilde denemesini yapmadım, kafamdan yazdım. Kendin denedikten sonrasında problem yaşarsan buraya yorum atarsın, nadir de olsa giriyorum buraya. Cevap yazarım.
Dostum şuan dediklerini yapmak için girdim fakat, sanırım anlamadığımdan kafam allak bullak oldu. Anlamadığım yerleri belirteyim.if #(pos - vector3(packagePos.x, packagePos.y, packagePos.z)) < 2.3 then
exports['okokTextUI']:Open('[E] Message', 'darkred', 'left')
exports['okokTextUI']:Close()
Burada yaptığın hata şu, if #(pos - vector3(... le başlayan kısımda "EĞER KARAKTER packagePos koordinatının çevresinde 2.3 yarıçapa sahip bir çember içerisinde ise okokTextUI 'yı aç okokTextUI 'yi kapat demişsin.
Bu bağlamda close verdiğin için milisaniyeler arasında ui i gösterip hemen kapatıyor.
Eğer close yaptığın yeri silersen de döngü içerisinde olduğu için sürekli olarak Ui 'ı açmaya başlar. Spamlar. Bu da istemeyeceğin bir durumdur.
Bunun için önce döngünün dışına üst tarafa bir değişken oluşturacaksın.
bkz;
Citizen.CreateThread......blablabla
local inArea = false
local uiShow = false
ardından
if #(pos - vector3(packagePos.x, packagePos.y, packagePos.z)) < 2.3 then
bunun altına da inArea değişkenini true yapacaksın. Türkçesi, eğer karakter belirtilen alan içinde ise inArea değişkenini true yap a denk gelmekte.
bkz;
if #(pos - vector3(packagePos.x, packagePos.y, packagePos.z)) < 2.3 then
inArea = true
bunu yaptıktan sonrasında ise
if onDuty then
i kapattığın end in sonrasında yeni bir if başlatarak
if inArea and not uiShow then
exports['okokTextUI']:Open('[E] Message', 'darkred', 'left')
uiShow = true
end atıyorsun.
Bu demek oluyor ki eğer karakter alanın içinde ise (Hatırlarsan karakter alanın içerisinde olduğunda inArea'yı true yapmıştık) ve uiShow false ise (Yani ui gözükmüyor ise) textUi 'i aç.
Bu kadarı da yeterli değil,
if inArea and not uiShow then
exports['okokTextUI']:Open('[E] Message', 'darkred', 'left')
uiShow = true
end atıyorsun. yere düzenleme yapmamız lazım.
Karakter alanın içinde değilse dahi hala daha açık tutmaya devam edecek çünkü kapatma fonksiyonunu göndermedik.
if inArea and not uiShow then
exports['okokTextUI']:Open('[E] Message', 'darkred', 'left')
uiShow = true
elseif not inArea and uiShow then
exports['okokTextUI']:Close()
uiShow = false
end atıyorsun.
ve inArea değişkenini de düzenlememiz için
PickupPackage()
end)
end
kısmını
PickupPackage()
end)
else
inArea = false
end
şeklinde düzenliyorsun.
Herhangi bir şekilde denemesini yapmadım, kafamdan yazdım. Kendin denedikten sonrasında problem yaşarsan buraya yorum atarsın, nadir de olsa giriyorum buraya. Cevap yazarım.
DC varmı?if #(pos - vector3(packagePos.x, packagePos.y, packagePos.z)) < 2.3 then
exports['okokTextUI']:Open('[E] Message', 'darkred', 'left')
exports['okokTextUI']:Close()
Burada yaptığın hata şu, if #(pos - vector3(... le başlayan kısımda "EĞER KARAKTER packagePos koordinatının çevresinde 2.3 yarıçapa sahip bir çember içerisinde ise okokTextUI 'yı aç okokTextUI 'yi kapat demişsin.
Bu bağlamda close verdiğin için milisaniyeler arasında ui i gösterip hemen kapatıyor.
Eğer close yaptığın yeri silersen de döngü içerisinde olduğu için sürekli olarak Ui 'ı açmaya başlar. Spamlar. Bu da istemeyeceğin bir durumdur.
Bunun için önce döngünün dışına üst tarafa bir değişken oluşturacaksın.
bkz;
Citizen.CreateThread......blablabla
local inArea = false
local uiShow = false
ardından
if #(pos - vector3(packagePos.x, packagePos.y, packagePos.z)) < 2.3 then
bunun altına da inArea değişkenini true yapacaksın. Türkçesi, eğer karakter belirtilen alan içinde ise inArea değişkenini true yap a denk gelmekte.
bkz;
if #(pos - vector3(packagePos.x, packagePos.y, packagePos.z)) < 2.3 then
inArea = true
bunu yaptıktan sonrasında ise
if onDuty then
i kapattığın end in sonrasında yeni bir if başlatarak
if inArea and not uiShow then
exports['okokTextUI']:Open('[E] Message', 'darkred', 'left')
uiShow = true
end atıyorsun.
Bu demek oluyor ki eğer karakter alanın içinde ise (Hatırlarsan karakter alanın içerisinde olduğunda inArea'yı true yapmıştık) ve uiShow false ise (Yani ui gözükmüyor ise) textUi 'i aç.
Bu kadarı da yeterli değil,
if inArea and not uiShow then
exports['okokTextUI']:Open('[E] Message', 'darkred', 'left')
uiShow = true
end atıyorsun. yere düzenleme yapmamız lazım.
Karakter alanın içinde değilse dahi hala daha açık tutmaya devam edecek çünkü kapatma fonksiyonunu göndermedik.
if inArea and not uiShow then
exports['okokTextUI']:Open('[E] Message', 'darkred', 'left')
uiShow = true
elseif not inArea and uiShow then
exports['okokTextUI']:Close()
uiShow = false
end atıyorsun.
ve inArea değişkenini de düzenlememiz için
PickupPackage()
end)
end
kısmını
PickupPackage()
end)
else
inArea = false
end
şeklinde düzenliyorsun.
Herhangi bir şekilde denemesini yapmadım, kafamdan yazdım. Kendin denedikten sonrasında problem yaşarsan buraya yorum atarsın, nadir de olsa giriyorum buraya. Cevap yazarım.
Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!