Jump to content

[HELP]Script error


Recommended Posts

hello I Use the script Of Jasper Callled vehiclesystem,But when i Upgrade the vehicle,I Click on Destroy And it lose all the upgrades see te code

Server.lua

carShopMarker = createMarker (2133.59,-1149.29, 23.3, "cylinder", 3, 255, 0, 0, 127)

carShopMarker2 = createMarker (562, -1270, 16, "cylinder", 2, 255, 0, 0, 127)

carShopMarker3 = createMarker (-1954,299,34,"cylinder",2,255,0,0,127)

carShopMarker4 = createMarker (-1663,1208,6,"cylinder",2,255,0,0,127)

carShopMarker5 = createMarker (1946,2068,10,"cylinder",2,255,0,0,127)

createBlipAttachedTo(carShopMarker,55,2,0,255,0,0,0,200)

createBlipAttachedTo(carShopMarker2,55,2,0,255,0,0,0,200)

createBlipAttachedTo(carShopMarker3,55,2,0,255,0,0,0,200)

createBlipAttachedTo(carShopMarker4,55,2,0,255,0,0,0,200)

createBlipAttachedTo(carShopMarker5,55,2,0,255,0,0,0,200)

addEvent ("viewGUI", true)

function markerHit (hitPlayer, matchingDimension)

if (source == carShopMarker) or (source == carShopMarker2) or (source == carShopMarker3) or (source == carShopMarker4) or (source == carShopMarker5) then

triggerClientEvent ("viewGUI", hitPlayer)

end

end

addEventHandler ("onMarkerHit", getRootElement(), markerHit)

addEvent ("carShopCarBuy", true)

addEventHandler ("carShopCarBuy", getRootElement(),

function(id, cost, name)

if (getPlayerMoney (source) >= tonumber(cost)) then

outputChatBox ("Bought a " .. name, source, 255, 0, 0, false)

outputChatBox ("ID: " .. id, source, 255, 0, 0, false)

outputChatBox ("Cost: " .. cost, source, 255, 0, 0, false)

takePlayerMoney (source, tonumber (cost))

setAccountData (getPlayerAccount (source), "funmodev2-car", tonumber(id))

setAccountData (getPlayerAccount (source), "funmodev2-paintjob", 3)

setAccountData (getPlayerAccount (source), "funmodev2-carupg", 0)

else

outputChatBox ("You are too poor!", source, 255, 0, 0, false)

end

end)

addEvent ("carSpawn", true)

addEvent ("carDestroy", true)

function carSpawn ()

if not (isGuestAccount (getPlayerAccount (source))) and not (isPedInVehicle(source)) then

if (getElementData (source, "hisCar")) and (getElementData (source, "hisCar") ~= nil) and (getElementType(getElementData (source, "hisCar")) == "vehicle") then

setElementVelocity (getElementData (source, "hisCar"), 0,0,0)

local x,y,z = getElementPosition (source)

setVehicleRotation (getElementData (source, "hisCar"), 0, 0, 0)

setElementPosition (getElementData (source, "hisCar"), x+2,y,z +1)

outputChatBox ("Car spawned.", source, 255, 0, 0)

elseif not (getElementData (source, "hisCar")) then

local accountData = getAccountData (getPlayerAccount (source), "funmodev2-car")

if (accountData) then

carID = getAccountData (getPlayerAccount (source), "funmodev2-car")

x,y,z = getElementPosition (source)

vehicle = createVehicle (carID, x +2, y, z +1)

setElementID (vehicle, getAccountName (getPlayerAccount(source)))

setElementData (source, "hisCar", vehicle)

outputChatBox ("Car spawned.", source, 255, 0, 0)

if (getAccountData (getPlayerAccount(source), "funmodev2-carupg")) then

local upgrades = nil

local upgrades = {}

local upgrades = getAccountData (getPlayerAccount(source), "funmodev2-carupg")

for i,v in ipairs (upgrades) do

addVehicleUpgrade (vehicle, v)

end

end

if (getAccountData (getPlayerAccount(source), "funmodev2-paintjob")) then

local paintjob = getAccountData (getPlayerAccount(source), "funmodev2-paintjob")

setVehiclePaintjob (vehicle, paintjob)

end

if (getAccountData (getPlayerAccount(source), "funmodev2-carcolor1")) and (getAccountData (getPlayerAccount(source), "funmodev2-carcolor2")) then

local c1 = getAccountData (getPlayerAccount(source), "funmodev2-carcolor1")

local c2 = getAccountData (getPlayerAccount(source), "funmodev2-carcolor2")

setVehicleColor (vehicle, c1,c2,0,0)

end

else

outputChatBox ("You haven't got a car.", source, 255, 0, 0)

end

else

outputChatBox ("You're already in a car!", source, 255, 0, 0)

end

end

end

addEventHandler ("carSpawn", getRootElement(), carSpawn)

function carDestroy ()

if not (isGuestAccount (getPlayerAccount (source))) then

if (isPedInVehicle (source)) then

if (getElementID(getPedOccupiedVehicle(source)) == getAccountName (getPlayerAccount(source))) then

setElementHealth (getElementData (source, "hisCar"), 0)

destroyElement (getPedOccupiedVehicle (source))

removeElementData (source, "hisCar")

outputChatBox ("Car Destroyed.", source, 255, 0, 0)

else

outputChatBox ("This not your car!", source, 255, 0, 0)

end

elseif (not (isPedInVehicle (source))) and (getElementData (source, "hisCar")) and (getElementData (source, "hisCar") ~= nil) then

car=getElementData(source, "hisCar")

destroyElement(car)

outputChatBox ("Car Destroyed.", source, 255, 0, 0)

removeElementData (source, "hisCar")

end

end

end

addEventHandler ("carDestroy", getRootElement(), carDestroy)

function engineSwitch ()

if (isPedInVehicle (source)) then

local veh = getPedOccupiedVehicle (source)

if (getVehicleEngineState (veh) == true) then

setVehicleEngineState (veh, false)

outputChatBox ("Vehicle shutted down.", source, 255, 0, 0)

elseif (getVehicleEngineState (veh) == false) then

setVehicleEngineState (veh, true)

outputChatBox ("Vehicle started.", source, 255, 0, 0)

end

else

outputChatBox ("You aren't in a vehicle!", source, 255, 0, 0)

end

end

addEvent("engenieSwitch",true)

addEventHandler("engenieSwitch",getRootElement(),engineSwitch)

function lightsSwitch ()

if (isPedInVehicle (source)) then

local veh = getPedOccupiedVehicle (source)

if (getVehicleOverrideLights(veh) ~= 2) then

setVehicleOverrideLights(veh, 2)

outputChatBox ("Vehicle lights turned on.", source, 255, 0, 0)

elseif (getVehicleOverrideLights(veh) ~= 1) then

setVehicleOverrideLights(veh, 1)

outputChatBox ("Vehicle lights turned off.", source, 255, 0, 0)

end

else

outputChatBox ("You aren't in a vehicle!", source, 255, 0, 0)

end

end

addEvent("lightsSwitch",true)

addEventHandler("lightsSwitch",getRootElement(),lightsSwitch)

function lockSwitch ()

if (isPedInVehicle (source)) then

local veh = getPedOccupiedVehicle (source)

if not (isVehicleLocked (veh)) then

setVehicleLocked (veh, true)

setVehicleDoorsUndamageable (veh, true)

setVehicleDoorState (veh, 0, 0)

setVehicleDoorState (veh, 1, 0)

setVehicleDoorState (veh, 2, 0)

setVehicleDoorState (veh, 3, 0)

outputChatBox ("Vehicle locked.", source, 255, 0, 0)

elseif (isVehicleLocked (veh)) then

setVehicleLocked (veh, false)

setVehicleDoorsUndamageable (veh, false)

outputChatBox ("Vehicle unlocked.", source, 255, 0, 0)

end

else

outputChatBox ("You aren't in a vehicle!", source, 255, 0, 0)

end

end

addEvent("lockSwitch",true)

addEventHandler("lockSwitch",getRootElement(),lockSwitch )

addEventHandler ("onVehicleStartEnter", getRootElement(),

function(player, seat, jacked, door)

if (isVehicleLocked (source) == true) then

local mannetjeNaam = getAccountName (getPlayerAccount (player))

local autoNaam = getElementID (source)

if (mannetjeNaam == autoNaam) then

setVehicleLocked (source, false)

outputChatBox ("Vehicle unlocked!", player, 255, 0, 0, false)

end

end

end)

addEventHandler ("onVehicleExplode", getRootElement(),

function()

local theOwner = getAccountName (getPlayerAccount(getPlayerFromName (getElementID (source))))

if (theOwner) then

removeElementData (theOwner, "hisCar")

end

end)

addEventHandler ("onPlayerQuit", getRootElement(),

function(quitType, reason, responsibleElement)

if (getElementData (source, "hisCar")) then

blowVehicle (getElementData (source, "hisCar"))

removeElementData (source, "hisCar")

end

end)

addEventHandler( "onResourceStop", getResourceRootElement( getThisResource() ),

function ()

for i,v in ipairs (getElementsByType ("player")) do

if (getElementData (v, "hisCar")) then

setElementHealth (getElementData (v, "hisCar"), 0)

removeElementData (v, "hisCar")

end

end

end

)

function destroyOnExplode ()

setTimer (destroyElement, 2500, 1, source)

end

addEventHandler ("onVehicleExplode", getRootElement(), destroyOnExplode)

start.lua

node = xmlLoadFile ("players.xml")

function playerLogin (thePreviousAccount, theCurrentAccount, autoLogin)

if not (isGuestAccount (getPlayerAccount (source))) then

local accountData = getAccountData (theCurrentAccount, "funmodev2-money")

if (accountData) then

local playerMoney = getAccountData (theCurrentAccount, "funmodev2-money")

local playerSkin = getAccountData (theCurrentAccount, "funmodev2-skin")

local playerX = getAccountData (theCurrentAccount, "funmodev2-x")

local playerY = getAccountData (theCurrentAccount, "funmodev2-y")

local playerZ = getAccountData (theCurrentAccount, "funmodev2-z")

local playerInt = getAccountData (theCurrentAccount, "funmodev2-int")

local playerDim = getAccountData (theCurrentAccount, "funmodev2-dim")

local playerWanted = getAccountData (theCurrentAccount, "funmodev2-wantedlevel")

local playerWeaponID = getAccountData (theCurrentAccount, "funmodev2-weaponID")

local playerWeaponAmmo = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo")

spawnPlayer (source, playerX, playerY, playerZ +1, 0, playerSkin, playerInt, playerDim, spawnTeam)

setTimer (setPlayerTeam, 500, 1, source, spawnTeam)

setPlayerMoney (source, playerMoney)

setTimer (setPlayerWantedLevel, 500, 1, source, playerWanted)

setTimer (giveWeapon, 500, 1, source, playerWeaponID, playerWeaponAmmo, true)

setCameraTarget (source, source)

fadeCamera(source, true, 2.0)

else

spawnPlayer (source, 2000.55, 1526.25, 14.6171875, 0, math.random (0, 288), 0, 0, spawnTeam)

setTimer (setPlayerTeam, 500, 1, source, spawnTeam)

setPlayerMoney (source, 5000)

setCameraTarget (source, source)

fadeCamera(source, true, 2.0)

end

end

end

addEventHandler ("onPlayerLogin", getRootElement(), playerLogin)

function onQuit (quitType, reason, responsibleElement)

if not (isGuestAccount (getPlayerAccount (source))) then

account = getPlayerAccount (source)

if (account) then

local x,y,z = getElementPosition (source)

setAccountData (account, "funmodev2-money", tostring (getPlayerMoney (source)))

setAccountData (account, "funmodev2-skin", tostring (getPedSkin (source)))

setAccountData (account, "funmodev2-x", x)

setAccountData (account, "funmodev2-y", y)

setAccountData (account, "funmodev2-z", z)

setAccountData (account, "funmodev2-int", getElementInterior (source))

setAccountData (account, "funmodev2-dim", getElementDimension (source))

setAccountData (account, "funmodev2-wantedlevel", getPlayerWantedLevel (source))

setAccountData (account, "funmodev2-wantedID", getPedWeapon (source))

setAccountData (account, "funmodev2-wantedAmmo", getPedTotalAmmo (source))

end

end

end

addEventHandler ("onPlayerQuit", getRootElement(), onQuit)

function onWasted(totalAmmo, killer, killerWeapon, bodypart, stealth)

if not( isGuestAccount (getPlayerAccount(source)) ) then

local theWeapon = getPedWeapon (source)

local weaponAmmo = getPedTotalAmmo (source)

fadeCamera (source, false)

setTimer (spawnPlayer, 1000, 1, source, 1607.35, 1816.54, 10.82, 0, getPedSkin (source), 0, 0, spawnTeam)

setTimer (setPlayerTeam, 1500, 1, source, spawnTeam)

setTimer (setCameraTarget, 1250, 1, source, source)

setTimer (fadeCamera, 2000, 1, source, true)

setTimer (giveWeapon, 2000, 1, source, theWeapon, weaponAmmo, true)

end

end

addEventHandler ("onPlayerWasted", getRootElement(), onWasted)

client.lua

local screenX, screenY = guiGetScreenSize()

local width, height = 200, 200

local x = (screenX/2) - (width/2)

local y = (screenY/2) - (height/2)

local lp = getLocalPlayer()

theWindow = guiCreateWindow(x,y,width,height,"Car Features",false)

guiWindowSetSizable(theWindow,false)

guiSetVisible (theWindow, false)

spawnBut = guiCreateButton(0.0604,0.120,0.4,0.2,"Spawn",true,theWindow)

engenieBut = guiCreateButton(0.0604,0.420,0.4,0.2,"Engenie",true,theWindow)

lockBut = guiCreateButton(0.490,0.420,0.4,0.2,"Lock",true,theWindow)

lightsBut = guiCreateButton(0.0604,0.720,0.4,0.2,"Lights",true,theWindow)

destroyBut = guiCreateButton(0.490,0.120,0.4,0.2,"Destroy",true,theWindow)

function resourceStart ()

bindKey ("F6", "down", menuShow)

end

addEventHandler ("onClientResourceStart", getResourceRootElement ( getThisResource () ), resourceStart)

function menuShow ()

visableornot = guiGetVisible (theWindow)

if (visableornot == true) then

guiSetVisible (theWindow, false)

showCursor (false)

end

if (visableornot == false) then

guiSetVisible (theWindow, true)

showCursor (true)

end

end

addEvent ("carSpawn", true)

addEvent ("carDestroy", true)

function guiClick (button, state, absoluteX, absoluteY)

if (source == spawnBut) then

triggerServerEvent ("carSpawn", lp)

elseif (source == destroyBut) then

triggerServerEvent ("carDestroy", lp)

elseif (source == engenieBut) then

triggerServerEvent ("engenieSwitch", lp)

elseif (source == lockBut) then

triggerServerEvent ("lockSwitch", lp)

elseif (source == lightsBut) then

triggerServerEvent ("lightsSwitch", lp)

end

end

addEventHandler ("onClientGUIClick", getRootElement(), guiClick)

carshopWindow = guiCreateWindow(500,200,290,440,"Car Shop",false)

guiSetVisible (carshopWindow, false)

guiSetAlpha(carshopWindow,1)

guiWindowSetSizable(carshopWindow,false)

selectLabel = guiCreateLabel(0.0423,0.1009,0.8889,0.078,"Select your car",true,carshopWindow)

guiSetAlpha(selectLabel,1)

guiLabelSetColor(selectLabel,255,255,255)

guiLabelSetVerticalAlign(selectLabel,"top")

guiLabelSetHorizontalAlign(selectLabel,"left",false)

guiSetFont(selectLabel,"default-bold-small")

carGridList = guiCreateGridList(0.0476,0.1789,0.9048,0.6789,true,carshopWindow)

guiGridListSetSelectionMode(carGridList,0)

carColumn = guiGridListAddColumn(carGridList,"Car",0.5)

costColumn = guiGridListAddColumn(carGridList,"$",0.3)

local cars = {{579,30000},{400,30000},{404,28000},{489,40000},{505,55000},{479,30000},{442,30000},{458,30000},{602,30000},{496,41500},{401,33000},{518,50000},{527,45000},{589,60000},{419,45000},{533,75000},{526,50000},{474,55000},{545,30000},{517,30000},{410,30000},{600,30000},{436,41000},{580,50000},{439,75000},{549,75000},{491,45000},{445,45000},{507,45000},{585,45000},{587,75000},{466,55000},{492,50000},{546,45000},{551,45000},{516,45000},{467,45000},{426,47500},{547,45000},{405,55000},{409,75000},{550,45000},{566,45000},{540,45000},{421,50000},{529,45000},{402,120000},{542,65000},{603,120000},{475,45000},{562,120000},{565,95000},{559,120000},{561,50000},{560,120000},{558,100000},{429,120000},{541,120000},{415,120000},{480,95000},{434,100000},{494,120000},{502,120000},{503,120000},{411,120000},{506,120000},{451,120000},{555,95000},{477,95000},{499,25000},{498,25000},{578,50000},{486,70000},{455,45000},{588,50000},{403,45000},{414,50000},{443,45000},{515,45000},{514,45000},{531,12000},{456,45000},{422,45000},{482,95000},{530,12000},{418,45000},{572,12000},{582,50000},{413,50000},{440,50000},{543,65000},{583,12000},{478,35000},{554,50000},{536,45000},{575,45000},{534,45000},{567,45000},{535,45000},{576,45000},{412,45000},{568,45000},{457,12000},{483,45000},{508,25000},{571,10000},{500,55000},{444,120000},{556,120000},{557,120000},{471,20000},{495,100000},{539,45000},{481,2500},{509,2500},{581,45000},{462,2000},{521,60000},{463,50000},{522,45000},{448,12000},{468,25000},{586,45000},{485,12000},{431,60000},{438,45000},{437,40000},{574,6000},{420,45000},{525,45000},{408,40000},{428,45000}}

for i,v in ipairs (cars) do

local carName = getVehicleNameFromModel (v[1])

local row = guiGridListAddRow (carGridList)

guiGridListSetItemText (carGridList, row, 1, carName, false, true)

guiGridListSetItemText (carGridList, row, 2, tostring(v[2]), false, true)

end

guiSetAlpha(carGridList,1)

buyButton = guiCreateButton(0.0476,0.8624,0.7778,0.0963,"Buy it!",true,carshopWindow)

guiSetAlpha(buyButton,1)

closeButton = guiCreateButton(0.8571,0.8624,0.0899,0.1009,"x",true,carshopWindow)

addEvent ("viewGUI", true)

function viewGUI ()

if (getLocalPlayer() == source) then

guiSetVisible (carshopWindow, true)

showCursor (true)

end

end

addEventHandler ("viewGUI", getRootElement(), viewGUI)

function onClientGUIClick (button, state, absoluteX, absoluteYe)

if (source == buyButton) then guiSetVisible (carshopWindow, false) showCursor (false)

if (guiGridListGetSelectedItem (carGridList)) then

local carName = guiGridListGetItemText (carGridList, guiGridListGetSelectedItem (carGridList), 1)

local carID = getVehicleModelFromName (carName)

local carCost = guiGridListGetItemText (carGridList, guiGridListGetSelectedItem (carGridList), 2)

triggerServerEvent ("carShopCarBuy", getLocalPlayer(), carID, carCost, carName)

end

elseif (source == closeButton) then

guiSetVisible (carshopWindow, false)

showCursor (false)

end

end

addEventHandler ("onClientGUIClick", getRootElement(), onClientGUIClick)

meta.xml

players.xml THEY DONT WORK!

Can you help me? how can i save the upgrades whats is the error? Plz

Link to comment
here is one, ERROR:unzipped\vehiclesystemarshops\server.lua :62: bad argument #1 to pairs

And other: WARNING: vehiclesystemcarshops\start.lua:22 bad argument @ 'giveWeapon'

First of the local variable should be like this

local upgrades.upgrade = getAccountData (getPlayerAccount(source), "funmodev2-carupg") 

secondly , try using ' tonumber ' here

setTimer (giveWeapon, 500, 1, source, tonumber(playerWeaponID), tonumber(playerWeaponAmmo), true) 

I'm not sure of that .. , but just test and next time use lua tag.

P.S. your code is so weird with the timers

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