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 ] );
}
}