forked from cacklingfiend/lignumis
		
	Fix errors with initialization
This commit is contained in:
		
							parent
							
								
									c660647341
								
							
						
					
					
						commit
						87b36d88d1
					
				
					 1 changed files with 45 additions and 35 deletions
				
			
		|  | @ -22,7 +22,10 @@ end | ||||||
| 
 | 
 | ||||||
| script.on_init(function() | script.on_init(function() | ||||||
|     if game.tick > 0 then |     if game.tick > 0 then | ||||||
|         storage.init = true |         storage.init = {} | ||||||
|  |         for _, player in pairs(game.players) do | ||||||
|  |             storage.init[player.index] = true | ||||||
|  |         end | ||||||
|         game.print { "", { "lignumis.start-new-game" } } |         game.print { "", { "lignumis.start-new-game" } } | ||||||
|         return |         return | ||||||
|     end |     end | ||||||
|  | @ -59,13 +62,24 @@ script.on_event(e.on_player_created, function(event) | ||||||
|         nauvis.clear() |         nauvis.clear() | ||||||
|     end |     end | ||||||
| 
 | 
 | ||||||
|  |     if storage.init and type(storage.init) == "boolean" then | ||||||
|  |         storage.init = { | ||||||
|  |             [event.player_index] = true | ||||||
|  |         } | ||||||
|  |     else | ||||||
|  |         storage.init = {} | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|     local player = game.get_player(event.player_index) --[[@as LuaPlayer]] |     local player = game.get_player(event.player_index) --[[@as LuaPlayer]] | ||||||
|     local surface = storage.surface |     local surface = storage.surface or game.planets["lignumis"].surface | ||||||
|  | 
 | ||||||
|  |     if not storage.init[event.player_index] then | ||||||
|  |         storage.init[event.player_index] = true | ||||||
|  |         chart_starting_area() | ||||||
| 
 | 
 | ||||||
|         if player then |         if player then | ||||||
|         player.teleport(surface.find_non_colliding_position("character", { 0, 0 }, 0, 1), "lignumis") |  | ||||||
| 
 |  | ||||||
|             if player.character then |             if player.character then | ||||||
|  |                 player.teleport(surface.find_non_colliding_position("character", { 0, 0 }, 0, 1), "lignumis") | ||||||
|                 player.character.destructible = false |                 player.character.destructible = false | ||||||
|                 local main_inventory = player.character.get_main_inventory() |                 local main_inventory = player.character.get_main_inventory() | ||||||
|                 main_inventory.insert({ name = "burner-mining-drill", count = 1 }) |                 main_inventory.insert({ name = "burner-mining-drill", count = 1 }) | ||||||
|  | @ -92,10 +106,6 @@ script.on_event(e.on_player_created, function(event) | ||||||
|                 crash_site.create_cutscene(player, { -5, -4 }) |                 crash_site.create_cutscene(player, { -5, -4 }) | ||||||
|             end |             end | ||||||
|         end |         end | ||||||
| 
 |  | ||||||
|     if not storage.init then |  | ||||||
|         storage.init = true |  | ||||||
|         chart_starting_area() |  | ||||||
|     end |     end | ||||||
| end) | end) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Simon Brodtmann
						Simon Brodtmann