Проблемы с Энтити

Статус
В этой теме нельзя размещать новые ответы.

Blackwood

Пользователь
Столкнулся с такой проблемой, нашёл множество нужных энтити. Там папка внутри которой два файла: shared.lua и cl_init.lua 1676555222811.pngИ все такие энтити не считывает ( Их нет на сервере ) А энтити без папки 1676555241378.png и shared.lua cl_init.lua читает и всё есть. Что делать? Кидаю всё по пути /garrysmod/gamemodes/darkrp/entities/entities
 
Последнее редактирование:
В серверной части объязательно должны быть строчки добавления shared части и клиентской части. Также должна быть функция инициализации самого энтити. Иначе его попросту не будет существовать. Добавив следующие строчки в init.lua энтити появится в серверной части:

Lua:
AddCSLuaFile("cl_init.lua");
AddCSLuaFile("shared.lua");
 
include("shared.lua");

function ENT:Initialize ( )
    self:SetSolid(SOLID_BBOX);
    self:PhysicsInit(SOLID_BBOX);
    self:SetMoveType(MOVETYPE_NONE);
    self:SetUseType(SIMPLE_USE);
end

Также энтити можно сделать одним файлом, для этого тебе нужно сделать проверку для серверной части:

Lua:
if (SERVER) then
--код--
end

и для клиентской:
Lua:
if (CLIENT) then
--код--
end

А всё остальное, без проверок - клиентская и серверная часть, тобишь shared.
Надеюсь всё подробно и понятно разъяснил)
 
В серверной части объязательно должны быть строчки добавления shared части и клиентской части. Также должна быть функция инициализации самого энтити. Иначе его попросту не будет существовать. Добавив следующие строчки в init.lua энтити появится в серверной части:

Lua:
AddCSLuaFile("cl_init.lua");
AddCSLuaFile("shared.lua");
 
include("shared.lua");

function ENT:Initialize ( )
    self:SetSolid(SOLID_BBOX);
    self:PhysicsInit(SOLID_BBOX);
    self:SetMoveType(MOVETYPE_NONE);
    self:SetUseType(SIMPLE_USE);
end

Также энтити можно сделать одним файлом, для этого тебе нужно сделать проверку для серверной части:

Lua:
if (SERVER) then
--код--
end

и для клиентской:
Lua:
if (CLIENT) then
--код--
end

А всё остальное, без проверок - клиентская и серверная часть, тобишь shared.
Надеюсь всё подробно и понятно разъяснил)
То есть достаточно будет добавить
Код:
AddCSLuaFile("cl_init.lua");
AddCSLuaFile("shared.lua");
 
include("shared.lua");

function ENT:Initialize ( )
    self:SetSolid(SOLID_BBOX);
    self:PhysicsInit(SOLID_BBOX);
    self:SetMoveType(MOVETYPE_NONE);
    self:SetUseType(SIMPLE_USE);
end
в cl_init.lua и всё появится?
 
То есть достаточно будет добавить
Код:
AddCSLuaFile("cl_init.lua");
AddCSLuaFile("shared.lua");
 
include("shared.lua");

function ENT:Initialize ( )
    self:SetSolid(SOLID_BBOX);
    self:PhysicsInit(SOLID_BBOX);
    self:SetMoveType(MOVETYPE_NONE);
    self:SetUseType(SIMPLE_USE);
end
в cl_init.lua и всё появится?
нет, создать файл init.lua и в него закинуть код
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху