Davision Posted January 6, 2017 Posted January 6, 2017 (edited) how i can make the spawner cars with key (like saur:rpg) Help me please spawner_s.lua Quote local spawners = { ['Free'] = { }, ['Job'] = { } } local spawnedVehciles = { } function createFreeSpawner ( x, y, z, rz, sx, sy, sz ) local i = #spawners['Free']+1 local z = z - 1 local sx, sy, sz = sx or x, sy or y, sz or z+1.5 local rz = rz or 0 spawners['Free'] = createMarker ( x, y, z, 'cylinder', 2, 255, 255, 255, 120 ) setElementData ( spawners['Free'], "SpawnCoordinates", { sx, sy, sz, rz } ) setElementData ( spawners['Free'], "SACGVehicles:SpawnVehicleList", JobVehicles['Free'] ) setElementData ( spawners['Free'], "SACGVehicles:JobRestriction", false ) addEventHandler ( "onMarkerHit", spawners['Free'], onSpawnerHit ) return spawners['Free']end function createJobSpawner ( job, x, y, z, colors, rz, sx, sy, sz ) local i = #spawners['Job']+1 local z = z - 1 local sx, sy, sz = sx or x, sy or y, sz or z+1.5 local rz = rz or 0 local r, g, b = unpack ( colors ) spawners['Job'] = createMarker ( x, y, z, 'cylinder', 2, r, g, b, 120 ) setElementData ( spawners['Job'], "SpawnCoordinates", { sx, sy, sz, rz } ) setElementData ( spawners['Job'], "SACGVehicles:SpawnVehicleList", JobVehicles[job] ) setElementData ( spawners['Job'], "SACGVehicles:JobRestriction", tostring ( job ) ) addEventHandler ( "onMarkerHit", spawners['Job'], onSpawnerHit ) return spawners['Job']end function onSpawnerHit ( p ) local job = string.lower ( getElementData ( source, "SACGVehicles:JobRestriction" ) or "false" ) if ( job == 'false' ) then job = false end local pJob = string.lower ( getElementData ( p, "Job" ) or "" ) if ( job ) then if ( pJob ~= job ) then exports['SACGMessages']:sendClientMessage ( "This spawner is for the "..job.." job. You're not in the "..job.." job.", p, 255, 140, 40 ) return end end if ( getElementType ( p ) == 'player' and not isPedInVehicle ( p ) ) then local list = getElementData ( source, "SACGVehicles:SpawnVehicleList" ); triggerClientEvent ( p, 'SACGSpawners:ShowClientSpawner', p, list, source ) triggerEvent ( "SACGSpawners:onPlayerOpenSpawner", source, p ) endend addEvent ( "SACGSpawners:spawnVehicle", true )addEventHandler ( "SACGSpawners:spawnVehicle", root, function ( id, x, y, z, rz, job ) local c = exports['SACGAntiRestart']:createPlayerVehicle ( source, id, x, y, z, rz, true, job )end ) for i, v in pairs ( data ) do if ( i == 'Free' ) then for k, e in ipairs ( v ) do createFreeSpawner ( unpack ( e ) ) end elseif ( i == 'Jobs' ) then for k, e in ipairs ( v ) do createJobSpawner ( unpack ( e ) ) end endend addEvent ( "SACGSpawners:onPlayerOpenSpawner", true ) spawner_c.lua Quote local sx, sy = guiGetScreenSize ( )local rsx, rsy = sx / 1280, sy / 1024local window = guiCreateWindow( ( sx / 2 - ( rsx*354 ) / 2 ), ( sy / 2 - (rsy*400) / 2 ), (rsx*354), (rsy*400), "SACG:RPG Vehicle", false)local vehList = guiCreateGridList((rsx*9), (rsy*26), (rsx*335), (rsy*315), false, window)local btnSpawn = guiCreateButton((rsx*9), (rsy*346), (rsx*149), (rsy*43), "Spawn", false, window)local btnClose = guiCreateButton((rsx*195), (rsy*346), (rsx*149), (rsy*43), "Cancel", false, window)guiWindowSetSizable(window, false)guiSetVisible ( window, false )guiGridListAddColumn(vehid, "id", 0.9)guiGridListAddColumn(vehList, "Vehicle", 0.9)local marker = niladdEvent ( "SACGSpawners:ShowClientSpawner", true )addEventHandler ( "SACGSpawners:ShowClientSpawner", root, function ( cars, mrker ) if ( wasEventCancelled ( ) ) then return end if ( not guiGetVisible ( window ) ) then bindKey ( "num_1", "down", spawnClickingFunctions ) bindKey ( "num_2", "down", spawnClickingFunctions ) showCursor ( true ) guiSetVisible ( window, true ) guiGridListClear ( vehList ) addEventHandler ( 'onClientMarkerLeave', mrker, closeWindow ) marker = mrker job = getElementData ( marker, "SACGVehicles:JobRestriction" ) guiGridListSetItemText ( vehList, guiGridListAddRow ( vehList ), 1, "Free Vehicles", true, true ) for i, v in ipairs ( cars ) do local name = getVehicleNameFromModel ( v ) local row = guiGridListAddRow ( vehList ) guiGridListSetItemText ( vehList, row, 1, name, false, false ) guiGridListSetItemData ( vehList, row, 1, v ) end if ( exports.SACGVIP:isPlayerVIP ( ) ) then local level = exports.SACGVIP:getVipLevelFromName ( getElementData ( localPlayer, "VIP" ) ) if ( level and level > 0 and VipVehicles [ level ] and #VipVehicles [ level ] > 0 ) then guiGridListSetItemText ( vehList, guiGridListAddRow ( vehList ), 1, "VIP Vehicles", true, true ) for i, v in pairs ( VipVehicles [ level ] ) do local name = getVehicleNameFromModel ( v ) local row = guiGridListAddRow ( vehList ) guiGridListSetItemText ( vehList, row, 1, name, false, false ) guiGridListSetItemData ( vehList, row, 1, v ) end end end guiGridListSetSelectedItem ( vehList, 0, 1 ) addEventHandler ( "onClientGUIClick", btnSpawn, spawnClickingFunctions ) addEventHandler ( "onClientGUIClick", btnClose, spawnClickingFunctions ) endend ) function spawnClickingFunctions ( ) if ( source == btnClose ) then closeWindow ( localPlayer ) elseif ( source == btnSpawn ) or getKeyState( "num_1" ) == true then local row, col = guiGridListGetSelectedItem ( vehList ) if ( row == -1 ) then return exports['SACGMessages']:sendClientMessage ( "Select a vehicle to be spawn.", 255, 255, 0 ) end function af(button, press) if button == "1" and press == true then triggerServerEvent("bo", resourceRoot) endend local id = guiGridListGetItemData ( vehList, row, 1 ) triggerServerEvent ( "SACGSpawners:spawnVehicle", localPlayer, id, marker, true ) closeWindow ( localPlayer ) endend function closeWindow ( p ) if ( not p or p == localPlayer ) then removeEventHandler ( 'onClientMarkerLeave', marker, closeWindow ) marker = nil guiSetVisible ( window, false ) showCursor ( false ) guiGridListClear ( vehList ) removeEventHandler ( "onClientGUIClick", btnSpawn, spawnClickingFunctions ) removeEventHandler ( "onClientGUIClick", btnClose, spawnClickingFunctions ) unbindKey ( "num_1", "down", spawnClickingFunctions ) endendaddEvent ( "SACGSpawners:CloseWindow", true )addEventHandler ( "SACGSpawners:CloseWindow", root, closeWindow ) Edited January 6, 2017 by Tanger
Best-Killer Posted January 6, 2017 Posted January 6, 2017 try it by your self you will not learn if didn't try it try and post your code then we will help you
Davision Posted January 6, 2017 Author Posted January 6, 2017 okay. local sx, sy = guiGetScreenSize ( ) local rsx, rsy = sx / 1280, sy / 1024 local window = guiCreateWindow( ( sx / 2 - ( rsx*354 ) / 2 ), ( sy / 2 - (rsy*400) / 2 ), (rsx*354), (rsy*400), "SACG:RPG Vehicle", false) local vehList = guiCreateGridList((rsx*9), (rsy*26), (rsx*335), (rsy*315), false, window) local btnSpawn = guiCreateButton((rsx*9), (rsy*346), (rsx*149), (rsy*43), "Spawn", false, window) local btnClose = guiCreateButton((rsx*195), (rsy*346), (rsx*149), (rsy*43), "Cancel", false, window) guiWindowSetSizable(window, false) guiSetVisible ( window, false ) guiGridListAddColumn(vehid, "id", 0.9) guiGridListAddColumn(vehList, "Vehicle", 0.9) local marker = nil addEvent ( "SACGSpawners:ShowClientSpawner", true ) addEventHandler ( "SACGSpawners:ShowClientSpawner", root, function ( cars, mrker ) if ( wasEventCancelled ( ) ) then return end if ( not guiGetVisible ( window ) ) then bindKey ( "mouse_wheel_down", "down", spawnClickingFunctions ) showCursor ( true ) guiSetVisible ( window, true ) guiGridListClear ( vehList ) addEventHandler ( 'onClientMarkerLeave', mrker, closeWindow ) marker = mrker job = getElementData ( marker, "SACGVehicles:JobRestriction" ) guiGridListSetItemText ( vehList, guiGridListAddRow ( vehList ), 1, "Free Vehicles", true, true ) for i, v in ipairs ( cars ) do local name = getVehicleNameFromModel ( v ) local row = guiGridListAddRow ( vehList ) guiGridListSetItemText ( vehList, row, 1, name, false, false ) guiGridListSetItemData ( vehList, row, 1, v ) end if ( exports.SACGVIP:isPlayerVIP ( ) ) then local level = exports.SACGVIP:getVipLevelFromName ( getElementData ( localPlayer, "VIP" ) ) if ( level and level > 0 and VipVehicles [ level ] and #VipVehicles [ level ] > 0 ) then guiGridListSetItemText ( vehList, guiGridListAddRow ( vehList ), 1, "VIP Vehicles", true, true ) for i, v in pairs ( VipVehicles [ level ] ) do local name = getVehicleNameFromModel ( v ) local row = guiGridListAddRow ( vehList ) guiGridListSetItemText ( vehList, row, 1, name, false, false ) guiGridListSetItemData ( vehList, row, 1, v ) end end end guiGridListSetSelectedItem ( vehList, 0, 1 ) addEventHandler ( "onClientGUIClick", btnSpawn, spawnClickingFunctions ) addEventHandler ( "onClientGUIClick", btnClose, spawnClickingFunctions ) end end ) function spawnClickingFunctions ( ) if ( source == btnClose ) then closeWindow ( localPlayer ) elseif ( source == btnSpawn ) or getKeyState( "num_1" ) == true then local row, col = guiGridListGetSelectedItem ( vehList ) if ( row == -1 ) then return exports['SACGMessages']:sendClientMessage ( "Select a vehicle to be spawn.", 255, 255, 0 ) end addEventHandler( "onClientKey", root, function(button,press) -- Since mouse_wheel_up and mouse_wheel_down cant return a release, we dont have to check the press. if button == "mouse_wheel_up" or button == "mouse_wheel_down" then outputDebugString( button .. " moved." ) return true end return false end ) local id = guiGridListGetItemData ( vehList, row, 1 ) triggerServerEvent ( "SACGSpawners:spawnVehicle", localPlayer, id, marker, true ) closeWindow ( localPlayer ) end end function closeWindow ( p ) if ( not p or p == localPlayer ) then removeEventHandler ( 'onClientMarkerLeave', marker, closeWindow ) marker = nil guiSetVisible ( window, false ) showCursor ( false ) guiGridListClear ( vehList ) removeEventHandler ( "onClientGUIClick", btnSpawn, spawnClickingFunctions ) removeEventHandler ( "onClientGUIClick", btnClose, spawnClickingFunctions ) unbindKey ( "num_1", "down", spawnClickingFunctions ) end end addEvent ( "SACGSpawners:CloseWindow", true ) addEventHandler ( "SACGSpawners:CloseWindow", root, closeWindow ) i try like that but not working
Trevor1 Posted January 7, 2017 Posted January 7, 2017 (edited) Deleted Edited January 7, 2017 by Trevor1
AfterAll14 Posted January 8, 2017 Posted January 8, 2017 I can give you the script, but it is compiled. Is that ok?
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