Kod:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#pragma semicolon 1
#define MAX_ENTITYS 900+15*32
// Bu plugin invis plugini geli tirilerek yap lm t r.
new bool:g_bPlayerInvisible[33];
new bool:g_oyuncu_reklam[33];
new g_iSpectatedId[33];
public plugin_init( )
{
register_plugin( "DG Core - Menu", "1.0", "ShaRk" );
register_clcmd( "say /dgcore", "menuInvisDisplay" );
register_clcmd( "say /sakla", "menuInvisDisplay" );
register_clcmd( "say /fps", "menuInvisDisplay" );
register_clcmd( "say /menu", "menuInvisDisplay" );
register_clcmd("radio2" , "menuInvisDisplay");
register_clcmd( "say /dgmenu", "menuInvisDisplay" );
register_menucmd( register_menuid( "\rDG Core - ShaRk^n^n" ), 1023, "menuInvisAction" );
register_forward( FM_AddToFullPack, "fwdAddToFullPack_Post", 1 );
RegisterHam( Ham_Spawn, "player", "hamSpawnPlayer_Post", 1 );
register_event( "SpecHealth2", "eventSpecHealth", "bd" );
}
public fwdAddToFullPack_Post( es_handle, e, ent, host, hostflags, player, pset )
{
if( player && g_bPlayerInvisible[host] && host != ent && ent != g_iSpectatedId[host] && get_user_team(host)==get_user_team(ent) )
{
static const Float:corner[8][3] =
{
{ -4096.0, -4096.0, -4096.0 },
{ -4096.0, -4096.0, 4096.0 },
{ -4096.0, 4096.0, -4096.0 },
{ -4096.0, 4096.0, 4096.0 },
{ 4096.0, -4096.0, -4096.0 },
{ 4096.0, -4096.0, 4096.0 },
{ 4096.0, 4096.0, -4096.0 },
{ 4096.0, 4096.0, 4096.0 }
};
static const Float:map_distance = 7094.480108;
static Float:origin[3];
get_es( es_handle, ES_Origin, origin );
static i;
while( get_distance_f( origin, corner[i] ) > map_distance )
{
if( ++i >= sizeof( corner ) )
{
i = 0;
}
}
set_es( es_handle, ES_Origin, corner[i] );
set_es( es_handle, ES_Effects, get_es( es_handle, ES_Effects ) | EF_NODRAW );
}
}
public hamSpawnPlayer_Post( plr )
{
g_iSpectatedId[plr] = 0;
}
public eventSpecHealth2( plr )
{
g_iSpectatedId[plr] = read_data( 2 );
}
public menuInvisDisplay( plr )
{
static menu[1024];
new len = formatex( menu, 255, "\rDG Core - ShaRk^n^n" );
len += formatex( menu[len], 255 - len, "\r1- \wTakimindaki Oyuncular: %s^n", g_bPlayerInvisible[plr] ? " [ \rKapali\w ]" : "[ \rAcik\w ]" );
len += formatex( menu[len], 255 - len, "\r2- \rFPS \wAyarlarini Uygula");
len += formatex( menu[len], 255 - len, "^n\r3- \rRATE \wAyarlarini Uygula");
len += formatex( menu[len], 255 - len, "^n\r4- \wMenu Reklami %s", g_oyuncu_reklam[plr] ? " [ \rKapali\w ]" : "[ \rAcik\w ]" );
len += formatex( menu[len], 255 - len, "^n^n\r5- \wKapat" );
show_menu( plr, ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 ), menu, -1 );
return PLUGIN_HANDLED;
}
public menuInvisAction( plr, key )
{
switch( key )
{
case 0:
{
g_bPlayerInvisible[plr] = !g_bPlayerInvisible[plr];
menuInvisDisplay( plr );
if(g_bPlayerInvisible[plr]){
client_print_color(plr,plr,"^1[^3DG Core^1] ^3Takim arkadasi ^1ayarlari ^3KAPALI^1 olarak degistirildi.");
client_cmd(plr,"spk buttons/blip1.wav");
} else {
client_print_color(plr,plr,"^1[^3DG Core^1] ^3Takim arkadasi ^1ayarlari ^3ACIK^1 olarak degistirildi.");
client_cmd(plr,"spk buttons/blip2.wav");
}
}
case 1:{
set_task(0.0,"fps_ayar",plr);
menuInvisDisplay( plr );
}
case 2:{
set_task(0.0,"rate_ayar",plr);
menuInvisDisplay( plr );
}
case 3:{
g_oyuncu_reklam[plr] = !g_oyuncu_reklam[plr];
menuInvisDisplay( plr );
if(g_oyuncu_reklam[plr]){
client_print_color(plr,plr,"^1[^3DG Core^1] ^3Reklam ^1ayari ^3KAPALI^1 olarak degistirildi.");
client_cmd(plr,"spk buttons/blip1.wav");
} else {
client_print_color(plr,plr,"^1[^3DG Core^1] ^3Reklam ^1ayari ^3ACIK^1 olarak degistirildi.");
client_cmd(plr,"spk buttons/blip2.wav");
}
}
case 4: show_menu( plr, 0, "" );
}
}
public client_connect( plr )
{
g_bPlayerInvisible[plr] = false;
g_oyuncu_reklam[plr] = false;
g_iSpectatedId[plr] = 0;
set_task(5.0, "reklamyaptir", plr);
}
public fps_ayar(plr){
client_cmd(plr,"fps_max 5000");
client_cmd(plr,"r_detailtextures 0");
client_cmd(plr,"ambient_fade 0");
client_cmd(plr,"ambient_level 0");
client_cmd(plr,"gl_vsync 0");
client_cmd(plr,"r_lightmap 0");
client_cmd(plr,"r_decals 0");
client_cmd(plr,"r_drawlights 0");
client_cmd(plr,"precache 1");
client_cmd(plr,"gl_keeptjunctions 0");
client_cmd(plr,"spk activated");
if(!is_user_steam(plr)){
client_cmd(plr,"developer 1");
client_cmd(plr,"fps_modem 250");
client_print_color(plr,plr,"^1[^3DG Core^1] ^3NON-STEAM FPS ^1ayarlari ^3basariyla^1 uygulandi. Toplam aktif edilen komut sayisi ^1[^3 12 ^1]");
} else {
client_cmd(plr,"fps_override 1");
client_print_color(plr,plr,"^1[^3DG Core^1] ^3STEAM FPS ^1ayarlari ^3basariyla^1 uygulandi. Toplam aktif edilen komut sayisi ^1[^3 12 ^1]");
}
}
public rate_ayar(plr){
client_cmd(plr,"ex_interp 0.5");
client_cmd(plr,"cl_cmdrate 101");
client_cmd(plr,"cl_updaterate 101");
client_cmd(plr,"spk activated");
if(!is_user_steam(plr)){
client_cmd(plr,"rate 25000");
client_print_color(plr,plr,"^1[^3DG Core^1] ^3NON-STEAM RATE ^1ayarlari ^3basariyla^1 uygulandi. Toplam aktif edilen komut sayisi ^1[^3 5 ^1]");
} else {
client_cmd(plr,"ex_interp 0.1");
client_cmd(plr,"cl_cmdrate 105");
client_cmd(plr,"cl_updaterate 101");
client_cmd(plr,"spk activated");
client_cmd(plr,"rate 100000");
client_print_color(plr,plr,"^1[^3DG Core^1] ^3STEAM RATE ^1ayarlari ^3basariyla^1 uygulandi. Toplam aktif edilen komut sayisi ^1[^3 5 ^1]");
}
}
public reklamyaptir(plr){
if(!g_oyuncu_reklam[plr]){
//client_print_color(plr,plr,"^1[^3DG Core^1] Menuye ulasmak icin ^1[^3^"X^"^1] tusuna basin veya ^3/dgcore ^1 yazin.");
}
set_task(120.0, "reklamyaptir", plr);
}
stock bool:is_user_steam(plr)
{
static dp_pointer;
if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", plr);
server_exec();
return (get_pcvar_num(dp_pointer) == 2) ? true : false;
}
new szAuthid[34];
get_user_authid(plr, szAuthid, charsmax(szAuthid));
return (containi(szAuthid, "LAN") < 0);
}