Przerobiłem plugin tak:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
new g_Enable;
new g_bwEnt[33];
public plugin_init() {
register_plugin( "Santa Hat", "1.1", "xPaw" );
register_cvar("santa_hat", "1.1", FCVAR_SERVER);
g_Enable = register_cvar("amx_santahat", "1");
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
}
public plugin_precache()
{
precache_model("models/test.mdl");
precache_model("models/testt.mdl");
}
public fwHamPlayerSpawnPost( const player ) { // Cleanup by arkshine
if ( get_pcvar_num( g_Enable ) && is_user_alive( player ) && !pev_valid ( g_bwEnt[ player ] ) ) {
g_bwEnt[ player ] = engfunc ( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
set_pev( g_bwEnt[ player ], pev_movetype, MOVETYPE_FOLLOW );
set_pev( g_bwEnt[ player ], pev_aiment, player );
if(get_user_team(player) == 2) engfunc( EngFunc_SetModel, g_bwEnt[ player ], "models/test.mdl" );
else if( get_user_team( player ) == 1 ) engfunc( EngFunc_SetModel, g_bwEnt[ player ], "models/testt.mdl" );
}
}
i problem polega na tym - owszem działa-, że po zmianie teamu z CT do TT i na odwrót model nie zmienia się, nie resetuje, lecz pozostaje taki jak był w CT, a powinien być taki jak w TT. Reset nie pomógł.
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
new g_Enable;
new g_bwEnt[33];
public plugin_init() {
register_plugin( "Santa Hat", "1.1", "xPaw" );
register_cvar("santa_hat", "1.1", FCVAR_SERVER);
g_Enable = register_cvar("amx_santahat", "1");
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
}
public plugin_precache()
{
precache_model("models/x.mdl");
precache_model("models/xx.mdl");
}
public fwHamPlayerSpawnPost( const player ) { // Cleanup by arkshine
if ( get_pcvar_num( g_Enable ) && is_user_alive( player ) && !pev_valid ( g_bwEnt[ player ] ) && get_user_team(player) == 2 ) {
g_bwEnt[ player ] = engfunc ( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
set_pev( g_bwEnt[ player ], pev_movetype, MOVETYPE_FOLLOW );
set_pev( g_bwEnt[ player ], pev_aiment, player );
engfunc( EngFunc_SetModel, g_bwEnt[ player ], "models/x.mdl" );
}
else if ( get_pcvar_num( g_Enable ) && is_user_alive( player ) && !pev_valid ( g_bwEnt[ player ] ) && get_user_team(player) == 1 ) {
g_bwEnt[ player ] = engfunc ( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
set_pev( g_bwEnt[ player ], pev_movetype, MOVETYPE_FOLLOW );
set_pev( g_bwEnt[ player ], pev_aiment, player );
engfunc( EngFunc_SetModel, g_bwEnt[ player ], "models/xx.mdl" );
}
}
teraz tak jest, i nadal po zmianie teamu nie zmienia na właściwą czapkę.
Cisza.. Jest tyle ekspertów, a nie mogą pomóc..
hmm