Jump to content

DayZ help


Gabriele01

Recommended Posts

Hello guys again I have a idiot error in my server :))

Error:

[2016-12-28 18:53:03] ERROR: DayZ\login.lua:284: bad argument #1 to 'ipairs' (table expected, got nil)

 

Code : 


local spawnPositions = {
{-278.6669921875,-2882.1572265625,32.104232788086},
{-958.5595703125,-2887.9912109375,64.82421875},
{-1816.9375,-2748.18359375,1.7327127456665},
{-2816.166015625,-2439.0546875,2.4004096984863},
{-2941.5673828125,-1206.2373046875,2.7848854064941},
{-2911.51171875,-895.22265625,2.4013109207153},
{-2185.6669921875,2957.380859375,11.474840164185},
{272.2265625,2928.505859375,1.3713493347168},
{2803.943359375,595.9365234375,7.7612648010254},
{2883.7509765625,-178.4658203125,3.2714653015137},
{-233.46484375,-1735.8173828125,1.5520644187927},
{-1056.8720703125,2939.068359375,42.311294555664},
}

local playerDataTable = {
{"alivetime"},
{"skin"},
{"MAX_Slots"},
{"bandit"},
{"blood"},
{"food"},
{"thirst"},
{"temperature"},
{"currentweapon_1"},
{"currentweapon_2"},
{"currentweapon_3"},
{"bleeding"},
{"brokenbone"},
{"pain"},
{"cold"},
{"infection"},
{"humanity"},
{"zombieskilled"},
{"headshots"},
{"murders"},
{"banditskilled"},
{"Wood Pile"},
{"Bandage"},
{"Water Bottle"},
{"Pasta Can"},
{"Beans Can"},
{"Burger"},
{"Box of Matches"},
{"M1911 Mag"},
{"M9 SD Mag"},
{"Desert Eagle Mag"},
{"M1911"},
{"M9 SD"},
{"Winchester 1866"},
{"PDW"},
{"Hunting Knife"},
{"Hatchet"},
{"Pizza"},
{"Morphine"},
{"Soda Bottle"},
{"Empty Gas Canister"},
{"Full Gas Canister"},
{"Roadflare"},
{"Milk"},
{"PDW Mag"},
{"MP5A5 Mag"},
{"AK Mag"},
{"M4 Mag"},
{"Tear Gas"},
{"Grenade"},
{"Desert Eagle"},
{"Sawn-Off Shotgun"},
{"SPAZ-12 Combat Shotgun"},
{"MP5A5"},
{"Watch"},
{"Medic Kit"},
{"Heat Pack"},
{"Lee Enfield"},
{"PDW"},
--{"TEC-9"},
{"AK-47"},
--{"M136 Rocket Launcher"},
{"Blood Bag"},
{"GPS"},
{"Map"},
{"Toolbox"},
{"Wire Fence"},
{"Tire"},
{"Engine"},
{"Tank Parts"},
{"M136 Rocket"},
{"CZ 550 Mag"},
{"Lee Enfield Mag"},
{"M4"},
{"CZ 550"},
--{"Heat-Seeking RPG"},
{"Satchel"},
{"Infrared Goggles"},
{"Night Vision Goggles"},
{"Tent"},
{"Raw Meat"},
{"Cooked Meat"},
{"Camouflage Clothing"},
{"Ghillie Suit"},
{"Civilian Clothing"},
{"Survivor Clothing"},
{"Painkiller"},
{"Binoculars"},
{"Empty Water Bottle"},
{"Empty Soda Cans"},
{"Scruffy Burgers"},
{"1866 Slug"},
{"2Rnd. Slug"},
{"SPAZ-12 Pellet"},
{"Radio Device"},
{"Baseball Bat"},
{"Shovel"},
{"Golf Club"},
{"Radio Device"},
{"Parachute"},
}


function playerLogin(username, pass, player)
    local playerID = getAccountData(getPlayerAccount(player),"playerID")
    account = getPlayerAccount(player)
    local x,y,z =  getAccountData(account,"last_x"),getAccountData(account,"last_y"),getAccountData(account,"last_z")
    local skin = getAccountData(account,"skin")
    createZombieTable (player)
    if getAccountData(account,"isDead") then
        spawnDayZPlayer(player)
        return
    end
    spawnPlayer (player, x,y,z+0.5, math.random(0,360), skin, 0, 0)
    setElementFrozen(player, true)
    fadeCamera (player, true)
    setCameraTarget (player, player)
    setTimer( function(player)
        if isElement(player) then
            setElementFrozen(player, false)
        end
    end,500,1,player)
    playerCol = createColSphere(x,y,z,1.5)
    setElementData(player,"playerCol",playerCol)
    attachElements ( playerCol, player, 0, 0, 0 )
    setElementData(playerCol,"parent",player)
    setElementData(playerCol,"player",true)
    for i, v in ipairs ( clothSlots ) do
        local elementData = getAccountData(account,v)
        setElementData(player,v,elementData)
        if type(elementData) == "string" then
            local objData = clothesObjects[elementData]
            if objData then
                local helmet = createObject(objData[1], x, y, z)
                setElementData ( source, v.."Object", helmet )
                attachElementToBone(helmet, source, objData[2], objData[3], objData[4], objData[5], objData[6], objData[7], objData[8])
            end
        end
    end
    for i,data in ipairs(playerDataTable) do
        local elementData = getAccountData(account,data[1])
        if not elementData then
            if data[1] == "brokenbone" or data[1] == "pain" or data[1] == "cold" or data[1] == "infection" or data[1] == "currentweapon_1" or data[1] == "currentweapon_2" or data[1] == "currentweapon_3" or data[1] == "bandit" then
                elementData = elementData
            else
                elementData = 0
            end
        end
        setElementData(player,data[1],elementData)
    end
    setElementData(player,"logedin",true)
    --Weapons
    --Old Weapons
    local weapon = getElementData(player,"currentweapon_1")
    if weapon then
        local ammoData,weapID = getWeaponAmmoType (weapon)
        giveWeapon(player,weapID,getElementData(player,ammoData), true )
    end
    local weapon = getElementData(player,"currentweapon_2")
    if weapon then
        local ammoData,weapID = getWeaponAmmoType (weapon)
        giveWeapon(player,weapID,getElementData(player,ammoData), false )
    end
    local weapon = getElementData(player,"currentweapon_3")
    if weapon then
        local ammoData,weapID = getWeaponAmmoType (weapon)
        giveWeapon(player,weapID,getElementData(player,ammoData), false )
    end
    setElementModel(player, getElementData(player,"skin"))

    setElementData(player,"admin",getAccountData(account,"admin") or false)
    setElementData(player,"supporter",getAccountData(account,"supporter") or false)
    triggerClientEvent(player, "onClientPlayerDayZLogin", player)
    
end
addEvent("onPlayerDayZLogin", true)
addEventHandler("onPlayerDayZLogin", getRootElement(), playerLogin)


function playerRegister(username, pass, player)
    local number = math.random(table.size(spawnPositions))
    local x,y,z = spawnPositions[number][1],spawnPositions[number][2],spawnPositions[number][3]
    spawnPlayer (player, x,y,z, math.random(0,360), 281, 0, 0)
    fadeCamera (player, true)
    setCameraTarget (player, player)
    playerCol = createColSphere(x,y,z,1.5)
    attachElements ( playerCol, player, 0, 0, 0 )
    setElementData(playerCol,"parent",player)
    setElementData(playerCol,"player",true)
    ----------------------------------
    --Player Items on Start
    for i,data in ipairs(playerDataTable) do
        if data[1] =="Bandaj" then
            setElementData(player,data[1],2)
        elseif data[1] =="Ağrı Kesici" then
            setElementData(player,data[1],1)
        elseif data[1] =="MAX_Slots" then
            setElementData(player,data[1],8)
        elseif data[1] =="skin" then
            setElementData(player,data[1],281)
        elseif data[1] =="blood" then
            setElementData(player,data[1],12000)
        elseif data[1] =="temperature" then
            setElementData(player,data[1],37)
        elseif data[1] =="brokenbone" then
            setElementData(player,data[1],false)    
        elseif data[1] =="pain" then
            setElementData(player,data[1],false)
        elseif data[1] =="cold" then
            setElementData(player,data[1],false)
        elseif data[1] =="infection" then
            setElementData(player,data[1],false)
        elseif data[1] =="food" then
            setElementData(player,data[1],100)          
        elseif data[1] =="thirst" then
            setElementData(player,data[1],100)
        elseif data[1] =="currentweapon_1" then
            setElementData(player,data[1],false)
        elseif data[1] =="currentweapon_2" then
            setElementData(player,data[1],false)    
        elseif data[1] =="currentweapon_3" then
            setElementData(player,data[1],false)    
        elseif data[1] =="bandit" then
            setElementData(player,data[1],false)    
        elseif data[1] =="humanity" then
            setElementData(player,data[1],2500)     
        else
            setElementData(player,data[1],0)
        end 
    end
    account = getAccount(username)
    local value = getAccounts()
    local value = #value
    setElementData(player,"playerID",value+1)
    setAccountData(account,"playerID",value+1)
    setElementData(player,"logedin",true)
    createZombieTable (player)
end
addEvent("onPlayerDayZRegister", true)
addEventHandler("onPlayerDayZRegister", getRootElement(), playerRegister)

function saveAccounts () -- Save in the database
    local account = getPlayerAccount(source)
    if account then
        for i,data in ipairs(playerDataTable) do
            setAccountData(account,data[1],getElementData(source,data[1]))
        end
        for i, v in ipairs ( clothSlots ) do
            setAccountData(account,v,getElementData(source,v))
        end
        local x,y,z =  getElementPosition(source)
        setAccountData(account,"last_x",x)
        setAccountData(account,"last_y",y)
        setAccountData(account,"last_z",z)
        destroyElement(getElementData(source,"playerCol"))
    end 
    setElementData(source,"logedin",false)
end
addEventHandler ( "onPlayerQuit", getRootElement(), saveAccounts )

function saveAccounts2 () -- Save in the database
for i, player in ipairs(getElementsByType("player")) do
    local account = getPlayerAccount(player)
    if account then
        for i,data in ipairs(playerDataTable) do
            setAccountData(account,data[1],getElementData(player,data[1]))
        end
        for i, v in ipairs ( clothSlots ) do
            setAccountData(account,v,getElementData(source,v))
        end
        local x,y,z =  getElementPosition(player)
        setAccountData(account,"last_x",x)
        setAccountData(account,"last_y",y)
        setAccountData(account,"last_z",z)
    end 
    --setElementData(player,"logedin",false)
end 
end
addEventHandler ( "onResourceStop", getRootElement(), saveAccounts2 )

--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
local vehicleDataTable = {
{"MAX_Slots"},
{"Tire_inVehicle"},
{"Engine_inVehicle"},
{"Parts_inVehicle"},
{"fuel"},
{"Wood Pile"},
{"Bandage"},
{"Water Bottle"},
{"Pasta Can"},
{"Beans Can"},
{"Burger"},
{"Box of Matches"},
{"M1911 Mag"},
{"M1911"},
{"M9 SD"},
{"Desert Eagle Mag"},
{"Winchester 1866"},
{"PDW"},
{"Hunting Knife"},
{"Morphine"},
{"Hatchet"},
{"Pizza"},
{"Soda Bottle"},
{"Empty Gas Canister"},
{"Full Gas Canister"},
{"Roadflare"},
{"Milk"},
{"PDW Mag"},
{"MP5A5 Mag"},
{"AK Mag"},
{"M4 Mag"},
{"Tear Gas"},
{"Grenade"},
{"Desert Eagle"},
{"Sawn-Off Shotgun"},
{"SPAZ-12 Combat Shotgun"},
{"MP5A5"},
{"Watch"},
{"Medic Kit"},
{"Heat Pack"},
{"Lee Enfield"},
--{"TEC-9"},
{"AK-47"},
--{"M136 Rocket Launcher"},
{"Blood Bag"},
{"GPS"},
{"Map"},
{"Toolbox"},
{"Wire Fence"},
{"Tire"},
{"Engine"},
{"Tank Parts"},
{"M136 Rocket"},
{"CZ 550 Mag"},
{"Lee Enfield Mag"},
{"M4"},
{"CZ 550"},
--{"Heat-Seeking RPG"},
{"Satchel"},
{"Infrared Goggles"},
{"Night Vision Goggles"},
{"Tent"},
{"Raw Meat"},
{"Cooked Meat"},
{"Camouflage Clothing"},
{"Ghillie Suit"},
{"Civilian Clothing"},
{"Survivor Clothing"},
{"Painkiller"},
{"Binoculars"},
{"Empty Water Bottle"},
{"Empty Soda Cans"},
{"Scruffy Burgers"},
{"1866 Slug"},
{"2Rnd. Slug"},
{"SPAZ-12 Pellet"},
{"Assault Pack (ACU)"},
{"Alice Pack"},
{"Czech Backpack"},
{"Coyote Backpack"},
{"Radio Device"},
{"Baseball Bat"},
{"Shovel"},
{"Golf Club"},
{"Parachute"},
}
--local vehicleManager = getAccount("vehicleManager","ds4f9$")
    --if not vehicleManager then
    --addAccount("vehicleManager","ds4f9$")
    --end

function saveallvehicles(ps,command)
    counter = 0
    counterTent = 0
    --counterSafe = 0
    local vehicleManager = getAccount("vehicleManager","Lfybkxbybxrby112")
    --local vehicleManager = getAccount("vehicleManager")
    for i, col in ipairs (getElementsByType("colshape")) do
        local veh = getElementData(col,"vehicle")
        local helicrash = getElementData(col,"helicrash")
        local hospitalbox = getElementData(col,"hospitalbox")
        --local ammobox = getElementData(col,"ammobox")
        local tent = getElementData(col,"tent")
    --  local safe = getElementData ( col,"safe")
        if veh and not helicrash or veh and not hospitalbox then
            if tent then
                counterTent = counterTent +1
                account = getAccount("tent_number_"..counterTent,"Lfybkxbybxrby112") or false
                if not account then
                    account = addAccount("tent_number_"..counterTent,"Lfybkxbybxrby112")
                end 
                local tent = getElementData(col,"parent")
                local x,y,z = getElementPosition(tent)
                local rx,ry,rz = getElementRotation(tent)
                setAccountData(account,"last_x",x)
                setAccountData(account,"last_y",y)
                setAccountData(account,"last_z",z)
                setAccountData(account,"last_rx",rx)
                setAccountData(account,"last_ry",ry)
                setAccountData(account,"last_rz",rz)
                for i, data in ipairs(vehicleDataTable) do 
                    setAccountData(account,data[1],getElementData(col,data[1]))
                end
            else 
                counter = counter +1
                account = getAccount("vehicle_number_"..counter,"ds4f9$") or false
                if not account then
                    account = addAccount("vehicle_number_"..counter,"ds4f9$")
                end 
                setAccountData(account,"spawn_x",getElementData(col,"spawn")[2])
                setAccountData(account,"spawn_y",getElementData(col,"spawn")[3])
                setAccountData(account,"spawn_z",getElementData(col,"spawn")[4])
                for i, data in ipairs(vehicleDataTable) do 
                    setAccountData(account,data[1],getElementData(col,data[1]))
                end
                local vehicle = getElementData(col,"parent")
                local model = getElementModel(vehicle)
                local x,y,z = getElementPosition(vehicle)
                local rx,ry,rz = getElementRotation(vehicle)
                local health = getElementHealth(vehicle)
                setAccountData(account,"last_x",x)
                setAccountData(account,"last_y",y)
                setAccountData(account,"last_z",z)
                setAccountData(account,"last_rx",rx)
                setAccountData(account,"last_ry",ry)
                setAccountData(account,"last_rz",rz)
                setAccountData(account,"health",health)
                setAccountData(account,"model",model)
                setAccountData(account,"isExploded",getElementData(vehicle,"isExploded") or false)
            end
        end
    end
        setAccountData(vehicleManager,"vehicleamount",counter)
        setAccountData(vehicleManager,"tentamount",counterTent)
end
addEventHandler("onResourceStop", getResourceRootElement(getThisResource()), saveallvehicles)

function doBackup ()
    --outputChatBox ("Резервное копирование сервера. Просим не выходить с сервера во Yaşam Süresi NETWORK.",getRootElement(),27, 89, 224,true)
    saveallvehicles()
    --outputChatBox ("Продолжайте!",getRootElement(),27, 89, 224,true)
end
function checkDoBackup ()
    if gameplayVariables["backupenabled"] then
        setTimer(doBackup,gameplayVariables["backupinterval"],0)
    end
end
checkDoBackup()

function createVehicleOnServerStart()
    local vehicleManager = getAccount("vehicleManager","ds4f9$")
    for i = 1, (getAccountData(vehicleManager,"vehicleamount") or 0) do
        wastedVehicle = false
        vehicle = getAccount("vehicle_number_"..i,"ds4f9$")
        if not vehicle then break end
        if getAccountData(vehicle,"isExploded") == true then
            setAccountData(vehicle,"health",1000)
            wastedVehicle = true
        end
        local veh = createVehicle(getAccountData(vehicle,"model"),getAccountData(vehicle,"last_x"),getAccountData(vehicle,"last_y"),getAccountData(vehicle,"last_z"),getAccountData(vehicle,"last_rx"),getAccountData(vehicle,"last_ry"),getAccountData(vehicle,"last_rz"))
        vehCol = createColSphere(getAccountData(vehicle,"last_x"),getAccountData(vehicle,"last_y"),getAccountData(vehicle,"last_z"),4)
        attachElements ( vehCol, veh, 0, 0, 0 )
        setElementData(vehCol,"parent",veh)
        setElementData(veh,"parent",vehCol)
        setElementData(vehCol,"vehicle",true)
        setElementData(vehCol,"MAX_Slots",getAccountData(vehicle,"MAX_Slots"))
        xxx,yyy,zzz = getAccountData(vehicle,"spawn_x"),getAccountData(vehicle,"spawn_y"),getAccountData(vehicle,"spawn_z")
        setElementData(vehCol,"spawn",{getAccountData(vehicle,"model"),xxx,yyy,zzz})
        if wastedVehicle then
            if getAccountData(vehicle,"model") == 497 then
                item_id = math.random(table.size(hunterSpawns))
                xxx,yyy,zzz = hunterSpawns[item_id][1],hunterSpawns[item_id][2],hunterSpawns[item_id][3]
            end
            if getAccountData(vehicle,"model") == 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
            setElementPosition(veh,xxx,yyy,zzz+1)
            setElementRotation(veh,0,0,0)
            --Motor + Tekerlek + Yakıt Deposu
            local tires,engine,parts = getVehicleAddonInfos (getElementModel(veh))
            setElementData(vehCol,"Tekerlek_inVehicle",math.random(0,tires))
            setElementData(vehCol,"Motor_inVehicle",math.random(0,engine))
            setElementData(vehCol,"Parts_inVehicle",math.random(0,parts))
        end
        --others
        setElementData(vehCol,"fuel",getAccountData(vehicle,"fuel"))
        if not wastedVehicle then
            for i, data in ipairs(vehicleDataTable) do 
                setElementData(vehCol,data[1],getAccountData(vehicle,data[1]))
            end
        else
            if getElementModel(veh) == 433 or getElementModel(veh) == 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 
            setElementData(vehCol,"fuel",10)
        end
    end
    for i = 1, (getAccountData(vehicleManager,"tentamount") or 0) do
        tentData = getAccount("tent_number_"..i,"ds4f9$")
        if not tentData then break end
        tent = createObject(3243,getAccountData(tentData,"last_x"),getAccountData(tentData,"last_y"),getAccountData(tentData,"last_z"),0,0,(getAccountData(tentData,"last_rz") or 0))
        setObjectScale(tent,1.3)
        tentCol = createColSphere(getAccountData(tentData,"last_x"),getAccountData(tentData,"last_y"),getAccountData(tentData,"last_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",100)
        for i, data in ipairs(vehicleDataTable) do 
            setElementData(tentCol,data[1],getAccountData(tentData,data[1]))
        end
    end
end
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), createVehicleOnServerStart)

 

Link to comment
1 minute ago, Gabriele01 said:

How to fix? @myonlake

Well, I don't have a fix for you. What I do have is a temporary solution to keep the script rolling.

        --[[for i, v in ipairs ( clothSlots ) do
            setAccountData(account,v,getElementData(source,v))
        end]]

Just comment out that part like so (and any other parts which use clothSlots).

Edited by myonlake
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...