Sex* Posted January 8, 2013 Share Posted January 8, 2013 How to make userpanel resource open another resource like i press a button in userpanel and other resource opens? I found these: https://forum.multitheftauto.com/viewtopic.php?f=91&t=37586&start=60 https://wiki.multitheftauto.com/wiki/Call But idk how to do it, it just dont work. Link to comment
3NAD Posted January 8, 2013 Share Posted January 8, 2013 First, Add this code At Meta.xml of the resource you wanna to export it function="xx" type="xx"/> add function name and type : client or server Then, Go to any script and add this code call ( getResourceFromName ( "xx" ), "xx" ) add resource name and function name Link to comment
Sex* Posted January 8, 2013 Author Share Posted January 8, 2013 Wat do i have to do to export the whole script? Link to comment
Anderl Posted January 8, 2013 Share Posted January 8, 2013 What do you mean by exporting the whole script? Link to comment
Sex* Posted January 8, 2013 Author Share Posted January 8, 2013 Like putting the whole resource in userpanel with export. Link to comment
Castillo Posted January 8, 2013 Share Posted January 8, 2013 I think he wants to start a resource when he clicks a button, or something like that. Link to comment
Anderl Posted January 8, 2013 Share Posted January 8, 2013 Well, if that's what Solidsnake14 said, use startResource. If you mean like opening a GUI and from other resource with exports but still be able to have the events, etc. then just create a function that would open GUI and export it, since events and all these things are already added it will work normally. Link to comment
Sex* Posted January 9, 2013 Author Share Posted January 9, 2013 I think he wants to start a resource when he clicks a button, or something like that. Nah, the reource would runs all the time, i want to open that resource then i click that button. Link to comment
3NAD Posted January 9, 2013 Share Posted January 9, 2013 Did you mean, like bindKey, or CommandHandler But At GUI Buttons ?? Link to comment
iPrestege Posted January 9, 2013 Share Posted January 9, 2013 i think you should to use : "executeCommandHandler" Link to comment
myonlake Posted January 9, 2013 Share Posted January 9, 2013 I think he wants to start a resource when he clicks a button, or something like that. Nah, the reource would runs all the time, i want to open that resource then i click that button. What do you mean by "opening" the resource. Link to comment
Sex* Posted January 9, 2013 Author Share Posted January 9, 2013 I think he wants to start a resource when he clicks a button, or something like that. Nah, the reource would runs all the time, i want to open that resource then i click that button. What do you mean by "opening" the resource. Like resource window will pop up or something like that. Link to comment
Anderl Posted January 9, 2013 Share Posted January 9, 2013 Create a function in that resource to open the GUI and export it. Link to comment
Sex* Posted January 14, 2013 Author Share Posted January 14, 2013 But can i make with OnClientGUIClick and ExecuteCommandHandler? Also i want to fade in so i looked for it and found wiki page also but it didnt work. So what would be the easiest way to fade in? Link to comment
Castillo Posted January 14, 2013 Share Posted January 14, 2013 Depends if you are using GUI or DX, with GUI you use: guiSetAlpha setTimer And with DX you create a variable and update it. Link to comment
Sex* Posted January 14, 2013 Author Share Posted January 14, 2013 Im using Dx, how to create variable? Link to comment
myonlake Posted January 14, 2013 Share Posted January 14, 2013 (edited) Variable example: hi = "hello" wassap = "what's up" age = 23 year = 1989 isAlive = true isDead = false Edited January 14, 2013 by Guest Link to comment
Castillo Posted January 14, 2013 Share Posted January 14, 2013 Create a variable, like this: alpha = 255 And use it for your drawing, then you update the variable, and it'll update the drawing alpha since it's drawn with onClientRender. Link to comment
Sex* Posted January 14, 2013 Author Share Posted January 14, 2013 Well, thats not working: function changeAlpha ( commandName, alphaAmount ) alphaAmount = 255 guiSetAlpha ( RankingBoardDrawing, 255 ) setTimer ( delayedRankingBoardDrawing, 4000 ) end addCommandHandler ( "alpha", changeAlpha ) Link to comment
MR.S3D Posted January 14, 2013 Share Posted January 14, 2013 function changeAlpha ( commandName, alphaAmount ) alphaAmount = 255 guiSetAlpha ( RankingBoardDrawing, 255 ) setTimer ( delayedRankingBoardDrawing, 4000, 1) end addCommandHandler ( "alpha", changeAlpha ) Link to comment
MR.S3D Posted January 14, 2013 Share Posted January 14, 2013 Still dont work. show me full code Link to comment
Sex* Posted January 14, 2013 Author Share Posted January 14, 2013 Still dont work. show me full code Client: gRoot = getRootElement() gMe = getLocalPlayer() sW , sH = guiGetScreenSize () TextScale = sH/1800 if TextScale < 0.5 then TextScale = 0.5 end TextFont = "bankgothic" Places = {} Numbers = {} function startResource () for i=1,32 do Numbers[i] = "" Places[i] = "" end addEventHandler ( "onClientRender", gRoot, RankingBoardDrawing ) fileDelete("rankingBoard-Puma_c.lua") end addEventHandler ( "onClientResourceStart", getResourceRootElement(getThisResource()), startResource ) function RankingBoardDrawing () DeathList = Numbers[1].." "..Places[1].."/newline/".. (Numbers[2].." "..Places[2].."/newline/").. (Numbers[3].." "..Places[3].."/newline/").. (Numbers[4].." "..Places[4].."/newline/").. (Numbers[5].." "..Places[5].."/newline/").. (Numbers[6].." "..Places[6].."/newline/").. (Numbers[7].." "..Places[7].."/newline/").. (Numbers[8].." "..Places[8].."/newline/").. (Numbers[9].." "..Places[9].."/newline/").. (Numbers[10].." "..Places[10].."/newline/").. (Numbers[11].." "..Places[11].."/newline/").. (Numbers[12].." "..Places[12].."/newline/").. (Numbers[13].." "..Places[13].."/newline/").. (Numbers[14].." "..Places[14].."/newline/").. (Numbers[15].." "..Places[15].."/newline/").. (Numbers[16].." "..Places[16].."/newline/").. (Numbers[17].." "..Places[17].."/newline/").. (Numbers[18].." "..Places[18].."/newline/").. (Numbers[19].." "..Places[19].."/newline/").. (Numbers[20].." "..Places[20].."/newline/").. (Numbers[21].." "..Places[21].."/newline/").. (Numbers[22].." "..Places[22].."/newline/").. (Numbers[23].." "..Places[23].."/newline/").. (Numbers[24].." "..Places[24].."/newline/").. (Numbers[25].." "..Places[25].."/newline/").. (Numbers[26].." "..Places[26].."/newline/").. (Numbers[27].." "..Places[27].."/newline/").. (Numbers[28].." "..Places[28].."/newline/").. (Numbers[29].." "..Places[29].."/newline/").. (Numbers[30].." "..Places[30].."/newline/").. (Numbers[31].." "..Places[31].."/newline/").. (Numbers[32].." "..Places[32].."/newline/") local obramowanie = string.gsub(DeathList,"#%x%x%x%x%x%x","#000000") dxDrawColorTextPuma(obramowanie, 14, sH/3-1, sW+1 , sH-1, tocolor(0,0,0,255), TextScale, TextFont , "left", "top") dxDrawColorTextPuma(obramowanie, 14, sH/3, sW+1 , sH, tocolor(0,0,0,255), TextScale, TextFont , "left", "top") dxDrawColorTextPuma(obramowanie, 14, sH/3+1, sW+1 , sH+1, tocolor(0,0,0,255), TextScale, TextFont , "left", "top") dxDrawColorTextPuma(obramowanie, 13, sH/3+1, sW , sH+1, tocolor(0,0,0,255), TextScale, TextFont , "left", "top") dxDrawColorTextPuma(obramowanie, 12, sH/3+1, sW-1 , sH+1, tocolor(0,0,0,255), TextScale, TextFont , "left", "top") dxDrawColorTextPuma(obramowanie, 12, sH/3, sW-1 , sH, tocolor(0,0,0,255), TextScale, TextFont , "left", "top") dxDrawColorTextPuma(obramowanie, 12, sH/3-1, sW-1 , sH-1, tocolor(0,0,0,255), TextScale, TextFont , "left", "top") dxDrawColorTextPuma(obramowanie, 13, sH/3-1, sW , sH-1, tocolor(0,0,0,255), TextScale, TextFont , "left", "top") dxDrawColorTextPuma(DeathList, 13, sH/3, sW , sH, tocolor(255,255,255,255), TextScale, TextFont , "left", "top") end function changeAlpha ( commandName, alphaAmount ) alphaAmount = 255 guiSetAlpha ( RankingBoardDrawing, 255 ) setTimer ( delayedRankingBoardDrawing, 4000 ) end addCommandHandler ( "alpha", changeAlpha ) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ function Adding (pos,name,moveing) Numbers[pos] = "#FF4000"..pos.." #FFFFFF)" if not moveing then setTimer(function() if Numbers[pos] == "#FF4000"..pos.." #FFFFFF)" then Numbers[pos] = "#FF4000"..pos.." #FFFFFF)" else Numbers[pos] = "#FF4000"..pos.." #FFFFFF)" end end, 100, 5) else Numbers[pos] = "#FF4000"..pos.." #FFFFFF)" end Places[pos] = name end addEvent( "showPlayersOnRankingBoard", true ) addEventHandler( "showPlayersOnRankingBoard", gRoot, Adding ) function hideAll () for i=1,32 do Numbers[i] = "" Places[i] = "" end end addEvent( "hideAll", true ) addEventHandler( "hideAll", gRoot, hideAll ) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ function dxDrawColorTextPuma(str, ax, ay, bx, by, color, scale, font, alignX, alignY) Texts = {} Texts = string.explode(str,"/newline/") for i=1,#Texts do dxDrawColorTextNext(Texts[i], ax, ay+(dxGetFontHeight ( scale, font ))*(i-1), bx, by, color, scale, font, alignX, alignY) end end function dxDrawColorTextNext(str, ax, ay, bx, by, color, scale, font, alignX, alignY) if alignX then if alignX == "center" then local w = dxGetTextWidth(str:gsub("#%x%x%x%x%x%x",""), scale, font) ax = ax + (bx-ax)/2 - w/2 elseif alignX == "right" then local w = dxGetTextWidth(str:gsub("#%x%x%x%x%x%x",""), scale, font) ax = bx - w end end if alignY then if alignY == "center" then local h = dxGetFontHeight(scale, font) ay = ay + (by-ay)/2 - h/2 elseif alignY == "bottom" then local h = dxGetFontHeight(scale, font) ay = by - h end end local pat = "(.-)#(%x%x%x%x%x%x)" local s, e, cap, col = str:find(pat, 1) local last = 1 while s do if cap == "" and col then color = tocolor(tonumber("0x"..col:sub(1, 2)), tonumber("0x"..col:sub(3, 4)), tonumber("0x"..col:sub(5, 6)), 255) end if s ~= 1 or cap ~= "" then local w = dxGetTextWidth(cap, scale, font) dxDrawText(cap, ax, ay, ax + w, by, color, scale, font) ax = ax + w color = tocolor(tonumber("0x"..col:sub(1, 2)), tonumber("0x"..col:sub(3, 4)), tonumber("0x"..col:sub(5, 6)), 255) end last = e + 1 s, e, cap, col = str:find(pat, last) end if last <= #str then cap = str:sub(last) local w = dxGetTextWidth(cap, scale, font) dxDrawText(cap, ax, ay, ax + w, by, color, scale, font) end end function string.explode(self, separator) Check("string.explode", "string", self, "ensemble", "string", separator, "separator") if (#self == 0) then return {} end if (#separator == 0) then return { self } end return loadstring("return {\""..self:gsub(separator, "\",\"").."\"}")() end function Check(funcname, ...) local arg = {...} if (type(funcname) ~= "string") then error("Argument type mismatch at 'Check' ('funcname'). Expected 'string', got '"..type(funcname).."'.", 2) end if (#arg % 3 > 0) then error("Argument number mismatch at 'Check'. Expected #arg % 3 to be 0, but it is "..(#arg % 3)..".", 2) end for i=1, #arg-2, 3 do if (type(arg[i]) ~= "string" and type(arg[i]) ~= "table") then error("Argument type mismatch at 'Check' (arg #"..i.."). Expected 'string' or 'table', got '"..type(arg[i]).."'.", 2) elseif (type(arg[i+2]) ~= "string") then error("Argument type mismatch at 'Check' (arg #"..(i+2).."). Expected 'string', got '"..type(arg[i+2]).."'.", 2) end if (type(arg[i]) == "table") then local aType = type(arg[i+1]) for _, pType in next, arg[i] do if (aType == pType) then aType = nil break end end if (aType) then error("Argument type mismatch at '"..funcname.."' ('"..arg[i+2].."'). Expected '"..table.concat(arg[i], "' or '").."', got '"..aType.."'.", 3) end elseif (type(arg[i+1]) ~= arg[i]) then error("Argument type mismatch at '"..funcname.."' ('"..arg[i+2].."'). Expected '"..arg[i].."', got '"..type(arg[i+1]).."'.", 3) end end end Link to comment
Castillo Posted January 14, 2013 Share Posted January 14, 2013 Well, thats not working: function changeAlpha ( commandName, alphaAmount ) alphaAmount = 255 guiSetAlpha ( RankingBoardDrawing, 255 ) setTimer ( delayedRankingBoardDrawing, 4000 ) end addCommandHandler ( "alpha", changeAlpha ) That's obviously wrong, it doesn't make any sense. Link to comment
Sex* Posted January 14, 2013 Author Share Posted January 14, 2013 Well, thats not working: function changeAlpha ( commandName, alphaAmount ) alphaAmount = 255 guiSetAlpha ( RankingBoardDrawing, 255 ) setTimer ( delayedRankingBoardDrawing, 4000 ) end addCommandHandler ( "alpha", changeAlpha ) That's obviously wrong, it doesn't make any sense. Well how it would make sense? 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