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 && get_user_team( victim ) != 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;}
Sorun düzeldi ama ammo verme olayını eklemedim. Eklerim sonra onuda.