sora+ Posted March 18, 2012 Posted March 18, 2012 So, i got a little problem with this script. For some reason the vehicle won't spawn when i do double click on it. neither the server-side event. Here's the code: Server: addEvent("spawnCarGS", true) addEventHandler("SpawnCarGS", root, function( Vehicle, localPlayer ) outputChatBox("tits", root) local x, y, z = getElementPosition( localPlayer ) vModel = getElementData(v, "vehicle.datavModel") vName = getElementData(v, "vehicle.datavName") colr1 = getElementData(v, "vehicle.datacolr1") colg1 = getElementData(v, "vehicle.datacolg1") colb1 = getElementData(v, "vehicle.datacolb1") colr2 = getElementData(v, "vehicle.datacolr2") colg2 = getElementData(v, "vehicle.datacolg2") colb2 = getElementData(v, "vehicle.datacolb2") colr3 = getElementData(v, "vehicle.datacolr3") colg3 = getElementData(v, "vehicle.datacolg3") colb3 = getElementData(v, "vehicle.datacolb3") colr4 = getElementData(v, "vehicle.datacolr4") colg4 = getElementData(v, "vehicle.datacolg4") colb4 = getElementData(v, "vehicle.datacolb4") upgrades = getElementData(v, "vehicle.dataupgrades", upgrades, true) Veh = createVehicle(vModel, x, y, z) setVehicleColor( Veh, colr1, colg1, colb1, colr2, colg2, colb2, colr3, colg3, colb3, colr4, colg4, colb4 ) warpPedIntoVehicle(localPlayer, Veh) for upgradeKey, upgradeValue in ipairs">ipairs">ipairs ( upgrades ) do addVehicleUpgrade ( Veh, upgradeValue ) end end ) Client: GarageW = guiCreateWindow(277,227,198,425,"My Garage",false) guiWindowSetSizable(GarageW,false) Add = guiCreateButton(15,389,169,22,"Add Current Vehicle",false,GarageW) GarageGL = guiCreateGridList(9,24,180,359,false,GarageW) guiGridListSetSelectionMode(GarageGL,2) Name = guiGridListAddColumn(GarageGL,"Vehicle Name",0.6) guiGridListAddColumn(GarageGL,"ID",0.2) guiSetVisible(GarageW, false) function bindF2() bindKey ("F2","down", function() if guiGetVisible(GarageW) == false then guiSetVisible(GarageW, true) showCursor(true) addEventHandler("onClientGUIClick",Add,AddF) else guiSetVisible(GarageW, false) showCursor(false) removeEventHandler("onClientGUIClick",Add,AddF) end end ) end addEventHandler("onClientResourceStart",root,bindF2) function AddF() local v = getPedOccupiedVehicle( localPlayer ) if v then vModel = getElementModel( v ) vName = getVehicleNameFromModel( vModel ) local colr1, colg1, colb1, colr2, colg2, colb2, colr3, colg3, colb3, colr4, colg4, colb4 = getVehicleColor( v ) local upgrades = getVehicleUpgrades ( v ) setElementData(v, "vehicle.datavModel", vModel) setElementData(v, "vehicle.dataNvName", vName) setElementData(v, "vehicle.datacolr1", colr1, true) setElementData(v, "vehicle.datacolg1", colg1, true) setElementData(v, "vehicle.datacolb1", colb1, true) setElementData(v, "vehicle.datacolr2", colr2, true) setElementData(v, "vehicle.datacolg2", colg2, true) setElementData(v, "vehicle.datacolb2", colb2, true) setElementData(v, "vehicle.datacolr3", colr3, true) setElementData(v, "vehicle.datacolg3", colg3, true) setElementData(v, "vehicle.datacolb3", colb3, true) setElementData(v, "vehicle.datacolr4", colr4, true) setElementData(v, "vehicle.datacolg4", colg4, true) setElementData(v, "vehicle.datacolb4", colb4, true) setElementData(v, "vehicle.dataupgrades", upgrades, true) local RowName = guiGridListAddRow ( GarageGL ) guiGridListSetItemText ( GarageGL, RowName, Name, vName, false, false ) addEventHandler ( "onClientGUIDoubleClick", GarageGL, onDoubleClick) end end function onDoubleClick() if ( ( state == "down" ) and ( gui == true ) and ( source == GarageGL ) ) then -- get the player name from the selected row, first column local Vehicle = guiGridListGetItemText ( GarageGL, guiGridListGetSelectedItem ( GarageGL ), 1 ) triggerServerEvent("spawnCarGS",root, Vehicle, localPlayer) end end _________________ Thanks in advance.
Castillo Posted March 18, 2012 Posted March 18, 2012 -- client side: GarageW = guiCreateWindow(277,227,198,425,"My Garage",false) guiWindowSetSizable(GarageW,false) Add = guiCreateButton(15,389,169,22,"Add Current Vehicle",false,GarageW) GarageGL = guiCreateGridList(9,24,180,359,false,GarageW) guiGridListSetSelectionMode(GarageGL,2) Name = guiGridListAddColumn(GarageGL,"Vehicle Name",0.6) guiGridListAddColumn(GarageGL,"ID",0.2) guiSetVisible(GarageW, false) bindKey ( "F2", "down", function ( ) guiSetVisible ( GarageW, not guiGetVisible ( GarageW ) ) showCursor ( guiGetVisible ( GarageW ) ) end ) function AddF() local v = getPedOccupiedVehicle( localPlayer ) if ( v ) then local vName = getVehicleName( v ) local colr1, colg1, colb1, colr2, colg2, colb2, colr3, colg3, colb3, colr4, colg4, colb4 = getVehicleColor( v ) local upgrades = getVehicleUpgrades ( v ) local RowName = guiGridListAddRow ( GarageGL ) guiGridListSetItemText ( GarageGL, RowName, Name, vName, false, false ) guiGridListSetItemData ( GarageGL, RowName, Name, { color = { colr1, colg1, colb1, colr2, colg2, colb2, colr3, colg3, colb3, colr4, colg4, colb4 }, upgrades = upgrades } ) end end addEventHandler ( "onClientGUIClick", Add, AddF ) function onDoubleClick ( button, state ) if ( source == GarageGL ) then local row, col = guiGridListGetSelectedItem ( source ) if ( row and col and row ~= -1 and col ~= -1 ) then local vehicleName = guiGridListGetItemText ( source, row, 1 ) local vehicleData = guiGridListGetItemData ( source, row, 1 ) triggerServerEvent ( "spawnCarGS", localPlayer, vehicleName, vehicleData ) end end end addEventHandler ( "onClientGUIDoubleClick", root, onDoubleClick) -- server side: addEvent("spawnCarGS", true) addEventHandler("spawnCarGS", root, function( vehicleName, vehicleData ) local x, y, z = getElementPosition ( source ) local vehicle = createVehicle ( getVehicleModelFromName ( vehicleName ), x, y, z ) setVehicleColor ( vehicle, unpack ( vehicleData.color ) ) warpPedIntoVehicle ( source, vehicle ) if ( vehicleData.upgrades and type ( vehicleData.upgrades ) == "table" ) then for upgradeKey, upgradeValue in ipairs ( vehicleData.upgrades ) do addVehicleUpgrade ( vehicle, upgradeValue ) end end end ) Code updated.
Aibo Posted March 18, 2012 Posted March 18, 2012 -- server side: lua highlighter is fixed, you can use lua tags now.
sora+ Posted March 18, 2012 Author Posted March 18, 2012 Script is working, but double clicking isn't..
Castillo Posted March 18, 2012 Posted March 18, 2012 @sora: Copy the code again, I've updated a few things. @Aibo: Great, thanks.
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