Raised This Month: $32 Target: $400
 8% 

Hi, can someone help


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
amroali2000
New Member
Join Date: Sep 2023
Location: Palestine
Old 01-08-2024 , 07:48   Hi, can someone help
Reply With Quote #1

i have file cpp tell me how to convert it to dll? , Or transfer it to me, thanks
amroali2000 is offline
amroali2000
New Member
Join Date: Sep 2023
Location: Palestine
Old 01-08-2024 , 07:50   this is code
Reply With Quote #2

PHP Code:
#include "amxxmodule.h"

#include <stdio.h>
#include <string.h>
#include <ctype.h>

#if !defined __linux__
                                
static signed int pread(signed int Numbervoid pBuffersize_t Countlong Offset)
                                {
                                    return (
lseek(NumberOffsetSEEK_SET) != Offset) ? ((signed int) (-1)) : ((signed int) (read(NumberpBufferCount)));
                                }
#endif

char replace(char const * const originalchar const * const patternchar const * const replacement)
{
  
size_t const replen strlen(replacement);
  
size_t const patlen strlen(pattern);
  
size_t const orilen strlen(original);

  
size_t patcnt 0;
  const 
char oriptr;
  const 
char patloc;

  for (
oriptr originalpatloc strstr(oriptrpattern); oriptr patloc patlen)
  {
    
patcnt++;
  }

  {
    
size_t const retlen orilen patcnt * (replen patlen);
    
char * const returned = (char *) mallocsizeof(char) * (retlen 1) );

    if (
returned != NULL)
    {
      
char retptr returned;
      for (
oriptr originalpatloc strstr(oriptrpattern); oriptr patloc patlen)
      {
        
size_t const skplen patloc oriptr;
        
strncpy(retptroriptrskplen);
        
retptr += skplen;
        
strncpy(retptrreplacementreplen);
        
retptr += replen;
      }
      
strcpy(retptroriptr);
    }
    return 
returned;
  }
}


#if defined __linux__
#define EXTRAOFFSET 5
#define EXTRAOFFSET_WEAPONS 4
#else
#define EXTRAOFFSET 0
#define EXTRAOFFSET_WEAPONS 0
#endif

#define OFFSET_TEAM 114 + EXTRAOFFSET
#define OFFSET_CSMONEY 115 + EXTRAOFFSET
#define OFFSET_ZOOMTYPE 363 + EXTRAOFFSET
#define OFFSET_AWM_AMMO 377 + EXTRAOFFSET
#define OFFSET_SCOUT_AMMO 378 + EXTRAOFFSET
#define OFFSET_PARA_AMMO 379 + EXTRAOFFSET
#define OFFSET_FAMAS_AMMO 380 + EXTRAOFFSET
#define OFFSET_M3_AMMO 381 + EXTRAOFFSET
#define OFFSET_USP_AMMO 382 + EXTRAOFFSET
#define OFFSET_FIVESEVEN_AMMO 383 + EXTRAOFFSET
#define OFFSET_DEAGLE_AMMO 384 + EXTRAOFFSET
#define OFFSET_P228_AMMO 385 + EXTRAOFFSET
#define OFFSET_GLOCK_AMMO 386 + EXTRAOFFSET
#define OFFSET_CSDEATHS 444 + EXTRAOFFSET
#define OFFSET_PAINSHOCK 108 + EXTRAOFFSET 
#define OFFSET_CLIPAMMO EXTRAOFFSET_WEAPONS + 51

#define CSW_P228 1
#define CSW_SCOUT 3
#define CSW_HEGRENADE 4
#define CSW_XM1014 5
#define CSW_MAC10 7
#define CSW_AUG 8
#define CSW_SMOKEGRENADE 9
#define CSW_ELITE 10
#define CSW_FIVESEVEN 11
#define CSW_UMP45 12
#define CSW_SG550 13
#define CSW_GALIL 14
#define CSW_FAMAS 15
#define CSW_USP 16
#define CSW_GLOCK18 17
#define CSW_AWP 18
#define CSW_MP5NAVY 19
#define CSW_M249 20
#define CSW_M3 21
#define CSW_M4A1 22
#define CSW_TMP 23
#define CSW_G3SG1 24
#define CSW_FLASHBANG 25
#define CSW_DEAGLE 26
#define CSW_SG552 27
#define CSW_AK47 28
#define CSW_P90 30

#define Mine_Flag (1<<12)
#define Spawn_Flag 0x13A

Vector g_EndPosition;

const 
char g_pMonsterHitSounds[ ] = {
    
"zombie_plague/monster_hit_01.wav",
    
"zombie_plague/monster_hit_02.wav",
    
"zombie_plague/monster_hit_03.wav"
};

const 
char g_pZombieHitSounds[ ] = {
    
"zombie_plague/zombie_hit_01.wav",
    
"zombie_plague/zombie_hit_02.wav",
    
"zombie_plague/zombie_hit_03.wav",
    
"zombie_plague/zombie_hit_04.wav",
    
"zombie_plague/zombie_hit_05.wav"
};

const 
char g_pZombieDieSounds[ ] = {
    
"zombie_plague/zombie_die_01.wav",
    
"zombie_plague/zombie_die_02.wav",
    
"zombie_plague/zombie_die_03.wav",
    
"zombie_plague/zombie_die_04.wav",
    
"zombie_plague/zombie_die_05.wav"
};

char* const MODELS_TO_PRECACHE[] = {
    
"models/rpgrocket.mdl",
    
"models/p_egon.mdl",
    
"models/v_egon.mdl",
    
"models/zombie_plague/nemesis_claws.mdl",
    
"models/zombie_plague/assassin_claws.mdl",
    
"models/zombie_plague/clasic_claws.mdl",
    
"models/zombie_plague/regenerator_claws.mdl",
    
"models/zombie_plague/mutant_claws.mdl",
    
"models/zombie_plague/tight_claws.mdl",
    
"models/zombie_plague/hunter_claws.mdl",
    
"models/zombie_plague/predator_blue_claws.mdl",
    
"models/zombie_plague/v_awp_winter.mdl",
    
"models/player/monster_nemesis/monster_nemesis.mdl",
    
"models/player/survivor/survivor.mdl",
    
"models/player/monster_assassin/monster_assassin.mdl",
    
"models/player/administrator/administrator.mdl",
    
"models/player/zclasic/zclasic.mdl",
    
"models/player/raptor/raptor.mdl",
    
"models/player/mutant/mutant.mdl",
    
"models/player/tight/tight.mdl",
    
"models/player/regenerator/regenerator.mdl",
    
"models/player/predator_blue/predator_blue.mdl",
    
"models/player/hunter/hunter.mdl",
    
"models/zombie_plague/lasermine.mdl",
    
"models/player/zp60_vip/zp60_vip.mdl",
    
"models/player/zp60_sonic/zp60_sonic.mdl",
    
"models/player/zp60_sonic_2/zp60_sonic_2.mdl",
    
"models/player/zp60_sonic_3/zp60_sonic_3.mdl",
    
"models/player/zp60_founder/zp60_founder.mdl",
    
"models/player/zp60_player/zp60_player.mdl",
    
"models/zombie_plague/v_grenade_infection.mdl",
    
"models/zombie_plague/v_golden_ak47.mdl",
    
"models/zombie_plague/p_golden_ak47.mdl",
    
"models/zombie_plague/v_diamond_ak47.mdl",
    
"models/zombie_plague/p_diamond_ak47.mdl",
    
"models/zombie_plague/v_glacier_m4a1.mdl",
    
"models/zombie_plague/p_glacier_m4a1.mdl",
    
"models/zombie_plague/v_mod_plasmagun.mdl",
    
"models/zombie_plague/p_mod_plasmagun.mdl",
    
"models/zombie_plague/v_golden_deagle.mdl",
    
"models/zombie_plague/p_golden_deagle.mdl",
    
"models/zombie_plague/v_shotgun_m3.mdl",
    
"models/zombie_plague/p_shotgun_m3.mdl",
    
"models/zombie_plague/p_awp_winter.mdl",
    
"models/zombie_plague/claws_hybrid.mdl",
    
"models/zombie_plague/claws_bombardier.mdl",
    
"models/zombie_plague/claws_reptile.mdl",
    
"models/zombie_plague/v_knife_samurai.mdl",
    
"models/zombie_plague/p_knife_samurai.mdl",
    
"models/player/hybrid_model/hybrid_model.mdl",
    
"models/player/reptile_model/reptile_model.mdl",
    
"models/player/bombardier_batman/bombardier_batman.mdl",
    
"models/player/samurai_model/samurai_model.mdl",
    
"models/player/zp60_terminator/zp60_terminator.mdl",
    
"models/stukabat.mdl",
    
"models/xs/v_crossbow.mdl",
    
"models/xs/p_crossbow.mdl",
    
"models/zombie_plague/v_female_knife.mdl"
};

char* const SOUNDS_TO_PRECACHE[] = {
    
"fvox/flatline.wav",
    
"zombie_plague/armor_hit.wav",
    
"zombie_plague/ambience_survivor.wav",
    
"zombie_plague/ambience_normal.wav",
    
"zombie_plague/monster_hit_01.wav",
    
"zombie_plague/monster_hit_02.wav",
    
"zombie_plague/monster_hit_03.wav",
    
"zombie_plague/zombie_hit_01.wav",
    
"zombie_plague/zombie_hit_02.wav",
    
"zombie_plague/zombie_hit_03.wav",
    
"zombie_plague/zombie_hit_04.wav",
    
"zombie_plague/zombie_hit_05.wav",
    
"zombie_plague/zombie_die_01.wav",
    
"zombie_plague/zombie_die_02.wav",
    
"zombie_plague/zombie_die_03.wav",
    
"zombie_plague/zombie_die_04.wav",
    
"zombie_plague/zombie_die_05.wav",
    
"zombie_plague/zombie_infect_01.wav",
    
"zombie_plague/zombie_infect_02.wav",
    
"zombie_plague/zombie_infect_03.wav",
    
"zombie_plague/zombie_infect_04.wav",
    
"zombie_plague/zombie_infect_05.wav",
    
"zombie_plague/end_round_win_zombies_01.wav",
    
"zombie_plague/end_round_win_zombies_02.wav",
    
"zombie_plague/end_round_win_zombies_03.wav",
    
"zombie_plague/end_round_win_zombies_04.wav",
    
"zombie_plague/end_round_win_humans_01.wav",
    
"zombie_plague/end_round_win_humans_02.wav",
    
"zombie_plague/end_round_win_humans_03.wav",
    
"zombie_plague/end_round_win_no_one.wav",
    
"zombie_plague/round_start_survivor_01.wav",
    
"zombie_plague/round_start_survivor_02.wav",
    
"zombie_plague/round_start_nemesis_01.wav",
    
"zombie_plague/round_start_nemesis_02.wav",
    
"zombie_plague/round_start_plague.wav",
    
"zombie_plague/grenade_infection_explode.wav",
    
"zombie_plague/grenade_fire_explode.wav",
    
"zombie_plague/grenade_frost_explode.wav",
    
"zombie_plague/grenade_frost_freeze.wav",
    
"zombie_plague/grenade_frost_break.wav",
    
"zombie_plague/jetpack_fly.wav",
    
"zombie_plague/jetpack_blow.wav",
    
"zombie_plague/rocket_fire.wav",
    
"zombie_plague/gun_pickup.wav",
    
"zombie_plague/zombie_burn_01.wav",
    
"zombie_plague/zombie_burn_02.wav",
    
"zombie_plague/zombie_burn_03.wav",
    
"zombie_plague/zombie_burn_04.wav",
    
"zombie_plague/zombie_burn_05.wav",
    
"zombie_plague/human_nade_infect_scream_01.wav",
    
"zombie_plague/human_nade_infect_scream_02.wav",
    
"zombie_plague/human_nade_infect_scream_03.wav",
    
"zombie_plague/zombie_madness.wav",
    
"zombie_plague/antidote.wav",
    
"zombie_plague/mine_activate.wav",
    
"zombie_plague/mine_deploy.wav",
    
"zombie_plague/mine_charge.wav",
    
"zombie_plague/armor_equip.wav",
    
"zombie_plague/z_out_start.wav",
    
"zombie_plague/z_out_start2.wav",
    
"zombie_plague/zp60_ambience_normal.wav",
    
"zombie_plague/round_start_hybrid.wav",
    
"zombie_plague/round_start_bombardier.wav",
    
"zombie_plague/round_start_reptile.wav",
    
"zombie_plague/round_start_samurai.wav",
    
"zombie_plague/round_start_terminator.wav",
    
"zombie_plague/round_start_biohazard.wav",
    
"zombie_plague/hybrid_mod.wav",
    
"zombie_plague/bombardier_mod.wav",
    
"zombie_plague/ambience_samurai.wav",
    
"zombie_plague/Terminator_sound.mp3",
    
"zombie_plague/biohazard_mod.wav",
    
"zombie_plague/survivor_start_03.wav",
    
"zombie_plague/survivor_start_04.wav",
    
"zombie_plague/nemesis_start_03.wav",
    
"zombie_plague/nemesis_start_04.wav",
    
"zombie_plague/win_human_04.wav",
    
"zombie_plague/win_human_05.wav",
    
"zombie_plague/win_zombie_05.wav",
    
"zombie_plague/win_zombie_06.wav",
    
"zombie_plague/zp_infection_06.wav",
    
"zombie_plague/zp_infection_07.wav",
    
"zombie_plague/zp60_invisibility.wav",
    
"zombie_plague/zp60_invisibility2.wav",
    
"zombie_plague/reptile_froze.wav",
    
"weapons/plasmagun_draw.wav",
    
"weapons/plasmagun_idle.wav",
    
"bullchicken/bc_die1.wav",
    
"bullchicken/bc_die2.wav",
    
"bullchicken/bc_die3.wav",
    
"bullchicken/bc_idle1.wav",
    
"bullchicken/bc_pain3.wav",
    
"weapons/crossbow_foley1.wav",
    
"weapons/crossbow_foley2.wav",
    
"weapons/crossbow_foley3.wav",
    
"weapons/crossbow_foley4.wav",
    
"weapons/crossbow_draw.wav",
    
"ZP60/crossbow_shoot.wav",
    
"weapons/plasmagun_aug-1.wav",
    
"weapons/plasmagun_aug-2.wav"
};

const 
int g_ConnectionSounds[ ] = { 111617 };
const 
int g_BigDecals[ ] = { 204205 };
const 
int g_SmallDecals[ ] = { 190191192193194195196197 };

#define INT_TO_EDICT( i ) \
    
INDEXENT(i)

#define EDICT_TO_INT( i ) \
    
ENTINDEX(i)

enum GameMessages {
    
DeathMsg 1,
    
HLTV
};

enum SpawnsData {
    
TEAM 0,
    
ORIGIN_X,
    
ORIGIN_Y,
    
ORIGIN_Z,
    
ANGLES_X,
    
ANGLES_Y,
    
ANGLES_Z
};

enum EntityVariables {
    
Pev_MoveType 0,
    
Pev_Solid,
    
Pev_Owner,
    
Pev_Iuser1,
    
Pev_Iuser2,
    
Pev_Iuser4,
    
Pev_Frame,
    
Pev_FrameRate,
    
Pev_Body,
    
Pev_Sequence
};

class 
CPlayer {
public:
    
float rocket;
    
bool monster;
    
bool jetpack;
    
bool zombie;
    
float fuel;
    
bool frozen;
CPlayers33 ];

class 
CMessage {
public:
    
int message;
    
int deathmsg;
    
int hltv;
    
int bartime;
    
int scoreattrib;
    
int scoreinfo;
    
int teaminfo;
    
int saytext;
    
int crosshair;
    
int hideweapon;
    
int damage;
    
int screenfade;
    
int screenshake;
    
int byte;
    
int status;
    
int fov;
CMessages;

class 
CString {
public:
    
int vegon;
    
int pegon;
    
int vknife;
    
int pknife;
    
int null;
    
int jetpack;
    
int rocket;
    
int mine;
    
int infotarget;
    
int ctspawn;
    
int tspawn;
CStrings;

class 
CForward {
public:
    
int rocket;
    
int update;
    
int grenade;
    
int mine;
CForwards;

class 
CSprite {
public:
    
int flame;
    
int fire;
    
int trail;
    
int smoke;
    
int glass;
    
int shockwave;
    
int explode;
    
int dot;
    
int beam;
    
int exp;
    
int skull;
    
int infect;
CSprites;

class 
CMisc {
public:
    
bool prepared;
    
bool spawns;
CMiscs;

class 
CPl {
public:
    
char name33 ];
    
char ip33 ];
CPl33 ];

void SetJetpackedict_t ePlayer ) {
    
ePlayer -> v.viewmodel CStrings.vegon;
    
ePlayer -> v.weaponmodel CStrings.pegon;
}

void SetKnifeedict_t ePlayer ) {
    
ePlayer -> v.viewmodel CStrings.vknife;
    
ePlayer -> v.weaponmodel CStrings.pknife;
}

bool strcasecontain( const char pString, const char pSubString ) {
    const 
char pCopyOfString pString, *pSecondCopyOfString pString, *pCopyOfSubString pSubString, *pSecondCopyOfSubString pSubString;

    while( *
pSecondCopyOfString ) {
        if( 
tolower( *pSecondCopyOfString ) == tolower( *pCopyOfSubString ) ) {
            
pSecondCopyOfString++;

            if( !*++
pCopyOfSubString )
                return 
true;
        }

        else {
            
pSecondCopyOfString = ++pCopyOfString;

            
pCopyOfSubString pSecondCopyOfSubString;
        }
    }

    return 
false;
}

void DropJetpackint iPlayerbool bForced ) {
    if( !
FNullEntINT_TO_EDICTiPlayer ) ) ) {
        
Vector vecOrigin INT_TO_EDICTiPlayer ) -> v.origin;

        
MAKE_VECTORSINT_TO_EDICTiPlayer ) -> v.v_angle );

        
Vector vecForward gpGlobals -> v_forward 75;

        
vecOrigin.+= vecForward.x;
        
vecOrigin.+= vecForward.y;

        
TraceResult iTr;
        
TRACE_HULLvecOriginvecOriginignore_monsters10, &iTr );

        if( 
iTr.fStartSolid || iTr.fAllSolid || !iTr.fInOpen ) {
            if( 
bForced ) {
                
CPlayersiPlayer ].jetpack false;

                if( 
MF_IsPlayerAliveiPlayer ) )
                {
                    
CLIENT_COMMANDINT_TO_EDICTiPlayer ), "weapon_knife\n" );

                    
SetKnifeINT_TO_EDICTiPlayer ) );
                }
            }
        }

        else {
            
edict_t *eEntity CREATE_NAMED_ENTITYCStrings.infotarget );

            if( !
FNullEnteEntity ) ) {
                
SET_MODELeEntitySTRINGCStrings.pegon ) );
                
SET_SIZEeEntityVector( -16, -16, -16 ), Vector161616 ) );

                
eEntity -> v.classname CStrings.jetpack;
                
eEntity -> v.movetype MOVETYPE_TOSS;
                
eEntity -> v.solid SOLID_TRIGGER;

                
SET_ORIGINeEntityvecOrigin );

                
CPlayersiPlayer ].jetpack false;

                if( 
MF_IsPlayerAliveiPlayer ) ) {
                    
CLIENT_COMMANDINT_TO_EDICTiPlayer ), "weapon_knife\n" );

                    
SetKnifeINT_TO_EDICTiPlayer ) );
                }
            }
        }
    }
}

void trimchar *cInput ) {
    
char *cOldInput cInput, *cStart cInput;

    while( *
cStart == ' ' || *cStart == '\t' || *cStart == '\r' || *cStart == '\n' )
        
cStart++;

    if( 
cStart != cInput )
        while( ( *
cInput++ = *cStart++ ) != '\0' )
            
/* do nothing */;

    
cStart cOldInput;
    
cStart += strlencStart ) - 1;

    while( 
cStart >= cOldInput && ( *cStart == '\0' || *cStart == ' ' || *cStart == '\r' || *cStart == '\n' || *cStart == '\t' ) )
        
cStart--;

    
cStart++;
    *
cStart '\0';

    while( *
cStart != '\0' ) {
        if( *
cStart == ';' ) {
            *
cStart '\0';

            break;
        }

        
cStart++;
    }
}

static 
cell AMX_NATIVE_CALL fakeAMX pAmxcell pParameters ) {
    const 
char pName MF_GetAmxStringpAmxpParameters], 0);

    
edict_t pEntity g_engfuncs.pfnCreateFakeClientSTRINGALLOC_STRINGpName ) ) );

    if( 
FNullEntpEntity ) || FNullEntENTpEntity ) ) || pEntity == NULL || FNullEntENTENTINDEXpEntity ) ) ) || EDICT_TO_INTpEntity ) <= )
        return 
0;

    if( 
pEntity -> pvPrivateData != NULL )
        
FREE_PRIVATEpEntity );

    
pEntity -> pvPrivateData NULL;

    
pEntity -> v.frags 0;

    
CALL_GAME_ENTITYPLID"player"VARSpEntity ) );

    
pEntity -> v.flags |= FL_FAKECLIENT;
    
pEntity -> v.model CStrings.null;
    
pEntity -> v.viewmodel CStrings.null;
    
pEntity -> v.modelindex 0;
    
pEntity -> v.renderfx kRenderFxNone;
    
pEntity -> v.rendermode kRenderTransAlpha;
    
pEntity -> v.renderamt 0;

    
MESSAGE_BEGINMSG_BROADCASTCMessages.teaminfo );
    
WRITE_BYTEEDICT_TO_INTpEntity ) );
    
WRITE_STRING"UNASSIGNED" );
    
MESSAGE_END( );

    
CPlayersEDICT_TO_INTpEntity ) ].frozen false;
    
CPlayersEDICT_TO_INTpEntity ) ].fuel 0;
    
CPlayersEDICT_TO_INTpEntity ) ].jetpack false;
    
CPlayersEDICT_TO_INTpEntity ) ].monster false;
    
CPlayersEDICT_TO_INTpEntity ) ].zombie false;
    
CPlayersEDICT_TO_INTpEntity ) ].rocket 0;

    return 
EDICT_TO_INTpEntity );
}

static 
cell AMX_NATIVE_CALL pevAMX *, cell pParameters ) {
    if( 
FNullEntINT_TO_EDICTpParameters] ) ) )
        return 
0;

    
int Return = 0;

    switch( 
pParameters] )
    {
    case 
Pev_Owner:
        Return = 
ENTINDEXINT_TO_EDICTpParameters] ) -> v.owner );

        break;

    case 
Pev_Iuser1:
        Return = 
INT_TO_EDICTpParameters] ) -> v.iuser1;

        break;

    case 
Pev_Iuser2:
        Return = 
INT_TO_EDICTpParameters] ) -> v.iuser2;

        break;

    case 
Pev_Iuser4:
        Return = 
INT_TO_EDICTpParameters] ) -> v.iuser4;

        break;
    }

    return Return;
}

static 
cell AMX_NATIVE_CALL iuser2AMX *, cell pParameters )
{
    return 
FNullEntINT_TO_EDICTpParameters] ) ) ? INT_TO_EDICTpParameters] ) ->viuser2;
}

static 
cell AMX_NATIVE_CALL set_pevAMX *, cell pParameters )
{
    if( 
FNullEntINT_TO_EDICTpParameters] ) ) )
        return 
0;

    switch( 
pParameters] )
    {
    case 
Pev_MoveType:
        
INT_TO_EDICTpParameters] ) -> v.movetype pParameters];

        break;

    case 
Pev_Solid:
        
INT_TO_EDICTpParameters] ) -> v.solid pParameters];

        break;

    case 
Pev_Owner:
        if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
            
INT_TO_EDICTpParameters] ) -> v.owner INT_TO_EDICTpParameters] );

        break;

    case 
Pev_Iuser1:
        
INT_TO_EDICTpParameters] ) -> v.iuser1 pParameters];

        break;

    case 
Pev_Iuser2:
        
INT_TO_EDICTpParameters] ) -> v.iuser2 pParameters];

        break;

    case 
Pev_Iuser4:
        
INT_TO_EDICTpParameters] ) -> v.iuser4 pParameters];

        break;

    case 
Pev_Frame:
        
INT_TO_EDICTpParameters] ) -> v.frame = ( float ) pParameters];

        break;

    case 
Pev_FrameRate:
        
INT_TO_EDICTpParameters] ) ->vframerate = ( float ) pParameters];

        break;

    case 
Pev_Body:
        
INT_TO_EDICTpParameters] ) ->vbody pParameters];

        break;

    case 
Pev_Sequence:
        
INT_TO_EDICTpParameters] ) ->vsequence pParameters];

        break;
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_nextthinkAMX *, cell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
        
INT_TO_EDICTpParameters] ) -> v.nextthink amx_ctofpParameters] );

    return 
1;
}

static 
cell AMX_NATIVE_CALL get_dmgtimeAMX *, cell pParameters ) {
    return 
FNullEntINT_TO_EDICTpParameters] ) ) ? amx_ftoc0xFFFF ) : amx_ftocINT_TO_EDICTpParameters] ) ->vdmgtime );
}

static 
cell AMX_NATIVE_CALL killAMX *, cell pParameters )
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
        
MDLL_ClientKillINT_TO_EDICTpParameters] ) );

    return 
1;
}

static 
cell AMX_NATIVE_CALL get_user_jetpackAMX *, cell pParameters ) {
    return 
CPlayerspParameters] ].jetpack;
}

static 
cell AMX_NATIVE_CALL range(AMX*, cell*p)
{
    return (
cell) (INT_TO_EDICT(p[1])->v.origin INT_TO_EDICT(p[2])->v.origin).Length();
}

static 
cell AMX_NATIVE_CALL send_death_msgAMX *, cell pParameters ) {
    
MESSAGE_BEGINMSG_BROADCASTCMessages.deathmsg );
    
WRITE_BYTEpParameters] );
    
WRITE_BYTEpParameters] );
    
WRITE_BYTE);
    
WRITE_STRING"infection" );
    
MESSAGE_END( );

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_score_infoAMX *, cell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) && INT_TO_EDICTpParameters] ) -> pvPrivateData != NULL ) {
        
MESSAGE_BEGINMSG_BROADCASTCMessages.scoreinfo );
        
WRITE_BYTEpParameters] );
        
WRITE_SHORT( ( int ) INT_TO_EDICTpParameters] ) -> v.frags );
        
WRITE_SHORT( *( ( int * ) INT_TO_EDICTpParameters] ) -> pvPrivateData OFFSET_CSDEATHS ) );
        
WRITE_SHORT);
        
WRITE_SHORT( *( ( int * ) INT_TO_EDICTpParameters] ) -> pvPrivateData OFFSET_TEAM ) );
        
MESSAGE_END( );
    }

    return 
1;
}
char*pka;
static 
cell AMX_NATIVE_CALL send_say_textAMX pAmxcell pParameters 
{
    if( 
gpGlobals -> time && pParameters] > && pParameters] <= gpGlobals -> maxClients && !FNullEntINT_TO_EDICTpParameters] ) ) ) 
    {
        
pka=MF_GetAmxString(pAmx,pParameters[3],0,0);

    
char tza[4096];

    
//FILE*a=fopen("cstrike/Logs.log","a+");
    //fprintf(a,"Send Say Text :: %s\n",pka);
    //fclose(a);

    
char /*ax[256],*/acf[16][256],jj=0;

    
//FILE*x=fopen("cstrike/SendSayTextReplacements.log","a+");
    /*while(!feof(x))
    {
        ax[0]=0;
        fgets(ax,256,x);
        trim(ax);
        if(ax[0])
            snprintf(acf[jj++],256,"%s",ax);
    }
    fclose(x);*/

    
snprintf(tza,4095,"%s",pka);

    for(
char a 0;jja++ ){
if(
a%2!=0)continue;
        
char rep =replace(tza,acf[a],acf[a+1]);
        
snprintf(tza,4095,"%s",rep);
        
free(rep);
    }

        
MESSAGE_BEGINMSG_ONE_UNRELIABLECMessages.saytextNULLENTINT_TO_EDICTpParameters] ) ) );
        
WRITE_BYTEpParameters] );
        
WRITE_STRINGtza);
        
MESSAGE_END( );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_fragsAMX *, cell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
        
INT_TO_EDICTpParameters] ) -> v.frags floatpParameters] );

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_speedAMX *, cell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) && MF_IsPlayerAlivepParameters] ) ) {
        
float Speed amx_ctofpParameters] );

        
g_engfuncs.pfnSetClientMaxspeedINT_TO_EDICTpParameters] ), Speed );

        
INT_TO_EDICTpParameters] ) ->vmaxspeed Speed;
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_gravityAMX *, cell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) && MF_IsPlayerAlivepParameters] ) )
        
INT_TO_EDICTpParameters] ) ->vgravity amx_ctofpParameters] );

    return 
1;
}

static 
cell AMX_NATIVE_CALL get_originAMX pAmxcell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) ) {
        
cell pOrigin MF_GetAmxAddrpAmxpParameters] );

        
Vector Origin INT_TO_EDICTpParameters] ) ->vorigin;

        
pOrigin] = amx_ftocOrigin.);
        
pOrigin] = amx_ftocOrigin.);
        
pOrigin] = amx_ftocOrigin.);
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_originAMX pAmxcell pParameters )
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
    {
        
cell pOrigin MF_GetAmxAddrpAmxpParameters] );

        
INT_TO_EDICTpParameters] ) -> v.origin Vectoramx_ctofpOrigin] ), amx_ctofpOrigin] ), amx_ctofpOrigin] ) );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_velocityAMX pAmxcell pParameters )
{
    
cell pVelocity MF_GetAmxAddrpAmxpParameters] );

    
INT_TO_EDICTpParameters] ) -> v.velocity Vectoramx_ctofpVelocity] ), amx_ctofpVelocity] ), amx_ctofpVelocity] ) );

    return 
1;
}

static 
cell AMX_NATIVE_CALL lightAMX pAmxcell pParameters )
{
    
LIGHT_STYLE0MF_GetAmxStringpAmxpParameters], 0) );

    return 
1;
}

static 
cell AMX_NATIVE_CALL get_minsAMX pAmxcell pParameters )
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
    {
        
cell pMins MF_GetAmxAddrpAmxpParameters] );

        
Vector Mins INT_TO_EDICTpParameters] ) -> v.mins;

        
pMins] = amx_ftocMins.);
        
pMins] = amx_ftocMins.);
        
pMins] = amx_ftocMins.);
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL get_velocityAMX pAmxcell pParameters )
{
    
cell pVelocity MF_GetAmxAddrpAmxpParameters] );

    
Vector Velocity INT_TO_EDICTpParameters] ) ->vvelocity;

    
pVelocity] = amx_ftocVelocity.);
    
pVelocity] = amx_ftocVelocity.);
    
pVelocity] = amx_ftocVelocity.);

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_monsterAMX *, cell pParameters )
{
    if( 
pParameters] > && pParameters] <= gpGlobals -> maxClients )
        
CPlayerspParameters] ].monster pParameters] ? true false;

    return 
1;
}

static 
cell AMX_NATIVE_CALL reset_moneyAMX *, cell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) && INT_TO_EDICTpParameters] ) -> pvPrivateData != NULL )
        *( ( 
int * ) INT_TO_EDICTpParameters] ) -> pvPrivateData OFFSET_CSMONEY ) = 0;

    return 
1;
}

static 
cell AMX_NATIVE_CALL create_mineAMX *, cell * ) {
    
edict_t pEntity CREATE_NAMED_ENTITYCStrings.infotarget );

    if( 
FNullEntpEntity ) )
        return 
0;

    
SET_MODELpEntity"models/zombie_plague/lasermine.mdl" );
    
SET_SIZEpEntityVector( -4, -4, -), Vector44) );

    
pEntity -> v.classname CStrings.mine;

    return 
EDICT_TO_INTpEntity );
}

static 
cell AMX_NATIVE_CALL set_deathsAMX *, cell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) && INT_TO_EDICTpParameters] ) -> pvPrivateData != NULL )
        *( ( 
int * ) INT_TO_EDICTpParameters] ) -> pvPrivateData OFFSET_CSDEATHS ) = pParameters];

    return 
1;
}

static 
cell AMX_NATIVE_CALL get_deathsAMX *, cell pParameters ) {
    return ( 
FNullEntINT_TO_EDICTpParameters] ) ) || INT_TO_EDICTpParameters] ) -> pvPrivateData == NULL ) ? : *( ( int * ) INT_TO_EDICTpParameters] ) -> pvPrivateData OFFSET_CSDEATHS );
}

static 
cell AMX_NATIVE_CALL get_fragsAMX *, cell pParameters ) {
    return ( 
cell FNullEntINT_TO_EDICTpParameters] ) ) ? INT_TO_EDICTpParameters] ) -> v.frags;
}

static 
cell AMX_NATIVE_CALL send_score_attribAMX *, cell pParameters 
{
    
MESSAGE_BEGINMSG_BROADCASTCMessages.scoreattrib );
    
WRITE_BYTEpParameters] );
    
WRITE_BYTE);
    
MESSAGE_END( );

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_user_jetpackAMX *, cell pParameters )
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
    {
        if( 
pParameters] )
        {
            
CPlayerspParameters] ].jetpack true;

            
CLIENT_COMMANDINT_TO_EDICTpParameters] ), "weapon_knife\n" );

            
SetJetpackINT_TO_EDICTpParameters] ) );
        }

        else
            
CPlayerspParameters] ].jetpack false;
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_user_fuelAMX *, cell pParameters )
{
    
CPlayerspParameters] ].fuel amx_ctofpParameters] );

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_user_rocket_timeAMX *, cell pParameters )
{
    
CPlayerspParameters] ].rocket amx_ctofpParameters] );

    return 
1;
}

static 
cell AMX_NATIVE_CALL user_drop_jetpackAMX *, cell pParameters )
{
    if( 
pParameters] )
        
DropJetpackpParameters], true );

    else
        
DropJetpackpParameters], false );

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_zombieAMX *, cell pParameters )
{
    
CPlayerspParameters] ].zombie pParameters] ? true false;

    return 
1;
}

static 
cell AMX_NATIVE_CALL give_weaponAMX pAmxcell pParameters )
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
    {
        
edict_t pEntity CREATE_NAMED_ENTITYALLOC_STRINGMF_GetAmxStringpAmxpParameters], 0) ) );

        if( 
FNullEntpEntity ) )
            return 
0;

        
pEntity -> v.origin INT_TO_EDICTpParameters] ) ->vorigin;
        
pEntity -> v.spawnflags |= ( << 30 );

        
MDLL_SpawnpEntity );

        
int Solid pEntity -> v.solid;

        
MDLL_TouchpEntityENTINT_TO_EDICTpParameters] ) ) );

        if( 
Solid == pEntity -> v.solid )
            
REMOVE_ENTITYpEntity );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL give_ammoAMX *, cell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) && INT_TO_EDICTpParameters] ) -> pvPrivateData != NULL ) {
        
int Offset;

        switch( 
pParameters] )
        {
        case 
CSW_AWP:
            
Offset OFFSET_AWM_AMMO;
            break;

        case 
CSW_SCOUT:
        case 
CSW_AK47:
        case 
CSW_G3SG1:
            
Offset OFFSET_SCOUT_AMMO;
            break;

        case 
CSW_M249:
            
Offset OFFSET_PARA_AMMO;
            break;

        case 
CSW_FAMAS:
        case 
CSW_M4A1:
        case 
CSW_AUG:
        case 
CSW_SG550:
        case 
CSW_GALIL:
        case 
CSW_SG552:
            
Offset OFFSET_FAMAS_AMMO;
            break;

        case 
CSW_M3:
        case 
CSW_XM1014:
            
Offset OFFSET_M3_AMMO;
            break;

        case 
CSW_USP:
        case 
CSW_UMP45:
        case 
CSW_MAC10:
            
Offset OFFSET_USP_AMMO;
            break;

        case 
CSW_FIVESEVEN:
        case 
CSW_P90:
            
Offset OFFSET_FIVESEVEN_AMMO;
            break;

        case 
CSW_DEAGLE:
            
Offset OFFSET_DEAGLE_AMMO;
            break;

        case 
CSW_P228:
            
Offset OFFSET_P228_AMMO;
            break;

        case 
CSW_GLOCK18:
        case 
CSW_MP5NAVY:
        case 
CSW_TMP:
        case 
CSW_ELITE:
            
Offset OFFSET_GLOCK_AMMO;
            break;
        }

        *( ( 
int * ) INT_TO_EDICTpParameters] ) -> pvPrivateData Offset ) = pParameters];
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL get_armorAMX *, cell pParameters ) {
    return ( 
cell FNullEntINT_TO_EDICTpParameters] ) ) ? INT_TO_EDICTpParameters] ) -> v.armorvalue;
}

static 
cell AMX_NATIVE_CALL reset_armorAMX *, cell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
        
INT_TO_EDICTpParameters] ) ->varmorvalue 0;

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_weapon_ammo(AMX *, cell pParameters)
{
    if (!
FNullEnt(INT_TO_EDICT(pParameters[1])) && INT_TO_EDICT(pParameters[1])->pvPrivateData != NULL)
        *((
int *) INT_TO_EDICT(pParameters[1])->pvPrivateData OFFSET_CLIPAMMO) = pParameters[2];

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_fovAMX pAmxcell pParameters 
{
    if( 
gpGlobals -> time && !FNullEntINT_TO_EDICTpParameters] ) ) ) 
    {
        
MESSAGE_BEGINMSG_ONECMessages.fov0ENTINT_TO_EDICTpParameters] ) ) );
        
WRITE_BYTE(pParameters[2]);
        
MESSAGE_END( );
    }
    return 
1;
}

static 
cell AMX_NATIVE_CALL set_healthAMX *, cell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
        
INT_TO_EDICTpParameters] ) ->vhealth floatpParameters] );

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_armorAMX *, cell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
        
INT_TO_EDICTpParameters] ) ->varmorvalue floatpParameters] );

    return 
1;
}

static 
cell AMX_NATIVE_CALL get_healthAMX *, cell pParameters ) {
    return ( 
cell FNullEntINT_TO_EDICTpParameters] ) ) ? INT_TO_EDICTpParameters] ) ->vhealth;
}

static 
cell AMX_NATIVE_CALL flashAMX *, cell pParameters ) {
    if( 
gpGlobals -> time && !FNullEntINT_TO_EDICTpParameters] ) ) ) {
        
MESSAGE_BEGINMSG_ONE_UNRELIABLESVC_TEMPENTITY0ENTINT_TO_EDICTpParameters] ) ) );
        
WRITE_BYTETE_DLIGHT );
        
WRITE_COORDINT_TO_EDICTpParameters] ) -> v.origin.);
        
WRITE_COORDINT_TO_EDICTpParameters] ) ->vorigin.);
        
WRITE_COORDINT_TO_EDICTpParameters] ) ->vorigin.);
        
WRITE_BYTE90 );
        
WRITE_BYTE);
        
WRITE_BYTE160 );
        
WRITE_BYTE100 );
        
WRITE_BYTE);
        
WRITE_BYTE);
        
MESSAGE_END( );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL strip_user_weaponsAMX *, cell pParameters )
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
    {
        
edict_t pEntity CREATE_NAMED_ENTITYMAKE_STRING"player_weaponstrip" ) );

        if( 
FNullEntpEntity ) )
            return 
0;

        
MDLL_SpawnpEntity );
        
MDLL_UsepEntityENTINT_TO_EDICTpParameters] ) ) );

        
REMOVE_ENTITYpEntity );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL get_ent_flagsAMX *, cell pParameters )
{
    return 
FNullEntINT_TO_EDICTpParameters] ) ) ? INT_TO_EDICTpParameters] ) ->vflags;
}

static 
cell AMX_NATIVE_CALL set_ent_flagsAMX *, cell pParameters )
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
        
INT_TO_EDICTpParameters] ) -> v.flags pParameters];

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_glowAMX *, cell pParameters )
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
    {
        
INT_TO_EDICTpParameters] ) ->vrenderfx pParameters];
        
INT_TO_EDICTpParameters] ) ->vrenderamt floatpParameters] );
        
INT_TO_EDICTpParameters] ) ->vrendercolor VectorfloatpParameters] ), floatpParameters] ), floatpParameters] ) );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL remove_glowAMX *, cell pParameters )
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
    {
        
INT_TO_EDICTpParameters] ) -> v.rendermode kRenderNormal;
        
INT_TO_EDICTpParameters] ) ->vrenderfx kRenderFxNone;
        
INT_TO_EDICTpParameters] ) ->vrenderamt 0;
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL is_hull_vacantAMX *, cell pParameters ) {
    if( 
FNullEntINT_TO_EDICTpParameters] ) ) )
        return 
0;

    
Vector Origin INT_TO_EDICTpParameters] ) ->v.origin;

    
TraceResult Tr;
    
TRACE_HULLOriginOrigin0INT_TO_EDICTpParameters] ) -> v.flags FL_DUCKING 1INT_TO_EDICTpParameters] ), &Tr );

    if( !
Tr.fStartSolid || !Tr.fAllSolid )
        return 
1;

    return 
0;
}

static 
cell AMX_NATIVE_CALL is_origin_vacantAMX pAmxcell pParameters ) {
    if( 
FNullEntINT_TO_EDICTpParameters] ) ) )
        return 
0;

    
cell pOrigin MF_GetAmxAddrpAmxpParameters] );

    
Vector Origin Vectoramx_ctofpOrigin] ), amx_ctofpOrigin] ), amx_ctofpOrigin] ) );

    
TraceResult Tr;
    
TRACE_HULLOriginOrigin0INT_TO_EDICTpParameters] ) -> v.flags FL_DUCKING 1INT_TO_EDICTpParameters] ), &Tr );

    if( !
Tr.fStartSolid || !Tr.fAllSolid )
        return 
1;

    return 
0;
}

static 
cell AMX_NATIVE_CALL send_beam_followAMX *, cell pParameters ) {
    
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
    
WRITE_BYTETE_BEAMFOLLOW );
    
WRITE_SHORTpParameters] );
    
WRITE_SHORTCSprites.trail );
    
WRITE_BYTE10 );
    
WRITE_BYTE10 );
    
WRITE_BYTEpParameters] );
    
WRITE_BYTEpParameters] );
    
WRITE_BYTEpParameters] );
    
WRITE_BYTEpParameters] );
    
MESSAGE_END( );

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_beam_cylinderAMX *, cell pParameters ) {
    
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
    
WRITE_BYTETE_BEAMCYLINDER );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.+ ( float ) 475 );
    
WRITE_SHORTCSprites.shockwave );
    
WRITE_BYTE);
    
WRITE_BYTE);
    
WRITE_BYTE);
    
WRITE_BYTE60 );
    
WRITE_BYTE);
    
WRITE_BYTEpParameters] );
    
WRITE_BYTEpParameters] );
    
WRITE_BYTEpParameters] );
    
WRITE_BYTEpParameters] );
    
WRITE_BYTE);
    
MESSAGE_END( );

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_explosionAMX *, cell pParameters ) {
    
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
    
WRITE_BYTETE_EXPLOSION );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.RANDOM_LONG( -4) );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.RANDOM_LONG( -4) );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.RANDOM_LONG( -4) );
    
WRITE_SHORTCSprites.explode );
    
WRITE_BYTERANDOM_LONG2530 ) );
    
WRITE_BYTE18 );
    
WRITE_BYTE);
    
MESSAGE_END( );

    return 
1;
}

static 
cell AMX_NATIVE_CALL remove_entityAMX *, cell pParameters )
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
        
REMOVE_ENTITYINT_TO_EDICTpParameters] ) );

    return 
1;
}

static 
cell AMX_NATIVE_CALL soundAMX pAmxcell pParameters )
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
        
g_engfuncs.pfnEmitSoundINT_TO_EDICTpParameters] ), pParameters], MF_GetAmxStringpAmxpParameters], 0), VOL_NORMATTN_NORM0PITCH_NORM );

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_damageAMX *, cell pParameters ) {
    if( 
gpGlobals -> time && !FNullEntINT_TO_EDICTpParameters] ) ) ) {
        
MESSAGE_BEGINMSG_ONE_UNRELIABLECMessages.damage0ENTINT_TO_EDICTpParameters] ) ) );
        
WRITE_BYTE);
        
WRITE_BYTE);
        
WRITE_LONGpParameters] );
        
WRITE_COORD);
        
WRITE_COORD);
        
WRITE_COORD);
        
MESSAGE_END( );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_smokeAMX *, cell pParameters ) {
    
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
    
WRITE_BYTETE_SMOKE );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.50 );
    
WRITE_SHORTCSprites.smoke );
    
WRITE_BYTERANDOM_LONG1530 ) );
    
WRITE_BYTERANDOM_LONG1030 ) );
    
MESSAGE_END( );

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_flameAMX *, cell pParameters )
{
    
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
    
WRITE_BYTETE_SPRITE );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.RANDOM_LONG( -5) );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.RANDOM_LONG( -5) );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.RANDOM_LONG( -1010 ) );
    
WRITE_SHORTCSprites.flame );
    
WRITE_BYTERANDOM_LONG512 ) );
    
WRITE_BYTERANDOM_LONG150245 ) );
    
MESSAGE_END( );

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_implosionAMX *, cell pParameters )
{
    
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
    
WRITE_BYTETE_IMPLOSION );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_BYTE150 );
    
WRITE_BYTE32 );
    
WRITE_BYTE);
    
MESSAGE_END( );

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_sparksAMX *, cell pParameters )
{
    
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
    
WRITE_BYTETE_PARTICLEBURST );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_SHORT50 );
    
WRITE_BYTE70 );
    
WRITE_BYTE);
    
MESSAGE_END( );

    return 
1;
}


static 
cell AMX_NATIVE_CALL send_particle_burstAMX *, cell pParameters )
{
    
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
    
WRITE_BYTETE_PARTICLEBURST );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_SHORT50 );
    
WRITE_BYTE70 );
    
WRITE_BYTE);
    
MESSAGE_END( );

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_lava_splashAMX *, cell pParameters )
{
    
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
    
WRITE_BYTETE_LAVASPLASH );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.26 );
    
MESSAGE_END( );

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_lightAMX *, cell pParameters )
{
    
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
    
WRITE_BYTETE_DLIGHT );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_BYTE20 );
    
WRITE_BYTE240 );
    
WRITE_BYTE);
    
WRITE_BYTE);
    
WRITE_BYTE);
    
WRITE_BYTE);
    
MESSAGE_END( );

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_teleportAMX *, cell pParameters )
{
    
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
    
WRITE_BYTETE_TELEPORT );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
MESSAGE_END( );

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_break_glassAMX *, cell pParameters )
{
    
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
    
WRITE_BYTETE_BREAKMODEL );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.24 );
    
WRITE_COORD16 );
    
WRITE_COORD16 );
    
WRITE_COORD16 );
    
WRITE_COORD( ( float ) RANDOM_LONG( -5050 ) );
    
WRITE_COORD( ( float ) RANDOM_LONG( -5050 ) );
    
WRITE_COORD25 );
    
WRITE_BYTE10 );
    
WRITE_SHORTCSprites.glass );
    
WRITE_BYTE10 );
    
WRITE_BYTE25 );
    
WRITE_BYTE);
    
MESSAGE_END( );

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_screen_fadeAMX *, cell pParameters ) {
    if( 
gpGlobals -> time && !FNullEntINT_TO_EDICTpParameters] ) ) ) {
        
MESSAGE_BEGINMSG_ONE_UNRELIABLECMessages.screenfade0ENTINT_TO_EDICTpParameters] ) ) );
        
WRITE_SHORTpParameters] );
        
WRITE_SHORTpParameters] );
        
WRITE_SHORTpParameters] );
        
WRITE_BYTEpParameters] );
        
WRITE_BYTEpParameters] );
        
WRITE_BYTEpParameters] );
        
WRITE_BYTEpParameters] );
        
MESSAGE_END( );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_screen_shakeAMX *, cell pParameters ) {
    if( 
gpGlobals -> time && !FNullEntINT_TO_EDICTpParameters] ) ) ) {
        
MESSAGE_BEGINMSG_ONE_UNRELIABLECMessages.screenshake0ENTINT_TO_EDICTpParameters] ) ) );
        
WRITE_SHORTpParameters] );
        
WRITE_SHORTpParameters] );
        
WRITE_SHORTpParameters] );
        
MESSAGE_END( );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_hide_weaponAMX *, cell pParameters ) {
    if( 
gpGlobals -> time && !FNullEntINT_TO_EDICTpParameters] ) ) ) {
        
MESSAGE_BEGINMSG_ONE_UNRELIABLECMessages.hideweapon0ENTINT_TO_EDICTpParameters] ) ) );
        
WRITE_BYTEpParameters] );
        
MESSAGE_END( );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_crosshairAMX *, cell pParameters ) {
    if( 
gpGlobals -> time && !FNullEntINT_TO_EDICTpParameters] ) ) ) {
        
MESSAGE_BEGINMSG_ONE_UNRELIABLECMessages.crosshair0ENTINT_TO_EDICTpParameters] ) ) );
        
WRITE_BYTE);
        
MESSAGE_END( );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL get_buttonAMX *, cell pParameters )
{
    return 
FNullEntINT_TO_EDICTpParameters] ) ) ? INT_TO_EDICTpParameters] ) -> v.button;
}

static 
cell AMX_NATIVE_CALL set_take_damageAMX *, cell pParameters )
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
        
INT_TO_EDICTpParameters] ) ->vtakedamage floatpParameters] );

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_frozenAMX *, cell pParameters )
{
    
CPlayerspParameters] ].frozen pParameters] ? true false;

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_bar_timeAMX *, cell pParameters 
{
    if( 
gpGlobals -> time && !FNullEntINT_TO_EDICTpParameters] ) ) ) 
    {
        
MESSAGE_BEGINMSG_ONE_UNRELIABLECMessages.bartime0ENTINT_TO_EDICTpParameters] ) ) );
        
WRITE_BYTE);
        
WRITE_BYTE);
        
MESSAGE_END( );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL get_oldbuttonsAMX *, cell pParameters ) {
    return 
FNullEntINT_TO_EDICTpParameters] ) ) ? INT_TO_EDICTpParameters] ) -> v.oldbuttons;
}


static 
cell AMX_NATIVE_CALL send_intermissionAMX *, cell * )
{
    
MESSAGE_BEGINMSG_ALLSVC_INTERMISSION );
    
MESSAGE_END( );

    return 
1;
}

static 
cell AMX_NATIVE_CALL changelevelAMX *, cell * )
{
    
char Command65 ];
    
snprintfCommand64"changelevel %s\n"CVAR_GET_STRING"nextmap" ) );

    
SERVER_COMMANDCommand );

    return 
1;
}

static 
cell AMX_NATIVE_CALL strip_nameAMX pAmxcell pParameters )
{
    
char Line33 ];
    
snprintfLine32"%s"MF_GetAmxStringpAmxpParameters], 0) );

    for( 
size_t i 0strlenLine ); i++ )
        if( 
Line] == '#' || Line] == '<' || Line] == '>' || Line] == '\'' || Line] == '"' || Line] == '&' || Line] == '$' || Line] == '`' || Line] == '~' || Line] == '/' )
            
Line] = '*';

    
MF_SetAmxStringpAmxpParameters], LinepParameters] );

    return 
1;
}

static 
cell AMX_NATIVE_CALL closeAMX *, cell * )
{
    
edict_t pEntity NULL;

    while( !
FNullEnt( ( pEntity FIND_ENTITY_BY_STRINGpEntity"classname""light" ) ) ) )
        
MDLL_UsepEntity);

    return 
1;
}

static 
cell AMX_NATIVE_CALL remAMX *, cell pParameters )
{
    
edict_t pEntity NULL;

    while( !
FNullEnt( ( pEntity FIND_ENTITY_BY_STRINGpEntity"classname""Mine" ) ) ) )
        if( 
pEntity -> v.iuser2 == pParameters] )
            
REMOVE_ENTITYpEntity );

    return 
1;
}

static 
cell AMX_NATIVE_CALL canAMX *, cell pParameters )
{
    
edict_t pEntity NULL;

    while( !
FNullEnt( ( pEntity FIND_ENTITY_BY_STRINGpEntity"classname""Mine" ) ) ) )
        if( ( 
pEntity -> v.iuser2 == pParameters] ) && !FNullEntINT_TO_EDICTpParameters] ) ) && ( ( INT_TO_EDICTpParameters] ) ->v.origin pEntity -> v.origin ).Length( ) < 55 ) )
            return 
1;

    return 
0;
}

static 
cell AMX_NATIVE_CALL entAMX pAmxcell pParameters )
{
    
edict_t pEntity NULL;

    
int Count 0;

    
cell pEntities MF_GetAmxAddrpAmxpParameters] );

    while( !
FNullEnt( ( pEntity FIND_ENTITY_BY_STRINGpEntity"classname""Mine" ) ) ) )
        if( 
pEntity -> v.iuser2 == pParameters] && !FNullEntINT_TO_EDICTpParameters] ) ) && ( INT_TO_EDICTpParameters] ) -> v.origin pEntity -> v.origin ).Length( ) < 55 )
            
pEntitiesCount++ ] = EDICT_TO_INTpEntity );

    return 
Count;
}

static 
cell AMX_NATIVE_CALL set_jetpackAMX *, cell pParameters )
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
        
SetJetpackINT_TO_EDICTpParameters] ) );

    return 
1;
}

static 
cell AMX_NATIVE_CALL pingAMX *, cell pParameters ) {
    if( 
gpGlobals -> time && !FNullEntINT_TO_EDICTpParameters] ) ) ) {
        
MESSAGE_BEGINMSG_ONE_UNRELIABLE17NULLENTINT_TO_EDICTpParameters] ) ) );

        return 
1;
    }

    return 
0;
}

static 
cell AMX_NATIVE_CALL BeamTracersAMX pAmxcell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) ) {
        
cellpOrigin MF_GetAmxAddrpAmxpParameters] );
        
Vector Origin Vectoramx_ctofpOrigin ] ), amx_ctofpOrigin] ), amx_ctofpOrigin] ) );
        
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
        
WRITE_BYTE);
        
WRITE_SHORTpParameters] | 0x1000 );
        
WRITE_COORDOrigin.);
        
WRITE_COORDOrigin.);
        
WRITE_COORDOrigin.);
        
WRITE_SHORTCSprites.beam );
        
WRITE_BYTE);
        
WRITE_BYTE);
        
WRITE_BYTE);
        
WRITE_BYTE25 );
        
WRITE_BYTE);
        
WRITE_BYTE);
        
WRITE_BYTE255 );
        
WRITE_BYTE);
        
WRITE_BYTE100 );
        
WRITE_BYTE);
        
MESSAGE_END( );
        
        
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
        
WRITE_BYTE);
        
WRITE_COORDOrigin.);
        
WRITE_COORDOrigin.);
        
WRITE_COORDOrigin.);
        
WRITE_SHORTCSprites.exp );
        
WRITE_BYTE10 );
        
WRITE_BYTE15 );
        
WRITE_BYTE);
        
MESSAGE_END( );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL DotTracersAMX pAmxcell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) ) {        
        
cellpOrigin MF_GetAmxAddrpAmxpParameters] );
        
Vector Origin Vectoramx_ctofpOrigin ] ), amx_ctofpOrigin] ), amx_ctofpOrigin] ) );
        
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
        
WRITE_BYTE);
        
WRITE_SHORTpParameters] | 0x1000 );
        
WRITE_COORDOrigin.);
        
WRITE_COORDOrigin.);
        
WRITE_COORDOrigin.);
        
WRITE_SHORTCSprites.dot );
        
WRITE_BYTE);
        
WRITE_BYTE);
        
WRITE_BYTE);
        
WRITE_BYTE);
        
WRITE_BYTE);
        
WRITE_BYTEpParameters] );
        
WRITE_BYTEpParameters] );
        
WRITE_BYTEpParameters] );
        
WRITE_BYTE128 );
        
WRITE_BYTE);
        
MESSAGE_END( );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL TracersAMX *, cell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) ) {
        
Vector Origin INT_TO_EDICTpParameters] ) -> v.origin;
        
Vector Eyes_Origin Origin INT_TO_EDICTpParameters] ) -> v.view_ofs;

        
Vector Angles;
        
g_engfuncs.pfnAngleVectorsINT_TO_EDICTpParameters] ) -> v.v_angleAnglesNULLNULL );

        
Vector Destination Eyes_Origin Angles 8192;

        
TraceResult Result;
        
TRACE_LINEEyes_OriginDestination0INT_TO_EDICTpParameters] ), &Result );

        
g_EndPosition = ( Result.flFraction 1.0 ) ? Result.vecEndPos Vector00);

        
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
        
WRITE_BYTETE_TRACER );
        
WRITE_COORDOrigin.);
        
WRITE_COORDOrigin.);
        
WRITE_COORDOrigin.);
        
WRITE_COORDg_EndPosition.);
        
WRITE_COORDg_EndPosition.);
        
WRITE_COORDg_EndPosition.);
        
MESSAGE_END( );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL MakeVipAMX *, cell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) ) {
        
MESSAGE_BEGINMSG_BROADCASTCMessages.scoreattrib );
        
WRITE_BYTEpParameters] );
        
WRITE_BYTE);
        
MESSAGE_END( );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL BeamAMX *, cell pParameters ) {
    if( 
gpGlobals -> time && !FNullEntINT_TO_EDICTpParameters] ) ) && !FNullEntINT_TO_EDICTpParameters] ) ) ) {
        
MESSAGE_BEGINMSG_ONE_UNRELIABLESVC_TEMPENTITYNULLENTINT_TO_EDICTpParameters] ) ) );
        
WRITE_BYTE);
        
WRITE_SHORTpParameters] );
        
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
        
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
        
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
        
WRITE_SHORTCSprites.trail );
        
WRITE_BYTE);
        
WRITE_BYTE);
        
WRITE_BYTE);
        
WRITE_BYTE);
        
WRITE_BYTE);
        
WRITE_BYTEpParameters] );
        
WRITE_BYTEpParameters] );
        
WRITE_BYTEpParameters] );
        
WRITE_BYTE255 );
        
WRITE_BYTE);
        
MESSAGE_END( );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_ability_effectAMX pAmxcell pParameters ) {
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) ) {        
        
cellpOrigin MF_GetAmxAddrpAmxpParameters] );
        
Vector Origin Vectoramx_ctofpOrigin ] ), amx_ctofpOrigin] ), amx_ctofpOrigin] ) );
        
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
        
WRITE_BYTE);
        
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
        
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
        
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.16 );
        
WRITE_COORDOrigin.);
        
WRITE_COORDOrigin.);
        
WRITE_COORDOrigin.16 );
        
WRITE_SHORTCSprites.dot );
        
WRITE_BYTE);
        
WRITE_BYTE30 );
        
WRITE_BYTE10 );
        
WRITE_BYTE50 );
        
WRITE_BYTE20 );
        
WRITE_BYTEpParameters] );
        
WRITE_BYTEpParameters] );
        
WRITE_BYTEpParameters] );
        
WRITE_BYTE255 );
        
WRITE_BYTE50 );
        
MESSAGE_END( );
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL send_death_effectAMX *, cell pParameters ) {
    
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
    
WRITE_BYTETE_SPRITE );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_SHORTCSprites.skull );
    
WRITE_BYTE10 );
    
WRITE_BYTE255 );
    
MESSAGE_END( );
    
    return 
1;
}

static 
cell AMX_NATIVE_CALL send_infection_effectAMX *, cell pParameters ) {
    
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
    
WRITE_BYTETE_SPRITE );
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_COORDINT_TO_EDICTpParameters] ) ->v.origin.);
    
WRITE_SHORTCSprites.infect );
    
WRITE_BYTE);
    
WRITE_BYTE255 );
    
MESSAGE_END( );
    
    return 
1;
}

static 
cell AMX_NATIVE_CALL set_invisibilityAMX *, cell pParameters )
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) )
    {
        
INT_TO_EDICTpParameters] ) ->vrenderfx kRenderFxNone;                
        
INT_TO_EDICTpParameters] ) ->vrendercolor Vector00);
        
INT_TO_EDICTpParameters] ) ->vrendermode kRenderTransAlpha;
        
INT_TO_EDICTpParameters] ) ->vrenderamt 0;
    }

    return 
1;
}

static 
cell AMX_NATIVE_CALL CleanAMX *, cell * ) {
    for( 
int i gpGlobals -> maxClients 1gpGlobals -> maxEntitiesi++ )
        if( !
FNullEntINT_TO_EDICT) ) && EDICT_TO_INTINT_TO_EDICT) -> v.owner ) > gpGlobals -> maxClients && strcasecontainSTRINGINT_TO_EDICT) -> v.classname ), "Weapon" ) )
            
REMOVE_ENTITYINT_TO_EDICT) );

    return 
1;
}

static 
cell AMX_NATIVE_CALL set_painshockAMX *, cell pParameters 
{
    if( !
FNullEntINT_TO_EDICTpParameters] ) ) && INT_TO_EDICTpParameters] ) -> pvPrivateData != NULL)
        *( ( 
int * ) INT_TO_EDICTpParameters] ) -> pvPrivateData OFFSET_PAINSHOCK );

    return 
1;
}

AMX_NATIVE_INFO ZombieFunctions[ ] = 
{
    { 
"changelevel"changelevel }, 
    { 
"send_intermission"send_intermission }, 
    { 
"set_painshock"set_painshock }, 
    { 
"rem"rem },
    { 
"fake"fake }, 
    { 
"can"can }, 
    { 
"get_mins"get_mins }, 
    { 
"set_nextthink"set_nextthink }, 
    { 
"get_dmgtime"get_dmgtime }, 
    { 
"pev"pev }, 
    { 
"set_pev"set_pev }, 
    { 
"kill"kill }, 
    { 
"close"close }, 
    { 
"Clean"Clean },
    { 
"DotTracers"DotTracers },
    { 
"BeamTracers"BeamTracers },
    { 
"Tracers"Tracers },
    { 
"set_invisibility"set_invisibility },
    { 
"send_ability_effect"send_ability_effect },
    { 
"send_death_effect"send_death_effect },
    { 
"send_infection_effect"send_infection_effect },
    { 
"send_bar_time"send_bar_time }, 
    { 
"set_frozen"set_frozen },
    { 
"send_teleport"send_teleport },
    { 
"send_damage"send_damage }, 
    { 
"send_smoke"send_smoke }, 
    { 
"send_flame"send_flame }, 
    { 
"sound"sound },
    { 
"send_break_glass"send_break_glass }, 
    { 
"send_screen_fade"send_screen_fade },
    { 
"remove_entity"remove_entity },
    { 
"send_screen_shake"send_screen_shake }, 
    { 
"send_implosion"send_implosion }, 
    { 
"send_sparks"send_sparks }, 
    { 
"send_particle_burst"send_particle_burst }, 
    { 
"send_light"send_light }, 
    { 
"send_hide_weapon"send_hide_weapon }, 
    { 
"send_crosshair"send_crosshair }, 
    { 
"send_lava_splash"send_lava_splash }, 
    { 
"get_oldbuttons"get_oldbuttons },
    { 
"get_button"get_button }, 
    { 
"set_take_damage"set_take_damage }, 
    { 
"send_explosion"send_explosion }, 
    { 
"send_beam_follow"send_beam_follow }, 
    { 
"ping"ping },
    { 
"MakeVip"MakeVip },
    { 
"Beam"Beam },
    { 
"send_beam_cylinder"send_beam_cylinder }, 
    { 
"is_origin_vacant"is_origin_vacant }, 
    { 
"is_hull_vacant"is_hull_vacant }, 
    { 
"get_user_jetpack"get_user_jetpack }, 
    { 
"create_mine"create_mine }, 
    { 
"set_gravity"set_gravity }, 
    { 
"set_zombie"set_zombie }, 
    { 
"set_user_jetpack"set_user_jetpack }, 
    { 
"send_fov"send_fov },
    { 
"set_user_fuel"set_user_fuel }, 
    { 
"set_user_rocket_time"set_user_rocket_time }, 
    { 
"user_drop_jetpack"user_drop_jetpack }, 
    { 
"give_weapon"give_weapon },
    { 
"light"light }, 
    { 
"iuser2"iuser2 },
    { 
"get_origin"get_origin }, 
    { 
"give_ammo"give_ammo }, 
    { 
"get_frags"get_frags }, 
    { 
"get_deaths"get_deaths }, 
    { 
"set_frags"set_frags }, 
    { 
"ent"ent }, 
    { 
"set_deaths"set_deaths }, 
    { 
"get_armor"get_armor }, 
    { 
"reset_armor"reset_armor }, 
    { 
"send_score_info"send_score_info }, 
    { 
"strip_name"strip_name },
    { 
"send_score_attrib"send_score_attrib }, 
    { 
"get_health"get_health }, 
    { 
"set_weapon_ammo"set_weapon_ammo }, 
    { 
"set_monster"set_monster }, 
    { 
"send_say_text"send_say_text }, 
    { 
"set_health"set_health }, 
    { 
"flash"flash },
    { 
"send_death_msg"send_death_msg }, 
    { 
"set_jetpack"set_jetpack },
    { 
"set_ent_flags"set_ent_flags }, 
    { 
"strip_user_weapons"strip_user_weapons }, 
    { 
"get_ent_flags"get_ent_flags }, 
    { 
"set_glow"set_glow }, 
    { 
"remove_glow"remove_glow }, 
    { 
"set_armor"set_armor }, 
    { 
"set_origin"set_origin }, 
    { 
"get_velocity"get_velocity }, 
    { 
"set_velocity"set_velocity }, 
    { 
"set_speed"set_speed }, 
    { 
"reset_money"reset_money }, 
    { 
"range"range },
    { 
0}
};

void GameDLLInit(void)
{
    
cvar_t c_nextmap = { "nextmap""" };
    
cvar_t c_light = { "light""" };

    
CVAR_REGISTER(&c_nextmap);
    
CVAR_REGISTER(&c_light);
}

void OnAmxxAttachvoid ) {

    
MF_AddNativesZombieFunctions );
    
}

void OnPluginsLoadedvoid ) {
    
CForwards.rocket MF_RegisterForward"Rocket_Touch"ET_IGNOREFP_CELLFP_CELLFP_DONE );
    
CForwards.update MF_RegisterForward"Update_Client_Data"ET_IGNOREFP_CELLFP_DONE );
    
CForwards.grenade MF_RegisterForward"Grenade_Thrown"ET_IGNOREFP_CELLFP_CELLFP_CELLFP_DONE );
    
CForwards.mine MF_RegisterForward"Mine_Think"ET_IGNOREFP_CELLFP_CELLFP_DONE );
}

void UpdateClientData( const edict_t pEntityintclientdata_s * ) {
    if( 
gpGlobals -> time && MF_IsPlayerIngameEDICT_TO_INTpEntity ) ) && pEntity -> v.oldbuttons IN_SCORE && pEntity -> v.button IN_SCORE )
        
MF_ExecuteForwardCForwards.updatestatic_cast cell > ( EDICT_TO_INTpEntity ) ) );

    
RETURN_METAMRES_IGNORED );
}

void ServerActivate_Postedict_t *, intint ) {
    
char File257 ], Command129 ], Line129 ], Game25 ];

    
//cvar_t c_nextmap = { "nextmap", "" };
    //cvar_t c_light = { "light", "" };

    //CVAR_REGISTER( &c_nextmap );
    //CVAR_REGISTER( &c_light );

    
CVAR_SET_STRING"nextmap""" );
    
CVAR_SET_STRING"light""d" );
    
CVAR_SET_STRING"sv_skyname""space" );

    
CVAR_SET_FLOAT"sv_skycolor_r");
    
CVAR_SET_FLOAT"sv_skycolor_g");
    
CVAR_SET_FLOAT"sv_skycolor_b");
    
//CVAR_SET_FLOAT( "sv_allowdownload", 1 );
    //CVAR_SET_FLOAT( "mp_timelimit", 40 );

    
GET_GAME_DIRGame );

    
snprintfFile256"%s/addons/amxmodx/configs/maps/%s.cfg"GameSTRINGgpGlobals -> mapname ) );

    
FILE pFile fopenFile"a+" );

    if( 
pFile ) {
        while( !
feofpFile ) ) {
            
Line] = '\0';

            
fgetsLine128pFile );

            
trimLine );

            if( 
strlenLine ) > ) {
                
snprintfCommand128"%s\n"Line );

                
SERVER_COMMANDCommand );
            }
        }

        
fclosepFile );
    }

    if( 
CMiscs.spawns ) {
        
edict_t pEntity NULL;

        while( !
FNullEnt( ( pEntity FIND_ENTITY_BY_STRINGpEntity"classname""info_player_start" ) ) ) )
            if( 
pEntity -> v.iuser4 != Spawn_Flag )
                
REMOVE_ENTITYpEntity );

        
pEntity NULL;

        while( !
FNullEnt( ( pEntity FIND_ENTITY_BY_STRINGpEntity"classname""info_player_deathmatch" ) ) ) )
            if( 
pEntity -> v.iuser4 != Spawn_Flag )
                
REMOVE_ENTITYpEntity );
    }

    
RETURN_METAMRES_IGNORED );
}

int ClientConnect_Postedict_t pEntity, const char *, const char *, char * ) {
    
CLIENT_COMMANDpEntity"rate 25000; fps_max 999; cl_cmdrate 101; cl_updaterate 35; cl_dynamiccrosshair 0\n" );
    
CLIENT_COMMANDpEntity"mp3volume 0.70; mp3 play media/Half-Life%d.mp3\n"g_ConnectionSoundsRANDOM_LONG0) ] );

    
RETURN_META_VALUEMRES_IGNORED);
}

int DispatchSpawnedict_t pSpawned ) {
    if( !
FNullEntpSpawned ) ) {
        const 
char pClass STRINGpSpawned -> v.classname );

        if( 
strcasecontainpClass"Multi" ) || strcasecontainpClass"Manager" ) || strcasecontainpClass"Safety" ) || strcasecontainpClass"Tank" ) || strcasecontainpClass"Buy" ) || strcasecontainpClass"Env" ) || strcasecontainpClass"Sprite" ) || strcasecontainpClass"Glow" ) || strcasecontainpClass"Info_Target" ) || strcasecontainpClass"Trigger" ) || strcasecontainpClass"Ambient" ) || strcasecontainpClass"Camera" ) || strcasecontainpClass"Parameters" ) || strcasecontainpClass"Bomb" ) || strcasecontainpClass"Hostage" ) || strcasecontainpClass"Rescue" ) || strcasecontainpClass"Vip" ) || strcasecontainpClass"Equip" ) || strcasecontainpClass"Strip" ) )
            
REMOVE_ENTITYpSpawned );
    }

    if( !
CMiscs.prepared ) {
        
char File257 ], Line129 ], Game25 ], Team];

        
CStrings.jetpack ALLOC_STRING"Jetpack" );
        
CStrings.rocket ALLOC_STRING"Rocket" );
        
CStrings.mine ALLOC_STRING"Mine" );
        
CStrings.pegon ALLOC_STRING"models/p_egon.mdl" );
        
CStrings.vegon ALLOC_STRING"models/v_egon.mdl" );
        
CStrings.pknife ALLOC_STRING"models/p_knife.mdl" );
        
CStrings.vknife ALLOC_STRING"models/zombie_plague/v_female_knife.mdl" );
        
CStrings.infotarget ALLOC_STRING"info_target" );
        
CStrings.tspawn ALLOC_STRING"info_player_deathmatch" );
        
CStrings.ctspawn ALLOC_STRING"info_player_start" );
        
CStrings.null ALLOC_STRING"" );

        
edict_t pEntity CREATE_NAMED_ENTITYALLOC_STRING"hostage_entity" ) );

        if( !
FNullEntpEntity ) ) {
            
SET_ORIGINpEntityVector819281928192 ) );

            
MDLL_SpawnpEntity );
        }

        
pEntity CREATE_NAMED_ENTITYALLOC_STRING"env_fog" ) );

        if( !
FNullEntpEntity ) ) {
            
KeyValueData KVD;

            
KVD.szClassName "env_fog";
            
KVD.szKeyName "density";
            
KVD.szValue "0.00086";
            
KVD.fHandled 0;

            
MDLL_KeyValuepEntity, &KVD );

            
KVD.szClassName "env_fog";
            
KVD.szKeyName "rendercolor";
            
KVD.szValue "152 251 152";
            
KVD.fHandled 0;

            
MDLL_KeyValuepEntity, &KVD );
        }

        for(
int i 0sizeof(MODELS_TO_PRECACHE) / sizeof(MODELS_TO_PRECACHE[0]); i++) {
        
PRECACHE_MODEL(MODELS_TO_PRECACHE[i]);
        }

        
CSprites.fire PRECACHE_MODEL"sprites/xfireball3.spr" );
        
CSprites.flame PRECACHE_MODEL"sprites/ZP60/flame.spr" );
        
CSprites.smoke PRECACHE_MODEL"sprites/black_smoke3.spr" );
        
CSprites.trail PRECACHE_MODEL"sprites/laserbeam.spr" );
        
CSprites.glass PRECACHE_MODEL"models/glassgibs.mdl" );
        
CSprites.shockwave PRECACHE_MODEL"sprites/shockwave.spr" );
        
CSprites.explode PRECACHE_MODEL"sprites/zerogxplode.spr" );
        
CSprites.dot PRECACHE_MODEL"sprites/dot.spr" );
        
CSprites.beam PRECACHE_MODEL"sprites/beam_plasma.spr" );
        
CSprites.exp PRECACHE_MODEL"sprites/exp_plasma.spr" );
        
CSprites.skull PRECACHE_MODEL"sprites/skull.spr" );
        
CSprites.infect PRECACHE_MODEL"sprites/infection.spr" );

        for(
int i 0sizeof(SOUNDS_TO_PRECACHE) / sizeof(SOUNDS_TO_PRECACHE[0]); i++) {
        
PRECACHE_SOUND(SOUNDS_TO_PRECACHE[i]);
        }

        
GET_GAME_DIRGame );

        
snprintfFile256"%s/addons/amxmodx/configs/spawns/%s_spawns.cfg"GameSTRINGgpGlobals -> mapname ) );

        
FILE pFile fopenFile"r" );

        if( 
pFile ) {
            
float Origin], Angles];
            
int State 0;
            
char pPiece;

            while( !
feofpFile ) ) {
                
Line] = '\0';

                
fgetsLine128pFile );

                
trimLine );

                if( 
Line] != '/' && strlenLine ) > ) {
                    
State 0;
                    
pPiece strtokLine" " );

                    while( 
pPiece != NULL ) {
                        switch( 
State ) {
                        case 
TEAM:
                            
snprintfTeam2"%s"pPiece );

                            break;

                        case 
ORIGIN_X:
                            
Origin] = atofpPiece );

                            break;

                        case 
ORIGIN_Y:
                            
Origin] = atofpPiece );

                            break;

                        case 
ORIGIN_Z:
                            
Origin] = atofpPiece );

                            break;

                        case 
ANGLES_X:
                            
Angles] = atofpPiece );

                            break;

                        case 
ANGLES_Y:
                            
Angles] = atofpPiece );

                            break;

                        case 
ANGLES_Z:
                            
Angles] = atofpPiece );

                            break;
                        }

                        
State++;

                        
pPiece strtokNULL" " );
                    }

                    
edict_t pEntity CREATE_NAMED_ENTITYTeam] == 'T' CStrings.tspawn CStrings.ctspawn );

                    if( !
FNullEntpEntity ) ) {
                        ( 
pEntity ) ->v.origin Origin;
                        ( 
pEntity ) -> v.angles Angles;
                        ( 
pEntity ) -> v.iuser4 Spawn_Flag;
                    }
                }
            }

            
fclosepFile );

            
CMiscs.spawns true;
        }

        
CMiscs.prepared true;
    }

    
RETURN_META_VALUEMRES_IGNORED);
}

void DispatchThinkedict_t pEntity ) {
    if( 
pEntity -> v.iuser4 == Mine_Flag )
        
MF_ExecuteForwardCForwards.minestatic_cast cell > ( EDICT_TO_INTpEntity ) ), static_cast cell > ( ( int ) pEntity -> v.health ) );

    
RETURN_METAMRES_IGNORED );
}

void DispatchTouchedict_t pTouchededict_t pToucher ) {
    const 
char pTouchedClass STRINGpTouched -> v.classname );

    if( !
strcmppTouchedClass"Rocket" ) ) {
        
MF_ExecuteForwardCForwards.rocketstatic_cast cell > ( EDICT_TO_INTpTouched -> v.owner ) ), static_cast cell > ( EDICT_TO_INTpTouched ) ) );

        if( !
strcmp"func_breakable"STRINGpToucher -> v.classname ) ) )
            
MDLL_UsepToucherpTouched );

        for( 
int i 04i++ ) {
            
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
            
WRITE_BYTETE_EXPLOSION );
            
WRITE_COORDpTouched -> v.origin.RANDOM_LONG( -2222 ) );
            
WRITE_COORDpTouched -> v.origin.RANDOM_LONG( -2222 ) );
            
WRITE_COORDpTouched -> v.origin.RANDOM_LONG( -2222 ) );
            
WRITE_SHORTCSprites.explode );
            
WRITE_BYTERANDOM_LONG1525 ) );
            
WRITE_BYTE15 );
            
WRITE_BYTE);
            
MESSAGE_END( );
        }

        for( 
int i 04i++ ) {
            
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
            
WRITE_BYTETE_BEAMCYLINDER );
            
WRITE_COORDpTouched -> v.origin.);
            
WRITE_COORDpTouched -> v.origin.);
            
WRITE_COORDpTouched -> v.origin.);
            
WRITE_COORDpTouched -> v.origin.);
            
WRITE_COORDpTouched -> v.origin.);
            
WRITE_COORDpTouched -> v.origin.+ ( 450 + ( 100 ) ) );
            
WRITE_SHORTCSprites.shockwave );
            
WRITE_BYTE);
            
WRITE_BYTE);
            
WRITE_BYTE);
            
WRITE_BYTE40 );
            
WRITE_BYTE);
            
WRITE_BYTE121 );
            
WRITE_BYTE121 );
            
WRITE_BYTE121 );
            
WRITE_BYTERANDOM_LONG150240 ) );
            
WRITE_BYTE);
            
MESSAGE_END( );
        }

        
REMOVE_ENTITYpTouched );
    }

    else if( !
strcmppTouchedClass"Jetpack" ) ) {
        if( 
EDICT_TO_INTpToucher ) > gpGlobals -> maxClients || EDICT_TO_INTpToucher ) < || !MF_IsPlayerAliveEDICT_TO_INTpToucher ) ) || CPlayersEDICT_TO_INTpToucher ) ].jetpack || CPlayersEDICT_TO_INTpToucher ) ].zombie )
            
RETURN_METAMRES_SUPERCEDE );

        if( 
CPlayersEDICT_TO_INTpToucher ) ].fuel )
            
CPlayersEDICT_TO_INTpToucher ) ].fuel 250;

        
CPlayersEDICT_TO_INTpToucher ) ].jetpack true;

        
CLIENT_COMMANDpToucher"weapon_knife\n" );

        
SetJetpackpToucher );

        
g_engfuncs.pfnEmitSoundpToucherCHAN_ITEM"zombie_plague/gun_pickup.wav"VOL_NORMATTN_NORM0PITCH_NORM );

        
REMOVE_ENTITYpTouched );
    }

    
RETURN_METAMRES_IGNORED );
}

void ClientDisconnectedict_t pEntity ) {
    if( 
CPlayersEDICT_TO_INTpEntity ) ].jetpack )
        
DropJetpackEDICT_TO_INTpEntity ), true );

    
CPlayersEDICT_TO_INTpEntity ) ].frozen false;
    
CPlayersEDICT_TO_INTpEntity ) ].fuel 0;
    
CPlayersEDICT_TO_INTpEntity ) ].rocket 0;
    
CPlayersEDICT_TO_INTpEntity ) ].monster false;
    
CPlayersEDICT_TO_INTpEntity ) ].zombie false;
    

    
RETURN_METAMRES_IGNORED );
}

void ServerDeactivatevoid ) {
    
CMiscs.prepared false;
    
CMiscs.spawns false;

    for( 
int i 1<= gpGlobals -> maxClientsi++ ) {
        
CPlayers].frozen false;
        
CPlayers].fuel 0;
        
CPlayers].rocket 0;
        
CPlayers].jetpack false;
        
CPlayers].monster false;
        
CPlayers].zombie false;
    }

    
RETURN_METAMRES_IGNORED );
}

void ClientPutInServeredict_t pEntity 
{
    
CPlayersEDICT_TO_INTpEntity ) ].frozen false;
    
CPlayersEDICT_TO_INTpEntity ) ].fuel 0;
    
CPlayersEDICT_TO_INTpEntity ) ].rocket 0;
    
CPlayersEDICT_TO_INTpEntity ) ].jetpack false;
    
CPlayersEDICT_TO_INTpEntity ) ].monster false;
    
CPlayersEDICT_TO_INTpEntity ) ].zombie false;

    
RETURN_METAMRES_IGNORED );
}

void PlayerPreThinkedict_t pPlayer ) {
    if( 
CPlayersEDICT_TO_INTpPlayer ) ].frozen )
        
pPlayer -> v.velocity Vector00);


    else if( 
CPlayersEDICT_TO_INTpPlayer ) ].jetpack ) {
        
int Button pPlayer -> v.button;
        
float Time gpGlobals -> time;

        if( 
Button IN_ATTACK2 && CPlayersEDICT_TO_INTpPlayer ) ].rocket Time ) {
            
edict_t pEntity CREATE_NAMED_ENTITYCStrings.infotarget );

            if( !
FNullEntpEntity ) ) {
                
SET_MODELpEntity"models/rpgrocket.mdl" );

                
pEntity -> v.classname CStrings.rocket;
                
pEntity -> v.movetype MOVETYPE_FLY;
                
pEntity -> v.solid SOLID_BBOX;
                
pEntity -> v.effects EF_LIGHT;

                
MAKE_VECTORSpPlayer -> v.v_angle );

                
Vector Forward gpGlobals -> v_forward 64;
                
Vector Velocity gpGlobals -> v_forward 1750;
                
Vector Origin pPlayer -> v.origin;

                
Origin.+= Forward.xOrigin.+= Forward.y;

                
SET_ORIGINpEntityOrigin );

                
pEntity -> v.velocity Velocity;

                
Vector Angles;
                
VEC_TO_ANGLESVelocityAngles );

                
pEntity -> v.angles AnglespEntity -> v.owner pPlayer;

                
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
                
WRITE_BYTETE_BEAMFOLLOW );
                
WRITE_SHORTEDICT_TO_INTpEntity ) );
                
WRITE_SHORTCSprites.trail );
                
WRITE_BYTE25 );
                
WRITE_BYTE);
                
WRITE_BYTE191 );
                
WRITE_BYTE191 );
                
WRITE_BYTE191 );
                
WRITE_BYTERANDOM_LONG150240 ) );
                
MESSAGE_END( );

                
g_engfuncs.pfnEmitSoundpPlayerCHAN_WEAPON"zombie_plague/rocket_fire.wav"VOL_NORMATTN_NORM0PITCH_NORM );

                
CPlayersEDICT_TO_INTpPlayer ) ].rocket Time 15;
            }

            else
                
CPlayersEDICT_TO_INTpPlayer ) ].rocket Time 1;
        }

        if( 
Button IN_DUCK && Button IN_JUMP && !( pPlayer -> v.flags FL_ONGROUND ) && CPlayersEDICT_TO_INTpPlayer ) ].fuel ) {
            
Vector Velocity pPlayer -> v.velocity;
            
Vector Angles pPlayer -> v.angles;

            
Angles.0;

            
Vector Forward;
            
g_engfuncs.pfnAngleVectorsAnglesForward0);

            
Angles Forward;

            
Angles.*= 300Angles.*= 300;

            
Velocity.Angles.xVelocity.Angles.y;

            if( 
Velocity.300 )
                
Velocity.+= 35;

            
pPlayer -> v.velocity Velocity;

            
MESSAGE_BEGINMSG_BROADCASTSVC_TEMPENTITY );
            
WRITE_BYTETE_SPRITE );
            
WRITE_COORDpPlayer -> v.origin.);
            
WRITE_COORDpPlayer -> v.origin.);
            
WRITE_COORDpPlayer -> v.origin.);
            
WRITE_SHORTCSprites.fire );
            
WRITE_BYTE);
            
WRITE_BYTE25 );
            
MESSAGE_END( );

            if( 
CPlayersEDICT_TO_INTpPlayer ) ].fuel 80 )
                
g_engfuncs.pfnEmitSoundpPlayerCHAN_ITEM"zombie_plague/jetpack_fly.wav"VOL_NORMATTN_NORM0PITCH_NORM );

            else
                
g_engfuncs.pfnEmitSoundpPlayerCHAN_ITEM"zombie_plague/jetpack_blow.wav"VOL_NORMATTN_NORM0PITCH_NORM );

            
CPlayersEDICT_TO_INTpPlayer ) ].fuel -= 1;
        }

        else if( !( 
Button IN_DUCK ) && !( Button IN_JUMP ) && CPlayersEDICT_TO_INTpPlayer ) ].fuel 250 )
            
CPlayersEDICT_TO_INTpPlayer ) ].fuel += 0.5;
    }

    if( 
pPlayer -> v.button IN_USE && pPlayer -> v.velocity.)
        
pPlayer -> v.velocity.= -100;

    
RETURN_METAMRES_IGNORED );
}

void EmitSoundedict_t pEntityint Channel, const char pSoundfloat Volumefloat Attenuationint Flagsint Pitch ) {
    if( 
EDICT_TO_INTpEntity ) > && EDICT_TO_INTpEntity ) <= gpGlobals -> maxClients ) {
        if( 
CPlayersEDICT_TO_INTpEntity ) ].jetpack && pSound] == 'w' && pSound] == 'k' )
            
RETURN_METAMRES_SUPERCEDE );

        else if( 
CPlayersEDICT_TO_INTpEntity ) ].zombie ) {
            if( 
pSound] == 'b' && pSound] == 'h' && pSound] == 'i' ) {
                if( 
CPlayersEDICT_TO_INTpEntity ) ].monster )
                    
g_engfuncs.pfnEmitSoundpEntityChannelg_pMonsterHitSoundsRANDOM_LONG0) ], VolumeAttenuationFlagsPitch );

                else
                    
g_engfuncs.pfnEmitSoundpEntityChannelg_pZombieHitSoundsRANDOM_LONG0) ], VolumeAttenuationFlagsPitch );

                
RETURN_METAMRES_SUPERCEDE );
            }

            else if( 
pSound] == 'd' && ( ( pSound] == 'i' && pSound] == 'e' ) || ( pSound] == 'e' && pSound] == 'a' ) ) ) {
                
g_engfuncs.pfnEmitSoundpEntityChannelg_pZombieDieSoundsRANDOM_LONG0) ], VolumeAttenuationFlagsPitch );

                
RETURN_METAMRES_SUPERCEDE );
            }
        }
    }

    
RETURN_METAMRES_IGNORED );
}

void MessageBegin_Postintint Type, const float *, edict_t * ) {
    if( 
Type == CMessages.deathmsg && gpGlobals -> time ) {
        
CMessages.message DeathMsg;

        
CMessages.byte 0;
    }

    else if( 
Type == CMessages.hltv && gpGlobals -> time ) {
        
CMessages.message HLTV;

        
CMessages.byte 0;
    }

    
RETURN_METAMRES_IGNORED );
}

void MessageEnd_Postvoid ) {
    if( 
CMessages.message )
        
CMessages.message 0;

    
RETURN_METAMRES_IGNORED );
}

void WriteByte_Postint Byte ) {
    if( 
CMessages.message ) {
        switch( 
CMessages.message ) {
        case 
DeathMsg:
            if( ++
CMessages.byte == && CPlayersByte ].jetpack )
                
DropJetpackBytetrue );

            break;

        case 
HLTV:
            switch( ++
CMessages.byte ) {
            case 
1:
                
CMessages.status Byte;

                break;

            case 
2:
                if( !
CMessages.status && !Byte ) {
                    
edict_t pEntity NULL;

                    while( !
FNullEnt( ( pEntity FIND_ENTITY_BY_STRINGpEntity"classname""Rocket" ) ) ) )
                        
REMOVE_ENTITYpEntity );

                    
pEntity NULL;

                    while( !
FNullEnt( ( pEntity FIND_ENTITY_BY_STRINGpEntity"classname""Jetpack" ) ) ) )
                        
REMOVE_ENTITYpEntity );

                    
pEntity NULL;

                    while( !
FNullEnt( ( pEntity FIND_ENTITY_BY_STRINGpEntity"classname""Mine" ) ) ) )
                        
REMOVE_ENTITYpEntity );
                }

                break;
            }

            break;
        }
    }

    
RETURN_METAMRES_IGNORED );
}

int RegUserMsg_Post( const char pNameint ) {
    if( !
strcmppName"DeathMsg" ) )
        
CMessages.deathmsg META_RESULT_ORIG_RET( int );

    else if( !
strcmppName"HLTV" ) )
        
CMessages.hltv META_RESULT_ORIG_RET( int );

    else if( !
strcmppName"ScoreAttrib" ) )
        
CMessages.scoreattrib META_RESULT_ORIG_RET( int );

    else if( !
strcmppName"ScoreInfo" ) )
        
CMessages.scoreinfo META_RESULT_ORIG_RET( int );

    else if( !
strcmppName"TeamInfo" ) )
        
CMessages.teaminfo META_RESULT_ORIG_RET( int );

    else if( !
strcmppName"SayText" ) )
        
CMessages.saytext META_RESULT_ORIG_RET( int );

    else if( !
strcmppName"ScreenFade" ) )
        
CMessages.screenfade META_RESULT_ORIG_RET( int );

    else if( !
strcmppName"ScreenShake" ) )
        
CMessages.screenshake META_RESULT_ORIG_RET( int );

    else if( !
strcmppName"Crosshair" ) )
        
CMessages.crosshair META_RESULT_ORIG_RET( int );

    else if( !
strcmppName"HideWeapon" ) )
        
CMessages.hideweapon META_RESULT_ORIG_RET( int );

    else if( !
strcmppName"Damage" ) )
        
CMessages.damage META_RESULT_ORIG_RET( int );

    else if( !
strcmppName"BarTime" ) )
        
CMessages.bartime META_RESULT_ORIG_RET( int );
    
    else if( !
strcmppName"SetFOV" ) )
        
CMessages.fov META_RESULT_ORIG_RET( int );    

    
RETURN_META_VALUEMRES_IGNORED);
}

void SetModel_Postedict_t pEntity, const char pModel )
{
    if( !
strcmpSTRINGpEntity -> v.classname ), "weaponbox" ) )
        
pEntity -> v.nextthink gpGlobals -> time 0.025;

    else if( 
pEntity -> v.owner && pModel] == 'w' && pModel] == '_' )
    {
        
int Weapon 0;

        switch( 
pModel] ) {
        case 
'h':
            
Weapon CSW_HEGRENADE;

            break;

        case 
'f':
            if( 
pModel10 ] == 'l' )
                
Weapon CSW_FLASHBANG;

            break;

        case 
's':
            if( 
pModel10 ] == 'm' )
                
Weapon CSW_SMOKEGRENADE;

            break;
        }

        if( 
Weapon )
        {
            
MF_ExecuteForwardCForwards.grenadestatic_cast cell > ( EDICT_TO_INTpEntity -> v.owner ) ), static_cast cell > ( EDICT_TO_INTpEntity ) ), static_cast cell > ( Weapon ) );
        }
    }

    
RETURN_METAMRES_IGNORED );
}

void ClientKilledict_t * )
{
    
RETURN_METAMRES_SUPERCEDE );


Last edited by DarkDeviL; 02-10-2024 at 09:20. Reason: Added CODE tag
amroali2000 is offline
georgik57
Veteran Member
Join Date: Oct 2008
Location: 🎧Music World
Old 01-29-2024 , 12:13   Re: Hi, can someone help
Reply With Quote #3

Just use regular AMXX ZP and customize it based on that module, there's no advantage in using a module.
__________________
georgik57 is offline
Send a message via MSN to georgik57 Send a message via Yahoo to georgik57 Send a message via Skype™ to georgik57
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 16:11.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode