View difference between Paste ID: 6v7dXDnn and M6NHA82q
SHOW: | | - or go back to the newest paste.
1
-- For vehicle collision off -inspired from Eliteprime, wizard, shaft and bugs's works --
2
3
--vehicle_dmgmodifier = 0.1
4
playerRunoverCounter = {}
5
playerIsHit = {}
6
7
function GetRequiredVersion()
8
	return 200
9
end
10
11
12
function OnScriptLoad(processid, game, persistent) end
13
14
function OnDamageLookup(receiving, causing, mapId, tagdata)
15
	if causing then
16
		local c_player = objectidtoplayer(causing)
17
		local r_player = objectidtoplayer(receiving)
18
		if c_player and isinvehicle(c_player) then
19
			local m_vehicleId = getplayervehicleid(c_player)
20
			if m_vehicleId then
21
				local m_vehicle = getobject(m_vehicleId)
22
				local driver = readdword(m_vehicle + 0x324)
23
				if driver == causing then
24
					if not playerIsHit[r_player] then
25
						if not playerRunoverCounter[r_player] then playerRunoverCounter[r_player] = 0 end
26
						playerRunoverCounter[r_player] = playerRunoverCounter[r_player] + 1
27
						local name = tostring(getname(r_player))
28
						say("Player " .. name .. " has been ran over " .. tostring(playerRunoverCounter[r_player]) .. " times!")
29
						if playerRunoverCounter[r_player] >= 5 then
30
							say("Player " .. name .. " has been ran over 5 times and will now survives!")
31-
							return true
31+
							return false
32
						else
33
							playerIsHit[r_player] = true
34
							registertimer(1000, "Alrdycrashed", r_player)
35
						end
36
					end
37-
				return false
37+
				
38
				end
39
			end
40
		end
41
	end
42
	return true
43
end
44
45
function getplayervehicleid(player)
46
    local m_objectId = getplayerobjectid(player)
47
    if m_objectId then return readdword(getobject(m_objectId) + 0x11C) end
48
end
49
50
51
function Alrdycrashed(id, count, player)
52
	playerIsHit[player] = nil
53
	return false
54
end