sora+ Posted March 18, 2012 Share 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. Link to comment
Castillo Posted March 18, 2012 Share 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. Link to comment
Aibo Posted March 18, 2012 Share Posted March 18, 2012 -- server side: lua highlighter is fixed, you can use lua tags now. Link to comment
sora+ Posted March 18, 2012 Author Share Posted March 18, 2012 Script is working, but double clicking isn't.. Link to comment
arezu Posted March 18, 2012 Share Posted March 18, 2012 you forgot the parameters in 'onDoubleClick' Link to comment
Castillo Posted March 18, 2012 Share Posted March 18, 2012 @sora: Copy the code again, I've updated a few things. @Aibo: Great, thanks. Link to comment
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