Jump to content

get kill problem


StreetSaintz

Recommended Posts

i got this script to get who killed you but there is somthing wrong it doesn't do anything

addEventHandler("onClientVehicleCollision", root, function(hitElement) 
  if source == getPedOccupiedVehicle(localPlayer) and hitElement and getElementType(hitElement) == "vehicle" then 
    local driver = getVehicleController(source) 
    local hDriver = getVehicleController(hitElement) 
  end 
  if hDriver and driver then 
    setElementData(driver, "lastcol", hDriver) 
  end 
end 
) 
local queue = {} 
local font = "default-bold" 
local size = 3 
local sw, sh = guiGetScreenSize() 
local t = {} 
local h = dxGetFontHeight(size, font) 
local sa = {w = 300, h = 70, x = sw / 2 - 200, y = sh - 200, p = 0, q = 0, i = 0, q_i = 0, portion = "", title = 0, dec = 0, dec_i = 0} 
RGBToHex = function(red, green, blue, alpha) 
  if red < 0 or red > 255 or green < 0 or green > 255 or blue < 0 or blue > 255 or alpha and (alpha < 0 or alpha > 255) then 
    return nil 
  end 
  if alpha then 
    return string.format("#%.2X%.2X%.2X%.2X", red, green, blue, alpha) 
  else 
    return string.format("#%.2X%.2X%.2X", red, green, blue) 
  end 
end 
  
addEventHandler("onClientRender", root, function() 
  -- upvalues: t , size , font , sw , sh , h 
  for i,v in ipairs(t) do 
    local ti = getTickCount() - v[2] 
    if ti <= 5000 then 
      local w = dxGetTextWidth(v[1]:gsub("#%x%x%x%x%x%x", ""), size, font) 
      local a = 255 
      if ti < 1000 then 
        a = a * (getTickCount() - v[2]) / 1000 
      elseif ti > 4000 then 
        a = a * (5000 - ti) / 1000 
      end 
      dxDrawText(v[1]:gsub("#%x%x%x%x%x%x", ""), sw / 2 - w / 2 - 1, sh - 220 + i * h - 1, sw, sh, tocolor(0, 0, 0, a), size, font, "left", "top", false, false, true, true, false) 
      dxDrawText(v[1], sw / 2 - w / 2, sh - 220 + i * h, sw, sh, tocolor(255, 255, 255, a), size, font, "left", "top", false, false, true, true, false) 
    else 
      table.remove(t, i) 
    end 
  end 
end 
) 
addEventHandler("onClientPlayerWasted", root, function() 
  -- upvalues: t , queue 
  local k = getElementData(source, "lastcol") 
  if isElement(k) then 
    local r, g, b = 255, 255, 255 
    if source == localPlayer then 
      if getPlayerTeam(k) then 
        r, g, b = getTeamColor(getPlayerTeam(k)) 
      end 
      table.insert(t, 1, {"you killed-  " .. string.format("#%.2X%.2X%.2X", r, g, b) .. getPlayerName(k), getTickCount()}) 
    elseif k == localPlayer then 
      if getPlayerTeam(source) then 
        r, g, b = getTeamColor(getPlayerTeam(source)) 
      end 
      table.insert(t, 1, {"someone killed you ::  " .. string.format("#%.2X%.2X%.2X", r, g, b) .. getPlayerName(source), getTickCount()}) 
    end 
    local r1, g1, b1 = 255, 255, 255 
    local r2, g2, b2 = 255, 255, 255 
    if getPlayerTeam(k) then 
      r1, g1, b1 = getTeamColor(getPlayerTeam(k)) 
    end 
    if getPlayerTeam(source) then 
      r2, g2, b2 = getTeamColor(getPlayerTeam(source)) 
    end 
    table.insert(queue, {getPlayerName(k) .. " #ffffffkilled - " .. getPlayerName(source),  
{r1, g1, b1},  
{r2, g2, b2}}) 
  end 
end 
) 
addCommandHandler("sa", function() 
  -- upvalues: sa 
  sa.state = not sa.state 
  sa.i = 0 
  sa.p = 0 
  sa.q = 0 
  sa.q_i = 0 
  sa.title = 0 
  sa.dec = 0 
  sa.dec_i = 0 
end 
) 

Link to comment
  • MTA Team
addEventHandler("onClientVehicleCollision", root, function(hitElement) 
  if source == getPedOccupiedVehicle(localPlayer) and hitElement and getElementType(hitElement) == "vehicle" then 
    local driver = getVehicleController(source) 
    local hDriver = getVehicleController(hitElement) 
  end 
  if hDriver and driver then 
    setElementData(driver, "lastcol", hDriver) 
  end 
end 
) 

driver and hDriver is in an another scope, which means they will be always nil after setting them in the if-scope

This is how it should work:

   
   local driver, hDriver 
if source == getPedOccupiedVehicle(localPlayer) and hitElement and getElementType(hitElement) == "vehicle" then 
    driver = getVehicleController(source) 
    hDriver = getVehicleController(hitElement) 
  end 
  if hDriver and driver then 
    setElementData(driver, "lastcol", hDriver) 
  end 

Link to comment

like this ? :

local driver, hDriver 
if source == getPedOccupiedVehicle(localPlayer) and hitElement and getElementType(hitElement) == "vehicle" then 
    driver = getVehicleController(source) 
    hDriver = getVehicleController(hitElement) 
  end 
  if hDriver and driver then 
    setElementData(driver, "lastcol", hDriver) 
  end 
) 
local queue = {} 
local font = "default-bold" 
local size = 3 
local sw, sh = guiGetScreenSize() 
local t = {} 
local h = dxGetFontHeight(size, font) 
local sa = {w = 300, h = 70, x = sw / 2 - 200, y = sh - 200, p = 0, q = 0, i = 0, q_i = 0, portion = "", title = 0, dec = 0, dec_i = 0} 
RGBToHex = function(red, green, blue, alpha) 
  if red < 0 or red > 255 or green < 0 or green > 255 or blue < 0 or blue > 255 or alpha and (alpha < 0 or alpha > 255) then 
    return nil 
  end 
  if alpha then 
    return string.format("#%.2X%.2X%.2X%.2X", red, green, blue, alpha) 
  else 
    return string.format("#%.2X%.2X%.2X", red, green, blue) 
  end 
end 
  
addEventHandler("onClientRender", root, function() 
  -- upvalues: t , size , font , sw , sh , h 
  for i,v in ipairs(t) do 
    local ti = getTickCount() - v[2] 
    if ti <= 5000 then 
      local w = dxGetTextWidth(v[1]:gsub("#%x%x%x%x%x%x", ""), size, font) 
      local a = 255 
      if ti < 1000 then 
        a = a * (getTickCount() - v[2]) / 1000 
      elseif ti > 4000 then 
        a = a * (5000 - ti) / 1000 
      end 
      dxDrawText(v[1]:gsub("#%x%x%x%x%x%x", ""), sw / 2 - w / 2 - 1, sh - 220 + i * h - 1, sw, sh, tocolor(0, 0, 0, a), size, font, "left", "top", false, false, true, true, false) 
      dxDrawText(v[1], sw / 2 - w / 2, sh - 220 + i * h, sw, sh, tocolor(255, 255, 255, a), size, font, "left", "top", false, false, true, true, false) 
    else 
      table.remove(t, i) 
    end 
  end 
end 
) 
addEventHandler("onClientPlayerWasted", root, function() 
  -- upvalues: t , queue 
  local k = getElementData(source, "lastcol") 
  if isElement(k) then 
    local r, g, b = 255, 255, 255 
    if source == localPlayer then 
      if getPlayerTeam(k) then 
        r, g, b = getTeamColor(getPlayerTeam(k)) 
      end 
      table.insert(t, 1, {"Seni oldurdu :: " .. string.format("#%.2X%.2X%.2X", r, g, b) .. getPlayerName(k), getTickCount()}) 
    elseif k == localPlayer then 
      if getPlayerTeam(source) then 
        r, g, b = getTeamColor(getPlayerTeam(source)) 
      end 
      table.insert(t, 1, {"Sen bi oyunucuyu oldurdun ::  " .. string.format("#%.2X%.2X%.2X", r, g, b) .. getPlayerName(source), getTickCount()}) 
    end 
    local r1, g1, b1 = 255, 255, 255 
    local r2, g2, b2 = 255, 255, 255 
    if getPlayerTeam(k) then 
      r1, g1, b1 = getTeamColor(getPlayerTeam(k)) 
    end 
    if getPlayerTeam(source) then 
      r2, g2, b2 = getTeamColor(getPlayerTeam(source)) 
    end 
    table.insert(queue, {getPlayerName(k) .. " #ffffffkilled " .. getPlayerName(source),  
{r1, g1, b1},  
{r2, g2, b2}}) 
  end 
end 
) 
addCommandHandler("sa", function() 
  -- upvalues: sa 
  sa.state = not sa.state 
  sa.i = 0 
  sa.p = 0 
  sa.q = 0 
  sa.q_i = 0 
  sa.title = 0 
  sa.dec = 0 
  sa.dec_i = 0 
end 
) 

Link to comment

i get this error now: zzbZ5S2.png

scriptcode:

addEventHandler("onClientVehicleCollision", root, function(hitElement) 
local driver, hDriver 
if source == getPedOccupiedVehicle(localPlayer) and hitElement and getElementType(hitElement) == "vehicle" then 
    driver = getVehicleController(source) 
    hDriver = getVehicleController(hitElement) 
  end 
  if hDriver and driver then 
    setElementData(driver, "lastcol", hDriver) 
  end 
  
local queue = {} 
local font = "default-bold" 
local size = 3 
local sw, sh = guiGetScreenSize() 
local t = {} 
local h = dxGetFontHeight(size, font) 
local sa = {w = 300, h = 70, x = sw / 2 - 200, y = sh - 200, p = 0, q = 0, i = 0, q_i = 0, portion = "", title = 0, dec = 0, dec_i = 0} 
RGBToHex = function(red, green, blue, alpha) 
  if red < 0 or red > 255 or green < 0 or green > 255 or blue < 0 or blue > 255 or alpha and (alpha < 0 or alpha > 255) then 
    return nil 
  end 
  if alpha then 
    return string.format("#%.2X%.2X%.2X%.2X", red, green, blue, alpha) 
  else 
    return string.format("#%.2X%.2X%.2X", red, green, blue) 
  end 
end 
  
addEventHandler("onClientRender", root, function() 
  -- upvalues: t , size , font , sw , sh , h 
  for i,v in ipairs(t) do 
    local ti = getTickCount() - v[2] 
    if ti <= 5000 then 
      local w = dxGetTextWidth(v[1]:gsub("#%x%x%x%x%x%x", ""), size, font) 
      local a = 255 
      if ti < 1000 then 
        a = a * (getTickCount() - v[2]) / 1000 
      elseif ti > 4000 then 
        a = a * (5000 - ti) / 1000 
      end 
      dxDrawText(v[1]:gsub("#%x%x%x%x%x%x", ""), sw / 2 - w / 2 - 1, sh - 220 + i * h - 1, sw, sh, tocolor(0, 0, 0, a), size, font, "left", "top", false, false, true, true, false) 
      dxDrawText(v[1], sw / 2 - w / 2, sh - 220 + i * h, sw, sh, tocolor(255, 255, 255, a), size, font, "left", "top", false, false, true, true, false) 
    else 
      table.remove(t, i) 
    end 
  end 
end 
) 
addEventHandler("onClientPlayerWasted", root, function() 
  -- upvalues: t , queue 
  local k = getElementData(source, "lastcol") 
  if isElement(k) then 
    local r, g, b = 255, 255, 255 
    if source == localPlayer then 
      if getPlayerTeam(k) then 
        r, g, b = getTeamColor(getPlayerTeam(k)) 
      end 
      table.insert(t, 1, {"Seni oldurdu :: " .. string.format("#%.2X%.2X%.2X", r, g, b) .. getPlayerName(k), getTickCount()}) 
    elseif k == localPlayer then 
      if getPlayerTeam(source) then 
        r, g, b = getTeamColor(getPlayerTeam(source)) 
      end 
      table.insert(t, 1, {"Sen bi oyunucuyu oldurdun ::  " .. string.format("#%.2X%.2X%.2X", r, g, b) .. getPlayerName(source), getTickCount()}) 
    end 
    local r1, g1, b1 = 255, 255, 255 
    local r2, g2, b2 = 255, 255, 255 
    if getPlayerTeam(k) then 
      r1, g1, b1 = getTeamColor(getPlayerTeam(k)) 
    end 
    if getPlayerTeam(source) then 
      r2, g2, b2 = getTeamColor(getPlayerTeam(source)) 
    end 
    table.insert(queue, {getPlayerName(k) .. " #ffffffkilled " .. getPlayerName(source), 
{r1, g1, b1}, 
{r2, g2, b2}}) 
  end 
end 
) 
addCommandHandler("sa", function() 
  -- upvalues: sa 
  sa.state = not sa.state 
  sa.i = 0 
  sa.p = 0 
  sa.q = 0 
  sa.q_i = 0 
  sa.title = 0 
  sa.dec = 0 
  sa.dec_i = 0 
end 
) 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...