<?xml version="1.0" encoding="utf-8"?>
<!-- Generated on Thu, 04 Jun 2026 08:07:02 +0200 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>GMod-Fan Inc. - Форум</title>
    <link>https://gmod-fan.com/forum/gmodworld/topic-6448.html</link>
    <description>Последние ответы в теме: Не смог правильно сделать оружие</description>
    <generator>LogicBoard</generator>
    <item>
      <title>Не смог правильно сделать оружие</title>
      <description><![CDATA[1.Я создал папку _BetaScript в ...\common\GarrysMod\garrysmod\addonsf\<!--br--><br />2.Создал Addon.txt\lua\sound<!--br--><br />3.Засунул в Sound звук,настроил txt,создал папку wp_shared_plasmablastgun в lua\weapons\<!--br--><br />4.Создал в ней shared.lua<!--br--><br />5.Написал код:<!--br--><br />(и оружие не отображается)<!--br--><br />6.Так же использовал куски от Doom 3 SWEPS<!--br--><br />5.Код:<!--br--><br /><blockquote class="blockspoiler"><span class="titlespoiler"><a href='#' onclick="ShowAndHide('233e22d41f62b0de95abde2b937f3657'); return false;">Спойлер [+]</a></span><div id='233e22d41f62b0de95abde2b937f3657' style='display:none;' class="textspoiler"><!--br--><br />if SERVER then<!--br--><br /><!--br--><br />    AddCSLuaFile(&quot;shared.lua&quot;)<!--br--><br />    <!--br--><br />end<!--br--><br /><!--br--><br />if CLIENT then<!--br--><br />---UI Info Box<!--br--><br />SWEP.PrintName            = &quot;Pasma Blastgun&quot; <!--br--><br />SWEP.Author            = &quot;jAckalWT&quot;<!--br--><br />SWEP.Instructions        = &quot;A middle-power weapon&quot;<!--br--><br />SWEP.Category                = &quot;[BetaWorld]Plasma Weapons&quot;<!--br--><br /><!--br--><br />    killicon.Add( &quot;weapon_doom3_plasmagun&quot;, &quot;vgui/icons/plasmagunw&quot;, Color( 255, 80, 0, 255 ) )<!--br--><br />    <!--br--><br />---Options Box<!--br--><br />SWEP.Spawnable = true<!--br--><br />SWEP.AdminOnly = false<!--br--><br />SWEP.AdminSpawnable = true<!--br--><br />SWEP.Base                = &quot;weapon_doom3_base&quot;<!--br--><br /><!--br--><br />SWEP.Weight            = 8<!--br--><br />SWEP.AutoSwitchTo        = false<!--br--><br />SWEP.AutoSwitchFrom        = false<!--br--><br /><!--br--><br />SWEP.Slot            = 3<!--br--><br />SWEP.SlotPos            = 1<!--br--><br />SWEP.DrawAmmo            = true<!--br--><br />SWEP.DrawCrosshair        = false<!--br--><br /><!--br--><br />---Ammo Box<!--br--><br />SWEP.Primary.Recoil            = 1<!--br--><br />SWEP.Primary.NumShots        = 1<!--br--><br />SWEP.Primary.Damage            = 4<!--br--><br />SWEP.Primary.TakeAmmo = 1<!--br--><br />SWEP.Primary.Tracer = &quot;Tracer&quot;<!--br--><br />SWEP.Primary.Spread = 0.06<!--br--><br />SWEP.Primary.ClipSize        = 120<!--br--><br />SWEP.Primary.DefaultClip    = 120<!--br--><br />SWEP.Primary.Automatic        = true<!--br--><br />SWEP.Primary.Delay            = .3<!--br--><br />SWEP.Primary.Recoil_pitch = -8<!--br--><br />SWEP.Primary.Cone            = .08<!--br--><br />SWEP.Primary.Recoil_roll = 1<!--br--><br />SWEP.Primary.Ammo        = &quot;AR2&quot;<!--br--><br /><!--br--><br />SWEP.Secondary.Recoil            = 1<!--br--><br />SWEP.Secondary.NumShots        = 1<!--br--><br />SWEP.Secondary.Damage            = 76<!--br--><br />SWEP.Secondary.ClipSize        = 5<!--br--><br />SWEP.Secondary.TakeAmmo = 1<!--br--><br />SWEP.Secondary.DefaultClip    = 5<!--br--><br />SWEP.Secondary.Automatic        = false<!--br--><br />SWEP.Secondary.Delay            = .09<!--br--><br />SWEP.Primary.Recoil_pitch = -15<!--br--><br />SWEP.Primary.Recoil_roll = 3<!--br--><br />SWEP.Secondary.Cone            = .08<!--br--><br />SWEP.Secondary.Ammo        = &quot;AR2AltFire&quot;<!--br--><br /><!--br--><br />SWEP.HoldType = &quot;ar2&quot;<!--br--><br />SWEP.UseHands = true<!--br--><br />---FX Box<!--br--><br />SWEP.SmokeForward            = 42<!--br--><br />SWEP.SmokeUp                 = -21<!--br--><br />SWEP.SmokeSize                = 5<!--br--><br />SWEP.MuzzleName                = &quot;doom3_plasma_muzzle&quot;<!--br--><br /><!--br--><br />---Models Box<!--br--><br />SWEP.ViewModel            = &quot;models/weapons/v_irifle.mdl&quot;<!--br--><br />SWEP.WorldModel            = &quot;models/weapons/w_irifle.mdl&quot;<!--br--><br />SWEP.ViewModelFOV = 64<!--br--><br /><!--br--><br />---Sound Box<!--br--><br />SWEP.DeploySound            = &quot;weapons/doom3/chaingun/cg_use_01.wav&quot;<!--br--><br />SWEP.ReloadSound            = &quot;weapons/doom3/chaingun/cg_reload_twist_01.wav&quot;<!--br--><br /><!--br--><br /><!--br--><br /><!--br--><br /><!--br--><br />---Script Box<!--br--><br />function SWEP:Initialize()<!--br--><br />    self:SetHoldType(self.HoldType)<!--br--><br />    util.PrecacheSound(self.Primary.Sound)<!--br--><br />    util.PrecacheSound(self.DeploySound)<!--br--><br />    util.PrecacheSound(self.ReloadSound)<!--br--><br />    self:AmmoDisplay()<!--br--><br />    <!--br--><br />    self.barrel_angle    = 0;<!--br--><br />    self.current_rate    = 0;<!--br--><br />    self.start_rate        = 0;<!--br--><br />    self.end_rate        = 0;<!--br--><br />    self.spin_start        = 0;<!--br--><br />    self.spin_end        = 0;<!--br--><br />end<!--br--><br /><!--br--><br />function SWEP:Reload() <!--br--><br />if ( self:GetNextPrimaryFire() &gt; CurTime() ) then return end <!--br--><br />if ( self.Weapon:Clip1() &lt; self.Primary.ClipSize &amp;&amp; self.Owner:GetAmmoCount( self.Primary.Ammo ) &gt; 0 ) then <!--br--><br />self:SetNextPrimaryFire( CurTime() + 3) <!--br--><br />self:DefaultReload(ACT_VM_RELOAD) <!--br--><br />self.Owner:SetAnimation( PLAYER_RELOAD )<!--br--><br />end<!--br--><br />end<!--br--><br /><!--br--><br />function SWEP:OnRemove()<!--br--><br />    if SERVER then<!--br--><br />        if self.LoopSound then self.LoopSound:Stop() end<!--br--><br />    end<!--br--><br />    self.InAttack = nil<!--br--><br />    self.attackDelay = nil<!--br--><br />    self.PSound = nil<!--br--><br />    self:SetNWBool(&quot;Attack&quot;, false)<!--br--><br />    local owner = self.Owner<!--br--><br />    if CLIENT then<!--br--><br />        if IsValid(self) and IsValid(owner) and owner and owner:IsPlayer() then<!--br--><br />            local vm = owner:GetViewModel()<!--br--><br />            if IsValid(vm) then<!--br--><br />                self:ResetBonePositions(vm)<!--br--><br />            end<!--br--><br />        end<!--br--><br />    end<!--br--><br />end<!--br--><br /><!--br--><br />function SWEP:PrimarySoundStart()<!--br--><br />    if !self.PSound then<!--br--><br />        if SERVER then<!--br--><br />            self.LoopSound = CreateSound(self.Owner, self.Primary.Sound)<!--br--><br />            self.LoopSound:Play()<!--br--><br />        end<!--br--><br />    end<!--br--><br />    self.PSound = true<!--br--><br />end<!--br--><br /><!--br--><br /><!--br--><br />function SWEP:PrimaryAttack()<!--br--><br />    if !self:CanPrimaryAttack() then return end<!--br--><br />    <!--br--><br />    if !self.InAttack then<!--br--><br />        self:SendWeaponAnim(ACT_VM_PULLPIN)<!--br--><br />        self.attackDelay = CurTime() + .4<!--br--><br />    end<!--br--><br />    self.InAttack = true<!--br--><br />    <!--br--><br />    if self.attackDelay then<!--br--><br />        if CurTime() &lt; self.attackDelay then return end<!--br--><br />        self:SetNextPrimaryFire(CurTime() + self.Primary.Delay)<!--br--><br />        //self:SendWeaponAnim(ACT_VM_PRIMARYATTACK)<!--br--><br />        self.Owner:ViewPunch( Angle( math.Rand(-.2,-.2) * self.Primary.Recoil, math.Rand(.1,-.1) *self.Primary.Recoil, 0 ) )<!--br--><br />        self:WeaponSound(Sound(&quot;sound/wps/pulse_carbine_firing.wav&quot;))<!--br--><br /><!--br--><br />        self:PrimarySoundStart()<!--br--><br /><!--br--><br />        self:ShootBullet(GetConVarNumber(&quot;wps_plasma_blastgun&quot;), self.Primary.Recoil, self.Primary.NumShots, self.Primary.Cone)<!--br--><br />        self:Muzzleflash()<!--br--><br />        self:Smoke()<!--br--><br />        self:TakePrimaryAmmo(1)<!--br--><br />        self.cantholster = CurTime() +.5<!--br--><br />        self:SetNWBool(&quot;Attack&quot;, true)<!--br--><br />        <!--br--><br />        if ((game.SinglePlayer() &amp;&amp; SERVER) || CLIENT) then<!--br--><br />            self:SetNetworkedFloat(&quot;LastShootTime&quot;, CurTime())<!--br--><br />        end<!--br--><br />function SWEP:SecondaryAttack()<!--br--><br />    if !self:CanSecondaryAttack() then return end<!--br--><br />    <!--br--><br />    if !self.InAttack then<!--br--><br />        self:SendWeaponAnim(ACT_VM_PULLPIN)<!--br--><br />        self.attackDelay = CurTime() + 2<!--br--><br />    end<!--br--><br />    self.InAttack = true<!--br--><br />    <!--br--><br />    if self.attackDelay then<!--br--><br />        if CurTime() &lt; self.attackDelay then return end<!--br--><br />        self:SetNextPrimaryFire(CurTime() + self.Primary.Delay)<!--br--><br />        //self:SendWeaponAnim(ACT_VM_PRIMARYATTACK)<!--br--><br />        self.Owner:ViewPunch( Angle( math.Rand(-.2,-.2) * self.Primary.Recoil, math.Rand(.1,-.1) *self.Primary.Recoil, 0 ) )<!--br--><br />        self:WeaponSound(Sound(&quot;sound/wps/pulse_carbine_firing.wav&quot;))<!--br--><br /><!--br--><br />        self:PrimarySoundStart()<!--br--><br /><!--br--><br />        self:ShootBullet(GetConVarNumber(&quot;wps_plasma_blastgun&quot;), self.Primary.Recoil, self.Primary.NumShots, self.Primary.Cone)<!--br--><br />        self:Muzzleflash()<!--br--><br />        self:Smoke()<!--br--><br />        self:TakePrimaryAmmo(1)<!--br--><br />        self.cantholster = CurTime() +.1<!--br--><br />        self:SetNWBool(&quot;Attack&quot;, true)<!--br--><br />        <!--br--><br />        if ((game.SinglePlayer() &amp;&amp; SERVER) || CLIENT) then<!--br--><br />            self:SetNetworkedFloat(&quot;LastShootTime&quot;, CurTime())<!--br--><br />        end<!--br--><br />function SWEP:SpecialThink()<!--br--><br />    if ( self:Clip1() &lt;= 10 ) then<!--br--><br />        if self.Owner.LowAmmo == nil then<!--br--><br />            self.Owner.LowAmmo = CurTime()<!--br--><br />            self:EmitSound(&quot;weapons/doom3/machinegun/lowammo3.wav&quot;)<!--br--><br />        end<!--br--><br />    else<!--br--><br />        self.Owner.LowAmmo = nil<!--br--><br />    end    <!--br--><br /><!--br--><br />    if self.Owner:KeyReleased(IN_ATTACK) or self:Clip1() &lt;= 0 then<!--br--><br />        if self.InAttack then<!--br--><br />            self:SendWeaponAnim(ACT_VM_RELEASE)<!--br--><br />            //self:SpinDown()<!--br--><br />        end<!--br--><br />        self:OnRemove()<!--br--><br />    end<!--br--><br />end<!--br--><br />    end<!--br--><br />end<!--br--><br /><!--br--><br /><!--br--><br />function SWEP:Holster() <!--br--><br />return true <!--br--><br />end<!--br--><br />function SWEP:Think()<!--br--><br />end<!--br--><br />function SWEP:Deploy() <!--br--><br />self:SetNextPrimaryFire( CurTime() + self.Primary.Delay )<!--br--><br />self.Weapon:SendWeaponAnim(ACT_VM_DRAW)<!--br--><br />return true<!--br--><br />end<!--br--><br /><!--br--><br /></div></blockquote><!--spoiler --><!--br--><br />я не знаю где сделал ошибку,я пока в луа не сильно умный]]></description>
      <link>https://gmod-fan.com/forum/gmodworld/last/topic-6448.html</link>
      <pubDate>Fri, 17 Feb 2017 12:54:57 +0100</pubDate>
      <author>jAckalWT</author>
      <guid isPermaLink="true"><![CDATA[https://gmod-fan.com/forum/gmodworld/last/topic-6448.html]]></guid>
    </item>
  </channel></rss>