Проблема с частицами GLua для оружия

  • 1
  • 0
Контакты для связи отсутствуют.
Здравствуйте.
Прошу помочь решить проблему с частицами.

У меня есть скриптовое оружие, использующее модель кулаков, которое должно порождать огонь.
У меня есть частицы огня в папке аддона (путь — /addons/MySWEP/particles/my_particle.pcf).
Оружие хорошо работает, поджигает в области прицела, но возникает проблема с частицами.
Я использую оружие на локальном сервере и при атаке я просто не вижу эффект частиц, однако по-логике видимых причин нет и эффект огненной струи должен порождаться рядом с кулаками игрока. Ошибок в консоли тоже не возникает. Gmod работает с частицами из других дополнений и с родными нормально, значит проблема не в нём.
Код:
GLua:
AddCSLuaFile()
SWEP.Category = "Flamer"
SWEP.PrintName = "FireTest"
SWEP.Author = "None"
SWEP.Purpose = "FlameGun"

SWEP.Slot = 1
SWEP.SlotPos = 4

SWEP.Spawnable = true

SWEP.ViewModel = Model( "models/weapons/c_arms.mdl" )
SWEP.WorldModel = ""
SWEP.ViewModelFOV = 54
SWEP.UseHands = true

SWEP.Primary.ClipSize = -1
SWEP.Primary.DefaultClip = -1
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = "none"

SWEP.Secondary.ClipSize = -1
SWEP.Secondary.DefaultClip = -1
SWEP.Secondary.Automatic = true
SWEP.Secondary.Ammo = "none"

SWEP.DrawAmmo = false

local SwingSound = Sound( "WeaponFrag.Throw" )
local HitSound = Sound( "Flesh.ImpactHard" )

game.AddParticles( "particles/mnb_flamethrower.pcf")
PrecacheParticleSystem("flamethrower")

———*STANDART WEAPON FUNCTIONS WITH PRIMARY AND SECONDARY ATTAKS WHAT CALL DEALDAMAGE*———

function SWEP:DealDamage()
    local anim = self:GetSequenceName(self.Owner:GetViewModel():GetSequence())

    if SERVER then
        if IsValid(self.part) then
            self.part:Remove()
        end
        
        self.part = ents.Create("info_particle_system")
        self.part:SetPos(self.Owner:WorldSpaceCenter())
        self.part:SetAngles(self.Owner:EyeAngles())
        self.part:SetKeyValue("effect_name", "flamethrower")
        self.part:SetKeyValue("start_active",tostring(1))
        self.part:Spawn()
        self.part:Activate()
        self.part.DoNotDuplicate = true
        self.part:Fire("kill","",1)
        self:DeleteOnRemove(self.part)
        
        local FireLight1 = ents.Create("light_dynamic")
        FireLight1:SetKeyValue("brightness", "4")
        FireLight1:SetKeyValue("distance", "256")
        FireLight1:SetPos(self.Owner:GetShootPos())
        FireLight1:SetLocalAngles(self.Owner:EyeAngles())
        FireLight1:Fire("Color", "255 150 60")
        FireLight1:SetParent(self)
        FireLight1:Spawn()
        FireLight1:Activate()
        FireLight1:Fire("TurnOn","",0)
        FireLight1:Fire("Kill","",1)
        self:DeleteOnRemove(FireLight1)
            
        self.Owner:EmitSound("attacking.fire")

        local right = self.Owner:EyeAngles():Right()
        if anim == "fists_right" then
            self.part:SetPos(self.Owner:WorldSpaceCenter() + vector_up*12 + right*4)
            self.right = true
        else
            self.right = false
        end
        self.doFire = true
            
        timer.Simple(1,function()
            if !IsValid(self) then return end
                
            if !IsValid(self.Owner) then return end
            self.Owner:EmitSound("npc/grag/garg_beam_stop.wav")
            self.Owner:StopSound("attacking.fire")
            
            if !IsValid(self.part) then return end
            self.doFire = false
        end)
        --self.part:SetParent(self.Owner)
    end

end
 
  • 147
  • 11
SetKeyValue("effect_name", "flamethrower"), чекни естьли файл и нормальный ли он. А ещё частицы нужно добавлять через game.AddParticles
Код:
game.AddParticles( "particles/my_particle.pcf")
PrecacheParticleSystem("flamethrower")
А ещё чекни функцию с частицами и глянь формулу их создания (если есть тех возможность), а если нет, то тыкай пальцем в небо и гадай, почему не появляются
 
Сверху Снизу