<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Enhanced Mule Kick]]></title><description><![CDATA[<p dir="auto">Con este código se mejora mule kick para que al volverlo a beber después de ser derribado, puedas recuperar tu tercer arma, además, al tener activo el perk tienes un 25% de probabilidad de no usar munición de la reserva al recargar y un 50% de probabilidad de no gastar granadas al lanzarla.</p>
<p dir="auto">This code enhances “Mule Kick” so that when you drink it again after being knocked down, you can recover your third weapon. Additionally, while the perk is active, you have a 25% chance of not using reserve ammo when reloading and a 50% chance of not using a grenade when throwing it.</p>
<pre><code>#include maps\mp\zombies\_zm_utility;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\zombies\_zm_weapons;

init()
{
    level thread on_player_connect();
}

on_player_connect()
{
    for(;;)
    {
        level waittill("connected", player);
        player thread monitor_mulekick_perk();
        player thread monitor_mulekick_grenades();
        player thread monitor_mulekick_reload();
    }
}

monitor_mulekick_perk()
{
    self endon("disconnect");
    
    self.saved_mule_weapon = "none";
    self.saved_mule_clip = 0;
    self.saved_mule_stock = 0;

    for(;;)
    {
        self waittill_any("perk_acquired", "perk_lost");

        if (self HasPerk("specialty_additionalprimaryweapon"))
        {
            if (self.saved_mule_weapon != "none")
            {
                if (maps\mp\zombies\_zm_weapons::is_weapon_upgraded(self.saved_mule_weapon))
                {
                    options = self maps\mp\zombies\_zm_weapons::get_pack_a_punch_weapon_options(self.saved_mule_weapon);
                    self GiveWeapon(self.saved_mule_weapon, 0, options);
                }
                else
                {
                    self GiveWeapon(self.saved_mule_weapon);
                }
                
                self SetWeaponAmmoClip(self.saved_mule_weapon, self.saved_mule_clip);
                self SetWeaponAmmoStock(self.saved_mule_weapon, self.saved_mule_stock);
                
                self.saved_mule_weapon = "none";
            }

            self thread track_mule_inventory();
        }
        else
        {
            self notify("stop_mule_tracking");
            
            if (self.saved_mule_weapon != "none" &amp;&amp; self HasWeapon(self.saved_mule_weapon))
            {
                self TakeWeapon(self.saved_mule_weapon);
            }
        }
    }
}

track_mule_inventory()
{
    self endon("disconnect");
    self endon("stop_mule_tracking");

    for(;;)
    {
        weapons = self GetWeaponsListPrimaries();
        
        if (weapons.size &gt; 2)
        {
            self.saved_mule_weapon = weapons[2];
            self.saved_mule_clip = self GetWeaponAmmoClip(weapons[2]);
            self.saved_mule_stock = self GetWeaponAmmoStock(weapons[2]);
        }
        
        wait 0.5;
    }
}

monitor_mulekick_grenades()
{
    self endon("disconnect");

    for(;;)
    {
        self waittill("grenade_fire", grenade, weap);

        if (self HasPerk("specialty_additionalprimaryweapon"))
        {
            if (RandomInt(100) &lt; 50)
            {
                ammo = self GetWeaponAmmoClip(weap);
                self SetWeaponAmmoClip(weap, ammo + 1);
            }
        }
    }
}

monitor_mulekick_reload()
{
    self endon("disconnect");
    
    prev_stock = 0;
    prev_weap = "none";

    for(;;)
    {
        weap = self GetCurrentWeapon();
        stock = self GetWeaponAmmoStock(weap);

        if (weap == prev_weap &amp;&amp; stock &lt; prev_stock)
        {
            if (self HasPerk("specialty_additionalprimaryweapon"))
            {
                if (RandomInt(100) &lt; 25)
                {
                    self SetWeaponAmmoStock(weap, prev_stock);
                    stock = prev_stock;
                }
            }
        }

        prev_weap = weap;
        prev_stock = stock;
        wait 0.05;
    }
}
</code></pre>
]]></description><link>https://forum.plutonium.pw/topic/45155/enhanced-mule-kick</link><generator>RSS for Node</generator><lastBuildDate>Sun, 21 Jun 2026 03:28:41 GMT</lastBuildDate><atom:link href="https://forum.plutonium.pw/topic/45155.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 Jun 2026 00:18:48 GMT</pubDate><ttl>60</ttl></channel></rss>