[YARDIM] Water Check

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı merthcs

  • Yeni Üye
  • *
    • İleti: 66
: 22 Mart 2019, 19:49:19
Selam. Aracın suda olup olmama durumunu kendi event scriptim için uyarlamam kısmında bana yardımcı olabilir misiniz ?
Kod
function checkWater()
    if g_Vehicle then
        if not g_WaterCraftIDs[getElementModel(g_Vehicle)] then
            local x, y, z = getElementPosition(g_Me)
            local waterZ = getWaterLevel(x, y, z)
            if waterZ and z < waterZ - 0.5 and not isPlayerRaceDead(g_Me) and not isPlayerFinished(g_Me) and g_MapOptions then
                if g_MapOptions.firewater then
                    blowVehicle ( g_Vehicle, true )
                else
                    setElementHealth(g_Me,0)
                    triggerServerEvent('onRequestKillPlayer',g_Me)
                end
            end
        end
-- Check stalled vehicle
if not getVehicleEngineState( g_Vehicle ) then
setVehicleEngineState( g_Vehicle, true )
end
-- Check dead vehicle
if getElementHealth( g_Vehicle ) == 0 and not isPlayerRaceDead(g_Me) and not isPlayerFinished(g_Me)then
setElementHealth(g_Me,0)
triggerServerEvent('onRequestKillPlayer',g_Me)
end
end
end
Amaç araç suya girdiğinde karakterin ölmesi. Şimdiden teşekkürler.
« Son Düzenleme: 11 Nisan 2019, 07:28:27 Gönderen: Narkoz »
 


MTASATURK

[YARDIM] Water Check
« : 22 Mart 2019, 19:49:19 »

Çevrimdışı MarkeloF

  • Admin
  • *
    • İleti: 901
  • Maybe later.
Yanıtla #1 : 22 Mart 2019, 21:27:10
Attıgın kodlara bir anlam veremedim ama sanırım aracın suyda olup olmadıgını kontrol etmek istiyorsun.
Bu kod işine yarayacaktır;
Kod
   if isElementInWater(source) then
 


Çevrimdışı merthcs

  • Yeni Üye
  • *
    • İleti: 66
Yanıtla #2 : 22 Mart 2019, 22:29:11
Linki görebilmek için Kayıt olun yada Giriş yapın.
Attıgın kodlara bir anlam veremedim ama sanırım aracın suyda olup olmadıgını kontrol etmek istiyorsun.
Bu kod işine yarayacaktır;
Kod
   if isElementInWater(source) then
Destruction Derby gibi suya düşünce direkt karakterin ölmesini istiyorum, race kodları arasından buldum kodu Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı ertrldtcu

  • Uzman Üye
  • *
    • İleti: 589
Yanıtla #3 : 23 Mart 2019, 08:11:53
checkWater isimli fonksiyonda aracın pozisyonunu çekmiş, eğer posZ yani yüksekliği suyun yüksekliğinden küçükse oyuncuyu öldürmüş. Ancak bu fonksiyon kendi kendine başlamayacağı için render eventine bağlamalısın. Ve tabi başka bir modda kullanıcaksan race ile alakalı fonksiyonları kaldırmalı veya değiştirmelisin.
« Son Düzenleme: 23 Mart 2019, 08:15:46 Gönderen: ertrldtcu »
system
 


Çevrimdışı merthcs

  • Yeni Üye
  • *
    • İleti: 66
Yanıtla #4 : 23 Mart 2019, 11:18:54
Linki görebilmek için Kayıt olun yada Giriş yapın.
checkWater isimli fonksiyonda aracın pozisyonunu çekmiş, eğer posZ yani yüksekliği suyun yüksekliğinden küçükse oyuncuyu öldürmüş. Ancak bu fonksiyon kendi kendine başlamayacağı için render eventine bağlamalısın. Ve tabi başka bir modda kullanıcaksan race ile alakalı fonksiyonları kaldırmalı veya değiştirmelisin.
İşte tamda bu konuda yardıma ihtiyacım var. Mahlukat'ın event sistemine bağlamak istiyorum. Yaklaşık 3-4 gündür uğraşıyorum fakat yapamadım. Linki görebilmek için Kayıt olun yada Giriş yapın.

Mesaj Birleştirildi: 23 Mart 2019, 11:55:26
Linki görebilmek için Kayıt olun yada Giriş yapın.
İşte tamda bu konuda yardıma ihtiyacım var. Mahlukat'ın event sistemine bağlamak istiyorum. Yaklaşık 3-4 gündür uğraşıyorum fakat yapamadım. Linki görebilmek için Kayıt olun yada Giriş yapın.
Düz mantık kurarak event başladığında pedin canını ve oxygenini düşürmeye çalıştım can düştü ama oxygen kodunda a nil value diye hata aldım.
Kod
              setElementHealth (v, 10)
               setPedOxygenLevel (v, 10 )
       
« Son Düzenleme: 23 Mart 2019, 11:55:26 Gönderen: merthcs »
 


Çevrimdışı ertrldtcu

  • Uzman Üye
  • *
    • İleti: 589
Yanıtla #5 : 23 Mart 2019, 12:08:54
Kod
setElementHealth (v, 10)
setPedOxygenLevel (v, 10 )

üstteki kodlar yerine aynı kısımda alttakileri kullan;

Kod
setElementHealth (v, 10)
setPedStat(v, 225, 0)
Linki görebilmek için Kayıt olun yada Giriş yapın. fonksiyonu ile pedin su altı dayanıklılığını 0 yaptık. Böylece su altına girdiğinde direkt canı azalmaya başlayacak.
system
 


MTASATURK

Ynt: WaterCheck
« Yanıtla #5 : 23 Mart 2019, 12:08:54 »

Çevrimdışı merthcs

  • Yeni Üye
  • *
    • İleti: 66
Yanıtla #6 : 23 Mart 2019, 12:22:18
Linki görebilmek için Kayıt olun yada Giriş yapın.
Kod
setElementHealth (v, 10)
setPedOxygenLevel (v, 10 )

üstteki kodlar yerine aynı kısımda alttakileri kullan;

Kod
setElementHealth (v, 10)
setPedStat(v, 225, 0)
Linki görebilmek için Kayıt olun yada Giriş yapın. fonksiyonu ile pedin su altı dayanıklılığını 0 yaptık. Böylece su altına girdiğinde direkt canı azalmaya başlayacak.
Hata vermedi ama herhangi bir değişiklik olmadı. Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı ertrldtcu

  • Uzman Üye
  • *
    • İleti: 589
Yanıtla #7 : 23 Mart 2019, 13:02:02
Eğer eventteki oyuncuya herhangi bir data atadıysan getElementData'yı düzenle, atamadıysan getElementData bulunan if'i ve ona ait olan end'i sil.

Kod: client-side
function checkWater()
local veh = getPedOccupiedVehicle(localPlayer) -- oyuncunun aracı
if isElement(veh) then -- eğer oyuncunun içinde bulunduğu bir araç var ise
local x,y,z = getElementPosition(localPlayer)
if z < 0 then -- eğer oyuncu yüksekliği 0'dan küçükse
if getElementData(localPlayer,"eventDatası") then -- burada elementdata kontrolü yaptım
-- bu datayı oyuncu evente girdiğinde ayarla, event bitince oyuncudan sil
-- sadece bu elementdatanın olduğu yani eventteki oyuncuları suya girince öldüreceğiz
killPed(localPlayer)
end
end
end
end
addEventHandler("onClientRender",root,checkWater)
system
 


Çevrimdışı merthcs

  • Yeni Üye
  • *
    • İleti: 66
Yanıtla #8 : 23 Mart 2019, 13:48:40
Linki görebilmek için Kayıt olun yada Giriş yapın.
Eğer eventteki oyuncuya herhangi bir data atadıysan getElementData'yı düzenle, atamadıysan getElementData bulunan if'i ve ona ait olan end'i sil.

Kod: client-side
function checkWater()
local veh = getPedOccupiedVehicle(localPlayer) -- oyuncunun aracı
if isElement(veh) then -- eğer oyuncunun içinde bulunduğu bir araç var ise
local x,y,z = getElementPosition(localPlayer)
if z < 0 then -- eğer oyuncu yüksekliği 0'dan küçükse
if getElementData(localPlayer,"eventDatası") then -- burada elementdata kontrolü yaptım
-- bu datayı oyuncu evente girdiğinde ayarla, event bitince oyuncudan sil
-- sadece bu elementdatanın olduğu yani eventteki oyuncuları suya girince öldüreceğiz
killPed(localPlayer)
end
end
end
end
addEventHandler("onClientRender",root,checkWater)
killPed fonskiyonunda hata verdi bende setElementHealth olarak değiştirdim ve çalıştı. Çook çook çook teşekkür ederim. Linki görebilmek için Kayıt olun yada Giriş yapın. 
Konu kilitlenebilir.
 


Çevrimdışı MarkeloF

  • Admin
  • *
    • İleti: 901
  • Maybe later.
Yanıtla #9 : 23 Mart 2019, 17:16:43
Konu kilitlendi.