Jump to content

Ошибки


Recommended Posts

Всем привет, Уважаемые форумчане. Прошу помощи, так как не смог сам исправить ошибки. Буду очень благодарен, если поможете.

Первая моя ошибка. Возникает только тогда, когда сервер выключаю, но если даже выключить через /stop Dayz, shutdown, все слетает.

[2014-08-11 14:45:41] WARNING: [DayZ-MTA]\DayZ\login.lua:462: Bad argument @ 'setAccountData' [Expected account at argument 1, got boolean] 
[2014-08-11 14:45:41] WARNING: [DayZ-MTA]\DayZ\login.lua:461: Bad argument @ 'setAccountData' [Expected account at argument 1, got boolean] 
[2014-08-11 14:45:41] WARNING: [DayZ-MTA]\DayZ\login.lua:462: Bad argument @ 'setAccountData' [Expected account at argument 1, got boolean] 
[2014-08-11 14:45:41] WARNING: [DayZ-MTA]\DayZ\login.lua:461: Bad argument @ 'setAccountData' [Expected account at argument 1, got boolean] 
[2014-08-11 14:45:41] WARNING: [DayZ-MTA]\DayZ\login.lua:462: Bad argument @ 'setAccountData' [Expected account at argument 1, got boolean] 
[2014-08-11 14:45:41] WARNING: [DayZ-MTA]\DayZ\login.lua:461: Bad argument @ 'setAccountData' [Expected account at argument 1, got boolean] 
[2014-08-11 14:45:41] WARNING: [DayZ-MTA]\DayZ\login.lua:462: Bad argument @ 'setAccountData' [Expected account at argument 1, got boolean] 
[2014-08-11 14:45:41] WARNING: [DayZ-MTA]\DayZ\login.lua:461: Bad argument @ 'setAccountData' [Expected account at argument 1, got boolean] 
[2014-08-11 14:45:41] WARNING: [DayZ-MTA]\DayZ\login.lua:462: Bad argument @ 'setAccountData' [Expected account at argument 1, got boolean] 

и таких строчек, штук 200-300

Вот весь код с login.lua

function saveallvehicles(ps,command) 
    counter = 0 
    counterTent = 0 
    --delete Accounts  
    local vehicleManager = getAccount("vehicleManager","newsuperpassword") 
    --for i = 1, (getAccountData(vehicleManager,"vehicleamount") or 0) do 
        --local account = getAccount("vehicle_number_"..i,"ds4f9$") 
        --if not account then break end 
        --removeAccount (account) 
    --end 
    --new Accounts + set 
    for i, col in ipairs (getElementsByType("colshape")) do 
        local veh = getElementData(col,"vehicle") 
        local helicrash = getElementData(col,"helicrash") 
        local hospitalbox = getElementData(col,"hospitalbox") 
        local tent = getElementData(col,"tent") 
        if veh and not helicrash or veh and not hospitalbox then 
            if tent then 
                counterTent = counterTent +1 
                account = getAccount("tent_number_"..counterTent,"newsuperpassword") or false 
                if not account then 
                    account = addAccount("tent_number_"..counterTent,"newsuperpassword") 
                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,"newsuperpassword") or false 
                if not account then 
                    account = addAccount("vehicle_number_"..counter,"newsuperpassword") 
                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 
        setAccountData(vehicleManager,"vehicleamount",counter) 
        setAccountData(vehicleManager,"tentamount",counterTent) 
    end 
end 
addEventHandler("onResourceStop", getResourceRootElement(getThisResource()), saveallvehicles) 

function createVehicleOnServerStart() 
    local vehicleManager = getAccount("vehicleManager","newsuperpassword") 
    for i = 1, (getAccountData(vehicleManager,"vehicleamount") or 0) do 
        wastedVehicle = false 
        vehicle = getAccount("vehicle_number_"..i,"newsuperpassword") 
        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")) 
        setElementHealth(veh,getAccountData(vehicle,"health")) 
        --vehicle_indentifikation 
        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) 
            --Engine + Tires + Бензобак 
            local tires,engine,parts = getVehicleAddonInfos (getElementModel(veh)) 
            setElementData(vehCol,"Колесо_inVehicle",math.random(0,tires)) 
            setElementData(vehCol,"Мотор_inVehicle",math.random(0,engine)) 
            setElementData(vehCol,"Бензобак_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,"newsuperpassword") 
        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) 

Еще есть проблема с живыми иконками. Все хорошо, кроме "humanity", не изменяется картинка, а краснеет.

    local humanity = getElementData(getLocalPlayer(), "humanity") 
    if humanity > 0 then 
      do 
        local humanity = getElementData(getLocalPlayer(), "humanity") / 9.8 
        r, g, b = 255 - humanity, humanity, 0 
      end 
    else 
      r, g, b = 255, 0, 0 
    end 
    dxDrawImage(screenWidth * 0.94, screenHeight * 0.635, screenHeight * 0.065, screenHeight * 0.065, "images/dayzicons/bandit/5000.png", 0, 0, 0, tocolor(r, g, b)) 
     
    elseif ( tonumber ( getElementData(getLocalPlayer(), "humanity") ) or 0 ) > 3400 then 
     
    elementtemp2 = dxDrawImage(screenWidth * 0.94, screenHeight * 0.635, screenHeight * 0.065, screenHeight * 0.065, "images/dayzicons/bandit/3500.png", 0, 0, 0, tocolor(r, g, b)) 
     
    elseif ( tonumber ( getElementData(getLocalPlayer(), "humanity") ) or 0 ) > 2400 then 
     
    elementtemp2 = dxDrawImage(screenWidth * 0.94, screenHeight * 0.635, screenHeight * 0.065, screenHeight * 0.065, "images/dayzicons/bandit/2500.png", 0, 0, 0, tocolor(r, g, b)) 
     
    elseif ( tonumber ( getElementData(getLocalPlayer(), "humanity") ) or 0 ) > -1 then 
     
    elementtemp2 = dxDrawImage(screenWidth * 0.94, screenHeight * 0.635, screenHeight * 0.065, screenHeight * 0.065, "images/dayzicons/bandit/0.png", 0, 0, 0, tocolor(r, g, b)) 
     
    elseif ( tonumber ( getElementData(getLocalPlayer(), "humanity") ) or 0 ) > -1001 then 
     
    elementtemp2 = dxDrawImage(screenWidth * 0.94, screenHeight * 0.635, screenHeight * 0.065, screenHeight * 0.065, "images/dayzicons/bandit/-1000.png", 0, 0, 0, tocolor(r, g, b)) 
     
    elseif ( tonumber ( getElementData(getLocalPlayer(), "humanity") ) or 0 ) > -2001 then 
     
    elementtemp2 = dxDrawImage(screenWidth * 0.94, screenHeight * 0.635, screenHeight * 0.065, screenHeight * 0.065, "images/dayzicons/bandit/-2000.png", 0, 0, 0, tocolor(r, g, b)) 
    end 

И еще ошибка, даже не знаю чем вызвана. Bad argument #1 to "format"

function math.round(number, decimals, method) 
    decimals = decimals or 0 
    local factor = 10 ^ decimals 
    if (method == "ceil" or method == "floor") then return math[method](number * factor) / factor 
    else  
    return tonumber(("%."..decimals.."f"):format(number)) end 
end 

Буду очень благодарен.

Link to comment

Оффтоп:

- "Вот вам куски кода и лога. Ну же, сделайте что-то интересное с этим !"

Код написан не тобою. Последняя ошибка очень простая, именно там, где и ругается.

Про иконки твои живые, как минимум, 70% участников данного форума не знали и знать, наверное, не хотят.

Совет, почти не оффтоп:

Учи Lua, скриптинг/программирование. На вот таком "писании своего мода самому" ты много не "напишешь".

Link to comment
Оффтоп:

- "Вот вам куски кода и лога. Ну же, сделайте что-то интересное с этим !"

Код написан не тобою. Последняя ошибка очень простая, именно там, где и ругается.

Про иконки твои живые, как минимум, 70% участников данного форума не знали и знать, наверное, не хотят.

Совет, почти не оффтоп:

Учи Lua, скриптинг/программирование. На вот таком "писании своего мода самому" ты много не "напишешь".

Не хочешь помогать, гуляй тогда, зачем тут что-то писать " ти ничиво нипанимаешь, я знаю, но я жмот, помогать нибуду, сам учи, видь я виучил, типерь магу такое писать"

Link to comment

Если ты не понял, то тоже объясню. Если ты не будешь учить lua, то не сможешь ничего сам написать, а соответственно будешь просить помощи у всех. Тут тебе могут подсказать как что-то делать, но не писать за тебя. Так что у тебя 2 варианта: либо плати, либо учи.

Link to comment
Если ты не понял, то тоже объясню. Если ты не будешь учить lua, то не сможешь ничего сам написать, а соответственно будешь просить помощи у всех. Тут тебе могут подсказать как что-то делать, но не писать за тебя. Так что у тебя 2 варианта: либо плати, либо учи.

Есть еще другое, такая вещь называется "помощь". Я ведь вам не говорю, вот ошибки, исправляйте крч, пока я кушать буду. Я Вас прошу

Link to comment
Я ведь вам не говорю, вот ошибки, исправляйте крч, пока я кушать буду. Я Вас прошу

- "Здрасьте, я вас тут попрошу: вот вам куски кода и ошибки, исправляйте крч, пока я кушать буду"

Ты их сам даже не пытался исправить, последняя так вообще легкая, и она появилась из-за того, что ты мод чужой декомпилил. Этот код вообще с википедии.

Link to comment
Вот весь код с login.lua

За дураков держишь? Скрипт ругается на строку 462, выложено от силы строк двести, иди сука сам угадывай, какая из них 462. Угадаешь - тогда и возвращайся.

Link to comment

Вообще совет, учитесь сами исправлять свои ошибки в коде, работайте с включенным /debugscript 3, пытайтесь буквально перевести со словарем что значит эта ошибка, посмотрите внимательно на проблемную строку и подумайте что вы могли пропустить. Этих ошибок все равно всегда будет тонна и не могу себе даже представить ситуацию, если обращаться на форум из-за каждой такой ошибки.

Link to comment
Вот весь код с login.lua

За дураков держишь? Скрипт ругается на строку 462, выложено от силы строк двести, иди сука сам угадывай, какая из них 462. Угадаешь - тогда и возвращайся.

64 и 65

Link to comment
  • 3 weeks later...
Есть еще другое, такая вещь называется "помощь".

Есть ещё такая вещь, как честность. Вы одновременно с этими ошибками, создаете пост о читерстве в MTA, что существует но намного реже чем вам кажется, при этом там вы говорите об отсутствии эксплойтов в вашем, вами написанном DayZ, проверке остальных ресурсов.

Автор мода и человек, способный достойно проверить безопасность мода, в состоянии без сторонней помощи, решить названные вами проблемы.

Ваши же проблемы, решаются изучением Lua и временем, но может и не помочь.

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