Ping feature crashes in MP [Solved]
Posted: Wed Jul 23, 2014 12:02 pm
by Noobasaurus
As stated in the topic's title, the ping feature crashes the game once it happens in MP. It works fine for the most part on SP. Sometimes it doesn't work at all in SP but usually it's fine.
Since I can't debug MP, I don't know what's wrong. Help is greatly appreciated.
Hidden/Spoiler:
[code]
unitsAlive = {}
unitSpawn = OnCharacterSpawn(
function(character)
playerInfo = {playerUnit = GetCharacterUnit(character), playerTeam = GetCharacterTeam(character)--, this comma is only necessary if you add more info
--any other info you want to record
}
unitsAlive[character] = playerInfo
end)
pingtimer1 = CreateTimer("pingtimer1")
SetTimerValue(pingtimer1, 30)
OnTimerElapse(
function(timer)
for i, v in pairs(unitsAlive) do
unit = GetCharacterUnit(i) --**Add these lines**
playerTeam = GetCharacterTeam(i) --"
--local x, y, z = GetWorldPosition(unit)
if playerTeam == 2 and unit ~= nil then
pingcount = pingcount + 1;
CreateEntity("com_item_null", GetEntityMatrix(unit), "ping"..pingcount)
MapAddEntityMarker("ping"..pingcount, "hud_objective_icon1", 2.5, 1, "BLUE", true, true, true)
end
end
SetTimerValue(pingtimer1, 30)
StartTimer(pingtimer1)
StartTimer(pingtimer2)
end,
pingtimer1
)
pingtimer2 = CreateTimer("pingtimer2")
SetTimerValue(pingtimer2, 15)
OnTimerElapse(
function(timer)
if pingcount == 1 then
MapRemoveEntityMarker("ping1")
DeleteEntity("ping1")
end
if pingcount == 2 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
DeleteEntity("ping1")
DeleteEntity("ping2")
end
if pingcount == 3 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
end
if pingcount == 4 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
end
if pingcount == 5 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
end
if pingcount == 6 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping6")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
end
if pingcount == 7 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
end
if pingcount == 8 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
MapRemoveEntityMarker("ping8")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
DeleteEntity("ping8")
end
if pingcount == 9 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
MapRemoveEntityMarker("ping8")
MapRemoveEntityMarker("ping9")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
DeleteEntity("ping8")
DeleteEntity("ping9")
end
if pingcount == 10 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
MapRemoveEntityMarker("ping8")
MapRemoveEntityMarker("ping9")
MapRemoveEntityMarker("ping10")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
DeleteEntity("ping8")
DeleteEntity("ping9")
DeleteEntity("ping10")
end
if pingcount == 11 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
MapRemoveEntityMarker("ping8")
MapRemoveEntityMarker("ping9")
MapRemoveEntityMarker("ping10")
MapRemoveEntityMarker("ping11")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
DeleteEntity("ping8")
DeleteEntity("ping9")
DeleteEntity("ping10")
DeleteEntity("ping11")
end
if pingcount == 12 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
MapRemoveEntityMarker("ping8")
MapRemoveEntityMarker("ping9")
MapRemoveEntityMarker("ping10")
MapRemoveEntityMarker("ping11")
MapRemoveEntityMarker("ping12")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
DeleteEntity("ping8")
DeleteEntity("ping9")
DeleteEntity("ping10")
DeleteEntity("ping11")
DeleteEntity("ping12")
end
if pingcount == 13 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
MapRemoveEntityMarker("ping8")
MapRemoveEntityMarker("ping9")
MapRemoveEntityMarker("ping10")
MapRemoveEntityMarker("ping11")
MapRemoveEntityMarker("ping12")
MapRemoveEntityMarker("ping13")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
DeleteEntity("ping8")
DeleteEntity("ping9")
DeleteEntity("ping10")
DeleteEntity("ping11")
DeleteEntity("ping12")
DeleteEntity("ping13")
end
if pingcount == 14 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
MapRemoveEntityMarker("ping8")
MapRemoveEntityMarker("ping9")
MapRemoveEntityMarker("ping10")
MapRemoveEntityMarker("ping11")
MapRemoveEntityMarker("ping12")
MapRemoveEntityMarker("ping13")
MapRemoveEntityMarker("ping14")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
DeleteEntity("ping8")
DeleteEntity("ping9")
DeleteEntity("ping10")
DeleteEntity("ping11")
DeleteEntity("ping12")
DeleteEntity("ping13")
DeleteEntity("ping14")
end
pingcount = 0;
SetTimerValue(pingtimer2, 15)
end,
pingtimer2
)
pingcount = 0
[/code]
unitsAlive = {}
unitSpawn = OnCharacterSpawn(
function(character)
playerInfo = {playerUnit = GetCharacterUnit(character), playerTeam = GetCharacterTeam(character)--, this comma is only necessary if you add more info
--any other info you want to record
}
unitsAlive[character] = playerInfo
end)
pingtimer1 = CreateTimer("pingtimer1")
SetTimerValue(pingtimer1, 30)
OnTimerElapse(
function(timer)
for i, v in pairs(unitsAlive) do
unit = GetCharacterUnit(i) --**Add these lines**
playerTeam = GetCharacterTeam(i) --"
--local x, y, z = GetWorldPosition(unit)
if playerTeam == 2 and unit ~= nil then
pingcount = pingcount + 1;
CreateEntity("com_item_null", GetEntityMatrix(unit), "ping"..pingcount)
MapAddEntityMarker("ping"..pingcount, "hud_objective_icon1", 2.5, 1, "BLUE", true, true, true)
end
end
SetTimerValue(pingtimer1, 30)
StartTimer(pingtimer1)
StartTimer(pingtimer2)
end,
pingtimer1
)
pingtimer2 = CreateTimer("pingtimer2")
SetTimerValue(pingtimer2, 15)
OnTimerElapse(
function(timer)
if pingcount == 1 then
MapRemoveEntityMarker("ping1")
DeleteEntity("ping1")
end
if pingcount == 2 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
DeleteEntity("ping1")
DeleteEntity("ping2")
end
if pingcount == 3 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
end
if pingcount == 4 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
end
if pingcount == 5 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
end
if pingcount == 6 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping6")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
end
if pingcount == 7 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
end
if pingcount == 8 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
MapRemoveEntityMarker("ping8")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
DeleteEntity("ping8")
end
if pingcount == 9 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
MapRemoveEntityMarker("ping8")
MapRemoveEntityMarker("ping9")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
DeleteEntity("ping8")
DeleteEntity("ping9")
end
if pingcount == 10 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
MapRemoveEntityMarker("ping8")
MapRemoveEntityMarker("ping9")
MapRemoveEntityMarker("ping10")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
DeleteEntity("ping8")
DeleteEntity("ping9")
DeleteEntity("ping10")
end
if pingcount == 11 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
MapRemoveEntityMarker("ping8")
MapRemoveEntityMarker("ping9")
MapRemoveEntityMarker("ping10")
MapRemoveEntityMarker("ping11")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
DeleteEntity("ping8")
DeleteEntity("ping9")
DeleteEntity("ping10")
DeleteEntity("ping11")
end
if pingcount == 12 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
MapRemoveEntityMarker("ping8")
MapRemoveEntityMarker("ping9")
MapRemoveEntityMarker("ping10")
MapRemoveEntityMarker("ping11")
MapRemoveEntityMarker("ping12")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
DeleteEntity("ping8")
DeleteEntity("ping9")
DeleteEntity("ping10")
DeleteEntity("ping11")
DeleteEntity("ping12")
end
if pingcount == 13 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
MapRemoveEntityMarker("ping8")
MapRemoveEntityMarker("ping9")
MapRemoveEntityMarker("ping10")
MapRemoveEntityMarker("ping11")
MapRemoveEntityMarker("ping12")
MapRemoveEntityMarker("ping13")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
DeleteEntity("ping8")
DeleteEntity("ping9")
DeleteEntity("ping10")
DeleteEntity("ping11")
DeleteEntity("ping12")
DeleteEntity("ping13")
end
if pingcount == 14 then
MapRemoveEntityMarker("ping1")
MapRemoveEntityMarker("ping2")
MapRemoveEntityMarker("ping3")
MapRemoveEntityMarker("ping4")
MapRemoveEntityMarker("ping5")
MapRemoveEntityMarker("ping7")
MapRemoveEntityMarker("ping8")
MapRemoveEntityMarker("ping9")
MapRemoveEntityMarker("ping10")
MapRemoveEntityMarker("ping11")
MapRemoveEntityMarker("ping12")
MapRemoveEntityMarker("ping13")
MapRemoveEntityMarker("ping14")
DeleteEntity("ping1")
DeleteEntity("ping2")
DeleteEntity("ping3")
DeleteEntity("ping4")
DeleteEntity("ping5")
DeleteEntity("ping6")
DeleteEntity("ping7")
DeleteEntity("ping8")
DeleteEntity("ping9")
DeleteEntity("ping10")
DeleteEntity("ping11")
DeleteEntity("ping12")
DeleteEntity("ping13")
DeleteEntity("ping14")
end
pingcount = 0;
SetTimerValue(pingtimer2, 15)
end,
pingtimer2
)
pingcount = 0
[/code]