[DONE]Need help, dont find the Problem

Place to get help with not working mods / modding interface.
User avatar
LuziferSenpai
Filter Inserter
Filter Inserter
Posts: 393
Joined: Tue Jul 08, 2014 10:06 am
Contact:

[DONE]Need help, dont find the Problem

Post by LuziferSenpai »

Hey,

in this Script is a fail and I dont find it!
Please help me!

Code: Select all

script.on_event( defines.events.on_player_created, function( event )
	create_gui( game.players[event.player_index] )
end )

Code: Select all

local function create_gui( player )
	local top = player.gui.top
	if top["supply-toggle-button"] then
		if player.force.technologies["rocket-silo"].researched ~= true then
			top["supply-toggle-button"].destroy()
		end
		return
	end

	if player.force.technologies["rocket-silo"].researched then
		top.add{ type = "button", name = "supply-toggle-button", caption = { "supply-toggle-button-caption" } }
	end
end
The Error i get:

Code: Select all

Error while running event on_player_created (ID 24)
__Xter_Server_MOD__/control.lua:45: attempt to call global 'create_gui' (a nil value)
Greetz,

Luzifer
Last edited by LuziferSenpai on Sat Nov 12, 2016 1:26 pm, edited 1 time in total.
Coding is awesome!
Animes are love!
Factorio is life!

My MODs:
Click

Greetz,

Senpai
User avatar
steinio
Smart Inserter
Smart Inserter
Posts: 2638
Joined: Sat Mar 12, 2016 4:19 pm
Contact:

Re: Need help, dont find the Problem

Post by steinio »

As the error message states it tries to call a global function which you have declared as local.

Remove the local before the declaration of your function.

Greetings steinio
Image

Transport Belt Repair Man

View unread Posts
orzelek
Smart Inserter
Smart Inserter
Posts: 3928
Joined: Fri Apr 03, 2015 10:20 am
Contact:

Re: Need help, dont find the Problem

Post by orzelek »

Make sure that create_gui definition is above the call of it in the file.
If event definition code is before it then function is not known to interpreter yet and gives an error.
User avatar
LuziferSenpai
Filter Inserter
Filter Inserter
Posts: 393
Joined: Tue Jul 08, 2014 10:06 am
Contact:

Re: Need help, dont find the Problem

Post by LuziferSenpai »

steinio wrote:As the error message states it tries to call a global function which you have declared as local.

Remove the local before the declaration of your function.

Greetings steinio
But in this Code its working:

Code: Select all

script.on_event(defines.events.on_player_created, function(event)
	create_change_player_color_button_for_player(game.players[event.player_index])
end)

Code: Select all

local function create_change_player_color_button_for_player(player)
	local top = player.gui.top
	if not top[player_color_defines.names.gui.change_color_button] then
		top.add{type = "button", name = player_color_defines.names.gui.change_color_button, style = player_color_defines.names.gui_style.change_color_button, tooltip = {"gui.change-player-color"}}
	end
end
Coding is awesome!
Animes are love!
Factorio is life!

My MODs:
Click

Greetz,

Senpai
User avatar
LuziferSenpai
Filter Inserter
Filter Inserter
Posts: 393
Joined: Tue Jul 08, 2014 10:06 am
Contact:

Re: Need help, dont find the Problem

Post by LuziferSenpai »

orzelek wrote:Make sure that create_gui definition is above the call of it in the file.
If event definition code is before it then function is not known to interpreter yet and gives an error.
Okay thanks
Coding is awesome!
Animes are love!
Factorio is life!

My MODs:
Click

Greetz,

Senpai
Post Reply

Return to “Modding help”