• Server addon beginner question
    2 replies, posted
I've finished my first addon recently. It is located in some gamemode (darkrp) lua files and works. Now I want to extract it from there and put it in an own addon folder. But before I can do that I have to go through some basics: This is the structure of my addon folder: addons/<addonname>/lua/autorun/init.lua addons/<addonname>/lua/cl_init.lua addons/<addonname>/lua/shared.lua Contents: /*--------------------------------------------------------------------------- shared.lua: ---------------------------------------------------------------------------*/ function sharedWorks ( ply, command, arguments ) MsgN( "shared.lua seems to work." ) end concommand.Add( "Test_shared", sharedWorks ) /*--------------------------------------------------------------------------- init.lua: ---------------------------------------------------------------------------*/ AddCSLuaFile( "cl_init.lua" ) AddCSLuaFile( "shared.lua" ) include( 'shared.lua' ) function initWorks( ply, command, arguments ) MsgN( "init.lua seems to work." ) end concommand.Add( "Test_init", initWorks ) /*--------------------------------------------------------------------------- cl_init.lua: ---------------------------------------------------------------------------*/ include( 'shared.lua' ) function cl_initWorks( ply, command, arguments ) MsgN( "cl_init.lua seems to work." ) end concommand.Add( "Test_cl_init", cl_initWorks ) /*--------------------------------------------------------------------------- ---------------------------------------------------------------------------*/ This was tested on a dedicated server. Console commands from shared.lua and init.lua work , but cl_init doesn't show up anything. Also no errors in console. Please tell me my mistake.
If your code is standalone (Not part of a gamemode/entity) you should place it all in the appropriate autorun folder. lua/autorun/ executes on both the client and the server. lua/autorun/client/ executes on the client. lua/autorun/server/ executes on the server. Since you're not really initializing anything (a gamemode or an entity) your files can have any name you want them to. When making a gamemode/entity the server will automatically run init.lua and the client will run cl_init.lua. Shared.lua is just a commonly used name for a file containing information required by both the client and the server. It doesn't do anything special.
Your detailed explanation helped me a lot. Thank you. ^__^
Sorry, you need to Log In to post a reply to this thread.