Originally Posted by lexzor
(Post 2785201)
oke
PHP Code:
#include < amxmodx > #include < fakemeta > #include < hamsandwich > #include < amxmisc > #include < nvault >
#pragma semicolon 1
#define PLUGIN "Default FOV" #define VERSION "1.0" #define AUTHOR "God Of Gaming"
#define CS_DEFAULT_FOV 90 #define cm(%0) ( sizeof(%0) - 1 )
#if !defined MAX_AUTHID_LENGTH #define MAX_AUTHID_LENGTH 64 #endif
const m_iFOV = 363;
new customFOV[32];
new g_nVault; new const g_sznVaultName[] = "fov";
public plugin_init() { register_plugin( PLUGIN, VERSION, AUTHOR );
for( new i=0; i<32; i++) customFOV[ i ] = CS_DEFAULT_FOV;
register_clcmd("say", "sayHandle"); register_clcmd("say_team", "sayHandle"); register_message( get_user_msgid( "SetFOV" ), "Message_SetFOV" ); RegisterHam( Ham_Spawn, "player", "OnCBasePlayer_Spawn_P", true );
g_nVault = nvault_open(g_sznVaultName);
if(g_nVault == INVALID_HANDLE) set_fail_state("Couldn t open ^"%s^" nvault file", g_sznVaultName); }
public plugin_end() { nvault_close(g_nVault); }
public sayHandle(id) { static szArg[192]; read_args(szArg, charsmax(szArg)); remove_quotes(szArg);
if(containi(szArg, "/fov") != -1) { replace(szArg, charsmax(szArg), "/fov ", ""); userFOV(id, str_to_num(szArg)); } }
public userFOV( id, iFOV ) { if( ( iFOV < 90 ) || ( iFOV > 180 ) ) return PLUGIN_HANDLED;
customFOV[ id ] = iFOV;
message_begin( MSG_ONE, get_user_msgid( "SetFOV" ), {0,0,0}, id ); write_byte( iFOV ); message_end();
save_user_fov(id, iFOV);
return PLUGIN_HANDLED; }
save_user_fov(const id, const fov) { new szAuthID[MAX_AUTHID_LENGTH]; get_user_authid(id, szAuthID, charsmax(szAuthID));
new szData[5]; num_to_str(fov, szData, charsmax(szData)); nvault_set(g_nVault, szAuthID, szData); }
public client_authorized(id) { new iTs, szData[5], szAuthID[MAX_AUTHID_LENGTH]; get_user_authid(id, szAuthID, charsmax(szAuthID)); if(nvault_lookup(g_nVault, szAuthID, szData, charsmax(szData), iTs)) customFOV[id] = str_to_num(szData); }
public Message_SetFOV( msg_id, msg_dest, msg_entity ) { if( !is_user_alive( msg_entity ) || get_msg_arg_int( 1 ) != CS_DEFAULT_FOV ) return;
set_msg_arg_int( 1, get_msg_argtype( 1 ), customFOV[ msg_entity ] ); }
public OnCBasePlayer_Spawn_P( id ) { if( is_user_alive( id ) ) { set_pdata_int( id, m_iFOV, customFOV[ id ] ); } }
|