Spoiler
#include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> #include <fakemeta> #include <hamsandwich> #include <colorchat> #include <jailbreak> #define PLUGIN "Jail .J@nk3s" #define VERSION "1.0.6" #define AUTHOR "Cypis" /////////// Pojedynek /////////// new bronie_pojedynek, pojedynek[2]; new HamHook:fHamKill, HamHook:fHamDamage, HamHook:fHamTrace, HamHook:fHamWeapon[31]; /////////// Pojedynek /////////// new const maxAmmo[31] = {0,52,0,90,1,31,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,31,90,120,90,2,35,90,90,0,100}; new id_bezruch, id_freeday, id_duszek, id_rambomod, id_pojedynek; new id_kill, id_glocker ///////////// ogien //////////// new g_fire[ 33 ] new maxplayers; new id_podpalenie new g_mflash new g_smoke public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) id_bezruch = jail_register_wish("Bezruch"); id_freeday = jail_register_wish("FreeDay"); id_duszek = jail_register_wish("Duszek"); id_rambomod = jail_register_wish("RamboMod"); id_pojedynek = jail_register_wish("Pojedynki"); id_kill = jail_register_wish("CT Kill w konsoli"); id_glocker = jail_register_wish("Gruby Glocker"); id_podpalenie = jail_register_wish("Podpal Klawiszy"); } public plugin_precache() { precache_sound("jb_cypis/rambomode.wav"); precache_sound("jb_error/pojedynek.wav"); precache_sound( "ambience/flameburst1.wav" ) precache_sound( "scientist/scream07.wav" ) g_mflash = precache_model( "sprites/muzzleflash.spr" ) g_smoke = precache_model( "sprites/steam1.spr" ) precache_sound( "scientist/scream21.wav" ) } public OnRemoveData(day) { /////////// Pojedynek /////////// if(pojedynek[0] || pojedynek[1]) { pojedynek[0] = 0; pojedynek[1] = 0; RegisterHams(false); } bronie_pojedynek = 0; /////////// Pojedynek /////////// } public OnLastPrisonerTakeWish(id, zyczenie) { if(zyczenie == id_bezruch) { strip_user_weapons(id); give_item(id, "weapon_knife"); give_item(id, "weapon_deagle") cs_set_user_bpammo(id, CSW_DEAGLE, maxAmmo[CSW_DEAGLE]); jail_set_ct_hit_tt(true); for(new i=1; i<=32; i++) { if(!is_user_alive(i) || !is_user_connected(i) || cs_get_user_team(i) != CS_TEAM_CT) continue; strip_user_weapons(i); give_item(i, "weapon_knife"); jail_set_user_speed(i, 0.1); } } else if(zyczenie == id_freeday) { if(jail_get_days() == CZWARTEK || jail_get_days() == SOBOTA) //w tych dniach nie mozna wziść fd return JAIL_HANDLED; user_kill(id); jail_set_prisoner_free(id); } else if(zyczenie == id_duszek) { if(jail_get_days() == CZWARTEK || jail_get_days() == SOBOTA) //w tych dniach nie mozna wziść duszka return JAIL_HANDLED; user_kill(id); jail_set_prisoner_ghost(id); } else if(zyczenie == id_rambomod) { client_cmd(0, "spk jb_cypis/rambomode.wav"); set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "RamboMod aktywny!"); set_user_health(id, 1500); strip_user_weapons(id); give_item(id, "weapon_knife"); give_item(id, "weapon_m249"); cs_set_user_bpammo(id, CSW_M249, maxAmmo[CSW_M249]); } else if(zyczenie == id_pojedynek) { MenuPojedynkow(id) } else if(zyczenie == id_podpalenie){ for(new i=1; i<=32; i++){ if(is_user_alive(i) && get_user_team(i) == 2){ exec_punishmentfire() } } set_user_health(id, 3000); // odpowiada za to, czy damy naszemu ostatniemu więźniowi 3000 hp czy też nie, by nie został zabity w trakcie palenia się klawiszy } else if(zyczenie == id_glocker) { strip_user_weapons(id) set_user_health(id, 2000) give_item( id, "weapon_glock18") give_item(id, "weapon_knife") cs_set_user_bpammo(id,CSW_GLOCK18,200) set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderTransAlpha, 255) 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, "= Gruby Glocker powrocil =") } else if(zyczenie == id_kill) { set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "CT zabilo sie z niewiadomo jakiego powodu...!"); for(new i=1; i<=32; i++){ if(is_user_alive(i) && get_user_team(i) == 2){ user_kill(i) } } } return JAIL_CONTINUE; } /////////// Pojedynek /////////// public MenuPojedynek(id) { new menu = menu_create("Pojedynek Z:", "Handel_Pojedynek"); for(new i=1; i<=32; i++) { if(!is_user_alive(i) || !is_user_connected(i) || cs_get_user_team(i) != CS_TEAM_CT) continue; new name[64]; get_user_name(i, name, 63); menu_additem(menu, name); } menu_setprop(menu, MPROP_EXITNAME, "\dWyjdz"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu); } public MenuPojedynkow(id) { new menu = menu_create("MyMenu", "h_Pojedynki"); for(new i=1; i<=32; i++) { if(!is_user_alive(i) || !is_user_connected(i) || cs_get_user_team(i) != CS_TEAM_CT) continue; menu_additem(menu,"Deagle","1",0) menu_additem(menu,"Scout","2",0) menu_additem(menu,"AWP","3",0) menu_additem(menu,"AK47","4",0) menu_additem(menu,"Pompa","5",0) menu_additem(menu,"P90","6",0) menu_additem(menu,"Glocki","7",0) menu_additem(menu,"Granaty","8",0) menu_additem(menu,"M4A1","9",0) menu_additem(menu,"Krowa","10",0) menu_additem(menu,"Aug","11",0) menu_additem(menu,"MP5","12",0) menu_additem(menu,"Galil","13",0) menu_additem(menu,"Famas","14",0) } menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_setprop(menu, MPROP_NOCOLORS, 1); menu_display(id, menu, 0); return PLUGIN_HANDLED; } public h_Pojedynki(id, menu, item) { if(item == MENU_EXIT) { menu_cancel(id); return PLUGIN_HANDLED; } new command[6], name[64], access, callback; menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback); switch(item) { case 0: { pojedynek[0] = id; bronie_pojedynek = CSW_DEAGLE; client_print(0, print_chat, "[Cs-PrawdziwiPalacze] Pojedynek na Deagle"); set_hudmessage(40, 210, 230, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Wybral pojedynek na Deagle!"); MenuPojedynek(id); } case 1: { pojedynek[0] = id; bronie_pojedynek = CSW_SCOUT; client_print(0, print_chat, "[Cs-PrawdziwiPalacze] Pojedynek na Scouty"); set_hudmessage(40, 210, 230, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Wybral pojedynek na Scouty!"); MenuPojedynek(id); } case 2: { pojedynek[0] = id; bronie_pojedynek = CSW_AWP; client_print(0, print_chat, "[Cs-PrawdziwiPalacze] Pojedynek na AWP"); set_hudmessage(40, 210, 230, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Wybral pojedynek na Deagle!"); MenuPojedynek(id); } case 3: { pojedynek[0] = id; bronie_pojedynek = CSW_AK47; client_print(0, print_chat, "[Cs-PrawdziwiPalacze] Pojedynek na AK47"); set_hudmessage(40, 210, 230, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Wybral pojedynek na Ak47!"); MenuPojedynek(id); } case 4: { pojedynek[0] = id; bronie_pojedynek = CSW_M3; client_print(0, print_chat, "[Cs-PrawdziwiPalacze] Pojedynek na Pompy"); set_hudmessage(40, 210, 230, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Wybral pojedynek na Pompy!"); MenuPojedynek(id); } case 5: { pojedynek[0] = id; bronie_pojedynek = CSW_P90; client_print(0, print_chat, "[Cs-PrawdziwiPalacze] Pojedynek na P90"); set_hudmessage(40, 210, 230, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Wybral pojedynek na P90!"); MenuPojedynek(id); } case 6: { pojedynek[0] = id; bronie_pojedynek = CSW_GLOCK18; client_print(0, print_chat, "[Cs-PrawdziwiPalacze] Pojedynek na Glocki"); set_hudmessage(40, 210, 230, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Wybral pojedynek na Glocki!"); MenuPojedynek(id); } case 7: { pojedynek[0] = id; bronie_pojedynek = CSW_HEGRENADE; client_print(0, print_chat, "[Cs-PrawdziwiPalacze] Pojedynek na Granaty"); set_hudmessage(40, 210, 230, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Wybral pojedynek na Granaty!"); MenuPojedynek(id); } case 8: { pojedynek[0] = id; bronie_pojedynek = CSW_M4A1; client_print(0, print_chat, "[Cs-PrawdziwiPalacze] Pojedynek na M4A1"); set_hudmessage(40, 210, 230, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Wybral pojedynek na M4a1!"); MenuPojedynek(id); } case 9: { pojedynek[0] = id; bronie_pojedynek = CSW_M249; client_print(0, print_chat, "[Cs-PrawdziwiPalacze] Pojedynek na Krowe"); set_hudmessage(40, 210, 230, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Wybral pojedynek na KROWE!"); MenuPojedynek(id); } case 10: { pojedynek[0] = id; bronie_pojedynek = CSW_AUG; client_print(0, print_chat, "[Cs-PrawdziwiPalacze] Pojedynek na AUG"); set_hudmessage(40, 210, 230, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Wybral pojedynek na AUG'A!"); MenuPojedynek(id); } case 11: { pojedynek[0] = id; bronie_pojedynek = CSW_MP5NAVY; client_print(0, print_chat, "[Cs-PrawdziwiPalacze] Pojedynek na MP5"); set_hudmessage(40, 210, 230, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Wybral pojedynek na MP5!"); MenuPojedynek(id); } case 12: { pojedynek[0] = id; bronie_pojedynek = CSW_GALI; client_print(0, print_chat, "[Cs-PrawdziwiPalacze] Pojedynek na Galil"); set_hudmessage(40, 210, 230, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Wybral pojedynek na Galil!"); MenuPojedynek(id); } case 13: { pojedynek[0] = id; bronie_pojedynek = CSW_FAMAS; client_print(0, print_chat, "[Cs-PrawdziwiPalacze] Pojedynek na Famas"); set_hudmessage(40, 210, 230, -1.0, -1.0, 0, 6.0, 4.0); show_hudmessage(0, "Wybral pojedynek na Famas!"); MenuPojedynek(id); } } menu_destroy(menu); return PLUGIN_HANDLED; } public Handel_Pojedynek(id, menu, item) { if(pojedynek[0] != id || pojedynek[1] || !is_user_alive(id)) return; if(item == MENU_EXIT) { menu_display(id, menu); return; } new acces, callback, data[3], szName2[64]; menu_item_getinfo(menu, item, acces, data, 2, szName2, 63, callback); pojedynek[1] = get_user_index(szName2); if(!is_user_alive(pojedynek[1]) || !is_user_connected(pojedynek[1])) { pojedynek[1] = 0; MenuPojedynek(id); return; } new szName[32]; get_user_name(id, szName, 31); ColorChat(0, TEAM_COLOR, "^x04[Cs-PrawdziwiPalacze]^x03 %s^x01 walczy z^x03 %s", szName, szName2); client_cmd(0, "spk jb_error/pojedynek.wav"); RegisterHams(true); set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 10); set_user_rendering(pojedynek[1], kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 10); jail_set_user_block(pojedynek[0], true) jail_set_user_block(pojedynek[1], true); set_user_health(id, 100); set_user_health(pojedynek[1], 100); strip_user_weapons(id); strip_user_weapons(pojedynek[1]); new weapon_name[24]; get_weaponname(bronie_pojedynek, weapon_name, 23); new ent = give_item(id, weapon_name); new ent2 = give_item(pojedynek[1], weapon_name); cs_set_weapon_ammo(ent, 1); cs_set_weapon_ammo(ent2, 1); } public TakeDamage(id, ent, attacker, Float:damage, damagebits) return vTracerAttack(id, attacker); public TraceAttack(id, attacker, Float:damage, Float:direction[3], tracehandle, damagebits) return vTracerAttack(id, attacker); vTracerAttack(id, attacker) { if(!pojedynek[0] || !is_user_connected(id) || !is_user_connected(attacker) || id == attacker) return HAM_IGNORED; if(pojedynek[0] == id && pojedynek[1] != attacker) return HAM_SUPERCEDE; if(pojedynek[0] == attacker && pojedynek[1] != id) return HAM_SUPERCEDE; return HAM_IGNORED; } public SmiercGraczaPost(id, attacker, shouldgib) { if(!is_user_connected(id) || id != pojedynek[1]) return HAM_IGNORED; jail_set_user_block(id, false); SzukajPrzeciwnika(); return HAM_IGNORED; } public WeaponAttack(ent) { new id = get_pdata_cbase(ent, 41, 4); if(pojedynek[0] == id || pojedynek[1] == id) { cs_set_user_bpammo(id, bronie_pojedynek, 1); } } public client_disconnect(id) { if(pojedynek[1] == id) SzukajPrzeciwnika(); } public SzukajPrzeciwnika() { pojedynek[1] = RandomPlayer(2); if(!pojedynek[1]) return; if(is_user_alive(pojedynek[0])) set_user_health(pojedynek[0], 100); set_user_rendering(pojedynek[1], kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 10); jail_set_user_block(pojedynek[1], true); set_user_health(pojedynek[1], 100); strip_user_weapons(pojedynek[1]); new weapon_name[24] get_weaponname(bronie_pojedynek, weapon_name, 23); new ent = give_item(pojedynek[1], weapon_name); cs_set_weapon_ammo(ent, 1); } public RegisterHams(bool:wartosc) { if(wartosc) { if(fHamKill) EnableHamForward(fHamKill); else fHamKill = RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1); if(fHamDamage) EnableHamForward(fHamDamage); else fHamDamage = RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); if(fHamTrace) EnableHamForward(fHamTrace); else fHamTrace = RegisterHam(Ham_TraceAttack, "player", "TraceAttack"); if(fHamWeapon[bronie_pojedynek]) EnableHamForward(fHamWeapon[bronie_pojedynek]); else { new WeaponName[24]; get_weaponname(bronie_pojedynek, WeaponName, 23); fHamWeapon[bronie_pojedynek] = RegisterHam(Ham_Weapon_PrimaryAttack, WeaponName, "WeaponAttack", 1); } } else { if(fHamKill) DisableHamForward(fHamKill); if(fHamDamage) DisableHamForward(fHamDamage); if(fHamTrace) DisableHamForward(fHamTrace); if(fHamWeapon[bronie_pojedynek]) DisableHamForward(fHamWeapon[bronie_pojedynek]); } } /////////// Pojedynek /////////// /////////// Ogien /////////// exec_punishmentfire( ){ for(new i=1; i<=32; i++){ if(is_user_alive(i) && get_user_team(i) == 2){ if ( !g_fire[ i ] ){ g_fire[ i ] = 1 fire_effects( i ) fire_damage( i ) } } } } public fire_effects( id ){ if ( is_user_alive( id ) && g_fire[ id ] ){ new origin[ 3 ] get_user_origin( id, origin ) draw_fire( origin ) set_task( 0.2, "fire_effects", id ) } } public fire_damage( id ){ if ( is_user_alive( id ) && g_fire[ id ] ){ new health = get_user_health( id ) set_pev( id, pev_dmg_inflictor, 0 ) if ( health - 20 <= 0 ) user_kill( id, 1 ) else { set_pev( id, pev_health, float( health ) - 20.0 ) emit_sound( id, CHAN_ITEM, "ambience/flameburst1.wav", 0.6, ATTN_NORM, 0, PITCH_NORM ) set_task( 1.0, "fire_damage", id ) } } } public Touch( ptr, ptd ){ if ( ptr < 1 || ptr > maxplayers || ptd < 1 || ptd > maxplayers ) return FMRES_IGNORED if ( is_user_alive( ptr ) && !g_fire[ ptr ] && is_user_alive( ptd ) && g_fire[ ptd ] ){ emit_sound( ptr, CHAN_WEAPON, "scientist/scream07.wav", 1.0, ATTN_NORM, 0, PITCH_HIGH ) } return FMRES_IGNORED } draw_fire( origin[ 3 ] ){ message_begin( MSG_BROADCAST, SVC_TEMPENTITY ) write_byte( TE_SPRITE ) write_coord( origin[ 0 ] ) write_coord( origin[ 1 ] ) write_coord( origin[ 2 ] ) write_short( g_mflash ) write_byte( 20 ) write_byte( 200 ) message_end() smoke_effect( origin, 20 ) // Smoke } smoke_effect( origin[ 3 ], amount ){ message_begin( MSG_BROADCAST, SVC_TEMPENTITY ) write_byte( TE_SMOKE ) write_coord( origin[ 0 ] ) write_coord( origin[ 1 ] ) write_coord( origin[ 2 ] ) write_short( g_smoke ) write_byte( amount ) write_byte( 10 ) message_end() }
Użytkownik MAGNET edytował ten post 05.06.2015 15:25