Rush Posted August 11, 2014 Share Posted August 11, 2014 Всем привет, Уважаемые форумчане. Прошу помощи, так как не смог сам исправить ошибки. Буду очень благодарен, если поможете. Первая моя ошибка. Возникает только тогда, когда сервер выключаю, но если даже выключить через /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
Elengar Posted August 11, 2014 Share Posted August 11, 2014 Оффтоп: - "Вот вам куски кода и лога. Ну же, сделайте что-то интересное с этим !" Код написан не тобою. Последняя ошибка очень простая, именно там, где и ругается. Про иконки твои живые, как минимум, 70% участников данного форума не знали и знать, наверное, не хотят. Совет, почти не оффтоп: Учи Lua, скриптинг/программирование. На вот таком "писании своего мода самому" ты много не "напишешь". Link to comment
Rush Posted August 12, 2014 Author Share Posted August 12, 2014 Оффтоп:- "Вот вам куски кода и лога. Ну же, сделайте что-то интересное с этим !" Код написан не тобою. Последняя ошибка очень простая, именно там, где и ругается. Про иконки твои живые, как минимум, 70% участников данного форума не знали и знать, наверное, не хотят. Совет, почти не оффтоп: Учи Lua, скриптинг/программирование. На вот таком "писании своего мода самому" ты много не "напишешь". Не хочешь помогать, гуляй тогда, зачем тут что-то писать " ти ничиво нипанимаешь, я знаю, но я жмот, помогать нибуду, сам учи, видь я виучил, типерь магу такое писать" Link to comment
lcd1232 Posted August 12, 2014 Share Posted August 12, 2014 Если ты не понял, то тоже объясню. Если ты не будешь учить lua, то не сможешь ничего сам написать, а соответственно будешь просить помощи у всех. Тут тебе могут подсказать как что-то делать, но не писать за тебя. Так что у тебя 2 варианта: либо плати, либо учи. Link to comment
Rush Posted August 12, 2014 Author Share Posted August 12, 2014 Если ты не понял, то тоже объясню. Если ты не будешь учить lua, то не сможешь ничего сам написать, а соответственно будешь просить помощи у всех. Тут тебе могут подсказать как что-то делать, но не писать за тебя. Так что у тебя 2 варианта: либо плати, либо учи. Есть еще другое, такая вещь называется "помощь". Я ведь вам не говорю, вот ошибки, исправляйте крч, пока я кушать буду. Я Вас прошу Link to comment
Elengar Posted August 12, 2014 Share Posted August 12, 2014 Я ведь вам не говорю, вот ошибки, исправляйте крч, пока я кушать буду. Я Вас прошу - "Здрасьте, я вас тут попрошу: вот вам куски кода и ошибки, исправляйте крч, пока я кушать буду" Ты их сам даже не пытался исправить, последняя так вообще легкая, и она появилась из-за того, что ты мод чужой декомпилил. Этот код вообще с википедии. Link to comment
Arisu Posted August 14, 2014 Share Posted August 14, 2014 Вот весь код с login.lua За дураков держишь? Скрипт ругается на строку 462, выложено от силы строк двести, иди сука сам угадывай, какая из них 462. Угадаешь - тогда и возвращайся. Link to comment
AMARANT Posted August 14, 2014 Share Posted August 14, 2014 Вообще совет, учитесь сами исправлять свои ошибки в коде, работайте с включенным /debugscript 3, пытайтесь буквально перевести со словарем что значит эта ошибка, посмотрите внимательно на проблемную строку и подумайте что вы могли пропустить. Этих ошибок все равно всегда будет тонна и не могу себе даже представить ситуацию, если обращаться на форум из-за каждой такой ошибки. Link to comment
Rush Posted August 15, 2014 Author Share Posted August 15, 2014 Вот весь код с login.lua За дураков держишь? Скрипт ругается на строку 462, выложено от силы строк двести, иди сука сам угадывай, какая из них 462. Угадаешь - тогда и возвращайся. 64 и 65 Link to comment
Fabervox Posted September 5, 2014 Share Posted September 5, 2014 Есть еще другое, такая вещь называется "помощь". Есть ещё такая вещь, как честность. Вы одновременно с этими ошибками, создаете пост о читерстве в MTA, что существует но намного реже чем вам кажется, при этом там вы говорите об отсутствии эксплойтов в вашем, вами написанном DayZ, проверке остальных ресурсов. Автор мода и человек, способный достойно проверить безопасность мода, в состоянии без сторонней помощи, решить названные вами проблемы. Ваши же проблемы, решаются изучением Lua и временем, но может и не помочь. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now