StreetSaintz Posted October 17, 2014 Share Posted October 17, 2014 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 botder Posted October 17, 2014 MTA Team Share Posted October 17, 2014 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
StreetSaintz Posted October 18, 2014 Author Share Posted October 18, 2014 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
StreetSaintz Posted October 18, 2014 Author Share Posted October 18, 2014 it still doesn't show anything, i don't see anything showing up on debugscript 3 or console. Link to comment
StreetSaintz Posted October 20, 2014 Author Share Posted October 20, 2014 i get this error now: 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now