Jump to content

مشكلة في الكود ممكن حل


Dr.Xen

Recommended Posts

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

لأهنتوو ممكن تعدلو الكود فيها مشكلة اول ما اروح للماركر يفتح لكل لأعبين السيرفر ..

والمشكلة الثانية :"انا رككبت ماركررين في اماكن مختلفة اول ما اخذ من مكان يجيني لثاني

الكود

server:

addEvent("spawningVehicle", true) 
local activeVehicles = {} 
local playersVehicles = {} 
local occupiedVehicles = {} 
local activeTimers = {} 
local Intruders = {} 
  
local function addVehicleToDestroyList(vehicleNumber) 
    activeTimers[vehicleNumber] = setTimer( 
        function(vehicleNumber) 
            destroyElement(activeVehicles[vehicleNumber]) 
            activeVehicles[vehicleNumber] = nil 
            activeTimers[vehicleNumber] = nil 
            for i,v in pairs(playersVehicles) do 
                if v == vehicleNumber then 
                    playersVehicles[i] = nil 
                    break 
                end 
            end 
        end, 30000, 1, vehicleNumber 
    ) 
end 
  
local function removeVehicleFromDestroyList(vehicleNumber) 
    if isTimer(activeTimers[vehicleNumber]) then 
        killTimer(activeTimers[vehicleNumber]) 
        activeTimers[vehicleNumber] = nil 
    end 
end 
addEventHandler("spawningVehicle", root, 
    function(model, planes) 
local poo = { 
                  {1280.9000244141,-1698.0999755859,39.700000762939}, 
                  {1221.4000244141,-1665.8000488281,44.599998474121} 
                  } 
        local x, y, z = 0, 0, 0 
        local rx, ry, rz = 0, 0, 0 
        if planes then 
         x, y, z = unpack(poo[math.random(#poo)]) 
            rx, ry, rz = 0.3275146484375, 359.78839111328, 271.46984863281 
        else 
            x, y, z = 1224.4000244141,-1651.8000488281,13.60000038147,0,0,268 
            rx, ry, rz = 0,0,270 
        end 
        if playersVehicles[client] then  
            destroyElement(activeVehicles[playersVehicles[client]]) 
            removeVehicleFromDestroyList(playersVehicles[client]) 
            playersVehicles[client] = nil 
        end 
        local vehicle = #activeVehicles + 1 
        activeVehicles[vehicle] = createVehicle(model, x, y, z, rx, ry, rz) 
        setVehicleColor(activeVehicles[vehicle], 0, 0, 0) 
addVehicleUpgrade(activeVehicles[source], 1147) 
addVehicleUpgrade(activeVehicles[source], 1041) 
addVehicleUpgrade(activeVehicles[source], 1035) 
addVehicleUpgrade(activeVehicles[source], 1010) 
addVehicleUpgrade(activeVehicles[source], 1087) 
addVehicleUpgrade(activeVehicles[source], 1171) 
addVehicleUpgrade(activeVehicles[source], 1149) 
setVehiclePaintjob(activeVehicles[source], 1) 
        setVehiclePaintjob(activeVehicles[source], 1) 
        warpPedIntoVehicle(client, activeVehicles[vehicle]) 
        addVehicleUpgrade(activeVehicles[vehicle], 1010) 
        playersVehicles[client] = vehicle 
        occupiedVehicles[vehicle] = nil 
    end 
) 
  
addEventHandler("onVehicleExit", root, 
    function(player, seat) 
        if seat == 0 then 
            if playersVehicles[player] then 
                addVehicleToDestroyList(playersVehicles[player]) 
                occupiedVehicles[playersVehicles[player]] = nil 
            else 
                for i,v in pairs(activeVehicles) do 
                    if v == source then 
                        addVehicleToDestroyList(i) 
                        occupiedVehicles[i] = nil 
                    end 
                end 
            end 
        end 
    end 
) 
  
addEventHandler("onVehicleEnter", root, 
    function(player, seat) 
        if seat == 0 then 
            if playersVehicles[player] then 
                removeVehicleFromDestroyList(playersVehicles[player]) 
                occupiedVehicles[playersVehicles[player]] = true 
            else 
                for i,v in pairs(activeVehicles) do 
                    if v == source then 
                        removeVehicleFromDestroyList(i) 
                        occupiedVehicles[i] = true 
                        break 
                    end 
                end 
            end 
        end 
    end 
) 
  
addEventHandler("onVehicleStartEnter", root, 
    function(player, seat) 
        for i,v in pairs(activeVehicles) do 
            if v == source then 
                if getTeamName(getPlayerTeam(hitElement)) == "Police" and getElementData(hitElement, "gang") == "[sWAT]" then 
                    outputChatBox("This vehicle is only for "..groupName.." group!", player, 255, 0, 0) 
                    cancelEvent() 
                else 
                    if seat == 0 and occupiedVehicles[i] then 
                        outputChatBox("You cannot take this vehicle as someone in it already!", player, 255, 0, 0) 
                        cancelEvent() 
                    end 
                end 
                break 
            end 
        end 
    end 
) 
  
addEventHandler("onVehicleExplode", root, 
    function() 
        for i,v in pairs(activeVehicles) do 
            if v == source then 
                removeVehicleFromDestroyList(i) 
                activeVehicles[i] = nil 
                occupiedVehicles[i] = nil 
                setTimer(destroyElement, 2000, 1, source) 
                for k,s in pairs(playersVehicles) do 
                    if i == s then 
                        playersVehicles[k] = nil 
                        break 
                    end 
                end 
                break 
            end 
        end 
    end 
) 

Clinet.

local sx, sy = guiGetScreenSize() 
  
mainWindow = guiCreateWindow((sx-438)/2, (sy-487)/2, 438, 487, "[sWAT] Vehicles", false) 
guiWindowSetSizable(mainWindow, false) 
guiSetAlpha(mainWindow, 1.00) 
guiSetVisible(mainWindow, false) 
  
mainTab = guiCreateTabPanel(0.02, 0.04, 0.96, 0.90, true, mainWindow) 
  
local vehicles = { 
    cars = { 
        tab = guiCreateTab("Cars", mainTab), 
        list = { 
            {"SWAT فقط لفرقة التدخل السريع", 496},   
            {"Police Ranger", 599}, 
            {"Police LV", 598}, 
            {"Police SF", 597}, 
            {"FBI Truck", 528}, 
            {"Sultan", 560},     
            {"FBI Rancher", 490},    
            {"Barracks", 433},   
            {"Rhino", 432},          
            {"Enforcer", 427},               
            {"Flatbed", 455},    
            {"S.W.A.T", 601},            
            {"Flash", 565},          
            {"Infernus", 411} 
        } 
    }, 
    bikes = { 
        tab = guiCreateTab("Bikes", mainTab), 
        list = { 
            {"BF-400", 581}, 
            {"FCR-900", 521}, 
            {"NRG-511", 522}, 
            {"PCJ-600", 461}, 
            {"Sanchez", 468} 
        } 
    }, 
    planes = { 
        tab = guiCreateTab("Planes", mainTab), 
        list = { 
            {"Police Maverick", 497}, 
            {"Cargobob", 548}, 
            {"Seasparrow", 447},     
            {"Hunter", 425},             
            {"News Chopper", 488} 
             
        } 
    } 
} 
vehicles.cars.gridlist = guiCreateGridList(0.05, 0.02, 0.89, 0.95, true, vehicles.cars.tab) 
table.insert(vehicles.cars, guiGridListAddColumn(vehicles.cars.gridlist, "Cars", 0.9)) 
vehicles.bikes.gridlist = guiCreateGridList(0.05, 0.02, 0.89, 0.95, true, vehicles.bikes.tab) 
table.insert(vehicles.bikes, guiGridListAddColumn(vehicles.bikes.gridlist, "Bikes", 0.9)) 
vehicles.planes.gridlist = guiCreateGridList(0.05, 0.02, 0.89, 0.95, true, vehicles.planes.tab) 
table.insert(vehicles.planes, guiGridListAddColumn(vehicles.planes.gridlist, "Planes", 0.9)) 
  
notice = guiCreateLabel(0.02, 0.94, 0.96, 0.03, "Press (Enter) to select your vehicle>اختر السيارة ثم اضغط انتر", true, mainWindow) 
guiLabelSetColor(notice, 255, 255, 0) 
guiLabelSetHorizontalAlign(notice, "center", false) 
guiLabelSetVerticalAlign(notice, "center") 
  
for i,v in pairs(vehicles) do 
    for _,k in ipairs(v.list) do 
        local row = guiGridListAddRow(v.gridlist) 
        guiGridListSetItemText(v.gridlist, row, v[1], k[1], false, false) 
    end 
end 
  
local vehiclesMarker = createColSphere(1246.720703125,-1673,12.5, 2) 
createMarker(1246.720703125,-1673,12.5,"cylinder",2,0,0,91,255) 
  
addEventHandler("onClientColShapeHit", vehiclesMarker, 
    function(hitElement) 
        if getTeamName(getPlayerTeam(hitElement)) == "Police" and getElementData(hitElement, "gang") == "[sWAT]" then 
            guiSetVisible(mainWindow, true) 
            showCursor(true) 
            bindKey("enter", "down", selectVehicle) 
        end 
    end,false 
) 
  
addEventHandler("onClientColShapeLeave", vehiclesMarker, 
    function(leaveElement) 
if getTeamName(getPlayerTeam(hitElement)) == "Police" and getElementData(hitElement, "gang") == "[sWAT]" then 
            guiSetVisible(mainWindow, false) 
            showCursor(false) 
            unbindKey("enter", "down", selectVehicle) 
        end 
    end, false 
) 
  
function selectVehicle() 
    for i,v in pairs(vehicles) do 
        local tab = v.tab 
        if guiGetSelectedTab(mainTab) == tab then 
            local gridlist = v.gridlist 
            if guiGridListGetSelectedItem(gridlist) ~= -1 then 
                local row = guiGridListGetSelectedItem(gridlist) 
                local vehName = guiGridListGetItemText(gridlist, row, v[1]) 
                for _,k in ipairs(v.list) do 
                    if k[1] == vehName then 
                        if i == "planes" then 
                            triggerServerEvent("spawningVehicle", localPlayer, k[2], true) 
                        else 
                            triggerServerEvent("spawningVehicle", localPlayer, k[2], false) 
                        end 
                        unbindKey("enter", "down", selectVehicle) 
                        break 
                    end 
                end 
                guiSetVisible(mainWindow, false) 
                showCursor(false) 
                break 
            end 
        end 
    end 
end 
  
  

Edited by Guest
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...