Servidor cae cuando un jugador asesina a otro con una granada
#1
Estoy usando el modo de Deathrace en el cual a veces cuando un jugador mata a otro con una granada explosiva el servidor directamente cae y deja de error en la consola "FATAL ERROR (shutting down): NUM_FOR_EDICT: bad pointer", alguien tiene idea de que podría ser lo que cause este error?

estos 2 códigos son los que se usan en el mod

Deathrace_Main: Le quité el bot, le agregué round_terminator (Ya que no tiene bot en el otro equipo) y modifiqué unos mensajes, nada más.
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <round_terminator>

#define PLUGIN "Deathrace"
#define VERSION "2.3"
#define AUTHOR "Xalus"

#define PREFIX "!t[Alta-Fruta]"

new const g_strGamename[] = "Alta-Fruta";

    
// Fakebot (Credit: xPaw)
//new const g_strBotname[] = "Alta-Fruta";
new g_intFakebotid

    
// Teamstuff (Credit: ConnorMcLeod)
const m_iJoiningState 121;
const 
m_iMenu 205;
const 
MENU_CHOOSEAPPEARANCE 3;
const 
JOIN_CHOOSEAPPEARANCE 4;


enum _:enumCvars
{
    
CVAR_BREAKTYPE
}
new 
g_arrayCvars[enumCvars]

enum _:enumForwards
{
    
FORWARD_CRATEHIT,
    
FORWARD_WIN
}
new 
g_arrayForwards[enumForwards]

enum _:enumPlayers
{
    
PLAYER_ENT_BLOCK
}
new 
g_arrayPlayers[33][enumPlayers]


new 
Trie:g_trieRemoveEntities
new bool:g_boolRoundended

public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_cvar("deathrace_mod"VERSIONFCVAR_SERVER);
    
    
// Register: Cvars
    
g_arrayCvars[CVAR_BREAKTYPE]     = register_cvar("deathrace_touch_breaktype""1")
        
// 0 break nothing, 1 break only crates, 2 break everything
    
    // Register: Clcmd
    
register_clcmd("menuselect""ClCmd_MenuSelect_JoinClass"); // old style menu
    
register_clcmd("joinclass""ClCmd_MenuSelect_JoinClass"); // VGUI menu
    
    // Register: Ham
    
RegisterHam(Ham_Touch"func_breakable""Ham_TouchCrate_Pre"0);
    
RegisterHam(Ham_TakeDamage"func_breakable""Ham_DamageCrate_Pre"0)
    
//RegisterHam(Ham_TraceAttack, "player", "Ham_TraceAttackPlayer_Pre", 0)
    
RegisterHamHam_TraceAttack"player""OnPlayerTraceAttack_Pre"false );
    
    
RegisterHam(Ham_Use"func_button""Ham_PressButton_Post"1);
    
RegisterHam(Ham_Spawn"player""Ham_PlayerSpawn_Post"1);
    
RegisterHam(Ham_Killed"player""Ham_PlayerKilled_Post"1);
    
    
// Register: Message
    
register_message(get_user_msgid("TextMsg"), "Message_TextMsg");
    
register_message(get_user_msgid("StatusIcon"), "Message_StatusIcon"); 
    
register_message(get_user_msgid("DeathMsg"), "Message_DeathMsg" );
    
    
// Register: Event
    
register_event("HLTV""Event_NewRound""a""1=0""2=0");
    
    
// Register: Forward
    
register_forward(FM_GetGameDescription"Forward_GetGameDescription" )
    
    
// Register: MultiForward
    
g_arrayForwards[FORWARD_CRATEHIT]    = CreateMultiForward("deathrace_crate_hit"ET_STOPFP_CELLFP_CELL)     // deathrace_crate_hit(id, ent)
    
g_arrayForwards[FORWARD_WIN]        = CreateMultiForward("deathrace_win"ET_STOPFP_CELLFP_CELL// deathrace_win(id, type) (type [ 0: Survivor | 1: Map Finish ])
    
    // Create: Fakebot
    //create_fakebot()
    
    // Server Start
    
server_cmd("mp_friendlyfire 1")
    
server_cmd("mp_roundtime 10")
    
server_cmd("mp_playerid 1")
    
}
public 
plugin_precache()
{
        
// Entity stuff (Credit: Exolent[jNr]
    
new iEntity create_entity"hostage_entity" );
    
entity_set_originiEntityFloat:{ 0.00.0, -55000.0 } );
    
entity_set_sizeiEntityFloat:{ -1.0, -1.0, -1.0 }, Float:{ 1.01.01.0 } );
    
DispatchSpawniEntity );
    
    
iEntity create_entity"player_weaponstrip" );
    
DispatchKeyValueiEntity"targetname""stripper" );
    
DispatchSpawniEntity );
    
    
iEntity create_entity"game_player_equip" );
    
DispatchKeyValueiEntity"weapon_knife""1" );
    
DispatchKeyValueiEntity"targetname""equipment" );
    
    
iEntity create_entity"multi_manager" );
    
DispatchKeyValueiEntity"stripper""0" );
    
DispatchKeyValueiEntity"equipment""0.5" );
    
DispatchKeyValueiEntity"targetname""game_playerspawn" );
    
DispatchKeyValueiEntity"spawnflags""1" );
    
DispatchSpawniEntity );
    
    
iEntity create_entity"info_map_parameters" );
    
DispatchKeyValueiEntity"buying""3" );
    
DispatchSpawniEntity );
    
    new const 
szRemoveEntities[][] =
    {
        
"func_bomb_target",
        
"info_bomb_target",
        
"hostage_entity",
        
"monster_scientist",
        
"func_hostage_rescue",
        
"info_hostage_rescue",
        
"info_vip_start",
        
"func_vip_safetyzone",
        
"func_escapezone",
        
// "armoury_entity",
        
"info_map_parameters",
        
"player_weaponstrip",
        
"game_player_equip",
        
"func_buyzone"
    
};
    
    
g_trieRemoveEntities TrieCreate( );
    
    for( new 
0sizeofszRemoveEntities ); i++ )
    {
        
TrieSetCell(g_trieRemoveEntitiesszRemoveEntities[i], i);
    }
    
register_forward(FM_Spawn"Forward_Spawn");
}

// Public: Forward
public Forward_Spawn(entity)
{
    if(
pev_valid(entity))
    {
        static 
strClassname32 ];
        
pev(entitypev_classnamestrClassnamecharsmax(strClassname));
        
        if(
TrieKeyExists(g_trieRemoveEntitiesstrClassname))
        {
            
remove_entity(entity);
            return 
FMRES_SUPERCEDE;
        }
        if(
equal(strClassname"info_player_deathmatch"))
        {
            
set_pev(entitypev_classname"info_player_start")
        }
    }
    return 
FMRES_IGNORED;
}
public 
Forward_GetGameDescription()

    
forward_return(FMV_STRINGg_strGamename); 
    return 
FMRES_SUPERCEDE


// Public: Clcmds
public ClCmd_MenuSelect_JoinClass(id)
{
    if(
get_pdata_int(idm_iMenu) == MENU_CHOOSEAPPEARANCE && get_pdata_int(idm_iJoiningState) == JOIN_CHOOSEAPPEARANCE)
    {
        new 
command[11], arg1[32];
        
read_argv(0commandcharsmax(command));
        
read_argv(1arg1charsmax(arg1));
        
        if(!
g_boolRoundended)
        {
            
engclient_cmd(idcommandarg1);
            
ExecuteHam(Ham_Player_PreThinkid);
            
            if( !
is_user_alive(id) )
            {
                
//ExecuteHamB(Ham_Spawn, id);
                
ExecuteHamB(Ham_CS_RoundRespawnid);
            }
            return 
PLUGIN_HANDLED;
        }
    }
    return 
PLUGIN_CONTINUE;


// Public: Messages
public Message_TextMsg()
{
    static 
textmsg[22]
    
get_msg_arg_string(2textmsgcharsmax(textmsg))
        
    
// Block Teammate attack and kill Message
    
if (equal(textmsg"#Game_teammate_attack") || equal(textmsg"#Killed_Teammate"))
        return 
PLUGIN_HANDLED;

    return 
PLUGIN_CONTINUE;
}
public 
Message_StatusIcon(const iMsgId, const iMsgDest, const id
{
    static 
szMsg[8];
    
get_msg_arg_string(2szMsg7);
    
    if(
equal(szMsg"buyzone") && get_msg_arg_int(1)) 
    {
        
set_pdata_int(id235get_pdata_int(id235) & ~(<< 0));
        return 
PLUGIN_HANDLED;
    }
    return 
PLUGIN_CONTINUE;
}
public 
Message_DeathMsg(const iMsgId, const iMsgDest, const id
{
    return (
get_msg_arg_int) == g_intFakebotid) ? PLUGIN_HANDLED PLUGIN_CONTINUE;
}

// Public: Event
public Event_NewRound()
{
    
g_boolRoundended false
    
    remove_task
(15151)
}

// Public: Client
public client_disconnect(id)
{
    if(
g_intFakebotid == id
    {
        
set_task(1.5"Task_UpdateBot");
        
g_intFakebotid 0;
    }
}

// Public: Ham
public Ham_PlayerKilled_Post(id)
{
    if(!
is_user_bot(id))
    {
        new 
arrayPlayers[32], intPlayers;
        
get_players(arrayPlayersintPlayers"ae""CT")
        
        if(
intPlayers <= 1)
        {
            if(
arrayPlayers[0])
            {
                new 
intReturn;
                
//ExecuteForward(g_arrayForwards[FORWARD_WIN], intReturn, id, 0);
                
                
if(intReturn == 2)
                    return
                
                new 
strName[32];
                
get_user_name(arrayPlayers[0], strNamecharsmax(strName))
                
                
//client_print_color(0, "%s !g%s!n era el unico jugador vivo!", PREFIX, strName)
            
}
            
            
//fakedamage(g_intFakebotid, "worldspawn", 100.0, DMG_GENERIC);
        
}
    }
}

public 
OnPlayerTraceAttack_PreiVictimiAttackerFloat:flDamageFloat:flDirection], iTraceiDamageBits )
{
    if ( !( 
<= iAttacker <= 32 ) || !is_user_aliveiAttacker ) )
    {
        return 
HAM_IGNORED;
    }
   
    new 
iWeapon get_user_weaponiAttacker );
   
    if ( 
iWeapon == CSW_KNIFE )
    {
        return 
HAM_SUPERCEDE;
    }
   
    return 
HAM_IGNORED;
}

public 
Ham_PlayerSpawn_Post(id)
{
    if(
g_intFakebotid == id)
    {
        
//set_pev(id, pev_frags, 0.0);
        //cs_set_user_deaths(id, 0);
        
set_pevidpev_effectspevidpev_effects ) | EF_NODRAW );
        
set_pevidpev_solidSOLID_NOT );
        
entity_set_originidFloat:{ 999999.0999999.0999999.0 } );
        
dllfuncDLLFunc_Thinkid );
    } 
}

public 
Ham_TouchCrate_Pre(entityid)
{
    if(
pev_valid(entity)
    && 
is_user_alive(id)
    && !
g_boolRoundended)
    {
        static 
intBreaktype
        
if(g_arrayPlayers[id][PLAYER_ENT_BLOCK] != entity
        
&& (intBreaktype || (intBreaktype get_pcvar_num(g_arrayCvars[CVAR_BREAKTYPE]))) )
        {
            static 
strTargetname[32];
            
pev(entitypev_targetnamestrTargetnamecharsmax(strTargetname));
                
                
// Lets see if we got a crate.
            
if( (intBreaktype == 2
                || (
intBreaktype == && containi(strTargetname"crate") >= 0) )
            {
                
ExecuteHamB(Ham_TakeDamageentityidid9999.0DMG_CRUSH);
            }
        }
    }
    return 
HAM_IGNORED
}
public 
Ham_DamageCrate_Pre(entityinflictorattackerFloat:damagebits)
{
    if(
pev_valid(entity)
    && 
is_user_alive(attacker)
    && !
g_boolRoundended
    
&& (get_user_weapon(attacker) == CSW_KNIFE || bits DMG_CRUSH
    && 
g_arrayPlayers[attacker][PLAYER_ENT_BLOCK] != entity)
    {    
        if( (
pev(entitypev_health) - damage) <= 0.0 )
        {
            
g_arrayPlayers[attacker][PLAYER_ENT_BLOCK] = entity
            
            
new intReturn;
            
ExecuteForward(g_arrayForwards[FORWARD_CRATEHIT], intReturnattackerentity);
            
            return 
intReturn;
        }
    }
    return 
HAM_IGNORED
}
public 
Ham_DamagePlayer_Pre(idinflictorattackerFloat:damagebits)
{
    if(
is_user_alive(id)
    && 
is_user_connected(attacker)
    && 
inflictor == attacker)
    {
        return (
get_user_weapon(attacker) == CSW_KNIFE) ? HAM_SUPERCEDE HAM_IGNORED;
    }
    return 
HAM_IGNORED
}
public 
Ham_PressButton_Post(entityid)    
{
    if(
pev_valid(entity)
    && 
is_user_alive(id)
    && !
g_boolRoundended)
    {        
        static 
strTargetname[32];
        
pev(entitypev_targetnamestrTargetnamecharsmax(strTargetname));
        
        if(
strTargetname[0] == 'w' && strTargetname[3] == 'b'// winbut
        
{
            
g_boolRoundended true;
        
            new 
intReturn;
            
ExecuteForward(g_arrayForwards[FORWARD_WIN], intReturnid1);
            
            if(!
intReturn)
            {
                new 
strName[32];
                
get_user_name(idstrNamecharsmax(strName));
                
                
client_print_color(0"%s !g%s!n gano la carrera!"PREFIXstrName)
            }
            
                
// End round
            
if(!is_user_alive(g_intFakebotid))
            {
                
TerminateRoundRoundEndType_TeamExterminationTeamWinning_Ct )
                
//fakedamage(g_intFakebotid, "worldspawn", 100.0, DMG_GENERIC);
            
}
        }
    }
}

// Public: Fakebot (By xPaw)
/*public Task_UpdateBot()
{
    new id = find_player("i");
    
    if( !id ) 
    {
        id = engfunc(EngFunc_CreateFakeClient, g_strBotname);
        if( pev_valid( id ) ) 
        {
            engfunc( EngFunc_FreeEntPrivateData, id );
            dllfunc( MetaFunc_CallGameEntity, "player", id );
            set_user_info( id, "rate", "3500" );
            set_user_info( id, "cl_updaterate", "25" );
            set_user_info( id, "cl_lw", "1" );
            set_user_info( id, "cl_lc", "1" );
            set_user_info( id, "cl_dlmax", "128" );
            set_user_info( id, "cl_righthand", "1" );
            set_user_info( id, "_vgui_menus", "0" );
            set_user_info( id, "_ah", "0" );
            set_user_info( id, "dm", "0" );
            set_user_info( id, "tracker", "0" );
            set_user_info( id, "friends", "0" );
            set_user_info( id, "*bot", "1" );
            set_pev( id, pev_flags, pev( id, pev_flags ) | FL_FAKECLIENT );
            set_pev( id, pev_colormap, id );
            
            new szMsg[ 128 ];
            dllfunc( DLLFunc_ClientConnect, id, g_strBotname, "127.0.0.1", szMsg );
            dllfunc( DLLFunc_ClientPutInServer, id );
            
            cs_set_user_team( id, CS_TEAM_T );
            ExecuteHamB( Ham_CS_RoundRespawn, id );
            
            set_pev( id, pev_effects, pev( id, pev_effects ) | EF_NODRAW );
            set_pev( id, pev_solid, SOLID_NOT );
            dllfunc( DLLFunc_Think, id );
            
            g_intFakebotid = id;
        }
    }
}

// Stock    
stock create_fakebot()
{
    create_entity("info_player_deathmatch")
    Task_UpdateBot()
}*/

stock client_print_color(id, const input[], any:...)
{
    static 
szMsg[191], msgSayText;
    
    if (!
msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190input3);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!n""^1");
    
replace_all(szMsg190"!t""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(id id 33);
    
write_string(szMsg);
    
message_end();


Deathrace_Crates: Le modifiqué mensajes, nada más.
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <engine>

#define PLUGIN "Deathrace: Crates"
#define VERSION "1.2"
#define AUTHOR "Xalus"

#define PREFIX "!t[Alta-Fruta]"

forward deathrace_crate_hit(ident);
forward deathrace_win(idFloat:flTime);

enum _:enumCrateinfo
{
    
CRATEINFO_NAME[32],
    
CRATEINFO_NEWNAME[32],
    
    
CRATEINFO_AMOUNT,
    
CRATEINFO_MAXUSE
}
enum _:enumCratelist
{
    
CRATE_SPEED,
    
CRATE_HENADE,
    
CRATE_UZI,
    
CRATE_SHIELD,
    
CRATE_GODMODE,
    
CRATE_GRAVITY,
    
CRATE_HEALTH,
    
CRATE_ARMOR,
    
CRATE_FROST,
    
CRATE_SMOKE,
    
CRATE_DEATH,
    
CRATE_DRUGS,
    
CRATE_SHAKE,
    
CRATE_FREEZE,
    
CRATE_RANDOM
}
new const 
g_arrayCrate[enumCratelist][enumCrateinfo] =
{
    {
"speedcrate",        "Velocidad",         400,     2}, // Amount: Speed
    
{"hecrate",         "Granada HE",        1,     2}, // Amount: Nades
    
{"uzicrate",         "TMP",        3,     2}, // Amount: Bullets
    
{"shieldcrate",     "Escudo",        1,     2}, // Amount: Nothing
    
{"godmodecrate",    "Modo Dios",        10,     2}, // Amount: Seconds
    
{"gravitycrate",     "Gravedad",        560,     2}, // Amount: Gravity
    
{"hpcrate",         "Vida Extra",        50,    3}, // Amount: Health
    
{"armorcrate",        "Chaleco Extra",        50,    3}, // Amount: Armor
    
{"frostcrate",        "Granada Flash",     1,     2}, // Amount: Nades
    
{"smokecrate",        "Congeladora",     1,     2}, // Amount: Nades
    
{"deathcrate",        "Muerte",        1,    0}, // Amount: Nothing
    
{"drugcrate",        "Drogas",        10,    0}, // Amount: Seconds
    
{"shakecrate",        "Terremoto",        0,     0}, // Amount: Nothing
    
{"freezecrate",        "Congelacion",    50,     0}, // Amount: Speed
    
{"randomcrate",        "Caja Random",    1,    0}  // Amount: Nothing
}
new 
Trie:g_trieCrates    

new g_arrayCrateamount[33][enumCratelist]
new 
g_arrayCrateactive[33][enumCratelist]

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
// Register: Ham
    
RegisterHam(Ham_Item_PreFrame"player""Ham_PlayerResetMaxSpeed_Post"1)
    
RegisterHam(Ham_Spawn"player""Ham_PlayerSpawn_Post"1)
    
    
// Install: Crates
    
g_trieCrates TrieCreate()
    
    for(new 
0enumCratelisti++)
    {
        
TrieSetCell(g_trieCratesg_arrayCrate[i][CRATEINFO_NAME], i)
    }
}
// Public: Deathrace
public deathrace_crate_hit(identity)
{
    static 
strTargetname[32];
    
pev(entitypev_targetnamestrTargetnamecharsmax(strTargetname));
    
    if(
TrieKeyExists(g_trieCratesstrTargetname))
    {
        static 
intCrate;
        
TrieGetCell(g_trieCratesstrTargetnameintCrate);
        
        return 
crate_touch(idintCrate)
    }
    return 
0
}

// Public: Ham
public Ham_PlayerResetMaxSpeed_Post(id)
{
    if(
is_user_alive(id)
    && (
g_arrayCrateactive[id][CRATE_SPEED] || g_arrayCrateactive[id][CRATE_FREEZE]))
    {
        
set_user_maxspeed(idfloat(g_arrayCrateg_arrayCrateactive[id][CRATE_SPEED] ? CRATE_SPEED CRATE_FREEZE ][CRATEINFO_AMOUNT]))
    }
}
public 
Ham_PlayerSpawn_Post(id)
{
    if(
is_user_alive(id))
    {
        
arrayset(g_arrayCrateamount[id], 0enumCratelist)
        
arrayset(g_arrayCrateactive[id], 0enumCratelist)
    }
}

// Public: Tasks
public Task_Timer(arrayTemp[2])
{
    new 
idcrateid;
    
id arrayTemp[0];
    
crateid arrayTemp[1];

    if(
is_user_connected(id))
    {
        
g_arrayCrateactive[id][crateid] = 0;
        
        switch(
crateid)
        {
            case 
CRATE_GODMODE:
            {
                
set_user_godmode(id);
            }
            case 
CRATE_GRAVITY:
            {
                
set_user_gravity(id);
            }
            case 
CRATE_DRUGS:
            {
                
message_setfov(id);
            }
            case 
CRATE_FREEZECRATE_SPEED:
            {
                
ExecuteHamB(Ham_Item_PreFrameid);
            }
        }
    }
}
    

// Stock: Messages
stock message_setfov(idamount=90)
{
    static 
intMsgSetFOV;
    if(
intMsgSetFOV || (intMsgSetFOV get_user_msgid("SetFOV")))
    {
        
message_begin(MSG_ONEintMsgSetFOV, {0,0,0}, id);
        
write_byte(amount);
        
message_end();
    }
}
stock message_screenshake(id)
{
    static 
intMsgScreenShake;
    if(
intMsgScreenShake || (intMsgScreenShake get_user_msgid("ScreenShake")))
    {
        
message_begin(MSG_ONEintMsgScreenShake, {0,0,0}, id);
        
write_short(255<<14);
        
write_short(10<<14);
        
write_short(255<<14);
        
message_end();
    }
}

// Stock
stock crate_touch(idcrateidbool:randomcrate=false)
{
    if(
g_arrayCrate[crateid][CRATEINFO_MAXUSE]
    && ++
g_arrayCrateamount[id][crateid] > g_arrayCrate[crateid][CRATEINFO_MAXUSE]
    && !
randomcrate)
        return 
HAM_IGNORED;
    
    switch(
crateid)
    {
        case 
CRATE_SPEED
        {
            
g_arrayCrateactive[id][CRATE_FREEZE] = 0
            
            set_user_maxspeed
(idfloat(g_arrayCrate[crateid][CRATEINFO_AMOUNT]));
            
set_timer(idcrateid3.0)
        }
        case 
CRATE_HENADE
        {
            
give_weapon(idCSW_HEGRENADEg_arrayCrate[crateid][CRATEINFO_AMOUNT]);
        }
        case 
CRATE_UZI:
        {
            
give_weapon(idCSW_TMPg_arrayCrate[crateid][CRATEINFO_AMOUNT]);
        }
        case 
CRATE_SHIELD
        {
            
give_item(id"weapon_shield");
        }
        case 
CRATE_GODMODE:
        {
            
set_user_godmode(id1);
            
set_timer(idcrateid);
        }    
        case 
CRATE_GRAVITY:
        {
            
set_user_gravity(id, (float(g_arrayCrate[crateid][CRATEINFO_AMOUNT]) / 800.0))
            
set_timer(idcrateid10.0);
        }
        case 
CRATE_HEALTH
        {
            
set_user_health(idmin(get_user_health(id) + g_arrayCrate[crateid][CRATEINFO_AMOUNT], 100));
        }
        case 
CRATE_ARMOR
        {
            
set_user_armor(idmin(get_user_armor(id) + g_arrayCrate[crateid][CRATEINFO_AMOUNT], 100));
        }
        case 
CRATE_FROST
        {
            
give_weapon(idCSW_FLASHBANGg_arrayCrate[crateid][CRATEINFO_AMOUNT]);
        }
        case 
CRATE_SMOKE
        {
            
give_weapon(idCSW_SMOKEGRENADEg_arrayCrate[crateid][CRATEINFO_AMOUNT]);
        }
        case 
CRATE_DEATH
        {
            if(
get_user_godmode(id)
            || 
randomcrate)
            {
                
g_arrayCrateamount[id][crateid]--
                return 
HAM_IGNORED
            
}
            
user_kill(id);
        }
        case 
CRATE_DRUGS:
        {
            
message_setfov(id170);
            
set_timer(idcrateid);
        }    
        case 
CRATE_SHAKE:
        {
            
message_screenshake(id);
        }
        case 
CRATE_FREEZE:
        {
            
g_arrayCrateactive[id][CRATE_SPEED] = 0;
            
            
set_user_maxspeed(idfloat(g_arrayCrate[crateid][CRATEINFO_AMOUNT]));
            
set_timer(idcrateid2.0);
        }
        case 
CRATE_RANDOM:
        {
            
crate_touch(idrandom(CRATE_RANDOM), true);
            return 
HAM_IGNORED;
        }
        default:
        {
            return 
HAM_IGNORED;
        }
    }
    
client_print_color(id"%s !nAgarraste%s !g%s!n."randomcrate " una caja random y recibiste" ""g_arrayCrate[crateid][CRATEINFO_NEWNAME]);
    
    return 
HAM_IGNORED;
}
stock set_timer(idcrateidFloat:flTime=0.0)
{
    new 
arrayTemp[2];
    
arrayTemp[0] = id;
    
arrayTemp[1] = crateid;
    
    
g_arrayCrateactive[id][crateid]++;
    
    if(!
flTime)
    {
        
flTime float(g_arrayCrate[crateid][CRATEINFO_AMOUNT]);
    }
    
set_task(flTime"Task_Timer"15151arrayTempsizeof(arrayTemp))
}
stock give_weapon(idweaponidamount)
{
    if(
user_has_weapon(idweaponid))
    {
        
cs_set_user_bpammo(idweaponid, (cs_get_user_bpammo(idweaponid) + amount));
        return 
1;
    }
    static 
strWeaponname[32];
    
get_weaponname(weaponidstrWeaponnamecharsmax(strWeaponname));
    
    new 
entity;
    if( (
entity give_item(idstrWeaponname))
    && 
amount)
    {
        
cs_set_weapon_ammo(entityamount);
    }
    return 
1
}

stock client_print_color(id, const input[], any:...)
{
    static 
szMsg[191], msgSayText;
    
    if (!
msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190input3);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!n""^1");
    
replace_all(szMsg190"!t""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(id id 33);
    
write_string(szMsg);
    
message_end();

Responder
#2
nose si te servira aqui
Responder
#3
(14/06/2019, 02:45 AM)GoldenCosta escribió: nose si te servira aqui

No, la persona que se queja ahí es porque se rehusaba a usar amxmodx, yo uso amxmodx
Responder
#4
Estuve 10 minutos sin exagerar matando enemigos con la HE y el servidor nunca se cayó.

Pasa la lista de plugins que tenes activos en el servidor.

Saludos. Crab
Responder
#5
(14/06/2019, 07:46 AM)Chema escribió: Estuve 10 minutos sin exagerar matando enemigos con la HE y el servidor nunca se cayó.

Pasa la lista de plugins que tenes activos en el servidor.

Saludos. Crab

Es random el problema, no sé si es cuando agarran un poder (de una caja) en especifico o qué, no pasa siempre, algo hace que pase, no sé qué, por eso digo.

Los plugins que utilizo son los del mod y una frostnade, las caídas pasan desde que tenía el mod solo por lo que no es un plugin externo.
Responder
#6
Versión de metamod, versión HLDS/ReHLDS, pasa la lista de los módulos.
Responder
#7
(14/06/2019, 06:16 PM)Ballers escribió:
(14/06/2019, 07:46 AM)Chema escribió: Estuve 10 minutos sin exagerar matando enemigos con la HE y el servidor nunca se cayó.

Pasa la lista de plugins que tenes activos en el servidor.

Saludos. Crab

Es random el problema, no sé si es cuando agarran un poder (de una caja) en especifico o qué, no pasa siempre, algo hace que pase, no sé qué, por eso digo.

Los plugins que utilizo son los del mod y una frostnade, las caídas pasan desde que tenía el mod solo por lo que no es un plugin externo.

Mandame un md detallando cada error
Responder
#8
Que tal, ya se solucionó el error me parece, era la Frostnade.
Responder
#9
(16/06/2019, 01:53 PM)Ballers escribió: Que tal, ya se solucionó el error me parece, era la Frostnade.

Te lo dije. Trolleyes

Saludos. Crab
Responder
#10
(16/06/2019, 01:53 PM)Ballers escribió: Que tal, ya se solucionó el error me parece, era la Frostnade.

cual usas?
Ingeniero agrónomo y desarrollador de Software.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

Merci Alliedmodders pour m'introduire dans la programmation.
Responder
#11
(16/06/2019, 01:53 PM)Ballers escribió: Que tal, ya se solucionó el error me parece, era la Frostnade.

Y eso cuando ha sido solución? Solución es hacer que la Frostnade no crashee, mejor adjúntale aquí cual usas para examinar que puede posiblemente interferir.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)