MtaBrasilBr Posted May 19, 2022 Share Posted May 19, 2022 I recently opened an MTASA server, I had this drawing mod on my old server and I would like to know how I can fix these errors that appear in the console. I had already asked aki earlier, but I ran out of pc and had no way to answer the topic. Here are the errors: [2022-05-19 18:31:10] Starting drawtag [2022-05-19 18:31:10] WARNING: drawtag_bc\drawtag_bc_s.lua:4: Bad argument @ 'addEventHandler' [Expected function at argument 3, got nil] [2022-05-19 18:31:10] WARNING: drawtag_bc\drawtag_bc_s.lua:5: Bad argument @ 'addEventHandler' [Expected function at argument 3, got nil] [2022-05-19 18:31:10] WARNING: drawtag_bc\drawtag_bc_s.lua:6: Bad argument @ 'addEventHandler' [Expected function at argument 3, got nil] [2022-05-19 18:31:10] WARNING: drawtag_bc\drawtag_bc_s.lua:7: Bad argument @ 'addEventHandler' [Expected function at argument 3, got nil] [2022-05-19 18:31:10] WARNING: drawtag_bc\drawtag_bc_s.lua:47: Bad argument @ 'getResourceState' [Expected resource-data at argument 1, got boolean] [2022-05-19 18:31:10] WARNING: drawtag_bc\save_tags.lua:33: call: failed to call 'drawtag:getAllTags' [string "?"] [2022-05-19 22:54:10] WARNING: drawtag_bc\save_tags.lua:34: bad argument #1 to 'ipairs' (table expected, got boolean) here is the mod script: drawtag_bc_s.lua function initDrawtagBC() if initialized then return end initialized = true addEventHandler("drawtag:onTagStartSpray",root,startDrawMsg) addEventHandler("drawtag:onTagFinishSpray",root,finishDrawMsg) addEventHandler("drawtag:onTagStartErase",root,startEraseMsg) addEventHandler("drawtag:onTagFinishErase",root,finishEraseMsg) addCommandHandler("drawtag",modeDraw) addCommandHandler("erasetag",modeErase) addCommandHandler("tagsize",changeSize) addEvent("drawtag_bc:copyTag",true) addEventHandler("drawtag_bc:copyTag",root,copyTag) loadTagsFromFile() local all_players = getElementsByType("player") for plnum,player in ipairs(all_players) do exports.drawtag:setPlayerTagSize(player,1.5) end addEventHandler("onPlayerJoin",root,setDefaultTagSize) end function uninitDrawtagBC() if not initialized then return end initialized = nil removeEventHandler("drawtag:onTagStartSpray",root,startDrawMsg) removeEventHandler("drawtag:onTagFinishSpray",root,finishDrawMsg) removeEventHandler("drawtag:onTagStartErase",root,startEraseMsg) removeEventHandler("drawtag:onTagFinishErase",root,finishEraseMsg) removeCommandHandler("drawtag",modeDraw) removeCommandHandler("erasetag",modeErase) removeCommandHandler("tagsize",changeSize) removeEventHandler("drawtag_bc:copyTag",root,copyTag) saveTagsToFile() removeEventHandler("onPlayerJoin",root,setDefaultTagSize) end function initOnStart(resource) if getResourceName(resource) == "drawtag" then initDrawtagBC() elseif source == resourceRoot and getResourceState(getResourceFromName("drawtag")) == "running" then initDrawtagBC() end end function uninitOnStop(resource) if getResourceName(resource) == "drawtag" then uninitDrawtagBC() elseif source == resourceRoot and getResourceState(getResourceFromName("drawtag")) == "running" then uninitDrawtagBC() end end addEventHandler("onResourceStart",root,initOnStart) addEventHandler("onResourceStop",root,uninitOnStop) function setDefaultTagSize() exports.drawtag:setPlayerTagSize(source,1.5) end function identifyPlayer(player) return player and getPlayerName(player) or "Unknown player" end function modeDraw(player) exports.drawtag:setPlayerSprayMode(player,"draw") end function modeErase(player) exports.drawtag:setPlayerSprayMode(player,"erase") end function changeSize(player,cmdname,size) size = tonumber(size) if not size or math.abs(size) > 1000 then return end if not exports.drawtag:setPlayerTagSize(player,size) then return end end function copyTag() local png = exports.drawtag:getTagTexture(source) exports.drawtag:setPlayerTagTexture(client,png) end here is the mod script: save_tags.lua function loadTagsFromFile() if tags_loaded then return end tags_loaded = true local tags_file = xmlLoadFile("saved_tags/tags.xml") if not tags_file then return end local png_file = fileOpen("saved_tags/tags_png.dat",true) if not png_file then xmlUnloadFile(tags_file) return end local tag_nodes = xmlNodeGetChildren(tags_file) for tagnum,tag_node in ipairs(tag_nodes) do local tagdata = xmlNodeGetAttributes(tag_node) fileSetPos(png_file,tagdata.png_off) exports.drawtag:createTagFromExistingData( nil, tagdata.x,tagdata.y,tagdata.z, tagdata.x1,tagdata.y1,tagdata.z1, tagdata.x2,tagdata.y2,tagdata.z2, tagdata.nx,tagdata.ny,tagdata.nz, tagdata.size, tagdata.vis,fileRead(png_file,tagdata.png_len) ) end fileClose(png_file) xmlUnloadFile(tags_file) end function saveTagsToFile() if not tags_loaded then return end tags_loaded = nil local tags_file = xmlCreateFile("saved_tags/tags.xml","tags") if not tags_file then return end local png_file = fileCreate("saved_tags/tags_png.dat") if not png_file then xmlUnloadFile(tags_file) return end local all_tags = exports.drawtag:getAllTags() for tagnum,tag in ipairs(all_tags) do local att,x,y,z,x1,y1,z1,x2,y2,z2,nx,ny,nz,size,vis,png = exports.drawtag:getTagData(tag) if not att then local tag_node = xmlCreateChild(tags_file,"tag") xmlNodeSetAttribute(tag_node,"x",x) xmlNodeSetAttribute(tag_node,"y",y) xmlNodeSetAttribute(tag_node,"z",z) xmlNodeSetAttribute(tag_node,"x1",x1) xmlNodeSetAttribute(tag_node,"y1",y1) xmlNodeSetAttribute(tag_node,"z1",z1) xmlNodeSetAttribute(tag_node,"x2",x2) xmlNodeSetAttribute(tag_node,"y2",y2) xmlNodeSetAttribute(tag_node,"z2",z2) xmlNodeSetAttribute(tag_node,"nx",nx) xmlNodeSetAttribute(tag_node,"ny",ny) xmlNodeSetAttribute(tag_node,"nz",nz) xmlNodeSetAttribute(tag_node,"size",size) xmlNodeSetAttribute(tag_node,"vis",vis) xmlNodeSetAttribute(tag_node,"png_off",fileGetPos(png_file)) xmlNodeSetAttribute(tag_node,"png_len",fileWrite(png_file,png)) destroyElement(tag) end end fileClose(png_file) xmlSaveFile(tags_file) xmlUnloadFile(tags_file) end 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