[YARDIM] Işınlanma Yapmak

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı efeasd1

  • Yeni Üye
  • *
    • İleti: 2
: 15 Aralık 2018, 11:44:43
Serverimde ışınlanma yapmak istiyorum örnek /egm gibi nasıl yapıcam?
« Son Düzenleme: 19 Aralık 2018, 01:34:59 Gönderen: Narkoz »
 


MTASATURK

[YARDIM] Işınlanma Yapmak
« : 15 Aralık 2018, 11:44:43 »

Çevrimdışı Mahlukat

  • Uzman Üye
  • *
    • İleti: 637
Yanıtla #1 : 15 Aralık 2018, 13:44:05
Linki görebilmek için Kayıt olun yada Giriş yapın.
Kod: lua
--server-side
local isinlananlar = {}
local sure = 10 -- kaç saniyede bir ışınlanabilir
yerler = {
-- ["komut"] = {x,y,z,chatteçıkcakmesaj}
["karakol"] = {0,0,3,"karakola ışınlandın"},
["tkt"] = {x,y,z,"tkt base ışınlandın"},
["oraya"] = {x,y,z,"oraya ışınlandın"},
["şuraya"] = {x,y,z,"şuraya ışınlandın"},
["buraya"] = {x,y,z,"şuraya ışınlandın"},
}

addEventHandler("onPlayerCommand",root,function(komut) -- oyuncu komut yazdığında
if yerler[komut] then  -- eğer yazdığı komut 'yerler' tablosunda var ise
local x,y,z,chat = unpack(yerler[komut]) -- tablodaki komuta ait verileri değişkene çıkar
isinla(source,x,y,z,chat) -- isinla fonksiyonuna komutu yaznaı ve değişkenleri yolla
end
end)

function isinla(oyuncu,x,y,z,chat) -- isinla func
if isinlananlar[oyuncu] and (isinlananlar[oyuncu])+(sure+1000) < getTickCount() then -- eğer isinlananlar tablosunda oyuncu var ise ve verisi şuanki süreden küçükse
outputChatBox("10 saniyede bir ışınlanabilirsin.",oyuncu,255,0,0,true) -- chate yazı at
return -- kodu durdur
end
local arac = getPedOccupiedVehicle(oyuncu) -- ışınlancak kişinin aracını çek
if arac then -- eğer arac varsa
if getVehicleController(arac) ~= oyuncu then  -- eğer aracın sürücüsü ışınlancak kişiden başka biriyse
outputChatBox("Sadece sürücü ışınlanabilir!",oyuncu,255,0,0,true)  -- chate yazı at
return  -- kodu durdur
end
setElementPosition(arac,x,y,z) -- eğer kod yukarda durmazsa, burda aracı ışınlar
else -- eğer arac yoksa
setElementPosition(oyuncu,x,y,z) -- oyuncuyu ışınla
end
outputChatBox(chat,oyuncu,0,255,0,true) -- chate yazı at
setElementAlpha(oyuncu,150) -- oyuncunun alpha 150 yap
triggerClientEvent(oyuncu,"Işınlanma:Client",oyuncu,sure) -- cliente oyuncuyu ve süreyi yolla
isinlananlar[oyuncu] = getTickCount() --tabloya anlık süreyi kaydet
end

addEvent("Işınlanma:Server",true) -- clientden gelcek veri için bir event oluşturduk
addEventHandler("Işınlanma:Server", root, function()
setElementAlpha(source,255) -- gelen oyuncunun alpha 255 yap
isinlananlar[source] = nil -- tablodan sil
end)

addEventHandler("onPlayerQuit", root, function() if isinlananlar[source] then isinlananlar[source] = nil end end) -- oyuncu çıkış yaptığında tablodan sildik
Kod: lua
--client-side
addEvent("Işınlanma:Client",true) -- serverden gelen veriler için bir event oluşturduk
addEventHandler("Işınlanma:Client", root, function(sure)
setPedWeaponSlot(source,0) -- ışınlanan oyuncunun silah slotunu 0 yaptık
addEventHandler("onClientPlayerWeaponSwitch",source,silahcek) -- silah değişememesi için 'silahcek' fonksiyonunu ekledik
addEventHandler("onClientPlayerDamage",source,olumsuzyap) -- hasar almaması için 'olumsuzyap' fonksiyonunu ekledik
setTimer(bitir,sure*1000,1,source) -- 10 saniye sonra bitirmek içik timer ekledik
end)

function bitir(oyuncu) -- bitir func
removeEventHandler("onClientPlayerWeaponSwitch",oyuncu,silahcek) -- silah değişebilmesi için 'silahcek' fonksiyonunu kaldırdık
removeEventHandler("onClientPlayerDamage",oyuncu,olumsuzyap)  -- hasar alabilmesi için 'olumsuzyap' fonksiyonunu kaldırdık
triggerServerEvent("Işınlanma:Server",oyuncu) -- servera yolladık
end

function silahcek() -- silahçek func (oyuncu silah değiştiğinde tetiklencek şekilde yaptık yukarda)
setPedWeaponSlot(localPlayer,0) -- silah slotunu 0 yap
end

function olumsuzyap() -- olumsuz func (oyuncu hasar aldığında tetiklencek şekilde yaptık yukarda)
cancelEvent() -- iptal et
end
Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı Strong

  • Deneyimli Üye
  • *
    • İleti: 455
  • After Roleplay Developer
Yanıtla #2 : 15 Aralık 2018, 21:56:28
Spoiler for Hiden:
local posicoes =
    {
        { 2810.8024902344, 898.85540771484, 10.757797241211 },

    }
   
function PosicaoPlayer ( thePlayer, command )
    local azar = math.random ( #posicoes )
   local veh = getPedOccupiedVehicle(thePlayer)
      if (veh) then
         setElementPosition(veh, unpack ( posicoes [ azar ] ) )
      else
         setElementPosition(thePlayer, unpack ( posicoes [ azar ] ) )
      end   
         outputChatBox ( "#FFFFFF[#00FF00Meslek-Işınlanma#FFFFFF] ".. getPlayerName(thePlayer) .." #FFFFFFKamyonculuk Mesleğine Işınlandı.(#00FF00/Kamyonculuk#FFFFFF)", root, 0, 255, 0, true )
end
addCommandHandler ( "Kamyonculuk", PosicaoPlayer  )

Denedim çalışıyor bunuda deneyebilirsin.[Kod Alıntıdır]
« Son Düzenleme: 19 Aralık 2018, 01:34:37 Gönderen: Narkoz »