Jump to content

[HELP] Shop problem


Mrzeerox

Recommended Posts

basically everything is all right but he dont give that "Press j to inventory" and no tires/engines inside....

Need help whit this. I have no errors.

 

Server side:

---------------------------Motos -----------------
addEvent ("vehicle", true)
addEvent ("carBuyy", true)
addEventHandler ("carBuyy", getRootElement(), 
function(id2, cost2, name2, vehCol, veh, x, y, z, sRz)

 local account = getPlayerAccount(source)
  if (getPlayerMoney (source) >= tonumber(cost2)) then
  outputChatBox ("You bought " ..name2.. " for"..cost2, source, 255, 255, 0, false)
    outputChatBox ("price: $" .. cost2, source, 0, 255, 0, false)
  takePlayerMoney (source, tonumber (cost2))
  local x,y,z = getElementPosition (source)
  local vehicle = createVehicle (id2, x, y, z, 0, 0, sRz )
  local x,y,z = veh[1],veh[2],veh[3]
  veh = createVehicle(id2,x,y,z)
  vehCol = createColSphere(x,y,z,1.5)
  attachElements ( vehCol, veh, 0, 0, 0 )
  setElementData(vehCol,"parent",veh)
  setElementData(veh,"parent",vehCol)
  setElementData(vehCol,"vehicle",true)
  setElementData(vehCol,"MAX_Slots",6)
  local tires,engine = getVehicleAddonInfos (getElementModel(veh))
  setElementData(vehCol,"Tire_inVehicle",math.random(0,tires))
  setElementData(vehCol,"Engine_inVehicle",math.random(0,engine))
  --vehicle_indentifikation
  setElementData(vehCol,"spawn",{id2,x,y,z})
  --others
  setElementData(vehCol,"fuel",10)
  warpPedIntoVehicle(source, vehicle)
  else
    outputChatBox ("Sorry, you don't have"..cost2.."$", source, 255, 0, 0, false)
  end
  end
)

-- Modify The coordenates And blips

local varkers = {}
local nums = 0
         
cordinatess = { 
{-2504.19653 ,732.67963 , 35},
{-2101.19824 , -2257.89087 , 30},
{2040.43188, 2269.98828, 10},
{241.55659 , -154.18588 , 1},
}
         
for i, h in pairs(cordinatess) do
    nums = nums + 1
    varkers[nums] = createMarker(h[1], h[2], h[3], "cylinder", 1.5, 254, 0, 0, 170 )
    createBlip(h[1], h[2], h[3], 55, 0, 0, 0, 255, 10, 0, 500 )
end
         
function entro_al_marcadorrr ( hitElement )
    triggerClientEvent(hitElement, "AbrirrSids", hitElement)
    outputChatBox("Make sure, you have extra tires or engine!!!", hitElement)
end
addEventHandler ( "onMarkerHit", resourceRoot, entro_al_marcadorrr )



hunterSpawns = {
{-1185.9775390625,26.4111328125,14.1484375},
{-1724.5830078125,2559.3544921875,104.09127807617},
{615.744140625,850.1572265625,-43.009014129639},
{232.5283203125,1950.3583984375,17.640625},
{-1050.5859375,1968.033203125,120.66523742676},
{2821.03515625,2809.6689453125,10.8203125},
{1949.9912109375,-2631.44140625,13.546875},
{-756.53979492188,-2137.5471191406,26.463499069214},
}

pickupSpawns = {
{-2479.6240234375,2223.6669921875,4.84375},
{-92.9951171875,2823.0908203125,76.721649169922},
{-2448.99609375,-1335.8662109375,310.97662353516},
{-173.2470703125,-2635.5341796875,26.608192443848},
{2108.447265625,-1600.916015625,13.552597045898},
{2452.7392578125,1607.9833984375,10.8203125},
{-1800.8984375,-1950.9736328125,93.561332702637},
}

patriotSpawns = {
{-1473.5791015625,320.2294921875,7.1875},
{-1373.998046875,460.62109375,7.1875},
{419.150390625,2186.087890625,39.499450683594},
{2821.1796875,793.4658203125,10.8984375},
}

sanchezSpanws = {
{-812.470703125,-2629.912109375,90.105056762695},
{-1729.8525390625,-1940.3154296875,99.840209960938},
{-2130.90234375,178.4375,35.257678985596},
{-2656.7333984375,1352.4873046875,7.0596733093262},
{-1598.302734375,2694.947265625,55.07092666626},
{-809.96484375,2430.037109375,156.97012329102},
{2920.38671875,2486.0087890625,10.8203125},
{505.732421875,-291.8681640625,20.00952911377},
{-428.8828125,-694.8310546875,19.14847946167},
{1190.41015625,-2109.0341796875,64.738548278809},
{1658.9716796875,-1069.0224609375,23.906229019165},
}

barracksSpawns = {
{86.486328125,1950.9013671875,17.846803665161},
{440.185546875,1464.173828125,6.3338670730591},
}

coachSpawns = {
{-1971.4619140625,97.4658203125,27.6875},
{1735.8720703125,1429.0693359375,10.797702789307},
{2797.1318359375,-1868.8359375,9.8603811264038},
{1941.900390625,1975.1904296875,7.59375},
}

fisherBootSpawns = {
{2463.3984375,-2719.638671875,-0.55000001192093},
{-1577.4873046875,182.353515625,-0.53995263576508},
{-806.80859375,2233.7001953125,40.049976348877},
{-127.4453125,-779.6923828125,-0.55000001192093},
}

bikeSpawns = {
{194.685546875,-120.2333984375,1.5497757196426},
{173.0146484375,-95.0634765625,1.5516006946564},
{2369.9599609375,29.712890625,28.0416431427},
{710.87109375,-566.7548828125,16.3359375},
{1109.6025390625,-1667.6689453125,13.615442276001},
{2014.6689453125,-1113.4013671875,26.203125},
{2447.41015625,-1967.1845703125,13.546875},
{2633.7236328125,1835.291015625,11.0234375},
{1489.3974609375,2681.54296875,10.8203125},
{-2428.5654296875,2280.875,4.984375},
{-2501.0869140625,2224.880859375,4.9861993789673},
{-2142.8515625,-2457.84765625,30.625},
{-2456.078125,-141.115234375,26.112222671509},
{-1881.4453125,954.3837890625,35.171875},
}

maverikSpawns = {
{-1495.888671875,-2691.40234375,57.325229644775},
{-2688.42578125,1471.634765625,7.1875},
{-1534.28125,2842.9482421875,97.463409423828},
{2221.8583984375,-1344.396484375,23.984273910522},
}

tentSpawns = {
{-2845.060546875,2761.2509765625,242.69204711914},
{-1095.94921875,-1450.958984375,126.92543029785},
{2607.1357421875,-510.4755859375,80.744903564453},
{-1509.2333984375,-1986.443359375,50.071846008301},
}

heliCrashSites = {
{-1360.0478515625,-1070.7314453125,160.4069519043},
{-421.4619140625,-1284.4345703125,33.740924835205},
{-2357.654296875,-1634.3623046875,483.703125},
{979.0849609375,160.59375,28.935249328613},
{-2057.2294921875,2781.73828125,163.12780761719},
{826.90234375,2803.6259765625,74.863929748535},
{2577.7060546875,-650.541015625,136.37449645996},
}

hospitalPacks = {

{-2670.87890625,636.8984375,14.453125},
{-2637.0556640625,635.03125,14.453125},
{-1515.669921875,2519.166015625,56.0703125},
{-1513.888671875,2519.5908203125,56.064819335938},
{-1528.8955078125,2516.724609375,55.986171722412},
{2022.1650390625,-1402.6806640625,17.18045425415},
{2042.7001953125,-1409.4775390625,17.1640625},
{-316.5478515625,1051.6494140625,20.340259552002},
{-337.9541015625,1049.490234375,19.739168167114},
{-331.5849609375,1046.037109375,26.012474060059},
{-307.0419921875,1045.27734375,26.012474060059},
{1171.490234375,-1310.560546875,13.986573219299},
{1171.609375,-1306.556640625,13.996350288391},
{1158.5048828125,-1326.333984375,31.503561019897},
{1159.80078125,-1323.9013671875,31.498970031738},
{1238.7119140625,328.2431640625,19.7555103302},
{1229.365234375,311.1435546875,24.7578125},
{-2204.07421875,-2309.58203125,31.375},
{1615.939453125,1818.0537109375,10.8203125},
{1601.9443359375,1816.736328125,10.8203125},
{1590.0166015625,1792.0234375,30.46875},
{1607.3232421875,1776.7412109375,37.3125},
{2107.7626953125,926.16015625,10.8203125},
{2116.12890625,925.7705078125,10.9609375},
{2122.1865234375,925.3193359375,10.8203125},
}

patrolPoints = {

{-1603.2197265625,-2712.736328125,48.9453125},
{2465.748046875,-2215.55859375,13.546875},
{2473.439453125,-2215.56640625,13.546875},
{2480.0732421875,-2216.140625,13.546875},
{2487.24609375,-2215.5966796875,13.546875},
{2494.1005859375,-2215.5859375,13.546875},
{-1686.6728515625,408.9970703125,7.3984375},
{-1682.34375,412.9384765625,7.3984375},
{-1680.0263671875,402.3642578125,7.3984375},
{-1675.84375,406.4677734375,7.3984375},
{-1670.5615234375,411.8359375,7.3984375},
{-1666.2392578125,416.2509765625,7.3984375},
{-1672.7939453125,422.81640625,7.3984375},
{-1677.20703125,418.46484375,7.3984375},
{-2410.7021484375,969.9091796875,45.4609375},
{-2410.744140625,975.220703125,45.4609375},
{-2410.837890625,980.5302734375,45.4609375},
{-1329.3046875,2668.5126953125,50.46875},
{-1328.7314453125,2673.90625,50.0625},
{-1327.0185546875,2679.3876953125,50.46875},
{-1327.3798828125,2684.62890625,50.0625},
{1940.7099609375,-1778.5244140625,13.390598297119},
{1940.6552734375,-1774.908203125,13.390598297119},
{1940.630859375,-1771.728515625,13.390598297119},
{1940.7080078125,-1767.3837890625,13.390598297119},
{-1477.921875,1868.138671875,32.639846801758},
{-1466.1552734375,1869.0048828125,32.6328125},
{-1464.5224609375,1861.3828125,32.639846801758},
{-1477.4599609375,1860.5205078125,32.6328125},
{-735.9208984375,2744.0087890625,47.2265625},
{-739.0439453125,2744.2421875,47.165451049805},
{377.6953125,2601.1083984375,16.484375},
{624.5263671875,1676.25390625,6.9921875},
{620.2958984375,1681.2431640625,6.9921875},
{616.248046875,1686.4169921875,7.1875},
{612.783203125,1691.1650390625,7.1875},
{609.2060546875,1696.201171875,7.1875},
{605.8505859375,1700.978515625,7.1875},
{602.27734375,1706.3603515625,7.1875},
{2141.037109375,2742.734375,10.960174560547},
{2142.3115234375,2752.6982421875,10.96019744873},
{2147.9521484375,2752.3203125,10.8203125},
{2152.60546875,2751.953125,10.8203125},
{2152.984375,2743.85546875,10.8203125},
{2147.75,2743.7392578125,10.8203125},
{-97.6298828125,-1175.0283203125,2.4990689754486},
{-90.74609375,-1177.853515625,2.2021217346191},
{-84.75390625,-1163.853515625,2.3359375},
{-91.5771484375,-1160.5732421875,2.4453125},
{-1606.525390625,-2717.2138671875,48.9453125},
{-1609.7109375,-2721.544921875,48.9453125},
{-1599.83203125,-2708.302734375,48.9453125},
{-2246.314453125,-2558.8212890625,32.0703125},
{-2241.3125,-2561.3662109375,32.0703125},
{-1132.2880859375,-135.0986328125,14.14396572113},
{-1153.529296875,-156.373046875,14.1484375},
{-1142.826171875,-145.67578125,14.14396572113},
{655.611328125,-557.9912109375,16.501491546631},
{655.6572265625,-572.1728515625,16.501491546631},
{1601.791015625,2203.90625,11.060997009277},
{1596.806640625,2203.4345703125,10.8203125},
{1590.197265625,2203.4853515625,10.8203125},
{1589.4775390625,2195.43359375,10.8203125},
{1596.125,2194.294921875,10.8203125},
{1601.6591796875,2194.3369140625,10.8203125},
{2206.8466796875,2470.47265625,10.8203125},
{2206.94140625,2474.75,10.8203125},
{2206.9267578125,2478.86328125,10.8203125},
{2198.06640625,2480.6953125,10.8203125},
{2197.541015625,2475.791015625,10.995170593262},
{2197.609375,2471.9169921875,10.995170593262},
{2120.8251953125,915.4833984375,10.8203125},
{2115.1181640625,915.44140625,10.8203125},
{2109.076171875,915.4228515625,10.8203125},
{2109.22265625,924.8779296875,10.9609375},
{2114.9404296875,924.8857421875,10.9609375},
{2119.5126953125,925.2861328125,10.9609375},
{2645.7197265625,1112.7802734375,10.8203125},
{2639.984375,1112.56640625,10.8203125},
{2634.828125,1112.3466796875,10.9609375},
{2634.1826171875,1101.9482421875,10.8203125},
{2636.7509765625,1101.6748046875,10.8203125},
{2643.5126953125,1101.81640625,10.8203125},
{2209.576171875,2469.8251953125,10.8203125},
{2208.8310546875,2475.09375,10.8203125},
{1005.078125,-901.7490234375,42.216625213623},
{993.025390625,-902.474609375,42.222496032715},
}

lootItems = {
["helicrashsides"] = {
{"Night Vision Goggles",368,1,90,10},
{"Rocket Launcher",359,1,90,5},
{"Heat-Seeking RPG",360,1,90,4},
{"Lighter",328,0.4,90,2},
{"Pistol",346,1,90,10},
{"Silenced Pistol",347,1,90,7},
{"Shotgun",349,1,90,6},
{"Uzi",352,1,90,5.5},
{"Knife",335,1,90,4},
{"Katana",339,1,90,3},
{"Pizza",1582,1,0,2},
{"Soda Bottle",2647,1,0,2},
{"Empty Patrol Canister",1650,1,0,2},
{"Roadflare",324,1,90,2},
{"Milk",2856,1,0,1},
{"Painkiller",2709,0.5,0,4},
{"Empty Soda Cans",2673,0.5,0,2},
{"Scruffy Burgers",2675,0.5,0,3},
{"Grenade",342,1,0,4},
{"Parachute",342,1,0,80},
{"Sawn-Off Shotgun",350,1,90,5},
{"SPAZ-12 Combat Shotgun",351,1,90,4},
{"MP5",353,1,90,6},
{"Watch",2710,1,0,4},
{"Heat Pack",1576,1,0,3},
{"Wire Fence",933,0.25,0,1},
{"Country Rifle",357,1,90,6},
{"Alice Backpack",3026,1,0,4},
{"Night Vision Goggles",368,1,90,1.5},
--{"Binocular",369,1,0,4},
{"Tire",1073,1,0,2},
{"Morphine",1579,1,0,4},
{"Army Skin",1577,1,0,4.5},
{"Civilian Skin",1577,1,0,3},
{"TEC-9",372,1,90,4},
{"AK-47",355,1,90,7},
{"GPS",2976,0.15,0,3},
{"Map",1277,0.8,90,7},
{"Toolbox",2969,0.5,0,1},
{"Engine",929,0.3,0,2},
{"Tent",1279,1,0,4.5},
{"Sniper Skin",1577,1,0,1.5},
{"M4",356,1,90,1},
{"Sniper Rifle",358,1,90,1.5},
{"Infrared Goggles",369,1,90,3},
{"Small Backpack",3026,0.5,0,5},
{"Coyote Backpack",3026,1.3,0,2},
--{"Thermal GPS",2976,0.2,0,3},
--{"GPS Jammer",2976,0.2,0,4},
},
["hospital"] = {
{"Medic Kit",2891,0.7,0},
{"Heat Pack",1576,1,0},
{"Bandage",1578,0.5,0},
{"Blood Bag",1580,1,0},
{"Morphine",1579,1,0},
{"Blood Bag",1580,1,0},
{"Medic Kit",2891,0.7,0},
{"Blood Bag",1580,1,0},
{"Painkiller",1580,1,0},
},
}

vehicleAddonsInfo = {
{422,4,1},
{470,4,1},
{468,2,1},
{433,6,1},
{437,6,1},
{509,0,0},
{487,0,1},
{497,0,1},
{453,0,1},
}

function getVehicleAddonInfos (id)
	for i,veh in ipairs(vehicleAddonsInfo) do
		if veh[1] == id then
			return veh[2],veh[3]
		end
	end
end
function createHeliCrashSite()
	if cargoCol then
		destroyElement(getElementData(cargoCol,"parent"))
		destroyElement(cargoCol)
	end
		local item_id = math.random(table.size(heliCrashSites))
		local x,y,z = heliCrashSites[item_id][1],heliCrashSites[item_id][2],heliCrashSites[item_id][3]
		cargobob = createVehicle(548,x,y,z,nil,nil,nil)
		setElementHealth(cargobob,0)
		setElementFrozen(cargobob,true)
		cargoCol = createColSphere(x,y,z,3)
		setElementData(cargoCol,"parent",cargobob)
		setElementData(cargoCol,"helicrash",true)
		setElementData(cargoCol,"MAX_Slots",0)
		for i, item in ipairs(lootItems["helicrashsides"]) do
			local value =  math.percentChance (item[5]*3.5,math.random(1,2))
			setElementData(cargoCol,item[1],value)
			--weapon Ammo
			local ammoData,weapID = getWeaponAmmoType (item[1],true)
			if ammoData and value > 0 then
				setElementData(cargoCol,ammoData,math.random(1,2))
			end
		end
		setTimer(createHeliCrashSite,3600000,1)
end
createHeliCrashSite()

function updateHospitals ()
	for i,box in pairs(hospitalCol) do
		for _,items in ipairs(lootItems["hospital"]) do
			setElementData(hospitalCol[i],items[1],math.random(1,5))
		end
	end
	setTimer(updateHospitals,3600000,1)
end

hospitalCol = {}
function createHospitalPacks()
	number1 = 0
	for i,box in ipairs(hospitalPacks) do
		number1 = number1+1
		local x,y,z = box[1],box[2],box[3]
		object = createObject(1558,x,y,z,nil,nil,nil)
		hospitalCol[i] = createColSphere(x,y,z,2)
		setElementData(hospitalCol[i],"parent",object)
		setElementData(hospitalCol[i],"hospitalbox",true)
		setElementData(hospitalCol[i],"MAX_Slots",20)
		for _,items in ipairs(lootItems["hospital"]) do
			local randomNumber = math.random(1,10)
			if randomNumber >= 2 then
				setElementData(hospitalCol[i],items[1],math.random(1,5))
			end
		end	
	end
	setTimer(updateHospitals,3600000,1)
end
createHospitalPacks()

for i,patrol in ipairs(patrolPoints) do
	local x,y,z = patrol[1],patrol[2],patrol[3]
	patrolCol = createColSphere(x,y,z,3)
	setElementData(patrolCol,"patrolstation",true)
end


dayzVehicles = {}
function spawnDayZVehicles()
	if getElementData(getRootElement(),"serverhasloadvehicles") then return end
	for i,veh in ipairs(pickupSpawns) do
		local x,y,z = veh[1],veh[2],veh[3]
		veh = createVehicle(422,x,y,z)
		vehCol = createColSphere(x,y,z,2)
		attachElements ( vehCol, veh, 0, 0, 0 )
		setElementData(vehCol,"parent",veh)
		setElementData(veh,"parent",vehCol)
		setElementData(vehCol,"vehicle",true)
		setElementData(vehCol,"MAX_Slots",20)
		--Engine + Tires
		local tires,engine = getVehicleAddonInfos (getElementModel(veh))
		setElementData(vehCol,"Tire_inVehicle",math.random(0,tires))
		setElementData(vehCol,"Engine_inVehicle",math.random(0,engine))
		--vehicle_indentifikation
		setElementData(vehCol,"spawn",{422,x,y,z})
		--others
		setElementData(vehCol,"fuel",10)
	end
	for i,veh in ipairs(patriotSpawns) do
		local x,y,z = veh[1],veh[2],veh[3]
		veh = createVehicle(470,x,y,z)
		vehCol = createColSphere(x,y,z,2.5)
		attachElements ( vehCol, veh, 0, 0, 0 )
		setElementData(vehCol,"parent",veh)
		setElementData(veh,"parent",vehCol)
		setElementData(vehCol,"vehicle",true)
		setElementData(vehCol,"MAX_Slots",38)
		--Engine + Tires
		local tires,engine = getVehicleAddonInfos (getElementModel(veh))
		setElementData(vehCol,"Tire_inVehicle",math.random(0,tires))
		setElementData(vehCol,"Engine_inVehicle",math.random(0,engine))
		--vehicle_indentifikation
		setElementData(vehCol,"spawn",{470,x,y,z})
		--others
		setElementData(vehCol,"fuel",10)
		for i,items in ipairs(lootItems["helicrashsides"]) do
			local randomNumber = math.random(1,10)
			if randomNumber == 5 then
				setElementData(vehCol,items[1],1)
			end
		end
	end
	for i,veh in ipairs(sanchezSpanws) do
		local x,y,z = veh[1],veh[2],veh[3]
		veh = createVehicle(468,x,y,z)
		vehCol = createColSphere(x,y,z,1.5)
		attachElements ( vehCol, veh, 0, 0, 0 )
		setElementData(vehCol,"parent",veh)
		setElementData(veh,"parent",vehCol)
		setElementData(vehCol,"vehicle",true)
		setElementData(vehCol,"MAX_Slots",6)
		--Engine + Tires
		local tires,engine = getVehicleAddonInfos (getElementModel(veh))
		setElementData(vehCol,"Tire_inVehicle",math.random(0,tires))
		setElementData(vehCol,"Engine_inVehicle",math.random(0,engine))
		--vehicle_indentifikation
		setElementData(vehCol,"spawn",{468,x,y,z})
		--others
		setElementData(vehCol,"fuel",10)
	end
	for i,veh in ipairs(barracksSpawns) do
		local x,y,z = veh[1],veh[2],veh[3]
		veh = createVehicle(433,x,y,z)
		vehCol = createColSphere(x,y,z,4)
		attachElements ( vehCol, veh, 0, 0, 0 )
		setElementData(vehCol,"parent",veh)
		setElementData(veh,"parent",vehCol)
		setElementData(vehCol,"vehicle",true)
		setElementData(vehCol,"MAX_Slots",64)
		--Engine + Tires
		local tires,engine = getVehicleAddonInfos (getElementModel(veh))
		setElementData(vehCol,"Tire_inVehicle",math.random(0,tires))
		setElementData(vehCol,"Engine_inVehicle",math.random(0,engine))
		--vehicle_indentifikation
		setElementData(vehCol,"spawn",{433,x,y,z})
		--others
		setElementData(vehCol,"fuel",10)
		for i,items in ipairs(lootItems["helicrashsides"]) do
			local randomNumber = math.random(1,10)
			if randomNumber == 5 then
				setElementData(vehCol,items[1],math.random(1,2))
			end
		end
	end
	for i,veh in ipairs(coachSpawns) do
		local x,y,z = veh[1],veh[2],veh[3]
		veh = createVehicle(437,x,y,z)
		vehCol = createColSphere(x,y,z,4)
		attachElements ( vehCol, veh, 0, 0, 0 )
		setElementData(vehCol,"parent",veh)
		setElementData(veh,"parent",vehCol)
		setElementData(vehCol,"vehicle",true)
		setElementData(vehCol,"MAX_Slots",56)
		--Engine + Tires
		local tires,engine = getVehicleAddonInfos (getElementModel(veh))
		setElementData(vehCol,"Tire_inVehicle",math.random(0,tires))
		setElementData(vehCol,"Engine_inVehicle",math.random(0,engine))
		--vehicle_indentifikation
		setElementData(vehCol,"spawn",{437,x,y,z})
		--others
		setElementData(vehCol,"fuel",10)
	end
	for i,veh in ipairs(fisherBootSpawns) do
		local x,y,z = veh[1],veh[2],veh[3]
		veh = createVehicle(453,x,y,z)
		vehCol = createColSphere(x,y,z,4)
		attachElements ( vehCol, veh, 0, 0, 0 )
		setElementData(vehCol,"parent",veh)
		setElementData(veh,"parent",vehCol)
		setElementData(vehCol,"vehicle",true)
		setElementData(vehCol,"MAX_Slots",30)
		--Engine + Tires
		local tires,engine = getVehicleAddonInfos (getElementModel(veh))
		setElementData(vehCol,"Tire_inVehicle",math.random(0,tires))
		setElementData(vehCol,"Engine_inVehicle",math.random(0,engine))
		--vehicle_indentifikation
		setElementData(vehCol,"spawn",{453,x,y,z})
		--others
		setElementData(vehCol,"fuel",10)
	end
	for i,veh in ipairs(bikeSpawns) do
		local x,y,z = veh[1],veh[2],veh[3]
		veh = createVehicle(509,x,y,z)
		vehCol = createColSphere(x,y,z,2)
		attachElements ( vehCol, veh, 0, 0, 0 )
		setElementData(vehCol,"parent",veh)
		setElementData(veh,"parent",vehCol)
		setElementData(vehCol,"vehicle",true)
		setElementData(vehCol,"MAX_Slots",0)
		--Engine + Tires
		local tires,engine = getVehicleAddonInfos (getElementModel(veh))
		setElementData(vehCol,"Tire_inVehicle",math.random(0,tires))
		setElementData(vehCol,"Engine_inVehicle",math.random(0,engine))
		--vehicle_indentifikation
		setElementData(vehCol,"spawn",{509,x,y,z})
		--others
		setElementData(vehCol,"fuel",0)
	end
	for i,tent in ipairs(tentSpawns) do
		local x,y,z = tent[1],tent[2],tent[3]
		tent = createObject(3243,x,y,z-1)
		setObjectScale(tent,0.5)
		tentCol = createColSphere(x,y,z,4)
		attachElements ( tentCol, tent, 0, 0, 0 )
		setElementData(tentCol,"parent",tent)
		setElementData(tent,"parent",tentCol)
		setElementData(tentCol,"tent",true)
		setElementData(tentCol,"vehicle",true)
		setElementData(tentCol,"MAX_Slots",30)
	end
		--Maverik
		local item_id = math.random(table.size(maverikSpawns))
		local x,y,z = maverikSpawns[item_id][1],maverikSpawns[item_id][2],maverikSpawns[item_id][3]
		hunter = createVehicle(487,x,y,z)
		vehCol = createColSphere(x,y,z,4)
		attachElements ( vehCol, hunter, 0, 0, 0 )
		setElementData(vehCol,"parent",hunter)
		setElementData(hunter,"parent",vehCol)
		setElementData(vehCol,"vehicle",true)
		setElementData(vehCol,"MAX_Slots",10)
		--Engine + Tires
		local tires,engine = getVehicleAddonInfos (487)
		setElementData(vehCol,"Tire_inVehicle",math.random(0,tires))
		setElementData(vehCol,"Engine_inVehicle",math.random(0,engine))
		--vehicle_indentifikation
		setElementData(vehCol,"spawn",{487,x,y,z})
		--others
		setElementData(vehCol,"fuel",10)
	
		--Police Maverik
		local item_id = math.random(table.size(hunterSpawns))
		local x,y,z = hunterSpawns[item_id][1],hunterSpawns[item_id][2],hunterSpawns[item_id][3]
		hunter = createVehicle(497,x,y,z)
		vehCol = createColSphere(x,y,z,4)
		attachElements ( vehCol, hunter, 0, 0, 0 )
		setElementData(vehCol,"parent",hunter)
		setElementData(hunter,"parent",vehCol)
		setElementData(vehCol,"vehicle",true)
		setElementData(vehCol,"MAX_Slots",10)
		--Engine + Tires
		local tires,engine = getVehicleAddonInfos (497)
		setElementData(vehCol,"Tire_inVehicle",math.random(0,tires))
		setElementData(vehCol,"Engine_inVehicle",math.random(0,engine))
		--vehicle_indentifikation
		setElementData(vehCol,"spawn",{497,x,y,z})
		--others
		setElementData(vehCol,"fuel",10)
end
--spawnDayZVehicles()
function spawnVehiclePack (ps,cmd)
	if getElementData(ps,"admin") then
		spawnDayZVehicles()
	end
end
addCommandHandler("svp",spawnVehiclePack)

function notifyAboutExplosion()
	local col = getElementData(source,"parent")
	local x1,y1,z1 = getElementPosition(source)
	id,x,y,z  = getElementData(col,"spawn")[1],getElementData(col,"spawn")[2],getElementData(col,"spawn")[3],getElementData(col,"spawn")[4]
    setTimer(respawnDayZVehicle,1800000,1,id,x,y,z,source,col,getElementData(col,"MAX_Slots"))
	setElementData(col,"deadVehicle",true)
	setElementData(source,"isExploded",true)
	createExplosion (x1+4,y1+1,z1,4)
	createExplosion (x1+2,y1-4,z1,4)
	createExplosion (x1-1,y1+5,z1,4)
	createExplosion (x1-4,y1,z1-2,4)
end
addEventHandler("onVehicleExplode", getRootElement(), notifyAboutExplosion)

function respawnVehiclesInWater (vehiclesInWater)
	for i,veh in ipairs(vehiclesInWater) do
		if getElementModel(veh) == 453 then break end
		local col = getElementData(veh,"parent")
		id,x,y,z  = getElementData(col,"spawn")[1],getElementData(col,"spawn")[2],getElementData(col,"spawn")[3],getElementData(col,"spawn")[4]
		respawnDayZVehicle(id,x,y,z,veh,col,getElementData(col,"MAX_Slots"))
	end
end
addEvent("respawnVehiclesInWater",true)
addEventHandler("respawnVehiclesInWater",getRootElement(),respawnVehiclesInWater)

function checkVehicleInWater ()
	local randomPlayer = getRandomPlayer()
	triggerClientEvent(randomPlayer,"checkVehicleInWaterClient",randomPlayer)
end
setTimer(checkVehicleInWater,1800000,0)
--1800000

function respawnDayZVehicle(id,x,y,z,veh,col,max_slots)
	if id == 497 then
		local item_id = math.random(table.size(hunterSpawns))
		x,y,z = hunterSpawns[item_id][1],hunterSpawns[item_id][2],hunterSpawns[item_id][3]
	end
	if id == 487 then
		local item_id = math.random(table.size(maverikSpawns))
		x,y,z = maverikSpawns[item_id][1],maverikSpawns[item_id][2],maverikSpawns[item_id][3]
	end
		destroyElement(veh)
		destroyElement(col)
		veh = createVehicle(id,x,y,z+1)
		vehCol = createColSphere(x,y,z,4)
		attachElements ( vehCol, veh, 0, 0, 0 )
		setElementData(vehCol,"parent",veh)
		setElementData(veh,"parent",vehCol)
		setElementData(vehCol,"vehicle",true)
		setElementData(vehCol,"MAX_Slots",max_slots)
		--Engine + Tires
		local tires,engine = getVehicleAddonInfos (getElementModel(veh))
		setElementData(vehCol,"Tire_inVehicle",math.random(0,tires))
		setElementData(vehCol,"Engine_inVehicle",math.random(0,engine))
		--vehicle_indentifikation
		setElementData(vehCol,"spawn",{id,x,y,z})
		--others
		setElementData(vehCol,"fuel",10)
		
		if id == 433 then
			for i,items in ipairs(lootItems["helicrashsides"]) do
				local randomNumber = math.random(1,10)
				if randomNumber == 5 then
					setElementData(vehCol,items[1],math.random(1,2))
				end
			end
		elseif id == 470 then
			for i,items in ipairs(lootItems["helicrashsides"]) do
				local randomNumber = math.random(1,10)
				if randomNumber == 5 then
					setElementData(vehCol,items[1],math.random(1,2))
				end
			end	
		end
end

vehicleAddonsInfo = {
{422,4,1},
{470,4,1},
{468,2,1},
{433,6,1},
{437,6,1},
{509,0,0},
{487,0,1},
{497,0,1},
{453,0,1},
}

vehicleFuelInfo = {
{422,0.25},
{470,0.1},
{468,0.1},
{433,0.5},
{437,0.5},
{509,0},
{487,0.25},
{497,0.25},
{453,0.1},
}

function getVehicleAddonInfos (id)
	for i,veh in ipairs(vehicleAddonsInfo) do
		if veh[1] == id then
			return veh[2],veh[3]
		end
	end
end

function onPlayerEnterDayzVehicle(veh,seat)
local col = getElementData(veh,"parent")
local id = getElementModel(veh)
if not seat == 1 then return end
local tires,engine = getVehicleAddonInfos (id)
setVehicleEngineState ( veh, false )
setElementData(veh,"maxfuel",getVehicleMaxFuel(col))
setElementData(veh,"needtires",tires)
setElementData(veh,"needengines",engine)
if ((getElementData(col,"Tire_inVehicle") or 0) < tonumber(tires)) then
	setVehicleEngineState ( veh, false )
	return	
end
if ((getElementData(col,"Engine_inVehicle") or 0) < tonumber(engine)) then
	setVehicleEngineState ( veh, false )
	return
end
if (getElementData(col,"fuel") or 0) <= 1 then
	if not getElementModel(veh) == 509 then
		triggerClientEvent (source, "displayClientInfo", source,"Vehicle","There is no fuel in this Vehicle",22,255,0)
		setVehicleEngineState ( veh, false )
		return
	end
end
setVehicleEngineState ( veh, true )
bindKey(source,"k","down",setEngineStateByPlayer)
outputChatBox("Press 'k' to change the engine status.",source)
end
addEventHandler ( "onPlayerVehicleEnter", getRootElement(), onPlayerEnterDayzVehicle )

function onPlayerExitDayzVehicle(veh,seat)
	if seat == 0 then
		setVehicleEngineState ( veh, false )
		unbindKey(source,"k","down",setEngineStateByPlayer)
	end	
end
addEventHandler ( "onPlayerVehicleExit", getRootElement(), onPlayerExitDayzVehicle )

function getVehicleFuelRemove (id)
	for i,veh in ipairs(vehicleFuelInfo) do
		if veh[1] == id then
			return veh[2]
		end
	end
end

function setVehiclesFuelPerMinute ()
	for i,veh in ipairs(getElementsByType("vehicle")) do
		if getVehicleEngineState(veh) == true then
			if getElementData(getElementData(veh,"parent"),"fuel") >= 0 then
				setElementData(getElementData(veh,"parent"),"fuel",getElementData(getElementData(veh,"parent"),"fuel")-getVehicleFuelRemove(getElementModel(veh)))
			else
				setVehicleEngineState ( veh, false )
			end
		end
	end
end
setTimer(setVehiclesFuelPerMinute,20000,0)

function isVehicleReadyToStart2 (veh)
		if getElementData(getElementData(veh,"parent"),"fuel") >= 1 then
			local tires,engine = getVehicleAddonInfos (getElementModel(veh))
			if (getElementData(getElementData(veh,"parent"),"Tire_inVehicle") or 0) > tonumber(tires) and (getElementData(getElementData(veh,"parent"),"Engine_inVehicle") or 0) > tonumber(engine) then 
				setVehicleEngineState ( veh, true )
			end
		end
		setTimer(isVehicleReadyToStart2,1000,1,veh)
end

repairTimer = {}
function repairVehicle (veh)
if repairTimer[veh] then triggerClientEvent (source, "displayClientInfo", source,"Vehicle",getVehicleName(veh).." is already going to be repaired",255,22,0) return end
local health = math.floor(getElementHealth(veh))
repairTimer[veh] = setTimer(fixVehicleDayZ,(1000-health)*120,1,veh,source)
setElementFrozen (veh,true)
setElementData(veh,"repairer",source)
setElementData(source,"repairingvehicle",veh)
setPedAnimation (source,"SCRATCHING","sclng_r",nil,true,false)
triggerClientEvent (source, "displayClientInfo", source,"Vehicle","You started repairing "..getVehicleName(veh),22,255,0)
end
addEvent("repairVehicle",true)
addEventHandler("repairVehicle",getRootElement(),repairVehicle)

function fixVehicleDayZ(veh,player)
setElementHealth(veh,1000)
fixVehicle (veh)
setPedAnimation(player,false)
setElementFrozen (veh,false)
repairTimer[veh] = nil
setElementData(veh,"repairer",nil)
setElementData(player,"repairingvehicle",nil)
triggerClientEvent (player, "displayClientInfo", player,"Vehicle","You finished repairing "..getVehicleName(veh),22,255,0)
end

function stopFixxingWhileMoving()
local veh = getElementData(source,"repairingvehicle")
setPedAnimation(source)
setElementFrozen (veh,false)
setElementData(veh,"repairer",nil)
setElementData(source,"repairingvehicle",nil)
triggerClientEvent (source, "displayClientInfo", source,"Vehicle","You stopped repairing "..getVehicleName(veh),255,22,0)
killTimer(repairTimer[veh])
repairTimer[veh] = nil
end
addEvent("onClientMovesWhileAnimation",true)
addEventHandler("onClientMovesWhileAnimation",getRootElement(),stopFixxingWhileMoving)

function debugFixxing()
for i,veh in ipairs(getElementsByType("vehicle")) do
	if getElementData(veh,"repairer") == source then
		outputDebugString("Vehicle repairer disconnected - destgroyed tables")
		killTimer(repairTimer[veh])
		setElementFrozen (veh,false)
		repairTimer[veh] = nil
		setElementData(veh,"repairer",nil)
	end	
end
end
addEventHandler("onPlayerQuit",getRootElement(),debugFixxing)


function setEngineStateByPlayer (playersource)
	local veh = getPedOccupiedVehicle (playersource)
	setVehicleEngineState (veh, not getVehicleEngineState(veh))
	if getElementData(getElementData(veh,"parent"),"fuel") <= 0 then return end
	if getVehicleEngineState(veh) == true then
		triggerClientEvent (playersource, "displayClientInfo", playersource,"Vehicle","You started the Engine.",22,255,0)
	else
		triggerClientEvent (playersource, "displayClientInfo", playersource,"Vehicle","You stopped the Engine. ",255,22,0)
	end
end

client side:


--- Tabla para los carros syntax = id,precio
local motoss = {
{487, 1}; --Add More vehicles, Syntax: {ID, PRICE}
{509, 40000};
{481, 45000};
{462, 50000};
{521, 150000};
{463, 90000};
{510, 70000};
{470, 1};
{461, 1};
{448, 50000};
{468, 1};
{586, 17000}

}
--- Its decompiled For your Use, Please Comment, Rate!



        lagUII = guiCreateWindow(24, 145, 215, 372, "Shop", false)
        guiWindowSetSizable(lagUII, false)
        guiSetAlpha(lagUII, 0.84)
        guiSetProperty(lagUII, "CaptionColour", "FFFD0000")

        gridMotos = guiCreateGridList(0.04, 0.10, 0.91, 0.81, true, lagUII)
        guiGridListSetSelectionMode(gridMotos,0)
        nombres = guiGridListAddColumn(gridMotos, "Vehiculos", 0.5)
        precios = guiGridListAddColumn(gridMotos, "Precios", 0.5)
        compros = guiCreateButton(11, 341, 92, 18, "Comprar", false, lagUII)
        guiSetFont(compros, "default-bold-small")
        guiSetProperty(compros, "NormalTextColour", "FF031AFB")
        cierras = guiCreateButton(113, 341, 92, 18, "Cerrar", false, lagUII)
        guiSetFont(cierras, "default-bold-small")
        guiSetProperty(cierras, "NormalTextColour", "FF05F811")   
        guiSetVisible(lagUII, false) 


for i,v in ipairs (motoss) do
    local carNames = getVehicleNameFromModel (v[1])
    local row = guiGridListAddRow (gridMotos)
    guiGridListSetItemText (gridMotos, row, 1, carNames, false, true)
    guiGridListSetItemText (gridMotos, row, 2, tostring(v[2]), false, true)
    
end


function onClientCarBuyy (button, state, absoluteX, absoluteYe)
  if (source == compros) then guiSetVisible (lagUII, false) showCursor (false)
    if (guiGridListGetSelectedItem (gridMotos)) then
      local carNames = guiGridListGetItemText (gridMotos, guiGridListGetSelectedItem (gridMotos), 1)
      local carIDs = getVehicleModelFromName (carNames)
      local carCosts = guiGridListGetItemText (gridMotos, guiGridListGetSelectedItem (gridMotos), 2)
      triggerServerEvent ("carBuyy", getLocalPlayer(), carIDs, carCosts, carNames)
    end
  end
end
addEventHandler ("onClientGUIClick", compros, onClientCarBuyy)      
        
---     

        function closeShops()
    if guiGetVisible(lagUII) then 
        guiSetVisible(lagUII,false)
        showCursor(false)
    end
end
addEventHandler ("onClientGUIClick", cierras, closeShops, false)
            
function abrirsr( )
    guiSetVisible (lagUII, true)
    guiSetVisible (lagUI, false)
    showCursor(true)
end
addEvent( "AbrirrSids", true )
addEventHandler( "AbrirrSids", localPlayer, abrirsr )
--[[
#---------------------------------------------------------------#
----*			DayZ MTA Script menu_client.lua			*----
----* This Script is owned by Marwin, you are not allowed to use or own it.
----* Owner: Marwin W., Germany, Lower Saxony, Otterndorf
----* Skype: xxmavxx96
----*														*----
#---------------------------------------------------------------#
]]


--Create Scroll Menü
local spalten = {}
local spalteGuiImage = {}
local spalteGuiText = {}

local optionsTable = {
["player"] = {
{"Give Painkillers"},
{"Give Bandage"},
{"Give Morphine"},
},
}

spalten[1] = ""
spalten[2] = ""
spalten[3] = ""
spalten[4] = ""

spalteGuiImage[1] = guiCreateStaticImage(0,0.45,0.1,0.025,"images/scrollmenu_1.png",true)
spalteGuiImage[2] = guiCreateStaticImage(0,0.475,0.1,0.025,"images/scrollmenu_1.png",true)
spalteGuiImage[3] = guiCreateStaticImage(0,0.5,0.1,0.025,"images/scrollmenu_1.png",true)
spalteGuiImage[4] = guiCreateStaticImage(0,0.525,0.1,0.025,"images/scrollmenu_1.png",true)

spalteGuiText[1] = guiCreateLabel(0.05,0.05,0.995,0.95,spalten[1],true,spalteGuiImage[1])
spalteGuiText[2] = guiCreateLabel(0.05,0.05,0.995,0.95,spalten[2],true,spalteGuiImage[2])
spalteGuiText[3] = guiCreateLabel(0.05,0.05,0.995,0.95,spalten[3],true,spalteGuiImage[3])
spalteGuiText[4] = guiCreateLabel(0.05,0.05,0.995,0.95,spalten[4],true,spalteGuiImage[4])

--guiLabelSetColor (spalteGuiText[1],50,255,50)

guiSetVisible(spalteGuiImage[1],false)
guiSetVisible(spalteGuiImage[2],false)
guiSetVisible(spalteGuiImage[3],false)
guiSetVisible(spalteGuiImage[4],false)


------------------------------------------------------------------------------
--MENU
function showClientMenuItem(arg1,arg2,arg3,arg4)
local number = 0
if arg1 == "Take" then
	number = number+1
	guiSetVisible(spalteGuiImage[number],true)
	guiSetText(spalteGuiText[number],"Take "..arg2)
	if number == 1 then
		guiLabelSetColor (spalteGuiText[number],50,255,50)
		setElementData(spalteGuiText[number],"markedMenuItem",true)
	end
	setElementData(spalteGuiText[number],"usedItem",arg2)
end
if arg1 == "stop" then
	disableMenu()
	refreshLoot(false)
end
if arg1 == "Helicrashsite" then
	number = number+1
	guiSetVisible(spalteGuiImage[number],true)
	guiSetText(spalteGuiText[number],"Gear (Helicrash)")
	if number == 1 then
		guiLabelSetColor (spalteGuiText[number],50,255,50)
		setElementData(spalteGuiText[number],"markedMenuItem",true)
	end
	setElementData(spalteGuiText[number],"usedItem","helicrashsite")
end
if arg1 == "Hospitalbox" then
	number = number+1
	guiSetVisible(spalteGuiImage[number],true)
	guiSetText(spalteGuiText[number],"Gear (Hospitalbox)")
	if number == 1 then
		guiLabelSetColor (spalteGuiText[number],50,255,50)
		setElementData(spalteGuiText[number],"markedMenuItem",true)
	end
	setElementData(spalteGuiText[number],"usedItem","hospitalbox")
end
if arg1 == "Vehicle" then
	number = number+1
	guiSetVisible(spalteGuiImage[number],true)
	guiSetText(spalteGuiText[number],"Gear ("..arg2..")")
	guiLabelSetColor (spalteGuiText[number],50,255,50)
	setElementData(spalteGuiText[number],"markedMenuItem",true)
	setElementData(spalteGuiText[number],"usedItem","vehicle")
	if getElementData(getElementData(arg3,"parent"),"tent") then
		number = number+1
		guiSetVisible(spalteGuiImage[number],true)
		guiSetText(spalteGuiText[number],"Remove Tent")
		if number == 1 then
			guiLabelSetColor (spalteGuiText[number],50,255,50)
			setElementData(spalteGuiText[number],"markedMenuItem",true)
		end
			setElementData(spalteGuiText[number],"usedItem","tent")
		return
	end
	--2
	if getElementHealth(arg3) < 1000 and getElementHealth(arg3) >= 50 and getElementData(getLocalPlayer(),"Toolbox") >= 1 then
		number = number+1
		guiSetVisible(spalteGuiImage[number],true)
		guiSetText(spalteGuiText[number],"Repair ("..arg2..")")
		setElementData(spalteGuiText[number],"usedItem","repairvehicle")
	end
end
if arg1 == "Player" then
	--1
	if getElementData(arg2,"bleeding") > 0 and getElementData(getLocalPlayer(),"Bandage") >= 1 then
		number = number+1
		guiSetVisible(spalteGuiImage[number],true)
		guiSetText(spalteGuiText[number],"Give Bandage")
		guiLabelSetColor (spalteGuiText[1],50,255,50)
		setElementData(spalteGuiText[1],"markedMenuItem",true)
		setElementData(spalteGuiText[number],"usedItem","bandage")
	end	
	if getElementData(arg2,"blood") < 11900 and getElementData(getLocalPlayer(),"Blood Bag") >= 1 then
		number = number+1
		guiSetVisible(spalteGuiImage[number],true)
		guiSetText(spalteGuiText[number],"Give Blood Pack")	
		setElementData(spalteGuiText[number],"usedItem","giveblood")
		if number == 1 then
			guiLabelSetColor (spalteGuiText[number],50,255,50)
			setElementData(spalteGuiText[number],"markedMenuItem",true)
		end
	end
end
if arg1 == "Dead" then
	number = number+1
	guiSetVisible(spalteGuiImage[number],true)
	guiSetText(spalteGuiText[number],"Gear ("..arg2..")")
	if number == 1 then
		guiLabelSetColor (spalteGuiText[number],50,255,50)
		setElementData(spalteGuiText[number],"markedMenuItem",true)
	end
	setElementData(spalteGuiText[number],"usedItem","dead")
	number = number+1
	setElementData(spalteGuiText[number],"usedItem","deadreason")
	guiSetVisible(spalteGuiImage[number],true)
	guiSetText(spalteGuiText[number],"Check Body")
end
if arg1 == "Fireplace" then
	if getElementData(getLocalPlayer(),"Raw Meat") >= 1 then
	number = number+1
	guiSetVisible(spalteGuiImage[number],true)
	guiSetText(spalteGuiText[number],"Cook Meat")
	guiLabelSetColor (spalteGuiText[number],50,255,50)
	setElementData(spalteGuiText[number],"markedMenuItem",true)
	setElementData(spalteGuiText[number],"usedItem","fireplace")
	end
end
if arg1 == "Patrol" then
	if getElementData(getLocalPlayer(),"Empty Patrol Canister") >= 1 then
		number = number+1
		guiSetVisible(spalteGuiImage[number],true)
		guiSetText(spalteGuiText[number],"Refill (Empty Patrol Canister)")
		if number == 1 then
			guiLabelSetColor (spalteGuiText[number],50,255,50)
			setElementData(spalteGuiText[number],"markedMenuItem",true)
		end
			setElementData(spalteGuiText[number],"usedItem","patrolstation")
	end	
end
if arg1 == "Wirefence" then
	if getElementData(getLocalPlayer(),"Toolbox") >= 1 then
		number = number+1
		guiSetVisible(spalteGuiImage[number],true)
		guiSetText(spalteGuiText[number],"Remove Wirefence")
		if number == 1 then
			guiLabelSetColor (spalteGuiText[number],50,255,50)
			setElementData(spalteGuiText[number],"markedMenuItem",true)
		end
			setElementData(spalteGuiText[number],"usedItem","wirefence")
	end	
end
if arg1 == "Gear" then
	number = number+1
	guiSetVisible(spalteGuiImage[number],true)
	guiSetText(spalteGuiText[number],"Gear")
	if number == 1 then
		guiLabelSetColor (spalteGuiText[number],50,255,50)
		setElementData(spalteGuiText[number],"markedMenuItem",true)
	end
	setElementData(spalteGuiText[number],"usedItem","itemloot")
end
end
addEvent("showClientMenuItem",true)
addEventHandler("showClientMenuItem",getLocalPlayer(),showClientMenuItem)

function PlayerScrollMenu (key,keyState,arg)
if ( keyState == "down" ) then
if not guiGetVisible(spalteGuiImage[2]) then
	return
end
if arg == "up" then
	if getElementData(spalteGuiText[1],"markedMenuItem") then
		setElementData(spalteGuiText[1],"markedMenuItem",false)
		setElementData(spalteGuiText[2],"markedMenuItem",true)
		guiLabelSetColor (spalteGuiText[2],50,255,50)
		guiLabelSetColor (spalteGuiText[1],255,255,255)
	elseif getElementData(spalteGuiText[2],"markedMenuItem") then
		setElementData(spalteGuiText[2],"markedMenuItem",false)
		setElementData(spalteGuiText[1],"markedMenuItem",true)
		guiLabelSetColor (spalteGuiText[1],50,255,50)
		guiLabelSetColor (spalteGuiText[2],255,255,255)
	end
elseif arg == "down" then
	if getElementData(spalteGuiText[1],"markedMenuItem") then
		setElementData(spalteGuiText[1],"markedMenuItem",false)
		setElementData(spalteGuiText[2],"markedMenuItem",true)
		guiLabelSetColor (spalteGuiText[2],50,255,50)
		guiLabelSetColor (spalteGuiText[1],255,255,255)
	elseif getElementData(spalteGuiText[2],"markedMenuItem") then
		setElementData(spalteGuiText[2],"markedMenuItem",false)
		setElementData(spalteGuiText[1],"markedMenuItem",true)
		guiLabelSetColor (spalteGuiText[1],50,255,50)
		guiLabelSetColor (spalteGuiText[2],255,255,255)
	end
end
end
end
bindKey ( "mouse_wheel_up", "down", PlayerScrollMenu, "up" )
bindKey ( "mouse_wheel_down", "down", PlayerScrollMenu, "down" )

function disableMenu()
guiSetVisible(spalteGuiImage[1],false)
guiSetVisible(spalteGuiImage[2],false)
guiSetVisible(spalteGuiImage[3],false)
guiSetVisible(spalteGuiImage[4],false)
setElementData(spalteGuiText[1],"markedMenuItem",false)
setElementData(spalteGuiText[2],"markedMenuItem",false)
setElementData(spalteGuiText[3],"markedMenuItem",false)
setElementData(spalteGuiText[4],"markedMenuItem",false)
setNewbieInfo (false,"","")
end
addEvent("disableMenu",true)
addEventHandler("disableMenu",getLocalPlayer(),disableMenu)


------------------------------------------------------------------------------

------------------------------------------------------------------------------
--TAKE OBJECT FUNCTIONS

function getPlayerInCol(tab)
	for theKey,thePlayer in ipairs(tab) do
		if thePlayer ~= getLocalPlayer() then
			return true
		end
	end
	return false
end

isInFirePlace = false
function onPlayerTargetPickup (theElement)
if theElement == getLocalPlayer() then
if getElementData(source,"parent") == getLocalPlayer() then return end
		local player = getPlayerInCol(getElementsWithinColShape ( source, "player" ))
		if getPedOccupiedVehicle(getLocalPlayer()) then
			return
		end
		isInFirePlace = false
		setElementData(spalteGuiText[2],"markedMenuItem",false)
		setElementData(spalteGuiText[1],"markedMenuItem",true)
		guiLabelSetColor (spalteGuiText[1],50,255,50)
		guiLabelSetColor (spalteGuiText[2],255,255,255)
		if getElementData(source,"player") then
			showClientMenuItem("Player",getElementData(source,"parent"))
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",false)
			return
		end
		if player then
			return
		end
		if getElementData(source,"patrolstation") then
			showClientMenuItem("Patrol")
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",false)
			setNewbieInfo (true,"Patrolstation","Press '-' or 'middle-mouse' to refill a Canister.\n Required: Empty Patrol Canister",source)
			return
		end
		if getElementData(source,"wirefence") then
			showClientMenuItem("Wirefence")
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",false)
			setNewbieInfo (true,"Wirefence","Press '-' or 'middle-mouse' to remove the fence.\n Required: Toolbox",source)
			return
		end
		if getElementData(source,"fireplace") then
			showClientMenuItem("Fireplace")
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",false)
			setNewbieInfo (true,"Fireplace","Press '-' or 'middle-mouse' to cook meat.\n Required: Raw Meat",source)
			isInFirePlace = true
			return
		end
		if getElementData(source,"deadman") then
			showClientMenuItem("Dead",getElementData(source,"playername"))
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",true)
			setElementData(getLocalPlayer(),"lootname","Gear ("..getElementData(source,"playername")..")")
			setNewbieInfo (true,"Gear","Press J to open the Gear",source)
			return
		end
		if getElementData(source,"item") then
			showClientMenuItem("Take",getElementData(source,"item"))
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",false)
			setNewbieInfo (true,"Item pickup","Press '-' or 'middle-mouse' to pick up the item.",source)
			return
		end
		if getElementData(source,"helicrash") then
			showClientMenuItem("Helicrashsite","helicrash")
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",true)
			setElementData(getLocalPlayer(),"lootname","Gear (Helicrash)")
			setNewbieInfo (true,"Gear","Press J to open the Gear",source)
			return
		end
		if getElementData(source,"hospitalbox") then
			showClientMenuItem("Hospitalbox","hospitalbox")
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",true)
			setElementData(getLocalPlayer(),"lootname","Gear (Hospitalbox)")
			setNewbieInfo (true,"Gear","Press J to open the Hospitalbox",source)
			return
		end
		if getElementData(source,"vehicle") then
			if not getElementData(source,"deadVehicle") then
			showClientMenuItem("Vehicle",(getVehicleName(getElementData(source,"parent")) or "Tent"),getElementData(source,"parent"))
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",true)
			setElementData(getLocalPlayer(),"lootname","Gear ("..(getVehicleName(getElementData(source,"parent")) or "Tent")..")")
			setNewbieInfo (true,"Gear","Press J to open the Gear",source)
			return
			end
		end
		if getElementData(source,"itemloot") then
			showClientMenuItem("Gear")
			setElementData(getLocalPlayer(),"loot",true)
			setElementData(getLocalPlayer(),"lootname","Gear")
			setElementData(getLocalPlayer(),"currentCol",source)
			setNewbieInfo (true,"Gear","Press J to open the Gear",source)
			return
		end
	showClientMenuItem("stop")
end	
end
addEventHandler("onClientColShapeHit",getRootElement(),onPlayerTargetPickup)

function onPlayerTargetPickup (theElement)
if theElement == getLocalPlayer() then
	local players = getElementsWithinColShape ( source, "player" )
	if players == getLocalPlayer() then --[[return ]]end
	showClientMenuItem("stop")
	setElementData(getLocalPlayer(),"loot",false)
	setElementData(getLocalPlayer(),"currentCol",false)
	setNewbieInfo (false,"","")
	isInFirePlace = false
end
end
addEventHandler("onClientColShapeLeave",getRootElement(),onPlayerTargetPickup)

--Newbie Infos
local screenWidth, screenHeight = guiGetScreenSize()
local newbieShow = false
local newbieHead = "-"
local newbieText = "-"
local newbiePosition = 0,0,0

function setNewbieInfo (show,head,text,element)
newbieShow = show
newbieHead = head
newbieText = text
newbiePosition = element
end

addEventHandler("onClientRender", getRootElement(), 
function()
	if newbieShow == false then return end
	local x,y,z = getElementPosition(newbiePosition)
	local x,y = getScreenFromWorldPosition (x,y,z)
	local length = dxGetTextWidth(newbieText,1,"default-bold")
	dxDrawRectangle ( x-length/2-screenWidth*0.01,y, screenWidth*0.02+length, screenHeight*0.1, tocolor (33,33,33,100) )
	dxDrawingColorText(newbieHead,x-length/2-screenWidth*0.01,y, x+length/2+screenWidth*0.01, y+screenHeight*0.03, tocolor(22,255,22,120),0.5, 1.1, "default-bold", "center", "center")
	dxDrawingColorText(newbieText,x-length/2-screenWidth*0.01,y+screenHeight*0.03, x+length/2+screenWidth*0.01, y+screenHeight*0.07, tocolor(255,255,255,120),0.5, 1, "default-bold", "center", "center")
end
)

function fireRaiseTemperature ()
	if isInFirePlace then
		if getElementData(getLocalPlayer(),"temperature") <= 38 then
			setElementData(getLocalPlayer(),"temperature",getElementData(getLocalPlayer(),"temperature")+0.25)
		end
	end
end
setTimer(fireRaiseTemperature,10000,0)

------------------------------------------------------------------------------

unbindKey("mouse3","both")
function onPlayerPressMiddleMouse (key,keyState)
if ( keyState == "down" ) then
	if not guiGetVisible(spalteGuiText[1]) then return end
		local itemName = getMenuMarkedItem()
		if itemName == "helicrashsite" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			local gearName = "Gear (Helicrash)"
			refreshLoot(col,gearName)
			showInventoryManual()
			return
		end
		if itemName == "itemloot" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			local gearName = "Gear"
			refreshLoot(col,gearName)
			showInventoryManual()
			return
		end
		if itemName == "wirefence" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			local gearName = "Remove Wirefence"
			triggerServerEvent("removeWirefence",getLocalPlayer(),getElementData(col,"parent"))
			disableMenu()
			return
		end
		if itemName == "hospitalbox" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			local gearName = "Gear (Hospitalbox)"
			refreshLoot(col,gearName)
			showInventoryManual()
			return
		end
		if itemName == "vehicle" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			local gearName = "Gear ("..(getVehicleName(getElementData(col,"parent")) or "Tent")..")"
			refreshLoot(col,gearName)
			showInventoryManual()
			return
		end
		if itemName == "repairvehicle" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			triggerServerEvent("repairVehicle",getLocalPlayer(),getElementData(col,"parent"))
			disableMenu()
			return
		end
		if itemName == "tent" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			triggerServerEvent("removeTent",getLocalPlayer(),getElementData(col,"parent"))
			disableMenu()
			return
		end
		if itemName == "fireplace" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			triggerServerEvent("addPlayerCookMeat",getLocalPlayer())
			disableMenu()
			return
		end
		if itemName == "bandage" then
			local col = getElementData(getLocalPlayer(),"currentCol")
				triggerServerEvent("onPlayerGiveMedicObject",getLocalPlayer(),itemName,getElementData(col,"parent"))
				disableMenu()
			return
		end
		if itemName == "giveblood" then
			local col = getElementData(getLocalPlayer(),"currentCol")
				triggerServerEvent("onPlayerGiveMedicObject",getLocalPlayer(),itemName,getElementData(col,"parent"))
				disableMenu()
			return
		end
		if itemName == "dead" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			local gearName = "Gear ("..getElementData(col,"playername")..")"
			refreshLoot(col,gearName)
			showInventoryManual()
			return
		end
		if itemName == "deadreason" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			outputChatBox(getElementData(col,"deadreason"),255,255,255,true)
			return
		end
		if itemName == "patrolstation" then
			local col = getElementData(getLocalPlayer(),"currentCol")
				setElementData(getLocalPlayer(),"Empty Patrol Canister",getElementData(getLocalPlayer(),"Empty Patrol Canister")-1)
				setElementData(getLocalPlayer(),"Full Patrol Canister",(getElementData(getLocalPlayer(),"Full Patrol Canister") or 0)+1)
				triggerEvent ("displayClientInfo",getLocalPlayer(),"Patrolstation","You filled your Patrol Canister up",22,255,0)
				disableMenu()
			return
		end
			if isToolbeltItem(itemName) then
				local col = getElementData(getLocalPlayer(),"currentCol")
				triggerServerEvent("onPlayerTakeItemFromGround",getLocalPlayer(),itemName,col)
				disableMenu()
				return
			end	
			if itemName == "Small Backpack" or itemName == "Alice Backpack" or itemName == "Coyote Backpack" then
				local col = getElementData(getLocalPlayer(),"currentCol")
				triggerServerEvent("onPlayerTakeItemFromGround",getLocalPlayer(),itemName,col)
				disableMenu()
				return
			end	
			if getPlayerCurrentSlots() + getItemSlots(itemName) <= getPlayerMaxAviableSlots() then	
				local col = getElementData(getLocalPlayer(),"currentCol")
				triggerServerEvent("onPlayerTakeItemFromGround",getLocalPlayer(),itemName,col)
				disableMenu()
			else
				startRollMessage2("Inventory", "Your Inventory is to full", 255, 22, 0 )
			end
	end
end
bindKey ( "mouse3", "down", onPlayerPressMiddleMouse )
bindKey ( "-", "down", onPlayerPressMiddleMouse )

function getMenuMarkedItem() 
	for i,guiItem in ipairs(spalteGuiText) do
		if getElementData(guiItem,"markedMenuItem") then
			return getElementData(guiItem,"usedItem") 
		end
	end
end


function playerPressedKey(button, press)
    if (press) then
		if button == "w" or button == "a" or button == "s" or button == "d" then
			local anim,anim2 = getPedAnimation (getLocalPlayer())
			if anim and anim == "SCRATCHING" and anim2 == "sclng_r" then
				triggerServerEvent("onClientMovesWhileAnimation",getLocalPlayer())
			end	
		end
    end
end
addEventHandler("onClientKey", root, playerPressedKey)






















 

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...