Welcome to Сообщество игровых серверов NETZONA.ORG

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Зарегистрировавшись и войдя в систему, вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию другим участникам, получать собственный личный мессенджер и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?
  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Не могу взять энтити физганом

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

StalkerRaftik

Пользователь
Регистрация
18 Ноя 2016
Сообщения
48
Реакции
0
Баллы
23
Возраст
56
Всем доброе. Не могу брать энтити ингредиентов для варки мета(думаю,все знают данный мод). Поставил на сервер, плитку и газ и кастрюли можно брать,а ингредиенты нет. Я их немного изменил: сменил модель на стороннюю из другого аддона, удалил отображение надписи на нем(не думаю что это на что-то влияет)

А,да. Все работало на локальном сервере. Перестало работать только после переноса на хостинг. Вот пример двух энтити: который работает,и который нет.

[HIDE]
AddCSLuaFile("cl_init.lua");
AddCSLuaFile("shared.lua");
include("shared.lua");

function ENT:Initialize()
self:SetModel("models/props_c17/furnitureStove001a.mdl");
self:PhysicsInit(SOLID_VPHYSICS);
self:SetHealth(EML_Stove_Health);

self:SetMoveType(MOVETYPE_VPHYSICS);
self:SetSolid(SOLID_VPHYSICS);

self:SetNWInt("distance", EML_DrawDistance);

self:SetNWInt("stoveConsumption", EML_Stove_Consumption);
self:SetNWInt("stoveHeat", EML_Stove_Heat);

self:SetNWInt("gasStorage", EML_Stove_Storage);
self:SetNWInt("gasStorageMax", EML_Stove_Storage);

self:SetNWBool("firePlace1", false);
self:SetNWBool("firePlace2", false);
self:SetNWBool("firePlace3", false);
self:SetNWBool("firePlace4", false);
self:SetNWBool("explode", false);

self:SetPos(self:GetPos()+Vector(0, 0, 32));

if EML_Stove_GravityGun then
self:GetPhysicsObject():SetMass(105);
end;
end;
function ENT:SpawnFunction(ply, trace)
local ent = ents.Create("eml_stove");
ent:SetPos(trace.HitPos + trace.HitNormal * 8);
ent:Spawn();
ent:Activate();
return ent;
end;
function ENT:OnTakeDamage(dmginfo)
if (EML_Stove_ExplosionType == 2) then
self:SetHealth(self:Health()-dmginfo:GetDamage());
if self:Health() <= dmginfo:GetDamage() then
if !self:GetNWBool("explode") then
self:SetNWBool("explode", true);
self:Explode();
end;
end;
elseif (EML_Stove_ExplosionType == 1) then
self:SetHealth(self:Health()-dmginfo:GetDamage());
if self:Health() <= dmginfo:GetDamage() then
self:Remove();
end;
elseif (EML_Stove_ExplosionType == 0) then
return false;
end;
end;
function ENT:Think()
if (EML_Stove_ExplodeUnderwater) then
if (self:WaterLevel() >= 2) then
self:Explode();
end;
end;
local traceF1 = {}
traceF1.start = self:GetPos()+(self:GetUp()*20)+(self:GetForward()*2.8)+(self:GetRight()*11.5);
traceF1.endpos = self:GetPos()+(self:GetUp()*24)+(self:GetForward()*2.8)+(self:GetRight()*11.5);
traceF1.filter = self;
local traceF2 = {}
traceF2.start = self:GetPos()+(self:GetUp()*20)+(self:GetForward()*2.8)+(self:GetRight()*-11.2);
traceF2.endpos = self:GetPos()+(self:GetUp()*24)+(self:GetForward()*2.8)+(self:GetRight()*-11.2);
traceF2.filter = self;
local traceF3 = {}
traceF3.start = self:GetPos()+(self:GetUp()*20)+(self:GetForward()*-9.8)+(self:GetRight()*-11.2);
traceF3.endpos = self:GetPos()+(self:GetUp()*24)+(self:GetForward()*-9.8)+(self:GetRight()*-11.2);
traceF3.filter = self;
local traceF4 = {}
traceF4.start = self:GetPos()+(self:GetUp()*20)+(self:GetForward()*-9.8)+(self:GetRight()*11.5);
traceF4.endpos = self:GetPos()+(self:GetUp()*24)+(self:GetForward()*-9.8)+(self:GetRight()*11.5);
traceF4.filter = self;
local traceFire1 = util.TraceLine(traceF1);
local traceFire2 = util.TraceLine(traceF2);
local traceFire3 = util.TraceLine(traceF3);
local traceFire4 = util.TraceLine(traceF4);
if ((!self.nextHeat or CurTime() >= self.nextHeat) and (self:GetNWInt("gasStorage")>0)) then
if IsValid(traceFire1.Entity) then
if ((((traceFire1.Entity:GetClass() == "eml_pot") and ((traceFire1.Entity:GetNWInt("sulfur")>0) and (traceFire1.Entity:GetNWInt("macid")>0))))
or (((traceFire1.Entity:GetClass() == "eml_spot") and ((traceFire1.Entity:GetNWInt("redp")>0) and (traceFire1.Entity:GetNWInt("ciodine")>0))))) then
self:SetNWInt("gasStorage", math.Clamp(self:GetNWInt("gasStorage")-EML_Stove_Consumption, 0, self:GetNWInt("gasStorageMax")));
traceFire1.Entity:SetNWInt("time", math.Clamp(traceFire1.Entity:GetNWInt("time")-1, 0, traceFire1.Entity:GetNWInt("maxTime")));
if (traceFire1.Entity:GetNWInt("time") == 0) then
traceFire1.Entity:SetNWInt("status", 1);
--traceFire1.Entity:EmitSound("ambient/fire/ignite.wav");
end;
local soundChance = math.random(1, 2);
if soundChance == 2 then
traceFire1.Entity:EmitSound("ambient/levels/canals/toxic_slime_gurgle"..math.random(2, 8)..".wav", EML_Sound_Level, EML_Sound_Pitch, EML_Sound_Volume);
end;
self:SetNWBool("firePlace1", true);
end;
else
self:SetNWBool("firePlace1", false);
end;
if IsValid(traceFire2.Entity) then
if ((((traceFire2.Entity:GetClass() == "eml_pot") and ((traceFire2.Entity:GetNWInt("sulfur")>0) and (traceFire2.Entity:GetNWInt("macid")>0))))
or (((traceFire2.Entity:GetClass() == "eml_spot") and ((traceFire2.Entity:GetNWInt("redp")>0) and (traceFire2.Entity:GetNWInt("ciodine")>0))))) then
self:SetNWInt("gasStorage", math.Clamp(self:GetNWInt("gasStorage")-EML_Stove_Consumption, 0, self:GetNWInt("gasStorageMax")));
traceFire2.Entity:SetNWInt("time", math.Clamp(traceFire2.Entity:GetNWInt("time")-1, 0, traceFire2.Entity:GetNWInt("maxTime")));
if (traceFire2.Entity:GetNWInt("time") == 0) then
traceFire2.Entity:SetNWInt("status", 1);
--traceFire1.Entity:EmitSound("ambient/fire/ignite.wav");
end;
local soundChance = math.random(1, 2);
if soundChance == 2 then
traceFire2.Entity:EmitSound("ambient/levels/canals/toxic_slime_gurgle"..math.random(2, 8)..".wav", EML_Sound_Level, EML_Sound_Pitch, EML_Sound_Volume);
end;
self:SetNWBool("firePlace2", true);
end;
else
self:SetNWBool("firePlace2", false);
end;
if IsValid(traceFire3.Entity) then
if ((((traceFire3.Entity:GetClass() == "eml_pot") and ((traceFire3.Entity:GetNWInt("sulfur")>0) and (traceFire3.Entity:GetNWInt("macid")>0))))
or (((traceFire3.Entity:GetClass() == "eml_spot") and ((traceFire3.Entity:GetNWInt("redp")>0) and (traceFire3.Entity:GetNWInt("ciodine")>0))))) then
self:SetNWInt("gasStorage", math.Clamp(self:GetNWInt("gasStorage")-EML_Stove_Consumption, 0, self:GetNWInt("gasStorageMax")));
traceFire3.Entity:SetNWInt("time", math.Clamp(traceFire3.Entity:GetNWInt("time")-1, 0, traceFire3.Entity:GetNWInt("maxTime")));
if (traceFire3.Entity:GetNWInt("time") == 0) then
traceFire3.Entity:SetNWInt("status", 1);
--traceFire1.Entity:EmitSound("ambient/fire/ignite.wav");
end;
local soundChance = math.random(1, 2);
if soundChance == 2 then
traceFire3.Entity:EmitSound("ambient/levels/canals/toxic_slime_gurgle"..math.random(2, 8)..".wav", EML_Sound_Level, EML_Sound_Pitch, EML_Sound_Volume);
end;
self:SetNWBool("firePlace3", true);
end;
else
self:SetNWBool("firePlace3", false);
end;
if IsValid(traceFire4.Entity) then
if ((((traceFire4.Entity:GetClass() == "eml_pot") and ((traceFire4.Entity:GetNWInt("sulfur")>0) and (traceFire4.Entity:GetNWInt("macid")>0))))
or (((traceFire4.Entity:GetClass() == "eml_spot") and ((traceFire4.Entity:GetNWInt("redp")>0) and (traceFire4.Entity:GetNWInt("ciodine")>0))))) then
self:SetNWInt("gasStorage", math.Clamp(self:GetNWInt("gasStorage")-EML_Stove_Consumption, 0, self:GetNWInt("gasStorageMax")));
traceFire4.Entity:SetNWInt("time", math.Clamp(traceFire4.Entity:GetNWInt("time")-1, 0, traceFire4.Entity:GetNWInt("maxTime")));
if (traceFire4.Entity:GetNWInt("time") == 0) then
traceFire4.Entity:SetNWInt("status", 1);
--traceFire1.Entity:EmitSound("ambient/fire/ignite.wav");
end;
local soundChance = math.random(1, 2);
if soundChance == 2 then
traceFire4.Entity:EmitSound("ambient/levels/canals/toxic_slime_gurgle"..math.random(2, 8)..".wav", EML_Sound_Level, EML_Sound_Pitch, EML_Sound_Volume);
end;
self:SetNWBool("firePlace4", true);
end;
else
self:SetNWBool("firePlace4", false);
end;
self.nextHeat = CurTime() + 1;
end;
end;
function ENT:Explode()
local explosionSize = EML_Stove_ExplosionDamage;

local explosion = ents.Create("env_explosion");
explosion:SetPos(self:GetPos());
explosion:SetKeyValue("iMagnitude", explosionSize);
explosion:Spawn();
explosion:Activate();
explosion:Fire("Explode", 0, 0);

local shake = ents.Create("env_shake");
shake:SetPos(self:GetPos());
shake:SetKeyValue("amplitude", (explosionSize*2));
shake:SetKeyValue("radius", explosionSize);
shake:SetKeyValue("duration", "1.5");
shake:SetKeyValue("frequency", "255");
shake:SetKeyValue("spawnflags", "4");
shake:Spawn();
shake:Activate();
shake:Fire("StartShake", "", 0);

self:Remove();
end;
[/HIDE]

[HIDE]
AddCSLuaFile("cl_init.lua");
AddCSLuaFile("shared.lua");
include("shared.lua");

function ENT:Initialize()
self:SetModel("models/winningrook/gtav/meth/ammonia/ammonia.mdl");
self:PhysicsInit(SOLID_VPHYSICS);

self:SetMoveType(MOVETYPE_VPHYSICS);
self:SetSolid(SOLID_VPHYSICS);

self:SetNWInt("distance", EML_DrawDistance);
self:SetNWInt("amount", EML_Sulfur_Amount);
self:SetNWInt("maxAmount", EML_Sulfur_Amount);
self:SetPos(self:GetPos()+Vector(0, 0, 8));
if EML_NoCollide_Ingredients then
self:SetCollisionGroup(COLLISION_GROUP_WEAPON);
end;
end;
function ENT:SpawnFunction(ply, trace)
local ent = ents.Create("eml_sulfur");
ent:SetPos(trace.HitPos + trace.HitNormal * 16);
ent:Spawn();
ent:Activate();

return ent;
end;
function ENT:OnTakeDamage(dmginfo)
self:VisualEffect();
end;
function ENT:VisualEffect()
local effectData = EffectData();
effectData:SetStart(self:GetPos());
effectData:SetOrigin(self:GetPos());
effectData:SetScale(8);
util.Effect("GlassImpact", effectData, true, true);
self:Remove();
end;
[/HIDE]
 

One Touch Gamer

Пользователь
Регистрация
25 Июн 2015
Сообщения
62
Реакции
0
Баллы
22
Возраст
21
Адрес
Parts Unknown
Я как понял это аддон для варки мета, правильно понял? И я как понимаю ты делаешь это на DarkRP. Поищи в Options Faction Prop Protection и найди там, что связано с Physgun. И проверь взяв physgun Энтити находиться в world или blocked (справа), если красная - не можешь трогать, зелёная можешь поднять.
Скорее всего у тебя этот энтити находиться в blocked, а администрация не может трогать его physgun.
 

Mestima

Пользователь
Регистрация
26 Дек 2017
Сообщения
112
Реакции
0
Баллы
27
Веб-сайт
leakmod.ru
Род занятий
Coder
Faction... Боже..

У Вас не настроена FPP (Falco's Prop Protection)
Вот видео по настройке. Покопайтесь в настройках, и всё поймете.
 

One Touch Gamer

Пользователь
Регистрация
25 Июн 2015
Сообщения
62
Реакции
0
Баллы
22
Возраст
21
Адрес
Parts Unknown
Faction... Боже..

У Вас не настроена FPP (Falco's Prop Protection)
Вот видео по настройке. Покопайтесь в настройках, и всё поймете.

Я ошибся - моя вина. Но с darkrp и FPP я давно не имел дела.
 

Mestima

Пользователь
Регистрация
26 Дек 2017
Сообщения
112
Реакции
0
Баллы
27
Веб-сайт
leakmod.ru
Род занятий
Coder
Я ошибся - моя вина. Но с darkrp и FPP я давно не имел дела.
Да ничего страшного)

На крайний случай можно еще и так сделать:
Код:
for k,v in pairs(hook.GetTable()["PhysgunPickup"]) do hook.Remove("PhysgunPickup",k) end
:lol::lol::lol:
 

StalkerRaftik

Пользователь
Регистрация
18 Ноя 2016
Сообщения
48
Реакции
0
Баллы
23
Возраст
56
Да ничего страшного)

На крайний случай можно еще и так сделать:
Код:
for k,v in pairs(hook.GetTable()["PhysgunPickup"]) do hook.Remove("PhysgunPickup",k) end
:lol::lol::lol:
Я ошибся - моя вина. Но с darkrp и FPP я давно не имел дела.

Спасибо парни,помогли. FPP у меня настроен был как раз для того,чтобы никто ничего взять не мог. Думал проблема с самой модификации,совсем не подумал о FPP. :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу