khotan Posted May 6, 2021 Posted May 6, 2021 When in Leadwerks editor the game lua work fine but when i create a standalone it shows nothing and doesn't work, why ? How to create a game lua from specific into executable ? Quote
Ttiki Posted May 6, 2021 Posted May 6, 2021 Have you changed your startup map in the main.lua file? 1 Quote Just making games for fun. Currently working on T3-L4
khotan Posted May 6, 2021 Author Posted May 6, 2021 No, I don't know... It is my first try in Lua for learning because I used before in C++ that work fine. How to setup for startup map in main.lua file ? Quote
Ttiki Posted May 7, 2021 Posted May 7, 2021 8 hours ago, khotan said: No, I don't know... It is my first try in Lua for learning because I used before in C++ that work fine. How to setup for startup map in main.lua file ? When you launch Leadwerks, in your Script folder there is a file called Main.lua. In it you'll be able to change the name of your application's window and change the startup map. import("Scripts/Menu.lua") --Initialize Steamworks (optional) --Steamworks:Initialize() --Initialize analytics (optional). Create an account at www.gameamalytics.com to get your game keys --[[if DEBUG==false then Analytics:SetKeys("GAME_KEY_xxxxxxxxx", "SECRET_KEY_xxxxxxxxx") Analytics:Enable() end]] --Set the application title title="TEMP" --Here, you can change the name displayed on the window. --Create a window local windowstyle = 0 local winwidth local winheight local gfxmode = System:GetGraphicsMode(System:CountGraphicsModes()-1) if System:GetProperty("devmode")=="1" then gfxmode.x = math.min(1280,gfxmode.x) gfxmode.y = Math:Round(gfxmode.x * 9 / 16) windowstyle = Window.Titlebar else gfxmode.x = System:GetProperty("screenwidth",gfxmode.x) gfxmode.y = System:GetProperty("screenheight",gfxmode.y) windowstyle = Window.Fullscreen end window = Window:Create(title,0,0,gfxmode.x,gfxmode.y,windowstyle) if window == nil then gfxmode = System:GetGraphicsMode(System:CountGraphicsModes()-1) window = Window:Create(title,0,0,gfxmode.x,gfxmode.y,windowstyle) end --Create the graphics context context=Context:Create(window,0) if context==nil then return end --Create a world world=World:Create() local gamemenu = BuildMenu(context) --Load a map local mapfile = System:GetProperty("map","Maps/start.map") --Here, change Mpas/start.map by the name of your first map you want to load (or rename your first map start.map, your choice) if mapfile~="" then if Map:Load(mapfile)==false then return end prevmapname = FileSystem:StripAll(changemapname) --Send analytics event Analytics:SendProgressEvent("Start",prevmapname) gamemenu.newbutton:Hide() gamemenu.resumebutton:Show() window:HideMouse() else gamemenu:Show() end while window:Closed()==false do --Show game menu when escape key is hit if gamemenu:Hidden() then if window:KeyHit(Key.Escape) then Time:Pause() gamemenu:Show() end end --Update events while EventQueue:Peek() do local event = EventQueue:Wait() event = gamemenu:ProcessEvent(event) end --Handle map change if changemapname~=nil then --Pause the clock Time:Pause() --Pause garbage collection System:GCSuspend() --Clear all entities world:Clear() --Send analytics event Analytics:SendProgressEvent("Complete",prevmapname) --Load the next map if Map:Load("Maps/"..changemapname..".map")==false then return end prevmapname = changemapname --Send analytics event Analytics:SendProgressEvent("Start",prevmapname) --Resume garbage collection System:GCResume() --Resume the clock Time:Resume() changemapname = nil end if gamemenu:Hidden() then --Update the app timing Time:Update() --Update the world world:Update() end --Render the world world:Render() --Render statistics context:SetBlendMode(Blend.Alpha) if DEBUG then context:SetColor(1,0,0,1) context:DrawText("Debug Mode",2,2) context:SetColor(1,1,1,1) context:DrawStats(2,22) context:SetBlendMode(Blend.Solid) else --Toggle statistics on and off if (window:KeyHit(Key.F11)) then showstats = not showstats end if showstats then context:SetColor(1,1,1,1) context:DrawText("FPS: "..Math:Round(Time:UPS()),2,2) end end --Refresh the screen if VSyncMode==nil then VSyncMode=true end context:Sync(VSyncMode) end 1 Quote Just making games for fun. Currently working on T3-L4
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.