TwiX! Posted April 8, 2012 Posted April 8, 2012 (edited) local mapname = getResourceName(map) What is map? idk why, btw he need name of folder.. so ok server local lastTimePlayed local month = {"January","February","March","April","May","June","Juli","August","September","October","November","December"} function timestampToDate(stamp) local time = getRealTime(stamp) return string.format("%d %s %02d:%02d",time.monthday,month[time.month+1],time.hour,time.minute) end addEvent("onMapStarting",true) addEventHandler ( 'onMapStarting', root, function ( mapInfo ) local resource = exports.mapmanager:getRunningGamemodeMap() local mapname = getResourceInfo ( resource, "name" ) local author = getResourceInfo(exports.mapmanager:getRunningGamemodeMap(),"author") local lastTimePlayed = timestampToDate(mapInfo.lastTimePlayed) local xml = xmlLoadFile("data/ratings.xml") if ( xml ) then local index = findIndexByName ( mapname ) if ( index ) then local map = xmlFindChild ( xml, "map", index ) local rating = xmlNodeGetAttribute ( map, "rating" ) local ratedBy = xmlNodeGetAttribute ( map, "ratedBy" ) local played = xmlNodeGetAttribute ( map, "played" ) triggerClientEvent(source,"INFO",getRootElement(),mapname,author,rating,ratedBy,played,lastTimePlayed) else outputChatBox ( "Map not found in our ratings list.", getRootElement(), 255, 0, 0, true ) end else outputChatBox ( "Unable to load map ratings XML file.", getRootElement(), 255, 0, 0, true ) end end ) function findIndexByName ( mapName ) local ratingsFile = xmlLoadFile("data/ratings.xml") if ( ratingsFile ) then for index, map in ipairs ( xmlNodeGetChildren ( ratingsFile ) ) do local name = xmlNodeGetAttribute ( map, "id" ) if ( name == mapName ) then return index -1 end end xmlUnloadFile(ratingsFile) end end client local screenWidth, screenHeight = guiGetScreenSize() local endPosition = screenHeight-140 local moveback = false function getDrawText(mapname,author,rating,ratedBy,played,lastTimePlayed) addEventHandler ( "onClientRender", getRootElement(), drawMapInfo) if mapname then textM = "Map: "..mapname else textM = "Unknown" end if author then textA = "Author: "..author else textA = "Unknown" end if rating then textR = "Rate: " ..rating.. "/10 (by " ..ratedBy.. " players)" else textR = "Not rated yet" end if played then textP = "Times played: "..played.." times" else textP = "Never played before" end if lastTimePlayed then textPL = "Last Time Played\n"..lastTimePlayed else textPL = "Unknown" end end addEvent( "INFO", true ) addEventHandler( "INFO", getRootElement(), getDrawText ) function drawMapInfo () if position == endPosition then if tickCount == 0 then moveback = true end tickCount = tickCount-1 movePosition = 0 end if position >= screenHeight+91 then removeEventHandler("onClientRender",getRootElement(),drawMapInfo) end if moveback then movePosition = -2.5 alpha = alpha - 10 end alpha = alpha + 5 if alpha > 255 then alpha = 255 elseif alpha < 0 then alpha = 0 end local heighResize = dxGetFontHeight(1.15, "default-bold") local widthRezise1 = dxGetTextWidth("Map - "..name,1.15,"default-bold") local widthRezise2 = dxGetTextWidth("Lasttime played - "..lastTimePlayed,1.15,"default-bold") local widthRezise3 = dxGetTextWidth("By - "..author,1.15,"default-bold") if widthRezise1 > widthRezise2 and widthRezise1 > widthRezise3 then widthRezise = widthRezise1 elseif widthRezise2 > widthRezise1 and widthRezise2 > widthRezise3 then widthRezise = widthRezise2 elseif widthRezise3 > widthRezise1 and widthRezise3 > widthRezise2 then widthRezise = widthRezise3 end dxDrawText ( textR,screenWidth/2-150,screenHeight/2+275,684.0,647.0,tocolor(255,255,255,255),1.5,"default-bold","left","top",false,false,false) dxDrawText ( textP,screenWidth/2-150,screenHeight/2+250,636.0,675.0,tocolor(255,255,255,255),1.5,"default-bold","left","top",false,false,false) dxDrawImage(screenWidth/2-200,screenHeight/2+185,420.0,176.0, "images/info_bgr.png",0,0,0,tocolor(200,200,200,alpha)) dxDrawText ( textM,screenWidth/2-150,screenHeight/2+200,636.0,675.0,tocolor(255,255,255,255),1.5,"default-bold","left","top",false,false,false) dxDrawText ( textA,screenWidth/2-150,screenHeight/2+225.0,636.0,619.0,tocolor(255,255,255,255),1.5,"default-bold","left","top",false,false,false) dxDrawText ( textPL,screenWidth/2-150,screenHeight/2+300,684.0,647.0,tocolor(255,255,255,255),1.5,"default-bold","left","top",false,false,false) dxDrawText ( "Mode: Destruction Derby",screenWidth/2-150,screenHeight/2+325,506.0,699.0,tocolor(255,255,255,255),1.5,"default-bold","left","top",false,false,false) position = position - movePosition end Edited April 8, 2012 by Guest - Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]
drk Posted April 8, 2012 Posted April 8, 2012 local mapname = getResourceName(map) What is map? idk why, btw he need name of folder.. so ok server local lastTimePlayed local month = {"January","February","March","April","May","June","Juli","August","September","October","November","December"} function timestampToDate(stamp) local time = getRealTime(stamp) return string.format("%d %s %02d:%02d",time.monthday,month[time.month+1],time.hour,time.minute) end addEvent("onMapStarting",true) addEventHandler ( 'onMapStarting', root, function ( mapInfo ) local resource = exports.mapmanager:getRunningGamemodeMap() local mapname = getResourceInfo ( resource, "name" ) local author = getResourceInfo(exports.mapmanager:getRunningGamemodeMap(),"author") local lastTimePlayed = timestampToDate(mapInfo.lastTimePlayed) local xml = xmlLoadFile("data/ratings.xml") if ( xml ) then local index = findIndexByName ( mapname ) if ( index ) then local map = xmlFindChild ( xml, "map", index ) local rating = xmlNodeGetAttribute ( map, "rating" ) local ratedBy = xmlNodeGetAttribute ( map, "ratedBy" ) local played = xmlNodeGetAttribute ( map, "played" ) triggerClientEvent(source,"INFO",getRootElement(),author,rating,ratedBy,played,lastTimePlayed) else outputChatBox ( "Map not found in our ratings list.", getRootElement(), 255, 0, 0, true ) end else outputChatBox ( "Unable to load map ratings XML file.", getRootElement(), 255, 0, 0, true ) end end ) function findIndexByName ( mapName ) local ratingsFile = xmlLoadFile("data/ratings.xml") if ( ratingsFile ) then for index, map in ipairs ( xmlNodeGetChildren ( ratingsFile ) ) do local name = xmlNodeGetAttribute ( map, "id" ) if ( name == mapName ) then return index -1 end end xmlUnloadFile(ratingsFile) end end He can simply use mapInfo.name -> started map name EPT Team Server Development: 0% Learning C++ | C++ is amazing
TwiX! Posted April 8, 2012 Posted April 8, 2012 of course.. but he don't know lua, and make all at random or use part of admin panel for get name of folder - Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]
TwiX! Posted April 8, 2012 Posted April 8, 2012 of course.. but he don't know lua, and make all at random or use part of admin panel for get name of folder ... ON THIS CODE: server: local lastTimePlayed local month = {"January","February","March","April","May","June","Juli","August","September","October","November","December"} function timestampToDate(stamp) local time = getRealTime(stamp) return string.format("%d %s %02d:%02d",time.monthday,month[time.month+1],time.hour,time.minute) end addEvent("onMapStarting",true) addEventHandler ( 'onMapStarting', root, function ( mapInfo ) local resource = exports.mapmanager:getRunningGamemodeMap() local mapname = getResourceInfo ( resource, "name" ) local author = getResourceInfo(exports.mapmanager:getRunningGamemodeMap(),"author") local lastTimePlayed = timestampToDate(mapInfo.lastTimePlayed) local xml = xmlLoadFile("data/ratings.xml") if ( xml ) then local index = findIndexByName ( resource ) if ( index ) then local map = xmlFindChild ( xml, "map", index ) local rating = xmlNodeGetAttribute ( map, "rating" ) local ratedBy = xmlNodeGetAttribute ( map, "ratedBy" ) local played = xmlNodeGetAttribute ( map, "played" ) triggerClientEvent(source,"INFO",getRootElement(),mapname,author,rating,ratedBy,played,lastTimePlayed) else outputChatBox ( "Map not found in our ratings list.", getRootElement(), 255, 0, 0, true ) end else outputChatBox ( "Unable to load map ratings XML file.", getRootElement(), 255, 0, 0, true ) end end ) function findIndexByName ( resource ) local ratingsFile = xmlLoadFile("data/ratings.xml") if ( ratingsFile ) then for index, map in ipairs ( xmlNodeGetChildren ( ratingsFile ) ) do local name = xmlNodeGetAttribute ( map, "id" ) if ( name == resource ) then return index -1 end end xmlUnloadFile(ratingsFile) end end i want check resource name on here: function findIndexByName ( resource ) local ratingsFile = xmlLoadFile("data/ratings.xml") if ( ratingsFile ) then for index, map in ipairs ( xmlNodeGetChildren ( ratingsFile ) ) do local name = xmlNodeGetAttribute ( map, "id" ) if ( name == resource ) then return index -1 end end xmlUnloadFile(ratingsFile) end end your code checks the map name. idk why this code isnt running. its output "Map not found in our ratings list." You do not understand what you're doing Pls learn the LUA viewtopic.php?f=148&t=40809 No one will be make completely for you the script - Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]
drk Posted April 8, 2012 Posted April 8, 2012 getResourceName EPT Team Server Development: 0% Learning C++ | C++ is amazing
Jaysds1 Posted April 8, 2012 Posted April 8, 2012 try: local lastTimePlayed local month = {"January","February","March","April","May","June","Juli","August","September","October","November","December"} function timestampToDate(stamp) local time = getRealTime(stamp) return string.format("%d %s %02d:%02d",time.monthday,month[time.month+1],time.hour,time.minute) end addEvent("onMapStarting",true) addEventHandler ( 'onMapStarting', root,function ( mapInfo ) local resource = exports.mapmanager:getRunningGamemodeMap() local mapname = getResourceInfo ( resource, "name" ) local author = getResourceInfo(exports.mapmanager:getRunningGamemodeMap(),"author") local lastTimePlayed = timestampToDate(mapInfo.lastTimePlayed) local xml = xmlLoadFile("data/ratings.xml") if ( xml ) then local index = findIndexByName ( resource ) if ( index ) then local map = xmlFindChild ( xml, "map", index ) local rating = xmlNodeGetAttribute ( map, "rating" ) local ratedBy = xmlNodeGetAttribute ( map, "ratedBy" ) local played = xmlNodeGetAttribute ( map, "played" ) triggerClientEvent(source,"INFO",root,mapname,author,rating,ratedBy,played,lastTimePlayed) else outputChatBox ( "Map not found in our ratings list.", root, 255, 0, 0) end else outputChatBox ( "Unable to load map ratings XML file.", root, 255, 0, 0) end end) function findIndexByName ( resource ) local ratingsFile = xmlLoadFile("data/ratings.xml") if ( ratingsFile ) then for index, map in ipairs ( xmlNodeGetChildren ( ratingsFile ) ) do local name = xmlNodeGetAttribute ( map, "id" ) if ( name == resource ) then return index -1 end end xmlUnloadFile(ratingsFile) end end My in-game name: Jaysds1 Retired CMG Scripter World Of Tanks GameMode (Open-Source): https://github.com/Jaysds1/mtasa-wot-gamemode Online GUI-Editor (WIP): https://forum.mtasa.com/topic/47678-online-gui-editor/
drk Posted April 9, 2012 Posted April 9, 2012 try:local lastTimePlayed local month = {"January","February","March","April","May","June","Juli","August","September","October","November","December"} function timestampToDate(stamp) local time = getRealTime(stamp) return string.format("%d %s %02d:%02d",time.monthday,month[time.month+1],time.hour,time.minute) end addEvent("onMapStarting",true) addEventHandler ( 'onMapStarting', root,function ( mapInfo ) local resource = exports.mapmanager:getRunningGamemodeMap() local mapname = getResourceInfo ( resource, "name" ) local author = getResourceInfo(exports.mapmanager:getRunningGamemodeMap(),"author") local lastTimePlayed = timestampToDate(mapInfo.lastTimePlayed) local xml = xmlLoadFile("data/ratings.xml") if ( xml ) then local index = findIndexByName ( resource ) if ( index ) then local map = xmlFindChild ( xml, "map", index ) local rating = xmlNodeGetAttribute ( map, "rating" ) local ratedBy = xmlNodeGetAttribute ( map, "ratedBy" ) local played = xmlNodeGetAttribute ( map, "played" ) triggerClientEvent(source,"INFO",root,mapname,author,rating,ratedBy,played,lastTimePlayed) else outputChatBox ( "Map not found in our ratings list.", root, 255, 0, 0) end else outputChatBox ( "Unable to load map ratings XML file.", root, 255, 0, 0) end end) function findIndexByName ( resource ) local ratingsFile = xmlLoadFile("data/ratings.xml") if ( ratingsFile ) then for index, map in ipairs ( xmlNodeGetChildren ( ratingsFile ) ) do local name = xmlNodeGetAttribute ( map, "id" ) if ( name == resource ) then return index -1 end end xmlUnloadFile(ratingsFile) end end not working getResourceName can you give me a example to use on mapInfo function? addEvent("onMapStarting",true) addEventHandler ( 'onMapStarting', root, function ( mapInfo ) local resource = getResourceName ( mapInfo ) local mapname = getResourceInfo(exports.mapmanager:getRunningGamemodeMap(),"name") local author = getResourceInfo(exports.mapmanager:getRunningGamemodeMap(),"author") local lastTimePlayed = timestampToDate(mapInfo.lastTimePlayed) local xml = xmlLoadFile("data/ratings.xml") if ( xml ) then local index = findIndexByName ( mapname ) if ( index ) then local map = xmlFindChild ( xml, "map", index ) local rating = xmlNodeGetAttribute ( map, "rating" ) local ratedBy = xmlNodeGetAttribute ( map, "ratedBy" ) local played = xmlNodeGetAttribute ( map, "played" ) triggerClientEvent(source,"INFO",getRootElement(),mapname,author,rating,ratedBy,played,lastTimePlayed) else outputChatBox ( "Map not found in our ratings list. " ..mapname, getRootElement(), 255, 0, 0, true ) end else outputChatBox ( "Unable to load map ratings XML file.", getRootElement(), 255, 0, 0, true ) end end ) is that right? mapInfo isn't a function. mapInfo is a table. And your code is wrong, you're trying to get table resource name. You should use mapInfo.name to get map name. EPT Team Server Development: 0% Learning C++ | C++ is amazing
drk Posted April 9, 2012 Posted April 9, 2012 getResourceName ( exports['mapmanager']:getRunningGamemodeMap ( ) ) EPT Team Server Development: 0% Learning C++ | C++ is amazing
myyusuf Posted April 9, 2012 Author Posted April 9, 2012 getResourceName ( exports['mapmanager']:getRunningGamemodeMap ( ) ) thats what i want to know. THANK YOU!
drk Posted April 9, 2012 Posted April 9, 2012 No problem. EPT Team Server Development: 0% Learning C++ | C++ is amazing
drk Posted April 9, 2012 Posted April 9, 2012 No. onMapStarting event is server-side and must be added. You should use onClientMapStarting + get map name + execute functions. EPT Team Server Development: 0% Learning C++ | C++ is amazing
myyusuf Posted April 9, 2012 Author Posted April 9, 2012 No.onMapStarting event is server-side and must be added. You should use onClientMapStarting + get map name + execute functions. thank you again locked topic please
Castillo Posted April 9, 2012 Posted April 9, 2012 Topic locked. San Andreas Utopia RPG (SAUR) Owner & Developer. Education is the most powerful weapon which you can use to change the world.
Recommended Posts