PHP- Kodu:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fun>
#include <colorchat>
#define PLUGIN "Zombi Escape Extra Ammo"
#define VERSION "1.0"
#define AUTHOR "peNgueN"
#define ITEM_SPEED 320
#define ITEM_GRAVITY 0.7
new g_ammo[ 33 ];
new Float: Hasar[ 33 ];
new bool: g_item1[ 33 ];
new bool: g_item2[ 33 ];
new bool: g_item3[ 33 ];
new bool: g_item4[ 33 ];
new g_Noclip[ 33 ];
new g_Damage, g_DamageAmmo, g_KillAmmo, g_HeadShotAmmo;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd( "say /zekstra", "Ze_Extra_Items_Menu" );
register_clcmd( "say_team /zekstra", "Ze_Extra_Items_Menu" );
g_Damage = register_cvar( "ze_hasar", "250.0" );
g_DamageAmmo = register_cvar( "ze_hasarda_ammo", "1" );
g_KillAmmo = register_cvar( "ze_oldurdum_ammo", "3" );
g_HeadShotAmmo = register_cvar( "ze_kafadan", "4" );
RegisterHam( Ham_TakeDamage, "player", "Hm_TakeDamage" );
RegisterHam( Ham_Spawn, "player", "Hm_Spawn_Post", 1 );
RegisterHam( Ham_Player_PreThink, "player", "Hm_Player_PreThink" )
register_event( "DeathMsg", "Event_DeathMsg", "a" );
register_event("CurWeapon","Event_CurWeapon","be","1=1")
}
public client_putinserver( id )
{
set_task( 1.0, "AmmoPacks", id );
return PLUGIN_CONTINUE;
}
public AmmoPacks( id )
{
set_hudmessage(255, 0, 0, 0.02, 0.9, 0, 6.0, 1.0)
show_hudmessage(id, "Ammo Packs : %d", g_ammo[ id ] );
set_task( 1.0, "AmmoPacks", id );
}
public Hm_Player_PreThink( id )
{
if( g_item2[ id ] )
{
set_user_gravity( id, ITEM_GRAVITY );
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public Hm_Spawn_Post( id )
{
g_item1[ id ] = false;
g_item2[ id ] = false;
g_item3[ id ] = false;
g_item4[ id ] = false;
if( task_exists( id + 1453 ) ) remove_task( id + 1453 );
if( task_exists( id + 1454 ) ) remove_task( id + 1454 );
if( task_exists( id + 1455 ) ) remove_task( id + 1455 );
}
public Ze_Extra_Items_Menu( id )
{
if( !is_user_alive( id ) ) return PLUGIN_HANDLED;
new iMenu[ 64 ];
formatex( iMenu, charsmax( iMenu ), "\wZombie Escape Ekstra Itemler" );
new menu = menu_create( iMenu, "Zombi_Menu_Devam" );
formatex( iMenu, charsmax( iMenu ), "\w5 Saniye Hizli Kos \r[ 10 Ammo Pack ]" );
menu_additem( menu, iMenu, "1" );
formatex( iMenu, charsmax( iMenu ), "\wTek Roundluk Gravity Botlari \r[ 10 Ammo Pack ]" );
menu_additem( menu, iMenu, "2" );
formatex( iMenu, charsmax( iMenu ), "\wHEGrenade \r[ 10 Ammo Pack ]" );
menu_additem( menu, iMenu, "3" );
formatex( iMenu, charsmax( iMenu ), "\wSmokeGrenade \r[ 20 Ammo Pack ]" );
menu_additem( menu, iMenu, "4" );
formatex( iMenu, charsmax( iMenu ), "\wFlashBang \r[ 20 Ammo Pack ]" );
menu_additem( menu, iMenu, "5" );
formatex( iMenu, charsmax( iMenu ), "\w8 Saniye Sinirsiz Mermi \r[ 15 Ammo Pack ]" );
menu_additem( menu, iMenu, "6" );
formatex( iMenu, charsmax( iMenu ), "\w4 Saniye Noclip \r[ 15 Ammo Pack ]" );
menu_additem( menu, iMenu, "7" );
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop( menu, MPROP_EXITNAME, "\rCIKIS" );
menu_display(id, menu);
return PLUGIN_HANDLED;
}
public Zombi_Menu_Devam(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new info[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, info, charsmax(info), szName, charsmax(szName), callback);
new key = str_to_num(info);
switch(key)
{
case 1:
{
if( g_ammo[ id ] >= 10 )
{
g_ammo[ id ] -= 10;
g_item1[ id ] = true;
set_user_maxspeed( id, float( ITEM_SPEED ) );
set_task( 5.0, "Hizi_Kes", id + 1453 );
ColorChat( id, NORMAL, "[ Zombie Escape ] 5 Saniye Hizli Kosacaksiniz.." );
}
else
{
ColorChat( id, NORMAL, "[ Zombie Escape ] Yeterli Ammonuz Bulunmamaktadir !" );
return PLUGIN_HANDLED;
}
}
case 2:
{
if( g_ammo[ id ] >= 10 )
{
g_ammo[ id ] -= 10;
g_item2[ id ] = true;
set_user_gravity( id, ITEM_GRAVITY );
ColorChat( id, NORMAL, "[ Zombie Escape ] Bir Ellik Gravity Botu Aldiniz.." );
}
else
{
ColorChat( id, NORMAL, "[ Zombie Escape ] Yeterli Ammonuz Bulunmamaktadir !" );
return PLUGIN_HANDLED;
}
}
case 3:
{
if( g_ammo[ id ] >= 10 )
{
g_ammo[ id ] -= 10;
give_item( id, "weapon_hegrenade" );
ColorChat( id, NORMAL, "[ Zombie Escape ] 1 Tane Hegrenade Aldiniz.." );
}
else
{
ColorChat( id, NORMAL, "[ Zombie Escape ] Yeterli Ammonuz Bulunmamaktadir !" );
return PLUGIN_HANDLED;
}
}
case 4:
{
if( g_ammo[ id ] >= 20 )
{
g_ammo[ id ] -= 10;
give_item( id, "weapon_smokegrenade" );
ColorChat( id, NORMAL, "[ Zombie Escape ] 1 Tane Smokegrenade Aldiniz.." );
}
else
{
ColorChat( id, NORMAL, "[ Zombie Escape ] Yeterli Ammonuz Bulunmamaktadir !" );
return PLUGIN_HANDLED;
}
}
case 5:
{
if( g_ammo[ id ] >= 20 )
{
g_ammo[ id ] -= 10;
give_item( id, "weapon_flashbang" );
ColorChat( id, NORMAL, "[ Zombie Escape ] 1 Tane FlashBang Aldiniz.." );
}
else
{
ColorChat( id, NORMAL, "[ Zombie Escape ] Yeterli Ammonuz Bulunmamaktadir !" );
return PLUGIN_HANDLED;
}
}
case 6:
{
if( g_ammo[ id ] >= 15 )
{
g_ammo[ id ] -= 15;
g_item3[ id ] = true;
set_task( 8.0, "Unammo_Kapat", id + 1454 );
ColorChat( id, NORMAL, "[ Zombie Escape ] 8 Saniyelik Unammo Aldiniz.." );
}
else
{
ColorChat( id, NORMAL, "[ Zombie Escape ] Yeterli Ammonuz Bulunmamaktadir !" );
return PLUGIN_HANDLED;
}
}
case 7:
{
if( g_ammo[ id ] >= 15 )
{
g_ammo[ id ] -= 15;
g_item4[ id ] = true;
set_user_noclip( id, 1 );
set_task( 1.0, "Noclip", id + 1455, _, _, "b", 5 );
ColorChat( id, NORMAL, "[ Zombie Escape ] 4 Saniyelik Noclip Aldiniz.." );
}
else
{
ColorChat( id, NORMAL, "[ Zombie Escape ] Yeterli Ammonuz Bulunmamaktadir !" );
return PLUGIN_HANDLED;
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public Hm_TakeDamage( victim, inflictor, attacker, Float:damage, bits )
{
if( get_user_team( attacker ) == 2 )
{
if( damage < get_pcvar_float( g_Damage ) )
{
Hasar[ attacker ] += damage;
if( Hasar[ attacker ] >= get_pcvar_float( g_Damage ) )
{
g_ammo[ attacker ] += get_pcvar_num( g_DamageAmmo )
Hasar[ attacker ] = 0.0;
}
}
else
{
g_ammo[ attacker ] += get_pcvar_num( g_DamageAmmo )
Hasar[ attacker ] = 0.0;
}
}
return HAM_IGNORED;
}
public Event_DeathMsg( )
{
new victim = read_data( 2 );
new attacker = get_user_attacker( victim );
if(attacker == victim) return PLUGIN_HANDLED;
if(attacker < 1 && attacker > get_maxplayers() ) return PLUGIN_HANDLED;
if( !is_user_connected( attacker ) ) return PLUGIN_HANDLED;
if( is_user_bot( attacker ) ) return PLUGIN_HANDLED;
new headshot = read_data( 3 );
if( headshot )
{
g_ammo[ attacker ] += get_pcvar_num( g_HeadShotAmmo )
}
g_ammo[ attacker ] += get_pcvar_num( g_KillAmmo )
return PLUGIN_HANDLED;
}
public Event_CurWeapon( id )
{
if( g_item3[ id ] )
{
new sarjor, mermi;
new silah = get_user_weapon( id, sarjor, mermi );
new szSilah[32];
if ( silah == CSW_HEGRENADE || silah == CSW_FLASHBANG || silah == CSW_SMOKEGRENADE || silah == CSW_C4 || silah == CSW_KNIFE )
{
return PLUGIN_HANDLED;
}
if ( sarjor == 0 )
{
get_weaponname( silah, szSilah, charsmax( szSilah ) );
give_item( id, szSilah );
engclient_cmd(id, szSilah );
}
}
if( g_item1[ id ] )
{
set_user_maxspeed( id, float( ITEM_SPEED ) );
}
return PLUGIN_CONTINUE;
}
public Hizi_Kes( TaskID )
{
new id = TaskID - 1453;
if( !is_user_alive( id ) )
{
set_user_maxspeed( id, 270.0 );
remove_task( id + 1453 );
return PLUGIN_HANDLED;
}
if( task_exists( id + 1453 ) )
{
set_user_maxspeed( id, 270.0 );
remove_task( id + 1453 );
g_item1[ id ] = false;
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public Unammo_Kapat( TaskID )
{
new id = TaskID - 1454;
if( !is_user_alive( id ) )
{
remove_task( id + 1454 );
return PLUGIN_HANDLED;
}
if( task_exists( id + 1454 ) )
{
remove_task( id + 1454 );
g_item3[ id ] = false;
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public Noclip( TaskID )
{
new id = TaskID - 1455;
if( !is_user_alive( id ) )
{
remove_task( id + 1455 );
return PLUGIN_HANDLED;
}
g_Noclip[ id ] += 1;
if( g_Noclip[ id ] < 5 )
{
ColorChat( id, NORMAL, "Noclip'in Bitmesine %d Saniye Kaldi..", g_Noclip[ id ] );
}
else
{
ColorChat( id, NORMAL, "Noclip Bitti.." );
g_Noclip[ id ] = 0;
set_user_noclip( id, 0 );
remove_task( id + 1455 );
}
return PLUGIN_HANDLED;
}