Search Results for

    Show / Hide Table of Contents

    dotnet

    The Lua library to interact with the GmodDotNet runtime. This library is added to the Lua global scope after GmodDotNet runtime is loaded to the game with require("dotnet") (see require for more info).

    Functions

    load(string)

    Loads a GmodDotNet module by its name or absolute path.

    Declaration
    boolean dotnet.load(string module_name)
    
    Parameters
    Type Name Description
    string module_name A name of the module or module's absolute path
    Returns
    Type Description
    boolean True, if the module was loaded successfully, False otherwise.
    Remarks

    Loads a GmodDotNet module at path [garrys mod (or dedicated server) root folder]/garrysmod/lua/bin/Modules/[module name]/[module name].dll. If Development environment is on, module_name can be an absolute path to module's dll and GmodDotNet runtime will load it.

    Module must be accompanied by all its dependencies and [module name].deps.json file. In practice it means that folder [garrys mod root folder]/garrysmod/lua/bin/Modules/[module name] must contain the full output of dotnet publish operation of dotnet sdk.

    If GmodDotNet runtime is not able to load the module, the function will return False, and the error message will be printed to a game console.

    Examples
    require("dotnet") -- Load GmodDotNet runtime
    dotnet.load("TestModule1") -- Load module TestModule from garrysmod/lua/bin/Modules folder by name
    dotnet.load([[C:\Users\glebc\source\repos\TestModule2\bin\Debug\net5.0\TestModule2.dll]]) -- Load module by its absolute path outside of game folder. Works only in Development environment
    

    unload(string)

    Unloads a GmodDotNet module by its name.

    Declaration
    boolean dotnet.unload(string module_name)
    
    Parameters
    Type Name Description
    string module_name A name of the module to unload
    Returns
    Type Description
    boolean True, if the module was unloaded successfully, False otherwise.
    Remarks

    Parameter module_name must be a name of the module by which it was loaded. For example, if module was loaded by an absolute path in Development environment it also should be unloaded by its absolute path.

    If GmodDotNet runtime is not able to unload the module (exception was thrown while unloading, module is not able to free its resources, module with given name is not loaded, etc.), the function will return False, and the error message will be printed to a game console.

    • Improve this Doc
    In This Article
    Back to top Generated by DocFX