Feature map

Feature map

Discuss maps & map creation - from concept to execution to the ever elusive release.

Moderator: Moderators

User avatar
daryl
Posts: 200
Joined: 08 Oct 2006, 10:33

Feature map

Post by daryl »

hola..
i need help:

- I'm working on a map and i'm adding some animated feature... so.. these features appear in map as icons... how can I hide these icons from map???

Image


- these feature are loading only when game start. There is a way to load features before game start?
User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: Feature map

Post by knorke »

1) The "animated feature" are units, I assume.
http://springrts.com/wiki/Gamedev:UnitDefs#General
set iconType to something transparent
or:
http://springrts.com/wiki/Lua_UnsyncedC ... CNoMinimap
Spring.SetUnitNoMinimap

2) Seems you currently spawn stuff in callin GameStart(), instead try Initialize()
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Feature map

Post by smoth »

Nope. Don't do it in either game start or initialize.

I am not sure how you are placing units.

Code: Select all

function gadget:GetInfo()
	return {
		name      = "feature placer",
		desc      = "Spawns Features and Units",
		author    = "Gnome, Smoth",
		date      = "August 2008",
		license   = "PD",
		layer     = 0,
		enabled   = true  --  loaded by default?
	}
end

if (not gadgetHandler:IsSyncedCode()) then
  return false
end

local	SetUnitNeutral			= Spring.SetUnitNeutral
local	SetUnitBlocking			= Spring.SetUnitBlocking
local   SetUnitRotation 		= Spring.SetUnitRotation
local	SetUnitAlwaysVisible	= Spring.SetUnitAlwaysVisible
local	CreateUnit				= Spring.CreateUnit
local	CreateFeature			= Spring.CreateFeature

local	featurecfg 
local	featureslist	= {}
local	buildinglist	= {}
local	unitlist		= {}	


if VFS.FileExists("config/gamename_config.lua") then
	featurecfg = VFS.Include("config/gamename_config.lua")

	featureslist	= featurecfg.objectlist
	buildinglist	= featurecfg.buildinglist
	unitlist		= featurecfg.unitlist
else
	Spring.Echo("No gamename specific features loaded")
end
		

if ( featurecfg ~= nil ) then
	gaiaID = Spring.GetGaiaTeamID()
		
	if ( featureslist )	then
		for i,fDef in pairs(featureslist) do
			local flagID = CreateFeature(fDef.name, fDef.x, Spring.GetGroundHeight(fDef.x,fDef.z)+5, fDef.z, fDef.rot)
		end
	end
				
	if ( buildinglist )	then	
		for i,uDef in pairs(unitlist) do
			local flagID = CreateUnit(uDef.name, uDef.x, 0, uDef.z, 0, gaiaID)
			SetUnitRotation(flagID, 0, -uDef.rot * math.pi / 32768, 0)
			SetUnitNeutral(flagID,true)
			Spring.SetUnitLosState(flagID,0,{los=true, prevLos=true, contRadar=true, radar=true})
			SetUnitAlwaysVisible(flagID,true)
			SetUnitBlocking(flagID,true)
		end
	end
				
	if ( buildinglist )	then
		for i,bDef in pairs(buildinglist) do
			local flagID = CreateUnit(bDef.name, bDef.x, 0, bDef.z, bDef.rot, gaiaID)
			SetUnitNeutral(flagID,true)
			Spring.SetUnitLosState(flagID,0,{los=true, prevLos=true, contRadar=true, radar=true})
			SetUnitAlwaysVisible(flagID,true)
			SetUnitBlocking(flagID,true)
		end
	end	

end	
that is how you can place a unit or feature before gamestart.
User avatar
daryl
Posts: 200
Joined: 08 Oct 2006, 10:33

Re: Feature map

Post by daryl »

knorke wrote:1) The "animated feature" are units, I assume.
http://springrts.com/wiki/Gamedev:UnitDefs#General
set iconType to something transparent
or:
http://springrts.com/wiki/Lua_UnsyncedC ... CNoMinimap
Spring.SetUnitNoMinimap

2) Seems you currently spawn stuff in callin GameStart(), instead try Initialize()

thx knorke I solved first point!
User avatar
daryl
Posts: 200
Joined: 08 Oct 2006, 10:33

Re: Feature map

Post by daryl »

smoth wrote:Nope. Don't do it in either game start or initialize.

I am not sure how you are placing units.

Code: Select all

function gadget:GetInfo()
	return {
		name      = "feature placer",
		desc      = "Spawns Features and Units",
		author    = "Gnome, Smoth",
		date      = "August 2008",
		license   = "PD",
		layer     = 0,
		enabled   = true  --  loaded by default?
	}
end

if (not gadgetHandler:IsSyncedCode()) then
  return false
end

local	SetUnitNeutral			= Spring.SetUnitNeutral
local	SetUnitBlocking			= Spring.SetUnitBlocking
local   SetUnitRotation 		= Spring.SetUnitRotation
local	SetUnitAlwaysVisible	= Spring.SetUnitAlwaysVisible
local	CreateUnit				= Spring.CreateUnit
local	CreateFeature			= Spring.CreateFeature

local	featurecfg 
local	featureslist	= {}
local	buildinglist	= {}
local	unitlist		= {}	


if VFS.FileExists("config/gamename_config.lua") then
	featurecfg = VFS.Include("config/gamename_config.lua")

	featureslist	= featurecfg.objectlist
	buildinglist	= featurecfg.buildinglist
	unitlist		= featurecfg.unitlist
else
	Spring.Echo("No gamename specific features loaded")
end
		

if ( featurecfg ~= nil ) then
	gaiaID = Spring.GetGaiaTeamID()
		
	if ( featureslist )	then
		for i,fDef in pairs(featureslist) do
			local flagID = CreateFeature(fDef.name, fDef.x, Spring.GetGroundHeight(fDef.x,fDef.z)+5, fDef.z, fDef.rot)
		end
	end
				
	if ( buildinglist )	then	
		for i,uDef in pairs(unitlist) do
			local flagID = CreateUnit(uDef.name, uDef.x, 0, uDef.z, 0, gaiaID)
			SetUnitRotation(flagID, 0, -uDef.rot * math.pi / 32768, 0)
			SetUnitNeutral(flagID,true)
			Spring.SetUnitLosState(flagID,0,{los=true, prevLos=true, contRadar=true, radar=true})
			SetUnitAlwaysVisible(flagID,true)
			SetUnitBlocking(flagID,true)
		end
	end
				
	if ( buildinglist )	then
		for i,bDef in pairs(buildinglist) do
			local flagID = CreateUnit(bDef.name, bDef.x, 0, bDef.z, bDef.rot, gaiaID)
			SetUnitNeutral(flagID,true)
			Spring.SetUnitLosState(flagID,0,{los=true, prevLos=true, contRadar=true, radar=true})
			SetUnitAlwaysVisible(flagID,true)
			SetUnitBlocking(flagID,true)
		end
	end	

end	
that is how you can place a unit or feature before gamestart.

thx smoth, so it is a little difficult for me..
at the moment I used this code:

Code: Select all

function gadget:GetInfo()
	return {
		name = "unita_iniziali",
		desc = "Aggiunge unità all'inizio del gioco.",
		author = "daryl - www.totalannihilation.it", -- thx to http://springrts.com community, knorke, smoth, Beherith, jK .
		date = "September 19st, 2010",
		license = "GPL, v.2, 2008",
		layer = 1,
		enabled = true,
	}
end


local u
local CreateUnit = Spring.CreateUnit
local GetGaiaTeamID = Spring.GetGaiaTeamID
local GiveOrderToUnit = Spring.GiveOrderToUnit
local AddBuildOrders = Spring.AddBuildOrders
local CreateFeature = Spring.CreateFeature

function Initialize() 

u = CreateUnit("palmforest006",7321,0,8349,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest007",7321,0,8461,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest008",7321,0,8562,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest009",7321,0,8665,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)




u = CreateUnit("palmforest007",7446,0,8349,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest009",7446,0,8461,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest006",7446,0,8562,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest009",7446,0,8665,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest009",7548,0,8349,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)



u = CreateUnit("palmforest009",9097,0,7861,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest008",9097,0,7963,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest007",9097,0,8065,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("armspazioporto",9550,0,7350,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_antenna",8238,0,10361,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_gate",7080,0,10071,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_gate_wall",7300,0,10071,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)





u = CreateUnit("palmforest006",9694,0,8116,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest007",9638,0,8160,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest008",9589,0,8185,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest009",9423,0,8370,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest010",9344,0,8327,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest011",9832,0,7765,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest009",8760,0,7671,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest007",8860,0,7539,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)




u = CreateUnit("pala001",8799,0,8310,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala002",8799,0,8110,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala003",8799,0,8010,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala004",8799,0,7910,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala005",8799,0,7810,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)





u = CreateUnit("pala004",8899,0,7710,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala002",8899,0,8310,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala005",8899,0,8110,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala001",8899,0,8010,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala003",8899,0,7910,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala005",8899,0,7810,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)









u = CreateUnit("pala005",8999,0,7710,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)



u = CreateUnit("pala003",8999,0,8110,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala004",8999,0,8010,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala002",8999,0,7910,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala001",8999,0,7810,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_semaforo_60",7675,0,8327,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_semaforo_60",7720,0,8364,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_semaforo_sx",7324,0,8324,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)


u = CreateUnit("eridlon_semaforo",7346,0,8340,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_semaforo",7421,0,8340,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_semaforo_dx",7438,0,8250,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)


u = CreateUnit("pala001",9199,0,7710,180,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala005",9199,0,7610,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala007",9199,0,8110,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala004",9199,0,8010,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala002",9199,0,7910,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala002",9199,0,7810,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)







u = CreateUnit("pala001",9299,0,7710,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala005",9299,0,7610,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala003",9299,0,8110,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala001",9299,0,8010,270,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala002",9299,0,7910,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala004",9299,0,7810,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)












u = CreateUnit("pala001_d",5585,0,7910,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala004_d",5685,0,7910,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala002_d",5785,0,7910,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala005_d",5785,0,8010,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala001_d",5785,0,8310,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala002_d",5785,0,8410,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala004_d",5685,0,8410,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala005_d",5585,0,8410,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala003_d",5585,0,8510,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala003_d",5685,0,8510,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala003_d",5785,0,8510,180,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)


u = CreateUnit("pala003",5885,0,8510,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala004",5985,0,8510,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)


u = CreateUnit("pala002",5885,0,8410,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("pala001",5985,0,8410,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)








u = CreateUnit("palmforest006",7798,0,8152,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest007",7683,0,8178,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest008",7784,0,8202,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest009",7397,0,10379,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest010",7382,0,10450,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)




u = CreateUnit("rock010",7348,0,9708,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("rock011",7364,0,9753,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest011",7369,0,9564,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)



u = CreateUnit("rock010",7583,0,8814,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("rock011",7597,0,8767,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("rock012",7526,0,8835,90,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)












u = CreateUnit("palmforest011",6803,0,8150,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("palmforest009",6941,0,8290,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)



u = CreateUnit("palmforest010",6867,0,8105,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)


u = CreateUnit("eridlon_antenna",5966,0,7938,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)







u = CreateUnit("eridlon_fence",7070,0,11615,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_fence",7070,0,11215,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_fence",7070,0,11015,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)


u = CreateUnit("eridlon_fence",7070,0,10815,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_fence",7070,0,10615,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_fence",7070,0,10415,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)









u = CreateUnit("eridlon_fence_dx",7255,0,11615,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_fence_dx",7255,0,11415,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_fence_dx",7255,0,11215,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)




u = CreateUnit("eridlon_fence_dx",7255,0,10815,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_fence_dx",7255,0,10615,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("eridlon_fence_dx",7255,0,10415,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)


u = CreateUnit("car001",9019,0,8166,45,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)









u = CreateUnit("bridge_destroy",4468,0,6005,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

u = CreateUnit("bridge_destroy2",4468,0,4636,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)

end







can you help me with a salmple please???
thx!
User avatar
Beherith
Posts: 5145
Joined: 26 Oct 2007, 16:21

Re: Feature map

Post by Beherith »

Use parts of this widget, so that the units not only dont show dots on the minimap, they will also stay visible when zoomed far out:

Code: Select all

--------------------------------------------------------------------------------

function widget:GetInfo()
  return {
    name      = "Wall CustomIcons",
    desc      = "Sets custom unit blank icons for walls",
    author    = "trepan,BD,TheFatController,beherith",
    date      = "Jan 8, 2007",
    license   = "GNU GPL, v2 or later",
    layer     = 0,
    enabled   = true  --  loaded by default?
  }
end

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------


local wasLuaModUIEnabled = 0

--------------------------------------------------------------------------------


function widget:Shutdown()
	-- revert our changes
	for udid,ud in pairs(UnitDefs) do
		if ((ud ~= nil) and (ud.origIconType ~= nil)) then
			Spring.SetUnitDefIcon(udid, ud.origIconType)
		end
	end
end


--------------------------------------------------------------------------------

function widget:Initialize()
	Spring.AddUnitIcon('wall_blank', 'icons/wall_blank.tga', 1, 100)
	-- Setup the unitdef icons
	for udid,ud in pairs(UnitDefs) do

		if (ud ~= nil) then
			if (ud.origIconType == nil) then
				ud.origIconType = ud.iconType
			end
			if (ud.tooltip=="Wall") then
				Spring.SetUnitDefIcon(udid, "wall_blank")
			end
		end
	end
end
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Feature map

Post by smoth »

No problem, This is code from my feature placer tool. I didn't think anyone was going to do features/units on maps so I stopped working on it.. POO.

Your code is not great but it isn't a big deal. this should fix you right up:

http://pastebin.com/1BqeF1Eu

I am shooting in the dark as I don't have your map to test it against but this should work. if it doesn't give me the errors and I will fix for you.

*Edit*
Whoops saw a few things. link is to the updated lua.
User avatar
PicassoCT
Journeywar Developer & Mapper
Posts: 10453
Joined: 24 Jan 2006, 21:12

Re: Feature map

Post by PicassoCT »

I know you epect advice, but i wanted to add a looks promising..

so i did.
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Feature map

Post by smoth »

Image
(click image to go to thread)

These are available for you if you can utilize them daryl.
User avatar
daryl
Posts: 200
Joined: 08 Oct 2006, 10:33

Re: Feature map

Post by daryl »

smoth wrote:Image
(click image to go to thread)

These are available for you if you can utilize them daryl.
oh yes...i would like look them... :)
I Promise to publish my objects and the map when i will finish them :)
if you are interested naturally..

so I got other problem..
your script doesn't start :(
probably I need some part of your feature placer??
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Feature map

Post by smoth »

Nope it is stand alone code. Can you paste your infolog so I can see the error.
User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: Feature map

Post by knorke »

http://pastebin.com/1BqeF1Eu is missing a letter, f:
unction gadget:GetInfo()
Putting code "outside any function" is bad practice.
For example you lose the ability to turn off your script via the enabled=false switch, because all outside-function-code is always run, no matter that switch, which can lead to annoyance.
If you want something to be executed as soon as the gadget is loaded ("=before game starts") then put it in Initialize()

The code http://springrts.com/phpbb/viewtopic.ph ... 47#p559601 has some problems that make it bad for learning, like being useless without details about the "config/gamename_config.lua" file that it reads or this etc:
if ( buildinglist ) then
for i,uDef in pairs(unitlist) do
at the moment I used this code:
What you have there works. (assuming there are no spelling mistakes or anything)


Each "CreateUnit" call is followed by the same three lines, every time, which is not nice:

Code: Select all

u = CreateUnit("palmforest006",7321,0,8349,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)
1) Read some tutorial on functions to see a nicer way (or on tables & loops, but that is more complicated)
2) check the return-value of CreateUnit to see if the unit was really created:
If no unit was created (for example you misspelled unit name) then the following functions, trying to do stuff with it, will fail.
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Feature map

Post by smoth »

knorke wrote:http://pastebin.com/1BqeF1Eu is missing a letter, f:
unction gadget:GetInfo()
Thanks.
knorke wrote:Putting code "outside any function" is bad practice.
There is not function for that. You have to put it outside of a function if you want it to run before gamestart. Unless there is a prestart() but I have not seen it and being that you HAVE NOT suggested a better alternative.
knorke wrote:The code http://springrts.com/phpbb/viewtopic.ph ... 47#p559601 has some problems that make it bad for learning, like being useless without details about the "config/gamename_config.lua" file that it reads or this etc:
You are right, I should have given more explanation showing that you can do it OUTSIDE OF A FUNCTION.
knorke wrote:

Code: Select all

if ( [color=#FF0000]buildinglist[/color] )   then   
      for i,uDef in pairs([color=#FF0000]unitlist[/color]) do
been there for years in feature placer, want to raise issue with it being less than perfect NOW?
knorke wrote:
at the moment I used this code:

What you have there works. (assuming there are no spelling mistakes or anything)
- these feature are loading only when game start. There is a way to load features before game start?
nope, not for his desired functionality.
knorke wrote:Each "CreateUnit" call is followed by the same three lines, every time, which is not nice:

Code: Select all

u = CreateUnit("palmforest006",7321,0,8349,0,GetGaiaTeamID())
Spring.SetUnitNeutral (u, true)
Spring.SetUnitAlwaysVisible(u, true)
Spring.SetUnitNoMinimap(u, true)
It is better than what he had and a quick cleanup.
knorke wrote:1) Read some tutorial on functions to see a nicer way (or on tables & loops, but that is more complicated)
2) check the return-value of CreateUnit to see if the unit was really created:
If no unit was created (for example you misspelled unit name) then the following functions, trying to do stuff with it, will fail.
[/quote]
Who is this directed to?
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Feature map

Post by smoth »

updated version as per most of knorke's suggestions: here

If you see any other issues Knorke, I leave privilege the to updating the code and putting it on pastebin to you this back and forth is a waste of time when you could just update the code.
User avatar
KingRaptor
Zero-K Developer
Posts: 838
Joined: 14 Mar 2007, 03:44

Re: Feature map

Post by KingRaptor »

smoth wrote:There is not function for that. You have to put it outside of a function if you want it to run before gamestart. Unless there is a prestart()
gadget:GamePreload()
User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: Feature map

Post by knorke »

I did not notice relevant difference between gadget:GamePreload() and gadget:Initialize() (?), both are called before the game has started.
When looking at the replay it is visible that units (spawned via Spring.CreateUnit inside either of these functions) are indeed already there before the game has started.
The trickquestion is why those units are not visible before the game has started?
Appearently the player has no line-of-sight on them before the game has started.
In contrast, allied units are always visible even before the game has started.
Perhaps surprisingly Spring.SetUnitAlwaysVisible does not seem to have any effect before the game has started.
One trick is to trick the LOS-system to update (or whatever-reason-why-this-works) before the game has started:

Code: Select all

unitID = SpringCreateUnit (...)
for _,allyTeam in ipairs(Spring.GetAllyTeamList()) do
  Spring.SetUnitLosMask(unitID, allyTeam, {prevLos=true,})
end
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Feature map

Post by smoth »

The trickquestion is why those units are not visible before the game has started?
Appearently the player has no line-of-sight on them before the game has started.
As best I can tell this is correct knorke. I was talking to KR about it earlier. He said he believes LOS isn't updated until game start.

This was NOT the case in earlier versions of spring(I keep a copy of gundam 1.26).

knorke wrote:One trick is to trick the LOS-system to update (or whatever-reason-why-this-works) before the game has started:

Code: Select all

unitID = SpringCreateUnit (...)
for _,allyTeam in ipairs(Spring.GetAllyTeamList()) do
  Spring.SetUnitLosMask(unitID, allyTeam, {prevLos=true,})
end
it doesn't seem to work for me, have you tested this yourself?
User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: Feature map

Post by knorke »

have you tested this yourself?
yes, in spring v96.0, it worked.
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Feature map

Post by smoth »

odd..
any idea on what I did wrong?
the file
User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: Feature map

Post by knorke »

the units are under the ground.
Post Reply

Return to “Map Creation”