Repair Kısıtlama

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı nofear

  • Yeni Üye
  • *
    • İleti: 8
: 01 Nisan 2020, 16:08:52
Askeri Server Yönetiyorum ve Sunucumda Bir Çok Filo Var Fakat DogFight Atarken Çoğu Repair Spamlıyor ve Havacı Arkadaşlar Bundan Rahatsız Repair i 5 saniye de bir kısıtlayabiliceğim bir script lazım yardımcı olurmusunuz
 


MTASATURK

Repair Kısıtlama
« : 01 Nisan 2020, 16:08:52 »

Çevrimdışı wicky

  • hasssssssikome
  • Acemi Üye
  • *
    • İleti: 169
Yanıtla #1 : 02 Nisan 2020, 05:02:18
Kod
local SEC = 1 -- Tamir etme aralığını belirler. Saniye olarak yaz
local CMD_INTERVAL        = SEC*1000
local BLOCK_AFTER_INTERVAL = 1250

local executions = setmetatable({}, { --// Metatable for non-existing indexes
    __index = function(t, player)
        return getTickCount()-CMD_INTERVAL
    end
})

addEventHandler("onPlayerCommand", root,
    function(cmd)
        if (cmd == 'repair') then
            if (executions[source]-getTickCount() <= CMD_INTERVAL) then
                outputChatBox("Bu savaş kurallarına aykırı! Aracını sadece beş saniyede bir tamir edebilirsin!",source,255,0,0)
                cancelEvent()
            end
            executions[source] = getTickCount()
        end
    end
)
en başta kaç saniyede çalışacağını yazdım, şu an beş saniyeye ayarlı
« Son Düzenleme: 02 Nisan 2020, 05:08:14 Gönderen: wicky »
 


Çevrimdışı nofear

  • Yeni Üye
  • *
    • İleti: 8
Yanıtla #2 : 03 Nisan 2020, 00:41:50
Linki görebilmek için Kayıt olun yada Giriş yapın.
Kod
local SEC = 1 -- Tamir etme aralığını belirler. Saniye olarak yaz
local CMD_INTERVAL        = SEC*1000
local BLOCK_AFTER_INTERVAL = 1250

local executions = setmetatable({}, { --// Metatable for non-existing indexes
    __index = function(t, player)
        return getTickCount()-CMD_INTERVAL
    end
})

addEventHandler("onPlayerCommand", root,
    function(cmd)
        if (cmd == 'repair') then
            if (executions[source]-getTickCount() <= CMD_INTERVAL) then
                outputChatBox("Bu savaş kurallarına aykırı! Aracını sadece beş saniyede bir tamir edebilirsin!",source,255,0,0)
                cancelEvent()
            end
            executions[source] = getTickCount()
        end
    end
)
en başta kaç saniyede çalışacağını yazdım, şu an beş saniyeye ayarlı

Teşekkürler

Mesaj Birleştirildi: 03 Nisan 2020, 00:42:41
Linki görebilmek için Kayıt olun yada Giriş yapın.
Kod
local SEC = 1 -- Tamir etme aralığını belirler. Saniye olarak yaz
local CMD_INTERVAL        = SEC*1000
local BLOCK_AFTER_INTERVAL = 1250

local executions = setmetatable({}, { --// Metatable for non-existing indexes
    __index = function(t, player)
        return getTickCount()-CMD_INTERVAL
    end
})

addEventHandler("onPlayerCommand", root,
    function(cmd)
        if (cmd == 'repair') then
            if (executions[source]-getTickCount() <= CMD_INTERVAL) then
                outputChatBox("Bu savaş kurallarına aykırı! Aracını sadece beş saniyede bir tamir edebilirsin!",source,255,0,0)
                cancelEvent()
            end
            executions[source] = getTickCount()
        end
    end
)
en başta kaç saniyede çalışacağını yazdım, şu an beş saniyeye ayarlı

Teşekkürler
 


Çevrimdışı nofear

  • Yeni Üye
  • *
    • İleti: 8
Yanıtla #3 : 07 Nisan 2020, 07:07:31
Linki görebilmek için Kayıt olun yada Giriş yapın.
Kod
local SEC = 1 -- Tamir etme aralığını belirler. Saniye olarak yaz
local CMD_INTERVAL        = SEC*1000
local BLOCK_AFTER_INTERVAL = 1250

local executions = setmetatable({}, { --// Metatable for non-existing indexes
    __index = function(t, player)
        return getTickCount()-CMD_INTERVAL
    end
})

addEventHandler("onPlayerCommand", root,
    function(cmd)
        if (cmd == 'repair') then
            if (executions[source]-getTickCount() <= CMD_INTERVAL) then
                outputChatBox("Bu savaş kurallarına aykırı! Aracını sadece beş saniyede bir tamir edebilirsin!",source,255,0,0)
                cancelEvent()
            end
            executions[source] = getTickCount()
        end
    end
)
en başta kaç saniyede çalışacağını yazdım, şu an beş saniyeye ayarlı

Ben bunu ayarladım fakat chatta yazısı çıkıyor evet ama repair i engellemiyor nasıl yapicaz
 


Çevrimdışı HypeR

  • Yeni Üye
  • *
    • İleti: 17
  • MTA - Marina Gaming Freeroam
Yanıtla #4 : 08 Nisan 2020, 16:40:33
Linki görebilmek için Kayıt olun yada Giriş yapın.
Kod
local SEC = 1 -- Tamir etme aralığını belirler. Saniye olarak yaz
local CMD_INTERVAL        = SEC*1000
local BLOCK_AFTER_INTERVAL = 1250

local executions = setmetatable({}, { --// Metatable for non-existing indexes
    __index = function(t, player)
        return getTickCount()-CMD_INTERVAL
    end
})

addEventHandler("onPlayerCommand", root,
    function(cmd)
        if (cmd == 'repair') then
            if (executions[source]-getTickCount() <= CMD_INTERVAL) then
                cancelEvent()
            end
            executions[source] = getTickCount()
        end
    end
)
en başta kaç saniyede çalışacağını yazdım, şu an beş saniyeye ayarlı

Bunu Dene İşine Yarar :)
MTA - Marina Gaming Freeroam

Linki görebilmek için Kayıt olun yada Giriş yapın.
 


Çevrimdışı Ky

  • Uzman Üye
  • *
    • İleti: 614
Yanıtla #5 : 08 Nisan 2020, 21:14:15
fr_client.lua içine gir repair fonskiyonunu aşağıya attığım ile değiştir.
Kod
---------------------------
-- Repair vehicle
---------------------------
local sure = getTickCount()
local saniye = 10000 --10s
function repairVehicle()
local vehicle = getPedOccupiedVehicle(g_Me)
if sure and getTickCount() - sure < saniye then
errMsg("10 saniyede bir aracınızı tamir edebilirsiniz.")
return
end
if vehicle then
server.fixVehicle(vehicle)
sure = getTickCount()
end
end

addCommandHandler('repair', repairVehicle)
addCommandHandler('rp', repairVehicle)
 


MTASATURK

Ynt: Repair Kısıtlama
« Yanıtla #5 : 08 Nisan 2020, 21:14:15 »

Çevrimdışı HypeR

  • Yeni Üye
  • *
    • İleti: 17
  • MTA - Marina Gaming Freeroam
Yanıtla #6 : 08 Nisan 2020, 21:25:51
Linki görebilmek için Kayıt olun yada Giriş yapın.

Keşke bana bi ulaşşsan dcden :D

! HypeR^#2642
MTA - Marina Gaming Freeroam

Linki görebilmek için Kayıt olun yada Giriş yapın.