Jump to content

Recommended Posts

Posted

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 ?

Posted

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 ?

Posted
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

 

  • Like 1

Just making games for fun. Currently working on T3-L4

 

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...