Jump to content

HeK

Members
  • Posts

    185
  • Joined

  • Last visited

Everything posted by HeK

  1. Thanks, im building my own "Outbreak City" map and i needed to use that.
  2. Thanks alot everyone, solid that fixed the problem. Thanks so much!
  3. You must run this script from the same resource as the laser resource.. Because I didn't add any export to it so those functions are unknown to your current resource I did i placed it in the server side lua and it didn't work it was giving the same error, i tried doing a new lua only with that error and i placed it in the meta to run and same...
  4. It gave an ERROR. On the code you gave me attempt to call global 'isLaserEnabled <a nil value>
  5. Didn't work. Should i put it in ACL?
  6. I got Laserpointer from the public scripts on the community page, and when i use it on my server the laser from the gun isn't "on". I have checked the script and it says ON when player spawns. Only way i found to fix it for me was do /laser (turned off) and then /laser (turned on) and it started working but other players have to do the same... Any fix for this? Client: Player Element Data -- changing these to an invalid value can break this script "laser.on" -- tells you player has turned laser on "laser.aim" -- tells you player is aiming and laser is drawn "laser.red", "laser.green", "laser.blue", "laser.alpha" Exported Functions: SetLaserEnabled(player, state) -- (element:player, bool:state) -- returns false if invalid params, true otherwise IsLaserEnabled(player) -- (element:player) -- returns true or false SetLaserColor(player, r,g,b,a) -- (element:player, int:r, int:g, int:b, int:a) -- returns true GetLaserColor(player) -- (element:player) -- returns r,g,b,a (int:) or false but shouldnt happen. IsPlayerWeaponValidForLaser(player) -- (element:player) -- returns true or false ]] local dots = {} -- store markers for each players laser pointer CMD_LASER = "laser" -- command to toggle laser on/off CMD_LASERCOLOR = "lasercolor" -- command to change laser color laserWidth = 2 -- width of the dx line dotSize = .05 -- size of the dot at the end of line localPlayer = getLocalPlayer() -- for colorpicker picklasercolor = 0 colorPickerInitialized = 0 oldcolors = {r=255,g=0,b=0,a=255} addEventHandler("onClientResourceStart", getRootElement(), function(res) if res == getThisResource() then SetLaserEnabled(localPlayer, true) SetLaserColor(localPlayer, oldcolors.r,oldcolors.g,oldcolors.b,oldcolors.a) if colorPickerInitialized == 0 then -- attempt to init colorpicker stuff initColorPicker() end elseif res == getResourceFromName("colorpicker") then if colorPickerInitialized == 0 then -- attempt to init colorpicker stuff initColorPicker() end end end ) addEventHandler("onClientResourceStop", getRootElement(), function(res) if res == getThisResource() then outputChatBox("unloaded laserpointer", 245,0,0) SetLaserEnabled(localPlayer, false) end end ) addEventHandler("onClientElementDataChange", localPlayer, function(dataName, oldValue) if getElementType(source) == "player" and source == localPlayer and dataName == "laser.on" then local newValue = getElementData(source, dataName) if oldValue == true and newValue == false then unbindKey("aim_weapon", "both", AimKeyPressed) elseif oldValue == false and newValue == true then bindKey("aim_weapon", "both", AimKeyPressed) end end end ) addEventHandler( "onClientRender", getRootElement(), function() local players = getElementsByType("player") for k,v in ipairs(players) do if getElementData(v, "laser.on") then DrawLaser(v) end end end ) addEventHandler( "onClientPreRender", getRootElement(), function() local players = getElementsByType("player") for k,v in ipairs(players) do if getElementData(v, "laser.on") then --DrawLaser(v) end end end ) function AimKeyPressed(key, state) -- attempt to sync when aiming with binds, getPedControlState seems weird... if state == "down" then setElementData(localPlayer, "laser.aim", true, true) elseif state == "up" then setElementData(localPlayer, "laser.aim", false, true) end --outputChatBox(key .. " " .. state) end function DrawLaser(player) if getElementData(player, "laser.on") then local targetself = getPedTarget(player) if targetself and targetself == player then targetself = true else targetself = false end if getElementData(player, "laser.aim") and IsPlayerWeaponValidForLaser(player) == true and targetself == false then local x,y,z = getPedWeaponMuzzlePosition(player) if not x then outputDebugString("getPedWeaponMuzzlePosition failed") x,y,z = getPedTargetStart(player) end local x2,y2,z2 = getPedTargetEnd(player) if not x2 then --outputDebugString("getPedTargetEnd failed") return end local x3,y3,z3 = getPedTargetCollision(player) local r,g,b,a = GetLaserColor(player) if x3 then -- collision detected, draw til collision and add a dot dxDrawLine3D(x,y,z,x3,y3,z3, tocolor(r,g,b,a), laserWidth) DrawLaserDot(player, x3,y3,z3) else -- no collision, draw til end of weapons range dxDrawLine3D(x,y,z,x2,y2,z2, tocolor(r,g,b,a), laserWidth) DestroyLaserDot(player) end else DestroyLaserDot(player) -- not aiming, remove dot, no laser end else DestroyLaserDot(player) end end function DrawLaserDot (player, x,y,z) if not dots[player] then dots[player] = createMarker(x,y,z, "corona", .05, GetLaserColor(player)) else setElementPosition(dots[player], x,y,z) end end function DestroyLaserDot(player) if dots[player] and isElement(dots[player]) then destroyElement(dots[player]) dots[player] = nil end end function SetLaserColor(player,r,g,b,a) setElementData(player, "laser.red", r) setElementData(player, "laser.green", g) setElementData(player, "laser.blue", b) setElementData(player, "laser.alpha", a) return true end function GetLaserColor(player) r = getElementData(player, "laser.red") g = getElementData(player, "laser.green") b = getElementData(player, "laser.blue") a = getElementData(player, "laser.alpha") return r,g,b,a end function IsPlayerWeaponValidForLaser(player) -- returns false for unarmed and awkward weapons local weapon = getPedWeapon(player) if weapon and weapon > 21 and weapon < 39 and weapon ~= 35 and weapon ~= 36 then return true end return false end function SetLaserEnabled(player, state) -- returns false if invalid params passed, true if successful changed laser enabled if not player or isElement(player) == false then return false end if getElementType(player) ~= "player" then return false end if state == nil then return false end if state == true then -- enable laser setElementData(player, "laser.on", true, true) setElementData(player, "laser.aim", false, true) --bindKey("aim_weapon", "both", AimKeyPressed) -- done in onClientElementDataChange return true elseif state == false then -- disable laser setElementData(player, "laser.on", false, true) setElementData(player, "laser.aim", false, true) --unbindKey("aim_weapon", "both", AimKeyPressed) -- done in onClientElementDataChange return true end return false end function IsLaserEnabled(player) -- returns true or false based on player elementdata "laser.on" if getElementData(player, "laser.on") == true then return true else return false end end function ToggleLaserEnabled(cmd) player = localPlayer if IsLaserEnabled(player) == false then SetLaserEnabled(player, true) outputChatBox("laser on", 245,0,0) else SetLaserEnabled(player, false) outputChatBox("laser off", 245,0,0) end end function ChangeLaserColor(cmd, r,g,b,a) local player = localPlayer if colorPickerInitialized == 1 and getResourceFromName("colorpicker") then oldcolors.r, oldcolors.g, oldcolors.b, oldcolors.a = GetLaserColor(player) picklasercolor = 1 if exports.colorpicker:requestPickColor(true,true,"Choose Laser Color",oldcolors.r,oldcolors.g,oldcolors.b,oldcolors.a) == false then exports.colorpicker:cancelPickColor() return false end return true else if r and g and b and a then r,g,b,a = tonumber(r), tonumber(g), tonumber(b), tonumber(a) if r and g and b and a then if r < 0 or g < 0 or b < 0 or a < 0 or r > 255 or g > 255 or b > 255 or a > 255 then outputChatBox("Invalid colors: (0-255) usage: /" ..CMD_LASERCOLOR.. " r g b a", 245,0,0) return false else outputChatBox("Changed Laser Color to: "..r.." "..g.." "..b.." ".. a, r,g,b) SetLaserColor(player,r,g,b,a) return true end end end end outputChatBox("Invalid colors: (0-255) usage: /" ..CMD_LASERCOLOR.. " r g b a", 245,0,0) return false end addCommandHandler(CMD_LASER, ToggleLaserEnabled) addCommandHandler(CMD_LASERCOLOR, ChangeLaserColor) -- if color picker resource running, initialize events for it function initColorPicker() if getResourceFromName("colorpicker") == false then return false end addEventHandler("onClientPickedColor", localPlayer, function(r,g,b,a) if picklasercolor == 1 then SetLaserColor(source,r,g,b,a) end end ) addEventHandler("onClientCancelColorPick", localPlayer, function() if picklasercolor == 1 then SetLaserColor(source,oldcolors.r,oldcolors.g,oldcolors.b,oldcolors.a) picklasercolor = 0 end end )
  7. Hello, i saw your map and it's amazing. Whats the ID for that blue bag or something you have on this screenshot: http://i136.photobucket.com/albums/q199 ... -22-35.png Thanks for your attention.
  8. I was searching on the wiki, but i don't understand too much about this "codes" im still learning. But thank you so much!!
  9. How do i change the "alpha/transparency" of a Radar Area, I have tried many things but i always mess it up. Im a beginner at scripting. Here's the script im trying to change: safecol = createColCuboid ( 95.974617004395, 1751.3895263672, 17.640625, 153, 0, 0 ) safeZoneRadar = createRadarArea ( 95.974617004395, 1751.3895263672, 255, 255, 153, 0, 0 ) setElementData (safeZoneRadar, "zombieProof", true) function enterZone(hitPlayer,thePlayer) local skin = getElementModel (hitPlayer) if ( skin == 287 ) then toggleControl (hitPlayer, "fire", true ) toggleControl (hitPlayer, "aim_weapon", true) toggleControl (hitPlayer, "vehicle_fire", true) outputChatBox("", hitPlayer, 0, 255, 0) else killPed (hitPlayer) end end addEventHandler( "onColShapeHit", safecol, enterZone ) function leaveZone(hitPlayer,thePlayer) local skin = getElementModel (hitPlayer) toggleControl (hitPlayer, "fire", true) toggleControl (hitPlayer, "aim_weapon", true) toggleControl (hitPlayer, "vehicle_fire", true) outputChatBox("", hitPlayer, 255, 0, 0) if not ( skin == 287 ) then killPed (hitPlayer) end end addEventHandler( "onColShapeLeave", safecol, leaveZone )
×
×
  • Create New...