PHP- Kodu:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <engine>
#include <colorchat>
#define PLUGIN "[JB]: Gardiyan Yetki Plugini"
#define VERSION "1.4"
#define AUTHOR "Optimist"
#define LOADING "^n^t%s v%s, Copyright © 2013 by %s^n"
new g_iSecimAyarlari[ 33 ];
new bool:g_bGom[ 33 ];
/* Mahkum Zombi Modeli */
new const zombi[] = "zombi"
/* SON */
new g_pDostAtesi;
new HudMesaji // Hud Mesaji
new GSSAY[33] // Gerisayım Sayaç
new GeriSayim // Gerisayım Süre
new tag[]="^4[^1^4G^1^3A^1^4R^1^3D^1^4I^1^3Y^1^4A^1^3N^1 ^4Y^1^3E^1^4T^1^3K^1^4I^1^4]^1";
enum {
DOST_ATESI = 1,
YENI_CT_SEC,
C4_VER,
GOM,
GOMULUCIKAR,
KAPILARIAC,
SILAHVER,
ZOMBI,
GLOW_VER
};
public plugin_precache() {
new temp[128]
/* Zombi Modeli */
formatex(temp, sizeof(temp)-1, "models/player/%s/%s.mdl", zombi, zombi);
precache_model(temp);
}
public plugin_init() {
register_plugin( PLUGIN, VERSION, AUTHOR );
register_clcmd( "say /ctmenu", "CTMenu_Ayarlari" );
RegisterHam(Ham_Spawn, "player", "OyuncuDogunca", 1);
g_pDostAtesi = get_cvar_pointer( "mp_friendlyfire" );
HudMesaji = CreateHudSyncObj();
}
public client_connect( id ) {
g_bGom[ id ] = false;
g_iSecimAyarlari[ id ] = 0;
}
public CTMenu_Ayarlari( id ) {
if( get_user_team( id ) != 2 )
{
ColorChat(0, NORMAL, "%s: Bunu kullanmak icin bir ^4Gardiyan^1 gereklidir." ,tag);
return PLUGIN_HANDLED;
}
new ctMenu = menu_create( "\r-\w=\r-\w=\r Gardiyan \wMenu: \r-\w=\r-\w=\r-\w=", "CTMenu_Olustur" );
new bicim[ 32 ];
formatex( bicim, charsmax( bicim ), "FF %s", get_pcvar_num( g_pDostAtesi ) ? "Kapat" : "Ac" );
menu_additem( ctMenu, bicim, "1" );
menu_additem( ctMenu, "\wYeni Gardiyan Sec", "2" );
menu_additem( ctMenu, "\wC4 Ver", "3" );
menu_additem( ctMenu, "\wOyuncu Gom", "4" );
menu_additem( ctMenu, "\wGomulu Oyuncuyu Cikar", "5" );
menu_additem( ctMenu, "\wMahkum Hapishane Kapilarini Ac", "6" );
menu_additem( ctMenu, "\wOyuncuya M4A1 Ver", "7" );
menu_additem( ctMenu, "\wOyunculardan Birisini Zombi Yap", "8" );
menu_additem( ctMenu, "\wOyuncuya Rastgele Glow Ver", "9" );
menu_display( id, ctMenu, 0 );
return PLUGIN_CONTINUE;
}
public CTMenu_Olustur( id, ctMenu, iItem ) {
if( iItem == MENU_EXIT || get_user_team( id ) != 2 )
{
menu_destroy( ctMenu );
return PLUGIN_HANDLED;
}
new szData[ 6 ];
new iAccess, hCallback;
menu_item_getinfo( ctMenu, iItem, iAccess, szData, charsmax( szData ), _, _, hCallback );
g_iSecimAyarlari[ id ] = str_to_num( szData );
if( g_iSecimAyarlari[ id ] == DOST_ATESI )
set_pcvar_num( g_pDostAtesi, get_pcvar_num( g_pDostAtesi ) ? 0 : 1 );
else Oyuncu_Menu_Goster( id );
menu_destroy( ctMenu );
return PLUGIN_HANDLED;
}
public Oyuncu_Menu_Goster( id ) {
new ctMenu = menu_create( "\rOyuncu \wSec:", "OyuncuMenu_Olustur" );
new szName[ 32 ], szInfo[ 6 ];
new oyuncular[ 32 ], iNum;
get_players( oyuncular, iNum, "a" );
for( new i = 0, oyuncu; i < iNum; i++ )
{
oyuncu = oyuncular[ i ];
switch( g_iSecimAyarlari[ id ] )
{
case YENI_CT_SEC: if( cs_get_user_team( oyuncu ) != CS_TEAM_T ) continue;
case GOM: if( g_bGom[ oyuncu ] ) continue;
case GOMULUCIKAR: if( !g_bGom[ oyuncu ] ) continue;
}
get_user_name( oyuncu, szName, charsmax( szName ) );
num_to_str( oyuncu, szInfo, charsmax( szInfo ) );
menu_additem( ctMenu, szName, szInfo );
}
menu_display( id, ctMenu, 0 );
}
public OyuncuMenu_Olustur( id, ctMenu, iItem ) {
if( iItem == MENU_EXIT || get_user_team( id ) != 2 )
{
menu_destroy( ctMenu );
return PLUGIN_HANDLED;
}
new szData[ 6 ];
new iAccess, hCallback;
new k = random_num(0,255) // Kırmızı Renk
new y = random_num(0,255) // Yeşil Renk
new m = random_num(0,255) // Mavi Renk
menu_item_getinfo( ctMenu, iItem, iAccess, szData, charsmax( szData ), _, _, hCallback );
new oyuncu = str_to_num( szData );
if( !is_user_alive( oyuncu ) )
{
ColorChat(0, NORMAL, "%s: Bu oyuncu yasamiyor." ,tag);
menu_destroy( ctMenu );
Oyuncu_Menu_Goster( id );
return PLUGIN_HANDLED;
}
switch( g_iSecimAyarlari[ id ] )
{
case GOM: bury_player( id, oyuncu );
case GOMULUCIKAR: unbury_player( id, oyuncu );
case C4_VER:
{
give_item( oyuncu, "weapon_c4" );
ColorChat(0, NORMAL, "%s: C4 Verildi",tag);
}
case YENI_CT_SEC:
{
cs_set_user_team( oyuncu, CS_TEAM_CT );
ColorChat(0, NORMAL, "%s: Yeni ^3Gardiyan^1 Secildi.", tag);
}
case KAPILARIAC:
{
kapilari_ac(id)
ColorChat(0, NORMAL, "%s: Mahkumun Kapisi Acildi.", tag);
}
case SILAHVER:
{
give_item( oyuncu, "weapon_m4a1" );
cs_set_user_bpammo( oyuncu, CSW_M4A1, 90 );
ColorChat(0, NORMAL, "%s: Oyuncuya M4A1 Silahi Verildi",tag);
}
case ZOMBI:
{
cs_set_user_model( oyuncu, "zombi" );
set_user_health( oyuncu, 10000 );
set_user_armor( oyuncu, 50000 );
cs_set_user_nvg( oyuncu, 1 );
ColorChat(0, NORMAL, "%s: Oyunculardan Birisi Zombi Oldu",tag);
client_cmd(0,"spk jailbreak/zombi_olunca");
set_user_rendering(oyuncu, kRenderFxGlowShell,0, 255, 0, kRenderNormal, 30)
set_lights("b");
}
case GLOW_VER:
{
set_user_rendering(id, kRenderFxGlowShell, k, y, m, kRenderNormal, 150)
}
}
menu_destroy( ctMenu );
return PLUGIN_HANDLED;
}
public kapilari_ac(id) {
new GardiyanIsim[32]
get_user_name(id, GardiyanIsim, 31)
set_hudmessage(random_num(1,255), random_num(1,255), random_num(1,255), -1.0, -1.0, 0, 6.0, 12.0)
show_hudmessage(0, "%s^n= Gardiyan %s Mahkumun Kapisini Acti =", tag, GardiyanIsim)
new ent = -1
while((ent = fm_find_ent_by_class(ent, "func_button")))
{
dllfunc(DLLFunc_Use, ent, 0)
}
}
public OyuncuDogunca(id) {
cs_reset_user_model(id);
cs_set_user_nvg(id, 0);
set_lights("#OFF");
set_user_rendering(id, kRenderFxGlowShell,0, 0, 0, kRenderNormal, 255);
}
public Countdown(id) {
if(task_exists(GeriSayim))
client_print(id, print_chat, "%s: Geri Sayim Zaten Devam Ediyor.", tag);
else
{
GSSAY[id] = true;
client_cmd(id, "gerisayim _mesaji_");
client_print(id, print_chat, "%s: Gerisayimin Kac Saniye Olmasini Istiyorsunuz.", tag)
}
return PLUGIN_HANDLED;
}
public GeriSayimMesaj(id) {
if(!GSSAY[id])
return PLUGIN_HANDLED;
GSSAY[id] = false;
new degisken[5];
read_args(degisken, charsmax(degisken));
remove_quotes(degisken);
if(!degisken[0])
return PLUGIN_HANDLED;
new Count;
Count = str_to_num(degisken);
GeriSayimGoster(Count + 1);
set_task(1.0, "GeriSayimGoster", GeriSayim, _, _, "a", Count);
new isim[32];
get_user_name(id, isim, charsmax(isim));
set_hudmessage(255, 255, 100, 0.01, 0.35, 2);
show_hudmessage(0, "[ %s ] %s geri sayim basladi!", tag, isim);
return PLUGIN_HANDLED;
}
public GeriSayimGoster(iStartCount) {
static Count;
if(!Count && !task_exists(GeriSayim))
Count = iStartCount;
switch(Count--)
{
case 1:
{
ClearSyncHud(0, HudMesaji);
client_cmd(0, "spk ^"radio/com_go.wav^"");
}
case 2..21:
{
new sure[20];
num_to_word(Count, sure, charsmax(sure));
client_cmd(0, "spk ^"fvox/%s.wav^"", sure);
set_hudmessage(255, 255, 255, 0.5, 0.35, 1);
ShowSyncHudMsg(0, HudMesaji, "%i", Count)
}
default:
{
set_hudmessage(255, 255, 255, 0.5, 0.35, 1);
ShowSyncHudMsg(0, HudMesaji, "%i", Count)
}
}
}
bury_player(id, victim) {
new isim[32], iwpns[32], nwpn[32], iwpn
get_user_name(victim,isim,31)
get_user_weapons(victim,iwpns,iwpn)
for(new a=0;a<iwpn;++a) {
get_weaponname(iwpns[a],nwpn,31)
engclient_cmd(victim,"drop",nwpn)
}
engclient_cmd(victim,"weapon_knife")
new origin[3]
get_user_origin(victim, origin)
origin[2] -= 30
fm_set_user_origin(victim, origin)
ColorChat(0, NORMAL, "%s: %s Gomuldun", tag, isim);
g_bGom[ victim ] = true;
CTMenu_Ayarlari( id );
}
unbury_player(id,victim) {
new isim[32], origin[3]
get_user_name(victim,isim,31)
get_user_origin(victim, origin)
origin[2] += 35
fm_set_user_origin(victim, origin)
ColorChat(0, NORMAL, "%s: %s Gomulu Oldugun Yerden Cikarildin", tag, isim );
g_bGom[ victim ] = false;
CTMenu_Ayarlari( id );
}
Oyunculara Rastgele Glow verir.