[COMO LO HAGO?] MINI MOD CADA 5 RONDAS
#1
Hola gente quisiera saber si alguien me ayuda se que pregunto mucho pro buehh
Es el modo chainsaw de skylar quiero que cada 5 rondas pregunte
¿quieres que comienze en la otra ronda el modo chainsaw ?
1- SI
2- NO

en todo caso que si todos votan si que comienze en la siguiente ronda el modo chainsaw y si no no
el vote que se haga cada 5 rondas y luego al terminar la ronda de chain saw todo vuelva a la normalidad
eso es todo si no pueden hacerlo igual gracias por leer el tema
gracias de antemano:3 Nothingdohere

TEMA DE CHAINSAW : https://amxmodx-es.com/Thread-Mod-Chainsaw-1-7

CODE DEL CHAINSAW

Código PHP:
/* ==============================================================================================

                [ Mod Chainsaw ]
                
                Changelog
                
                 1.0 - Creación del modo.
                 
                 1.1 - 
                       Agregado conteo
                       Model al humano y al chainsaw. 
                       
                 1.2 - Corregido algunos bugs.
                 
                 1.3 - 
                       Corregido algunos bugs.
                       Agregado model y sound al knife chainsaw.
                       Agregado menú de armas.
                       Agregado model al knife humano.
                       
                 1.4 -
                       Corregido algunos bugs.
                       Bloqueado chooseteam.
                       
                 1.5 -
                       Corregido mas bugs.
                       Bloqueado c4.
                       Algunas optimizaciones.
                       
                 1.6 -
                       Agregado bitsum.
                       Bloqueada linterna para el chainsaw.
                       
                 1.7 -
                       Corregido bugs.
                
============================================================================================== */

// Includes
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <colorchat>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

// Register Plugin
new const RegisterPlugin[][] = { "Mod Chainsaw""1.7""Skylar" };

// Prefix
new const sPrefix[] = "^3[ M. Chainsaw ]^1";

// Defines
#define TIEMPO 40.0

// Bitsum
#define BitTrue(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) ) 
#define IsBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) ) 
#define BitFalse(%1,%2) ( %1 &= ~ ( 1 << ( %2 & 31 ) ) ) 

/* =================================================================================

================================================================================= */

new gChainsaw[33];
new 
gTiempoConteogConteoHud;
new 
gVarHudiMaxP;
new 
gUsuarioConectadogUsuarioVivo;

enum (+=100) { TASK_CONTEO 2000 };
enum _:ARMAS
{
    
NOMBRE[90],
    
ARMA[90],
    
CSW,
    
BPAMMO
}

const 
gVidaHumano 200;
const 
gArmorHumano 200;
const 
Float:gSpeedHumano 260.0;
const 
Float:gGravHumano 0.5;
new const 
ModelHumano[] = "Player_Humano";
new const 
ModelKnifeHumano[] = "models/ModChainsaw/vKnifeHumano.mdl";

const 
gVidaChainsaw 5000;
const 
Float:gSpeedChainsaw 270.0;
const 
Float:gGravChainsaw 0.3;
new const 
ModelChainsaw[] = "Player_Chainsaw";
new const 
ModelKnifeChainsaw[] = "models/ModChainsaw/vKnifeChainsaw.mdl";

new const 
gSonidosConteo[][] = 

    
0,
    
"ModChainsaw/Conteo/one.wav",
    
"ModChainsaw/Conteo/two.wav",
    
"ModChainsaw/Conteo/three.wav",
    
"ModChainsaw/Conteo/four.wav",
    
"ModChainsaw/Conteo/five.wav",
    
"ModChainsaw/Conteo/six.wav",
    
"ModChainsaw/Conteo/seven.wav",
    
"ModChainsaw/Conteo/eight.wav",
    
"ModChainsaw/Conteo/nine.wav",
    
"ModChainsaw/Conteo/ten.wav"
};

new const 
gChainsawSounds[][] = 

    
"ModChainsaw/Knife/chainsaw2_miss.wav"
    
"ModChainsaw/Knife/chainsaw1_miss.wav"
    
"ModChainsaw/Knife/chainsaw2_miss.wav"
    
"ModChainsaw/Knife/chainsaw1_hit.wav"
    
"ModChainsaw/Knife/chainsaw2_hit.wav"
    
"ModChainsaw/Knife/chainsaw1_hit.wav"
    
"ModChainsaw/Knife/chainsaw1_miss.wav"
    
"ModChainsaw/Knife/chainsaw2_miss.wav"
    
"ModChainsaw/Knife/chainsaw1_hit.wav" 
};

new const 
gKnifeSounds[][] = 

    
"weapons/knife_deploy1.wav"
    
"weapons/knife_hit1.wav"
    
"weapons/knife_hit2.wav"
    
"weapons/knife_hit3.wav"
    
"weapons/knife_hit4.wav"
    
"weapons/knife_hitwall1.wav"
    
"weapons/knife_slash1.wav"
    
"weapons/knife_slash2.wav"
    
"weapons/knife_stab.wav" 
};

new const 
SoundAmbient[] = "sound/ModChainsaw/Ambient.mp3";

new const 
BlockWeapon[][] = { "weaponbox""armoury_entity""weapon_shield" };

new const 
PRIMARIAS[][ARMAS] =
{
    { 
"Ingram MAC-10""weapon_mac10"CSW_MAC10999 },
    { 
"Schmidt TMP""weapon_tmp"CSW_TMP999 },
    { 
"UMP 45""weapon_ump45"CSW_UMP45999 },
    { 
"MP5 Navy""weapon_mp5navy"CSW_MP5NAVY999 },
    { 
"ES P90""weapon_p90"CSW_P90999 },
    { 
"IMI Galil""weapon_galil"CSW_GALIL999 },
    { 
"Famas""weapon_famas"CSW_FAMAS999 },
    { 
"SG-552 Commando""weapon_sg552"CSW_SG552999 },
    { 
"M4A1 Carbine""weapon_m4a1"CSW_M4A1999 },
    { 
"AK-47 Kalashnikov""weapon_ak47"CSW_AK47999 }
};
new const 
SECUNDARIAS[][ARMAS] =
{
    { 
"USP .45 ACP Tactical""weapon_usp"CSW_USP999 },
    { 
"Glock 18C""weapon_glock18"CSW_GLOCK18999 },
    { 
"P228 Compact""weapon_p228"CSW_P228999 },
    { 
"FiveseveN""weapon_fiveseven"CSW_FIVESEVEN999 },
    { 
"Desert Eagle .50 AE""weapon_deagle"CSW_DEAGLE999 },
    { 
"Dual Elite Berettas""weapon_elite"CSW_ELITE999 }
};

new const 
MensajesMod[][] =
{
    
"%s Mod creado por^4 Skylar^1.",
    
"%s Puedes encontrar el mod en^4 amxmodx-es.com^1.",
    
"%s Nombre:^4 Chainsaw Mod ^3||^1 Version:^4 1.7^1."
};

const 
PEV_SPEC_TARGET pev_iuser2;
const 
IMPULSE_FLASHLIGHT 100;

/* =================================================================================

================================================================================= */

public client_putinserver(idBitTrue(gUsuarioConectadoid);

public 
client_disconnect(id)
{
    
BitFalse(gUsuarioConectadoid);
    
BitFalse(gUsuarioVivoid);
}

public 
plugin_precache()
{
    static 
i;
    
    
set_lights("b");

    static 
gPrecache[64];

    
formatex(gPrecachecharsmax(gPrecache), "models/player/%s/%s.mdl"ModelHumanoModelHumano);
    
precache_model(gPrecache);

    
formatex(gPrecachecharsmax(gPrecache), "models/player/%s/%s.mdl"ModelChainsawModelChainsaw);
    
precache_model(gPrecache);
    
    
precache_model(ModelKnifeHumano);
    
precache_model(ModelKnifeChainsaw);
    
    for(
0sizeof gSonidosConteoi++)
        
engfunc(EngFunc_PrecacheSoundgSonidosConteo[i]);
        
    for(
0sizeof gChainsawSoundsi++) 
        
precache_sound(gChainsawSounds[i]);
        
    
precache_sound(SoundAmbient);
}

public 
plugin_init()
{
    
register_plugin(RegisterPlugin[0], RegisterPlugin[1], RegisterPlugin[2]);

    
register_event("HLTV""event_RoundStart""a""1=0""2=0" );
    
register_logevent("event_RoundEnd"2"1=Round_End");
    
    
register_clcmd("drop""ClcmdBlock");
    
register_clcmd("kill""ClcmdBlock");
    
register_clcmd("chooseteam""ClcmdBlockJoin");
    
    
RegisterHam(Ham_Spawn"player""ham_PlayerSpawn");
    
RegisterHam(Ham_Item_PreFrame"player""ham_Item_Preframe");
    for(new 
0sizeof BlockWeapon; ++i)
        
RegisterHam(Ham_TouchBlockWeapon[i], "ham_TouchWeapon");
    
RegisterHam(Ham_Item_Deploy"weapon_knife""ham_Item_Deploy_Post"1)
    
RegisterHam(Ham_Spawn"weapon_c4""BlockC4"true);
        
    
register_forward(FM_EmitSound"fw_EmitSound");
        
    
register_message(get_user_msgid("StatusIcon"), "message_statusicon");
    
    
register_impulse(IMPULSE_FLASHLIGHT"BloquearLinterna")
        
    
gConteoHud CreateHudSyncObj();
    
gVarHud CreateHudSyncObj();
    
iMaxP get_maxplayers();
    
    
set_task(TIEMPO"MensajesRandom", .flags "b");
    
set_task(1.0"plugin_cfg");
}
        
public 
plugin_cfg()
{
    
set_cvar_num("mp_autoteambalance"0);
    
set_cvar_num("mp_freezetime"0);
    
set_cvar_num("mp_flashlight"1);
    
set_cvar_num("mp_roundtime"8);
}

public 
event_RoundStart()
{
    new 
gPlayers[32], gNumgPlayer;
    
get_players(gPlayersgNum);
    
    for(new 
0gNumi++)
    {
        
gPlayer gPlayers[i];
        
gChainsaw[gPlayer] = false;
    }
    
    
remove_task(TASK_CONTEO);
    
gTiempoConteo 10;
    
set_task(1.0"IniciarConteo"TASK_CONTEO , .flags="b");
}

public 
event_RoundEnd()
{
    
client_cmd(0"mp3 stop");
    
    for(new 
id id <= iMaxP id++)
    {
        if (!
IsBit(gUsuarioConectadoid)) continue;
        
        
set_user_rendering(id);
        
cs_reset_user_model(id);
    }
}

public 
ham_PlayerSpawn(id)
{
    if (
IsBit(gUsuarioConectadoid) && !IsBit(gUsuarioVivoid) && is_user_alive(id))
        
BitTrue(gUsuarioVivoid);
    
    if (
IsBit(gUsuarioVivoid))
    {
        
set_task(0.4"DarAtrib");
    }
}

public 
ham_Item_Preframe(id)
{
    if (!
IsBit(gUsuarioVivoid)) return;
    
    
set_user_gravity(id, (!gChainsaw[id]) ? gGravHumano gGravChainsaw);
    
set_user_maxspeed(id, (!gChainsaw[id]) ? gSpeedHumano gSpeedChainsaw);
}

public 
ham_TouchWeapon(wpnid)
{
    if (!
IsBit(gUsuarioConectadoid))
        return 
HAM_IGNORED;
        
    return 
HAM_SUPERCEDE;
}

public 
ham_Item_Deploy_Post(wpn)
{
    static 
idid get_weapon_ent_owner(wpn);
    
    if (!
pev_valid(id) || !IsBit(gUsuarioVivoid)) return;
    
    static 
WeaponIDWeaponID cs_get_weapon_id(wpn);
    
    if (
WeaponID != CSW_KNIFE) return;
    
    
set_pev(idpev_viewmodel2, (gChainsaw[id]) ? ModelKnifeChainsaw ModelKnifeHumano);
}

public 
BlockC4(ent)
{
    static const 
OBJETIVOS[][] =
    {
        
"func_bomb_target""info_bomb_target""info_vip_start"
        
"func_vip_safetyzone""func_escapezone""hostage_entity",
        
"monster_scientist""func_hostage_rescue""info_hostage_rescue"
        
"env_fog""env_rain""env_snow""item_longjump""func_vehicle""weapon_c4"
    
};
    
    if (!
is_valid_ent(ent)) return;
        
    static 
classname[32], i;
    
entity_get_string(entEV_SZ_classnameclassnamecharsmax(classname));
        
    for (
0sizeof(OBJETIVOS); i++)
    {
        if (
equal(OBJETIVOS[i], classname))
        {
            
remove_entity(ent);
            return;
        }
    }
}

public 
fw_EmitSound(idchannel, const sound[])
{
    if (!
IsBit(gUsuarioVivoid) || !gChainsaw[id]) return FMRES_IGNORED;
    
    for(new 
0sizeof gChainsawSoundsi++)
    {
        if (
equal(soundgKnifeSounds[i])) 
        {
            
emit_sound(idchannelgChainsawSounds[i], 1.0ATTN_NORM0PITCH_NORM)
            return 
FMRES_SUPERCEDE;
        }
    }
    
    return 
FMRES_IGNORED;
}

public 
message_statusicon(msg_idmsg_destid)
{
    static 
szIcon[8];
    
get_msg_arg_string(2szIconcharsmax(szIcon));
 
    if (
equal(szIcon"buyzone") && get_msg_arg_int(1))
    {
        
set_pdata_int(id235get_pdata_int(id235) & ~(1<<0));
        return 
PLUGIN_HANDLED;
    }
 
    return 
PLUGIN_CONTINUE;


public 
BloquearLinterna(id)
{
    if (
gChainsaw[id])
        return 
PLUGIN_HANDLED;
        
    return 
PLUGIN_CONTINUE;
}
    
/* =================================================================================

================================================================================= */

public ClcmdBlock(id) return PLUGIN_HANDLED;

public 
DarAtrib(id)
{
    if (!
IsBit(gUsuarioVivoid)) return;
    
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
    if (
gChainsaw[id])
    {
        
set_user_health(idgVidaChainsaw);
        
cs_set_user_model(idModelChainsaw);
        
set_user_rendering(idkRenderFxGlowShell25500kRenderNormal20);
    }
    else
    {
        
set_user_health(idgVidaHumano);
        
set_user_armor(idgArmorHumano);
        
cs_set_user_model(idModelHumano);
    }
}

public 
IniciarConteo()
{   
    
emit_sound(0CHAN_VOICEgSonidosConteo[gTiempoConteo], 1.0ATTN_NORM0PITCH_NORM);
    
    
set_hudmessage(02550, -1.00.2820.021.00.010.110);
    
ShowSyncHudMsg(0gConteoHud"------ [ MODO EN %i ] ------"gTiempoConteo);
    
    
gTiempoConteo--;
    
    if (!
gTiempoConteo)
    {
        
ModoChainsaw();
        
remove_task(TASK_CONTEO);
    }
}

public 
ModoChainsaw()
{
    new 
gCName[32];
    
    new 
gPlayers[32], gNumgPlayer;
    
get_players(gPlayersgNum"a");
    
    for(new 
0gNumi++)
    {
        
gPlayer gPlayers[i];
        
cs_set_user_team(gPlayerCS_TEAM_CT);
        
DarAtrib(gPlayer);
    }
    
    new 
gMChainsaw ElegirChainsaw("a");
    
get_user_name(gMChainsawgCNamecharsmax(gCName));
    
    
DarChainsaw(gMChainsaw);
    
set_hudmessage(25500, -1.00.2820.021.00.010.110);
    
ShowSyncHudMsg(0gVarHud"EL CHAINSAW ES %s."gCName);
    
    
client_cmd(0"mp3 play ^"%s^""SoundAmbient);
    
    for(new 
id id <= iMaxP id++)
    {
        if (!
IsBit(gUsuarioConectadoid) || gChainsaw[id]) continue;
        if (
cs_get_user_team(id) == CS_TEAM_SPECTATOR || cs_get_user_team(id) == CS_TEAM_UNASSIGNED
            continue;
        
        
set_task(0.5"MenuArmas"id);
    }
}

ElegirChainsaw(const Flags[]="", const Team[]="")
{
    static 
gPlayers[32], gNum;
    
get_players(gPlayersgNumFlagsTeam);
    
    return (
gNum 0) ? gPlayers[random(gNum)] : 0;
}

DarChainsaw(id)
{
    if (!
IsBit(gUsuarioVivoid)) return;
    
    
gChainsaw[id] = true;
    
    
cs_set_user_team(idCS_TEAM_T);
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
    
cs_set_user_nvg(id1);
    
    
DarAtrib(id);
}

public 
MenuArmas(id)
{
    if (!
IsBit(gUsuarioVivoid)) return;
    
    new 
imenutext[100], temp[16];
    
menu menu_create("\r[\dM. Chainsaw\r]\w Menu de Armas \r(\dPrimarias\r)""HandPriMenuArmas");
    
    for(
0sizeof PRIMARIASi++)
    {
        
formatex(textcharsmax(text), "\w%s"PRIMARIAS[i][NOMBRE]);
        
num_to_str(itemp2);
        
menu_additem(menutexttemp);
    }
    
menu_setprop(menuMPROP_EXITNAME"Salir");
    
menu_setprop(menuMPROP_EXITMEXIT_ALL);
    
menu_display(idmenu);
}
public 
HandPriMenuArmas(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    
    
strip_user_weapons(id);
    
give_item(id"weapon_knife");
    
give_item(idPRIMARIAS[item][ARMA]);
    
cs_set_user_bpammo(idPRIMARIAS[item][CSW], PRIMARIAS[item][BPAMMO]);
    
ColorChat(idNORMAL"%s Elegiste la arma primaria:^4 %s^1."sPrefixPRIMARIAS[item][NOMBRE]);
    
ArmasSec(id);
    
    return 
PLUGIN_HANDLED;
}

public 
ArmasSec(id)
{
    if (!
IsBit(gUsuarioVivoid)) return;
    
    new 
imenutext[100], temp[16];
    
menu menu_create("\r[\dM. Chainsaw\r]\w Menu de Armas \r(\dSecundarias\r)""HandSecundarias");
    
    for(
0sizeof SECUNDARIASi++)
    {
        
formatex(textcharsmax(text), "\w%s"SECUNDARIAS[i][NOMBRE]);
        
num_to_str(itemp2);
        
menu_additem(menutexttemp);
    }
    
menu_setprop(menuMPROP_EXITNAME"Salir");
    
menu_setprop(menuMPROP_EXITMEXIT_ALL);
    
menu_display(idmenu);
}

public 
HandSecundarias(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    
    
give_item(idSECUNDARIAS[item][ARMA]) 
    
cs_set_user_bpammo(idSECUNDARIAS[item][CSW], SECUNDARIAS[item][BPAMMO]);
    
ColorChat(idNORMAL"%s Elegiste la arma secundaria:^4 %s^1."sPrefixSECUNDARIAS[item][NOMBRE]);
    
    return 
PLUGIN_HANDLED;
}

public 
MensajesRandom() ColorChat(0NORMALMensajesMod[random(sizeof MensajesMod-1)], sPrefix);
    
public 
ClcmdBlockJoin() return PLUGIN_HANDLED;

/* =================================================================================

================================================================================= */

stock get_weapon_ent_owner(ent)
{
    if (
pev_valid(ent) != 2)
        return -
1;
    
    return 
get_pdata_cbase(ent414);

Pawn progress %15 Thinking
Responder
#2
(18/11/2022, 09:05 PM)andrexsitop escribió: Hola gente quisiera saber si alguien me ayuda se que pregunto mucho pro buehh
Es el modo chainsaw de skylar quiero que cada 5 rondas pregunte
¿quieres que comienze en la otra ronda el modo chainsaw ?
1- SI
2- NO

en todo caso que si todos votan si que comienze en la siguiente ronda el modo chainsaw y si no no
el vote que se haga cada 5 rondas y luego al terminar la ronda de chain saw todo vuelva a la normalidad
eso es todo si no pueden hacerlo igual gracias por leer el tema
gracias de antemano:3 Nothingdohere

TEMA DE CHAINSAW : https://amxmodx-es.com/Thread-Mod-Chainsaw-1-7

CODE DEL CHAINSAW

Código PHP:
/* ==============================================================================================

 [ Mod Chainsaw ]
 
 Changelog
 
 1.0 - Creación del modo.
 
 1.1 - 
       Agregado conteo
       Model al humano y al chainsaw. 
       
 1.2 - Corregido algunos bugs.
 
 1.3 - 
       Corregido algunos bugs.
       Agregado model y sound al knife chainsaw.
       Agregado menú de armas.
       Agregado model al knife humano.
       
 1.4 -
       Corregido algunos bugs.
       Bloqueado chooseteam.
       
 1.5 -
       Corregido mas bugs.
       Bloqueado c4.
       Algunas optimizaciones.
       
 1.6 -
       Agregado bitsum.
       Bloqueada linterna para el chainsaw.
       
 1.7 -
       Corregido bugs.
 
============================================================================================== */

// Includes
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <colorchat>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

// Register Plugin
new const RegisterPlugin[][] = { "Mod Chainsaw""1.7""Skylar" };

// Prefix
new const sPrefix[] = "^3[ M. Chainsaw ]^1";

// Defines
#define TIEMPO 40.0

// Bitsum
#define BitTrue(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) ) 
#define IsBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) ) 
#define BitFalse(%1,%2) ( %1 &= ~ ( 1 << ( %2 & 31 ) ) ) 

/* =================================================================================

================================================================================= */

new gChainsaw[33];
new 
gTiempoConteogConteoHud;
new 
gVarHudiMaxP;
new 
gUsuarioConectadogUsuarioVivo;

enum (+=100) { TASK_CONTEO 2000 };
enum _:ARMAS
{
 
NOMBRE[90],
 
ARMA[90],
 
CSW,
 
BPAMMO
}

const 
gVidaHumano 200;
const 
gArmorHumano 200;
const 
Float:gSpeedHumano 260.0;
const 
Float:gGravHumano 0.5;
new const 
ModelHumano[] = "Player_Humano";
new const 
ModelKnifeHumano[] = "models/ModChainsaw/vKnifeHumano.mdl";

const 
gVidaChainsaw 5000;
const 
Float:gSpeedChainsaw 270.0;
const 
Float:gGravChainsaw 0.3;
new const 
ModelChainsaw[] = "Player_Chainsaw";
new const 
ModelKnifeChainsaw[] = "models/ModChainsaw/vKnifeChainsaw.mdl";

new const 
gSonidosConteo[][] = 

 
0,
 
"ModChainsaw/Conteo/one.wav",
 
"ModChainsaw/Conteo/two.wav",
 
"ModChainsaw/Conteo/three.wav",
 
"ModChainsaw/Conteo/four.wav",
 
"ModChainsaw/Conteo/five.wav",
 
"ModChainsaw/Conteo/six.wav",
 
"ModChainsaw/Conteo/seven.wav",
 
"ModChainsaw/Conteo/eight.wav",
 
"ModChainsaw/Conteo/nine.wav",
 
"ModChainsaw/Conteo/ten.wav"
};

new const 
gChainsawSounds[][] = 

 
"ModChainsaw/Knife/chainsaw2_miss.wav"
 
"ModChainsaw/Knife/chainsaw1_miss.wav"
 
"ModChainsaw/Knife/chainsaw2_miss.wav"
 
"ModChainsaw/Knife/chainsaw1_hit.wav"
 
"ModChainsaw/Knife/chainsaw2_hit.wav"
 
"ModChainsaw/Knife/chainsaw1_hit.wav"
 
"ModChainsaw/Knife/chainsaw1_miss.wav"
 
"ModChainsaw/Knife/chainsaw2_miss.wav"
 
"ModChainsaw/Knife/chainsaw1_hit.wav" 
};

new const 
gKnifeSounds[][] = 

 
"weapons/knife_deploy1.wav"
 
"weapons/knife_hit1.wav"
 
"weapons/knife_hit2.wav"
 
"weapons/knife_hit3.wav"
 
"weapons/knife_hit4.wav"
 
"weapons/knife_hitwall1.wav"
 
"weapons/knife_slash1.wav"
 
"weapons/knife_slash2.wav"
 
"weapons/knife_stab.wav" 
};

new const 
SoundAmbient[] = "sound/ModChainsaw/Ambient.mp3";

new const 
BlockWeapon[][] = { "weaponbox""armoury_entity""weapon_shield" };

new const 
PRIMARIAS[][ARMAS] =
{
 { 
"Ingram MAC-10""weapon_mac10"CSW_MAC10999 },
 { 
"Schmidt TMP""weapon_tmp"CSW_TMP999 },
 { 
"UMP 45""weapon_ump45"CSW_UMP45999 },
 { 
"MP5 Navy""weapon_mp5navy"CSW_MP5NAVY999 },
 { 
"ES P90""weapon_p90"CSW_P90999 },
 { 
"IMI Galil""weapon_galil"CSW_GALIL999 },
 { 
"Famas""weapon_famas"CSW_FAMAS999 },
 { 
"SG-552 Commando""weapon_sg552"CSW_SG552999 },
 { 
"M4A1 Carbine""weapon_m4a1"CSW_M4A1999 },
 { 
"AK-47 Kalashnikov""weapon_ak47"CSW_AK47999 }
};
new const 
SECUNDARIAS[][ARMAS] =
{
 { 
"USP .45 ACP Tactical""weapon_usp"CSW_USP999 },
 { 
"Glock 18C""weapon_glock18"CSW_GLOCK18999 },
 { 
"P228 Compact""weapon_p228"CSW_P228999 },
 { 
"FiveseveN""weapon_fiveseven"CSW_FIVESEVEN999 },
 { 
"Desert Eagle .50 AE""weapon_deagle"CSW_DEAGLE999 },
 { 
"Dual Elite Berettas""weapon_elite"CSW_ELITE999 }
};

new const 
MensajesMod[][] =
{
 
"%s Mod creado por^4 Skylar^1.",
 
"%s Puedes encontrar el mod en^4 amxmodx-es.com^1.",
 
"%s Nombre:^4 Chainsaw Mod ^3||^1 Version:^4 1.7^1."
};

const 
PEV_SPEC_TARGET pev_iuser2;
const 
IMPULSE_FLASHLIGHT 100;

/* =================================================================================

================================================================================= */

public client_putinserver(idBitTrue(gUsuarioConectadoid);

public 
client_disconnect(id)
{
 
BitFalse(gUsuarioConectadoid);
 
BitFalse(gUsuarioVivoid);
}

public 
plugin_precache()
{
 static 
i;
 
 
set_lights("b");

 static 
gPrecache[64];

 
formatex(gPrecachecharsmax(gPrecache), "models/player/%s/%s.mdl"ModelHumanoModelHumano);
 
precache_model(gPrecache);

 
formatex(gPrecachecharsmax(gPrecache), "models/player/%s/%s.mdl"ModelChainsawModelChainsaw);
 
precache_model(gPrecache);
 
 
precache_model(ModelKnifeHumano);
 
precache_model(ModelKnifeChainsaw);
 
 for(
0sizeof gSonidosConteoi++)
 
engfunc(EngFunc_PrecacheSoundgSonidosConteo[i]);
 
 for(
0sizeof gChainsawSoundsi++) 
 
precache_sound(gChainsawSounds[i]);
 
 
precache_sound(SoundAmbient);
}

public 
plugin_init()
{
 
register_plugin(RegisterPlugin[0], RegisterPlugin[1], RegisterPlugin[2]);

 
register_event("HLTV""event_RoundStart""a""1=0""2=0" );
 
register_logevent("event_RoundEnd"2"1=Round_End");
 
 
register_clcmd("drop""ClcmdBlock");
 
register_clcmd("kill""ClcmdBlock");
 
register_clcmd("chooseteam""ClcmdBlockJoin");
 
 
RegisterHam(Ham_Spawn"player""ham_PlayerSpawn");
 
RegisterHam(Ham_Item_PreFrame"player""ham_Item_Preframe");
 for(new 
0sizeof BlockWeapon; ++i)
 
RegisterHam(Ham_TouchBlockWeapon[i], "ham_TouchWeapon");
 
RegisterHam(Ham_Item_Deploy"weapon_knife""ham_Item_Deploy_Post"1)
 
RegisterHam(Ham_Spawn"weapon_c4""BlockC4"true);
 
 
register_forward(FM_EmitSound"fw_EmitSound");
 
 
register_message(get_user_msgid("StatusIcon"), "message_statusicon");
 
 
register_impulse(IMPULSE_FLASHLIGHT"BloquearLinterna")
 
 
gConteoHud CreateHudSyncObj();
 
gVarHud CreateHudSyncObj();
 
iMaxP get_maxplayers();
 
 
set_task(TIEMPO"MensajesRandom", .flags "b");
 
set_task(1.0"plugin_cfg");
}
 
public 
plugin_cfg()
{
 
set_cvar_num("mp_autoteambalance"0);
 
set_cvar_num("mp_freezetime"0);
 
set_cvar_num("mp_flashlight"1);
 
set_cvar_num("mp_roundtime"8);
}

public 
event_RoundStart()
{
 new 
gPlayers[32], gNumgPlayer;
 
get_players(gPlayersgNum);
 
 for(new 
0gNumi++)
 {
 
gPlayer gPlayers[i];
 
gChainsaw[gPlayer] = false;
 }
 
 
remove_task(TASK_CONTEO);
 
gTiempoConteo 10;
 
set_task(1.0"IniciarConteo"TASK_CONTEO , .flags="b");
}

public 
event_RoundEnd()
{
 
client_cmd(0"mp3 stop");
 
 for(new 
id id <= iMaxP id++)
 {
 if (!
IsBit(gUsuarioConectadoid)) continue;
 
 
set_user_rendering(id);
 
cs_reset_user_model(id);
 }
}

public 
ham_PlayerSpawn(id)
{
 if (
IsBit(gUsuarioConectadoid) && !IsBit(gUsuarioVivoid) && is_user_alive(id))
 
BitTrue(gUsuarioVivoid);
 
 if (
IsBit(gUsuarioVivoid))
 {
 
set_task(0.4"DarAtrib");
 }
}

public 
ham_Item_Preframe(id)
{
 if (!
IsBit(gUsuarioVivoid)) return;
 
 
set_user_gravity(id, (!gChainsaw[id]) ? gGravHumano gGravChainsaw);
 
set_user_maxspeed(id, (!gChainsaw[id]) ? gSpeedHumano gSpeedChainsaw);
}

public 
ham_TouchWeapon(wpnid)
{
 if (!
IsBit(gUsuarioConectadoid))
 return 
HAM_IGNORED;
 
 return 
HAM_SUPERCEDE;
}

public 
ham_Item_Deploy_Post(wpn)
{
 static 
idid get_weapon_ent_owner(wpn);
 
 if (!
pev_valid(id) || !IsBit(gUsuarioVivoid)) return;
 
 static 
WeaponIDWeaponID cs_get_weapon_id(wpn);
 
 if (
WeaponID != CSW_KNIFE) return;
 
 
set_pev(idpev_viewmodel2, (gChainsaw[id]) ? ModelKnifeChainsaw ModelKnifeHumano);
}

public 
BlockC4(ent)
{
 static const 
OBJETIVOS[][] =
 {
 
"func_bomb_target""info_bomb_target""info_vip_start"
 
"func_vip_safetyzone""func_escapezone""hostage_entity",
 
"monster_scientist""func_hostage_rescue""info_hostage_rescue"
 
"env_fog""env_rain""env_snow""item_longjump""func_vehicle""weapon_c4"
 
};
    
 
if (!is_valid_ent(ent)) return;
        
 
static classname[32], i;
 
entity_get_string(entEV_SZ_classnameclassnamecharsmax(classname));
        
 
for (0sizeof(OBJETIVOS); i++)
 {
 if (
equal(OBJETIVOS[i], classname))
 {
 
remove_entity(ent);
 return;
 }
 }
}

public 
fw_EmitSound(idchannel, const sound[])
{
 if (!
IsBit(gUsuarioVivoid) || !gChainsaw[id]) return FMRES_IGNORED;
 
 for(new 
0sizeof gChainsawSoundsi++)
 {
 if (
equal(soundgKnifeSounds[i])) 
 {
 
emit_sound(idchannelgChainsawSounds[i], 1.0ATTN_NORM0PITCH_NORM)
 return 
FMRES_SUPERCEDE;
 }
 }
 
 return 
FMRES_IGNORED;
}

public 
message_statusicon(msg_idmsg_destid)
{
 static 
szIcon[8];
 
get_msg_arg_string(2szIconcharsmax(szIcon));
 
 if (
equal(szIcon"buyzone") && get_msg_arg_int(1))
 {
 
set_pdata_int(id235get_pdata_int(id235) & ~(1<<0));
 return 
PLUGIN_HANDLED;
 }
 
 return 
PLUGIN_CONTINUE;


public 
BloquearLinterna(id)
{
 if (
gChainsaw[id])
 return 
PLUGIN_HANDLED;
 
 return 
PLUGIN_CONTINUE;
}
 
/* =================================================================================

================================================================================= */

public ClcmdBlock(id) return PLUGIN_HANDLED;

public 
DarAtrib(id)
{
 if (!
IsBit(gUsuarioVivoid)) return;
 
 
strip_user_weapons(id);
 
give_item(id"weapon_knife");
 
 if (
gChainsaw[id])
 {
 
set_user_health(idgVidaChainsaw);
 
cs_set_user_model(idModelChainsaw);
 
set_user_rendering(idkRenderFxGlowShell25500kRenderNormal20);
 }
 else
 {
 
set_user_health(idgVidaHumano);
 
set_user_armor(idgArmorHumano);
 
cs_set_user_model(idModelHumano);
 }
}

public 
IniciarConteo()
{
  
 emit_sound
(0CHAN_VOICEgSonidosConteo[gTiempoConteo], 1.0ATTN_NORM0PITCH_NORM);
    
 set_hudmessage
(02550, -1.00.2820.021.00.010.110);
 
ShowSyncHudMsg(0gConteoHud"------ [ MODO EN %i ] ------"gTiempoConteo);
    
 gTiempoConteo
--;
 
 if (!
gTiempoConteo)
 {
 
ModoChainsaw();
 
remove_task(TASK_CONTEO);
 }
}

public 
ModoChainsaw()
{
 new 
gCName[32];
 
 new 
gPlayers[32], gNumgPlayer;
 
get_players(gPlayersgNum"a");
 
 for(new 
0gNumi++)
 {
 
gPlayer gPlayers[i];
 
cs_set_user_team(gPlayerCS_TEAM_CT);
 
DarAtrib(gPlayer);
 }
 
 new 
gMChainsaw ElegirChainsaw("a");
 
get_user_name(gMChainsawgCNamecharsmax(gCName));
 
 
DarChainsaw(gMChainsaw);
 
set_hudmessage(25500, -1.00.2820.021.00.010.110);
 
ShowSyncHudMsg(0gVarHud"EL CHAINSAW ES %s."gCName);
 
 
client_cmd(0"mp3 play ^"%s^""SoundAmbient);
 
 for(new 
id id <= iMaxP id++)
 {
 if (!
IsBit(gUsuarioConectadoid) || gChainsaw[id]) continue;
 if (
cs_get_user_team(id) == CS_TEAM_SPECTATOR || cs_get_user_team(id) == CS_TEAM_UNASSIGNED
 continue;
 
 
set_task(0.5"MenuArmas"id);
 }
}

ElegirChainsaw(const Flags[]="", const Team[]="")
{
 static 
gPlayers[32], gNum;
 
get_players(gPlayersgNumFlagsTeam);
 
 return (
gNum 0) ? gPlayers[random(gNum)] : 0;
}

DarChainsaw(id)
{
 if (!
IsBit(gUsuarioVivoid)) return;
 
 
gChainsaw[id] = true;
 
 
cs_set_user_team(idCS_TEAM_T);
 
strip_user_weapons(id);
 
give_item(id"weapon_knife");
 
 
cs_set_user_nvg(id1);
 
 
DarAtrib(id);
}

public 
MenuArmas(id)
{
 if (!
IsBit(gUsuarioVivoid)) return;
 
 new 
imenutext[100], temp[16];
 
menu menu_create("\r[\dM. Chainsaw\r]\w Menu de Armas \r(\dPrimarias\r)""HandPriMenuArmas");
 
 for(
0sizeof PRIMARIASi++)
 {
 
formatex(textcharsmax(text), "\w%s"PRIMARIAS[i][NOMBRE]);
 
num_to_str(itemp2);
 
menu_additem(menutexttemp);
 }
 
menu_setprop(menuMPROP_EXITNAME"Salir");
 
menu_setprop(menuMPROP_EXITMEXIT_ALL);
 
menu_display(idmenu);
}
public 
HandPriMenuArmas(idmenuitem)
{
 if(
item == MENU_EXIT)
 {
 
menu_destroy(menu);
 return 
PLUGIN_HANDLED;
 }
 
 
strip_user_weapons(id);
 
give_item(id"weapon_knife");
 
give_item(idPRIMARIAS[item][ARMA]);
 
cs_set_user_bpammo(idPRIMARIAS[item][CSW], PRIMARIAS[item][BPAMMO]);
 
ColorChat(idNORMAL"%s Elegiste la arma primaria:^4 %s^1."sPrefixPRIMARIAS[item][NOMBRE]);
 
ArmasSec(id);
 
 return 
PLUGIN_HANDLED;
}

public 
ArmasSec(id)
{
 if (!
IsBit(gUsuarioVivoid)) return;
 
 new 
imenutext[100], temp[16];
 
menu menu_create("\r[\dM. Chainsaw\r]\w Menu de Armas \r(\dSecundarias\r)""HandSecundarias");
 
 for(
0sizeof SECUNDARIASi++)
 {
 
formatex(textcharsmax(text), "\w%s"SECUNDARIAS[i][NOMBRE]);
 
num_to_str(itemp2);
 
menu_additem(menutexttemp);
 }
 
menu_setprop(menuMPROP_EXITNAME"Salir");
 
menu_setprop(menuMPROP_EXITMEXIT_ALL);
 
menu_display(idmenu);
}

public 
HandSecundarias(idmenuitem)
{
 if(
item == MENU_EXIT)
 {
 
menu_destroy(menu);
 return 
PLUGIN_HANDLED;
 }
 
 
give_item(idSECUNDARIAS[item][ARMA]) 
 
cs_set_user_bpammo(idSECUNDARIAS[item][CSW], SECUNDARIAS[item][BPAMMO]);
 
ColorChat(idNORMAL"%s Elegiste la arma secundaria:^4 %s^1."sPrefixSECUNDARIAS[item][NOMBRE]);
 
 return 
PLUGIN_HANDLED;
}

public 
MensajesRandom() ColorChat(0NORMALMensajesMod[random(sizeof MensajesMod-1)], sPrefix);
 
public 
ClcmdBlockJoin() return PLUGIN_HANDLED;

/* =================================================================================

================================================================================= */

stock get_weapon_ent_owner(ent)
{
 if (
pev_valid(ent) != 2)
 return -
1;
 
 return 
get_pdata_cbase(ent414);


No lo probe pero fijate si te sirve jaja

Código PHP:
/* ==============================================================================================

                [ Mod Chainsaw ]
                
                Changelog
                
                1.0 - Creación del modo.
                
                1.1 - 
                      Agregado conteo
                      Model al humano y al chainsaw. 
                      
                1.2 - Corregido algunos bugs.
                
                1.3 - 
                      Corregido algunos bugs.
                      Agregado model y sound al knife chainsaw.
                      Agregado menú de armas.
                      Agregado model al knife humano.
                      
                1.4 -
                      Corregido algunos bugs.
                      Bloqueado chooseteam.
                      
                1.5 -
                      Corregido mas bugs.
                      Bloqueado c4.
                      Algunas optimizaciones.
                      
                1.6 -
                      Agregado bitsum.
                      Bloqueada linterna para el chainsaw.
                      
                1.7 -
                      Corregido bugs.
                
============================================================================================== */

// Includes
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <colorchat>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

// Register Plugin
new const RegisterPlugin[][] = { "Mod Chainsaw""1.7""Skylar" };

// Prefix
new const sPrefix[] = "^3[ M. Chainsaw ]^1";

// Defines
#define TIEMPO 40.0

// Bitsum
#define BitTrue(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) ) 
#define IsBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) ) 
#define BitFalse(%1,%2) ( %1 &= ~ ( 1 << ( %2 & 31 ) ) ) 

/* =================================================================================

================================================================================= */

new gChainsaw[33];
new 
gTiempoConteogConteoHud;
new 
gVarHudiMaxP;
new 
gUsuarioConectadogUsuarioVivo;

enum (+=100) { TASK_CONTEO 2000 };
enum _:ARMAS
{
    NOMBRE[90],
    ARMA[90],
    CSW,
    BPAMMO
}

const 
gVidaHumano 200;
const 
gArmorHumano 200;
const 
Float:gSpeedHumano 260.0;
const 
Float:gGravHumano 0.5;
new const 
ModelHumano[] = "Player_Humano";
new const 
ModelKnifeHumano[] = "models/ModChainsaw/vKnifeHumano.mdl";

const 
gVidaChainsaw 5000;
const 
Float:gSpeedChainsaw 270.0;
const 
Float:gGravChainsaw 0.3;
new const 
ModelChainsaw[] = "Player_Chainsaw";
new const 
ModelKnifeChainsaw[] = "models/ModChainsaw/vKnifeChainsaw.mdl";

new const 
gSonidosConteo[][] = 

    0,
    "ModChainsaw/Conteo/one.wav",
    "ModChainsaw/Conteo/two.wav",
    "ModChainsaw/Conteo/three.wav",
    "ModChainsaw/Conteo/four.wav",
    "ModChainsaw/Conteo/five.wav",
    "ModChainsaw/Conteo/six.wav",
    "ModChainsaw/Conteo/seven.wav",
    "ModChainsaw/Conteo/eight.wav",
    "ModChainsaw/Conteo/nine.wav",
    "ModChainsaw/Conteo/ten.wav"
};

new const 
gChainsawSounds[][] = 

    "ModChainsaw/Knife/chainsaw2_miss.wav"
    "ModChainsaw/Knife/chainsaw1_miss.wav"
    "ModChainsaw/Knife/chainsaw2_miss.wav"
    "ModChainsaw/Knife/chainsaw1_hit.wav"
    "ModChainsaw/Knife/chainsaw2_hit.wav"
    "ModChainsaw/Knife/chainsaw1_hit.wav"
    "ModChainsaw/Knife/chainsaw1_miss.wav"
    "ModChainsaw/Knife/chainsaw2_miss.wav"
    "ModChainsaw/Knife/chainsaw1_hit.wav" 
};

new const 
gKnifeSounds[][] = 

    "weapons/knife_deploy1.wav"
    "weapons/knife_hit1.wav"
    "weapons/knife_hit2.wav"
    "weapons/knife_hit3.wav"
    "weapons/knife_hit4.wav"
    "weapons/knife_hitwall1.wav"
    "weapons/knife_slash1.wav"
    "weapons/knife_slash2.wav"
    "weapons/knife_stab.wav" 
};

new const 
SoundAmbient[] = "sound/ModChainsaw/Ambient.mp3";

new const 
BlockWeapon[][] = { "weaponbox""armoury_entity""weapon_shield" };

new const 
PRIMARIAS[][ARMAS] =
{
    "Ingram MAC-10""weapon_mac10"CSW_MAC10999 },
    "Schmidt TMP""weapon_tmp"CSW_TMP999 },
    "UMP 45""weapon_ump45"CSW_UMP45999 },
    "MP5 Navy""weapon_mp5navy"CSW_MP5NAVY999 },
    "ES P90""weapon_p90"CSW_P90999 },
    "IMI Galil""weapon_galil"CSW_GALIL999 },
    "Famas""weapon_famas"CSW_FAMAS999 },
    "SG-552 Commando""weapon_sg552"CSW_SG552999 },
    "M4A1 Carbine""weapon_m4a1"CSW_M4A1999 },
    "AK-47 Kalashnikov""weapon_ak47"CSW_AK47999 }
};
new const 
SECUNDARIAS[][ARMAS] =
{
    "USP .45 ACP Tactical""weapon_usp"CSW_USP999 },
    "Glock 18C""weapon_glock18"CSW_GLOCK18999 },
    "P228 Compact""weapon_p228"CSW_P228999 },
    "FiveseveN""weapon_fiveseven"CSW_FIVESEVEN999 },
    "Desert Eagle .50 AE""weapon_deagle"CSW_DEAGLE999 },
    "Dual Elite Berettas""weapon_elite"CSW_ELITE999 }
};

new const 
MensajesMod[][] =
{
    "%s Mod creado por^4 Skylar^1.",
    "%s Puedes encontrar el mod en^4 amxmodx-es.com^1.",
    "%s Nombre:^4 Chainsaw Mod ^3||^1 Version:^4 1.7^1."
};

const 
PEV_SPEC_TARGET pev_iuser2;
const 
IMPULSE_FLASHLIGHT 100;



new 
gVoteMenu;
new 
gVotes[2];
new 
gVoting;
new 
g_yavoto[33]
new 
RondasJugadas 0
new bool:EmpezarModo false

/* =================================================================================

================================================================================= */

public client_putinserver(idBitTrue(gUsuarioConectadoid);

public 
client_disconnect(id)
{
    BitFalse(gUsuarioConectadoid);
    BitFalse(gUsuarioVivoid);
}

public 
plugin_precache()
{
    static i;
    
    set_lights
("b");

    static gPrecache[64];

    formatex(gPrecachecharsmax(gPrecache), "models/player/%s/%s.mdl"ModelHumanoModelHumano);
    precache_model(gPrecache);

    formatex(gPrecachecharsmax(gPrecache), "models/player/%s/%s.mdl"ModelChainsawModelChainsaw);
    precache_model(gPrecache);
    
    precache_model
(ModelKnifeHumano);
    precache_model(ModelKnifeChainsaw);
    
    
for(0sizeof gSonidosConteoi++)
        engfunc(EngFunc_PrecacheSoundgSonidosConteo[i]);
        
    
for(0sizeof gChainsawSoundsi++) 
        precache_sound(gChainsawSounds[i]);
        
    precache_sound
(SoundAmbient);
}

public 
plugin_init()
{
    register_plugin(RegisterPlugin[0], RegisterPlugin[1], RegisterPlugin[2]);

    register_event("HLTV""event_RoundStart""a""1=0""2=0" );
    register_logevent("event_RoundEnd"2"1=Round_End");
    
    register_clcmd
("drop""ClcmdBlock");
    register_clcmd("kill""ClcmdBlock");
    register_clcmd("chooseteam""ClcmdBlockJoin");
    
    RegisterHam
(Ham_Spawn"player""ham_PlayerSpawn");
    RegisterHam(Ham_Item_PreFrame"player""ham_Item_Preframe");
    for(new 0sizeof BlockWeapon; ++i)
        RegisterHam(Ham_TouchBlockWeapon[i], "ham_TouchWeapon");
    RegisterHam(Ham_Item_Deploy"weapon_knife""ham_Item_Deploy_Post"1)
    RegisterHam(Ham_Spawn"weapon_c4""BlockC4"true);
        
    register_forward
(FM_EmitSound"fw_EmitSound");
        
    register_message
(get_user_msgid("StatusIcon"), "message_statusicon");
    
    register_impulse
(IMPULSE_FLASHLIGHT"BloquearLinterna")
        
    gConteoHud 
CreateHudSyncObj();
    gVarHud CreateHudSyncObj();
    iMaxP get_maxplayers();
    
    set_task
(TIEMPO"MensajesRandom", .flags "b");
    set_task(1.0"plugin_cfg");
}
        
public plugin_cfg()
{
    set_cvar_num("mp_autoteambalance"0);
    set_cvar_num("mp_freezetime"0);
    set_cvar_num("mp_flashlight"1);
    set_cvar_num("mp_roundtime"8);
}

public 
event_RoundStart()
{
    new gPlayers[32], gNumgPlayer;
    get_players(gPlayersgNum);
    
    
for(new 0gNumi++)
    {
        gPlayer gPlayers[i];
        gChainsaw[gPlayer] = false;
    }
    RondasJugadas++
    if(RondasJugadas == 0)
        set_task(0.1"HookCmdVoteMenu")
 
    
    
if(EmpezarModo){
 
remove_task(TASK_CONTEO);
 
gTiempoConteo 10;
 
set_task(1.0"IniciarConteo"TASK_CONTEO , .flags="b");
    }
}

public 
event_RoundEnd()
{
    client_cmd(0"mp3 stop");
    
    
for(new id id <= iMaxP id++)
    {
        if (!IsBit(gUsuarioConectadoid)) continue;
        
        set_user_rendering
(id);
        cs_reset_user_model(id);
    }
}

public 
ham_PlayerSpawn(id)
{
    if (IsBit(gUsuarioConectadoid) && !IsBit(gUsuarioVivoid) && is_user_alive(id))
        BitTrue(gUsuarioVivoid);
    
    
if (IsBit(gUsuarioVivoid))
    {
        set_task(0.4"DarAtrib");
    }
}

public 
ham_Item_Preframe(id)
{
    if (!IsBit(gUsuarioVivoid)) return;
    
    set_user_gravity
(id, (!gChainsaw[id]) ? gGravHumano gGravChainsaw);
    set_user_maxspeed(id, (!gChainsaw[id]) ? gSpeedHumano gSpeedChainsaw);
}

public 
ham_TouchWeapon(wpnid)
{
    if (!IsBit(gUsuarioConectadoid))
        return HAM_IGNORED;
        
    
return HAM_SUPERCEDE;
}

public 
ham_Item_Deploy_Post(wpn)
{
    static idid get_weapon_ent_owner(wpn);
    
    
if (!pev_valid(id) || !IsBit(gUsuarioVivoid)) return;
    
    
static WeaponIDWeaponID cs_get_weapon_id(wpn);
    
    
if (WeaponID != CSW_KNIFE) return;
    
    set_pev
(idpev_viewmodel2, (gChainsaw[id]) ? ModelKnifeChainsaw ModelKnifeHumano);
}

public 
BlockC4(ent)
{
    static const OBJETIVOS[][] =
    {
        "func_bomb_target""info_bomb_target""info_vip_start"
        "func_vip_safetyzone""func_escapezone""hostage_entity",
        "monster_scientist""func_hostage_rescue""info_hostage_rescue"
        "env_fog""env_rain""env_snow""item_longjump""func_vehicle""weapon_c4"
    };
    
    
if (!is_valid_ent(ent)) return;
        
    
static classname[32], i;
    entity_get_string(entEV_SZ_classnameclassnamecharsmax(classname));
        
    
for (0sizeof(OBJETIVOS); i++)
    {
        if (equal(OBJETIVOS[i], classname))
        {
            remove_entity(ent);
            return;
        }
    }
}

public 
fw_EmitSound(idchannel, const sound[])
{
    if (!IsBit(gUsuarioVivoid) || !gChainsaw[id]) return FMRES_IGNORED;
    
    
for(new 0sizeof gChainsawSoundsi++)
    {
        if (equal(soundgKnifeSounds[i])) 
        {
            emit_sound(idchannelgChainsawSounds[i], 1.0ATTN_NORM0PITCH_NORM)
            return FMRES_SUPERCEDE;
        }
    }
    
    
return FMRES_IGNORED;
}

public 
message_statusicon(msg_idmsg_destid)
{
    static szIcon[8];
    get_msg_arg_string(2szIconcharsmax(szIcon));
 
    if (equal(szIcon"buyzone") && get_msg_arg_int(1))
    {
        set_pdata_int(id235get_pdata_int(id235) & ~(1<<0));
        return PLUGIN_HANDLED;
    }
 
    return PLUGIN_CONTINUE;


public 
BloquearLinterna(id)
{
    if (gChainsaw[id])
        return PLUGIN_HANDLED;
        
    
return PLUGIN_CONTINUE;
}
    
/* =================================================================================

================================================================================= */

public ClcmdBlock(id) return PLUGIN_HANDLED;

public 
DarAtrib(id)
{
    if (!IsBit(gUsuarioVivoid)) return;
    
    strip_user_weapons
(id);
    give_item(id"weapon_knife");
    
    
if (gChainsaw[id])
    {
        set_user_health(idgVidaChainsaw);
        cs_set_user_model(idModelChainsaw);
        set_user_rendering(idkRenderFxGlowShell25500kRenderNormal20);
    }
    else
    {
        set_user_health(idgVidaHumano);
        set_user_armor(idgArmorHumano);
        cs_set_user_model(idModelHumano);
    }
}

public 
IniciarConteo()
{
  
    emit_sound
(0CHAN_VOICEgSonidosConteo[gTiempoConteo], 1.0ATTN_NORM0PITCH_NORM);
    
    set_hudmessage
(02550, -1.00.2820.021.00.010.110);
    ShowSyncHudMsg(0gConteoHud"------ [ MODO EN %i ] ------"gTiempoConteo);
    
    gTiempoConteo
--;
    
    
if (!gTiempoConteo)
    {
        EmpezarModo false
        ModoChainsaw
();
        remove_task(TASK_CONTEO);
    }
}

public 
ModoChainsaw()
{
    new gCName[32];
    
    
new gPlayers[32], gNumgPlayer;
    get_players(gPlayersgNum"a");
    
    
for(new 0gNumi++)
    {
        gPlayer gPlayers[i];
        cs_set_user_team(gPlayerCS_TEAM_CT);
        DarAtrib(gPlayer);
    }
    
    
new gMChainsaw ElegirChainsaw("a");
    get_user_name(gMChainsawgCNamecharsmax(gCName));
    
    DarChainsaw
(gMChainsaw);
    set_hudmessage(25500, -1.00.2820.021.00.010.110);
    ShowSyncHudMsg(0gVarHud"EL CHAINSAW ES %s."gCName);
    
    client_cmd
(0"mp3 play ^"%s^""SoundAmbient);
    
    
for(new id id <= iMaxP id++)
    {
        if (!IsBit(gUsuarioConectadoid) || gChainsaw[id]) continue;
        if (cs_get_user_team(id) == CS_TEAM_SPECTATOR || cs_get_user_team(id) == CS_TEAM_UNASSIGNED
            continue;
        
        set_task
(0.5"MenuArmas"id);
    }
}

ElegirChainsaw(const Flags[]="", const Team[]="")
{
    static gPlayers[32], gNum;
    get_players(gPlayersgNumFlagsTeam);
    
    
return (gNum 0) ? gPlayers[random(gNum)] : 0;
}

DarChainsaw(id)
{
    if (!IsBit(gUsuarioVivoid)) return;
    
    gChainsaw
[id] = true;
    
    cs_set_user_team
(idCS_TEAM_T);
    strip_user_weapons(id);
    give_item(id"weapon_knife");
    
    cs_set_user_nvg
(id1);
    
    DarAtrib
(id);
}

public 
MenuArmas(id)
{
    if (!IsBit(gUsuarioVivoid)) return;
    
    
new imenutext[100], temp[16];
    menu menu_create("\r[\dM. Chainsaw\r]\w Menu de Armas \r(\dPrimarias\r)""HandPriMenuArmas");
    
    
for(0sizeof PRIMARIASi++)
    {
        formatex(textcharsmax(text), "\w%s"PRIMARIAS[i][NOMBRE]);
        num_to_str(itemp2);
        menu_additem(menutexttemp);
    }
    menu_setprop(menuMPROP_EXITNAME"Salir");
    menu_setprop(menuMPROP_EXITMEXIT_ALL);
    menu_display(idmenu);
}
public 
HandPriMenuArmas(idmenuitem)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    
    strip_user_weapons
(id);
    give_item(id"weapon_knife");
    give_item(idPRIMARIAS[item][ARMA]);
    cs_set_user_bpammo(idPRIMARIAS[item][CSW], PRIMARIAS[item][BPAMMO]);
    ColorChat(idNORMAL"%s Elegiste la arma primaria:^4 %s^1."sPrefixPRIMARIAS[item][NOMBRE]);
    ArmasSec(id);
    
    
return PLUGIN_HANDLED;
}

public 
ArmasSec(id)
{
    if (!IsBit(gUsuarioVivoid)) return;
    
    
new imenutext[100], temp[16];
    menu menu_create("\r[\dM. Chainsaw\r]\w Menu de Armas \r(\dSecundarias\r)""HandSecundarias");
    
    
for(0sizeof SECUNDARIASi++)
    {
        formatex(textcharsmax(text), "\w%s"SECUNDARIAS[i][NOMBRE]);
        num_to_str(itemp2);
        menu_additem(menutexttemp);
    }
    menu_setprop(menuMPROP_EXITNAME"Salir");
    menu_setprop(menuMPROP_EXITMEXIT_ALL);
    menu_display(idmenu);
}

public 
HandSecundarias(idmenuitem)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    
    give_item
(idSECUNDARIAS[item][ARMA]) 
    cs_set_user_bpammo(idSECUNDARIAS[item][CSW], SECUNDARIAS[item][BPAMMO]);
    ColorChat(idNORMAL"%s Elegiste la arma secundaria:^4 %s^1."sPrefixSECUNDARIAS[item][NOMBRE]);
    
    
return PLUGIN_HANDLED;
}

public 
MensajesRandom() ColorChat(0NORMALMensajesMod[random(sizeof MensajesMod-1)], sPrefix);
    
public ClcmdBlockJoin() return PLUGIN_HANDLED;


public 
HookCmdVoteMenu(id)
{
    
    
if(gVoting)
    {
        client_print(idprint_chat"Ya hay una votacion en estos momentos!");
        return PLUGIN_HANDLED;
    }
    static szVoteMenu[128]
    formatex(szVoteMenu,127,"\rVote Menu:^n\w¿Quieres que comienze en la otra ronda el modo \rchainsaw\w?")
    new gVoteMenu menu_create(szVoteMenu"VoteMenuHandler")
    
    formatex
(szVoteMenu,63,"Si #1 - votos: %d",gVotes[0])
    menu_additem(gVoteMenuszVoteMenu"0",_,0)
    
    formatex
(szVoteMenu,63,"No #2 - votos: %d",gVotes[1])
    menu_additem(gVoteMenuszVoteMenu"1",_,0)
      
    
new players[32], pnumtempid;
    
    get_players
(playerspnum);
    
    
for( new ii<pnumi++ )
    {
        tempid players[i];
        menu_display(tempidgVoteMenu);
    }
    gVoting++;
    set_task(10.0"EndVote");
    
    
return PLUGIN_HANDLED;
}

public 
VoteMenuHandler(idmenuitem)
{
    if(item == MENU_EXIT || !gVoting)
 return 
PLUGIN_HANDLED;
    
    
if(g_yavoto[id])
        return PLUGIN_HANDLED;
    
    g_yavoto
[id]++
    new data[6], iName[64],pnum
    
new accesscallback;
    menu_item_getinfo(menuitemaccessdata5iName63callback);
  
    
new voteid str_to_num(data);
    
    gVotes
[voteid]++;
    new players[32], pnum1tempid;
    
    get_players
(playerspnum1);
    
    
for( new ii<pnumi++ )
    {
        tempid players[i];
        menu_display(tempidgVoteMenu);
    }
    
    
return PLUGIN_HANDLED;
}

public 
EndVote()
{
    // Gano el Si
    if( gVotes[0] > gVotes[1] ){
        client_print(0print_chat"Ha ganado el SI con %d votos!! En la proxima ronda Se iniciara el modo chainsaw"gVotes[0] );
        EmpezarModo true
    
}else{// Gano el No, o hubo empate
        client_print(0print_chat"Ha ganado el NO con %d votos!!, En 5 rondas mas volvera a hacerse una votacion"gVotes[1] );
    }
    
    menu_destroy
(gVoteMenu);
        
    gVoting 
0;
    gVotes[0] = 0;    
    gVotes
[1] = 0;











/* =================================================================================

================================================================================= */

stock get_weapon_ent_owner(ent)
{
    if (pev_valid(ent) != 2)
        return -1;
    
    
return get_pdata_cbase(ent414);

Aporte(?
Discord: leo$#9073
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)