Jump to content

مساعده في الكود


Recommended Posts

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

انا ودي اصنع سكربت السباون التنقل عند ضغط زر

انا بخليه كـ أول سكربت لي

المهم الي عرفته انا :

  
  
  
---------------------------buttons spawn---------------- 
  
tem5 = guiCreateButton(10,190,90,30,"tem5",false,SpawnPanel ) 
  
---------------------------Link buttons spawn---------------- 
 function onGuiClick (button, state, absoluteX, absoluteY) 
  if source == tem5 then 
"2192.2094726563" y="1676.8177490234" z="12.328513145447" rot="91.98" /> 
  end 
end 
addEventHandler ("onClientGUIClick", getRootElement(), onGuiClick) 
  
  

شباب بنسبه لأول سكربت لي يعني ياريت تعدلونه وتشرحون لي بعض ألأشياء وشكرا

Please help edit script first

Edited by Guest
Link to comment

وفي شي ثاني :

  
  
  
  
---------------------------buttons spawn---------------- 
  
tem5 = guiCreateButton(10,190,90,30,"tem5",false,SpawnPanel ) 
  
---------------------------Link buttons spawn---------------- 
 function onGuiClick (button, state, absoluteX, absoluteY) 
  if source == tem5 then 
setElementPosition ( source, 0, 0, 0 )  
setElementPosition ( source, true ) 
  end 
end 
addEventHandler ("onClientGUIClick", getRootElement(), onGuiClick) 
  
  
  

Link to comment
اوك حبيبي اريد اذا شخص ضغط على زر يتوجه للبدايه

ياريت فهمت :)

---------------------------buttons spawn---------------- 
  
tem5 = guiCreateButton(10,190,90,30,"tem5",false,SpawnPanel) 
  
---------------------------Link buttons spawn---------------- 
function onGuiClick(button, state, absoluteX, absoluteY) 
     if source == tem5 then 
          setElementPosition(localPlayer,2192.2094726563,1676.8177490234,12.328513145447) 
          setPedRotation(localPlayer,91.98) 
     end 
end 
addEventHandler("onClientGUIClick", root, onGuiClick) 

Link to comment

طيب ممكن تخلي ذا الكود لليزر يشتغل على طول اول مايدخل الاعب مو لازم يكتب في اف8

Client--

-- laserpointer client.lua 
-- by vick
 
--[[
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
        outputChatBox("laserpointer by vick loaded", 245,0,0)
        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
Link to comment
طيب ممكن تخلي ذا الكود لليزر يشتغل على طول اول مايدخل الاعب مو لازم يكتب في اف8

Client--

-- laserpointer client.lua 
-- by vick
 
--[[
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
        outputChatBox("laserpointer by vick loaded", 245,0,0)
        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 )
   
   
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...