JailBreak last request sound

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
Pukuotukas951
Gana aktyvus vartotojas
Posts: 445
Joined: 2011 Aug 27 09:29

JailBreak last request sound

Post by Pukuotukas951 »

Koki koda ideti, kaip padaryti: kad kai tik duoda ginklus nu pradedi kovoti su priesinku grotu tavo norima muzikele? Tik pacioj pradzioj.

Code: Select all

#include <amxmodx>#include <amxmisc>#include <cstrike>#include <fakemeta>#include <hamsandwich>#include <fun> #define PLUGIN "Jailbreak Last Request"#define VERSION "1.6"#define AUTHOR "rube" /*================================================================================    Variables | bools | Cvars       =================================================================================*/ new g_maxPlayers, g_msgSayText, beacon_sprite new cvar_granadas_bpammo, cvar_scout_bpammo, cvar_effect new bool:touch_weapons[33], bool:once[33], bool:player_challenged[33], bool:duel_active,bool:knife_duel[33] ,bool:deagle_duel[33], bool:grenade_duel[33], bool:scout_duel[33] new tag[] = "[JailBreak]" /*================================================================================    Init n' precache        =================================================================================*/ public plugin_precache() {       beacon_sprite = precache_model("sprites/shockwave.spr")} public plugin_init(){    register_plugin(PLUGIN, VERSION, AUTHOR)        register_event("HLTV", "event_round_start", "a", "1=0", "2=0")        RegisterHam(Ham_Touch, "weaponbox", "fw_touch_weapon")    RegisterHam(Ham_Touch, "armoury_entity", "fw_touch_weapon")    RegisterHam(Ham_Touch, "weapon_shield", "fw_touch_weapon")    RegisterHam(Ham_Spawn, "player", "fw_player_respawn", 1)    RegisterHam(Ham_Killed, "player", "fw_player_killed")               register_forward(FM_CmdStart,"fw_cmdstart",1)        // Comando de jugador - Client commands    register_clcmd("say /lr", "duel_menu")    register_clcmd("say !lr", "duel_menu")    register_clcmd("say_team /lr", "duel_menu")    register_clcmd("say_team !lr", "duel_menu")        // Cvars    cvar_granadas_bpammo = register_cvar("jb_grenade_bpammo","10") // amount bpammo grenade | cantidad de granadas    cvar_scout_bpammo = register_cvar("jb_scout_bpammo", "10") // amount bpammo scout | cantidad de balas pa' la scout    cvar_effect = register_cvar("jb_effect", "2") // 0 = glow , 1 = beacon, 2 = glow n' beacon        g_maxPlayers = get_maxplayers()        g_msgSayText = get_user_msgid("SayText")        register_dictionary("jailbreak_last_request.txt")} /*================================================================================    Round Start             =================================================================================*/ public event_round_start(){    duel_active = false}        /*================================================================================    forwards                =================================================================================*/ public fw_player_respawn(id){    if(!is_user_alive(id) || !cs_get_user_team(id))        return          set_user_rendering(id)    remove_task(id)    touch_weapons[id] = false     once[id] = false     knife_duel[id] = false    deagle_duel[id] = false    grenade_duel[id] = false    scout_duel[id] = false      player_challenged[id] = false} public fw_touch_weapon(weapon, id){    if (!is_user_connected(id))        return HAM_IGNORED;        new players[32], pnum, tempid;    get_players(players, pnum, "a");    for( new i; i<pnum; i++ )    {                tempid = players[i];    }        if (touch_weapons[id] || touch_weapons[tempid])        return HAM_SUPERCEDE;        return HAM_IGNORED;}  public fw_cmdstart(player,uc_handle,random_seed){    if(deagle_duel[player])    {        cs_set_user_bpammo(player, CSW_DEAGLE, 1)    }} public fw_player_killed(victim, attacker, shouldgib){    new name[32]    get_user_name(attacker, name, 31)                if(duel_active)    {        if(cs_get_user_team(victim) == CS_TEAM_CT && player_challenged[victim])        {            knife_duel[attacker] = false            deagle_duel[attacker] = false            grenade_duel[attacker] = false            scout_duel[attacker] = false            once[attacker] = false            strip_user_weapons(attacker)            give_item(attacker, "weapon_knife")            set_user_rendering(attacker)            duel_menu(attacker)        }        else if(cs_get_user_team(victim) == CS_TEAM_CT && !player_challenged[victim])        {            set_task(0.4, "kill_player", attacker)            set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)            show_hudmessage(0, "%L", LANG_PLAYER,"DUEL_DOWN", name)                        }    }    remove_task(attacker)    remove_task(victim)} public kill_player(id){    user_kill(id)} /*================================================================================    Main Menu               =================================================================================*/ public duel_menu(id){       if(!is_user_alive(id))        return PLUGIN_HANDLED        if (!once[id])    {        if(cs_get_user_team(id) == CS_TEAM_T)        {            new cts[32], ts[32], ctsnum, tsnum                 for (new id=1; id <= g_maxPlayers; id++)            {                if (!is_user_connected(id) || !is_user_alive(id))                 {                     continue                 }                     if (cs_get_user_team(id) == CS_TEAM_T)                 {                     ts[tsnum++] = id                }                 else if (cs_get_user_team(id) == CS_TEAM_CT)                 {                     cts[ctsnum++] = id                }             }             if (tsnum == 1 && ctsnum >= 1)             {                              static opcion[64]                    formatex(opcion, charsmax(opcion),"\y%L:", id, "CHOOSE_DUEL")                new iMenu = menu_create(opcion, "sub_duel_menu")                    formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_1")                menu_additem(iMenu, opcion, "1")                        formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_2")                menu_additem(iMenu, opcion, "2")                            formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_3")                menu_additem(iMenu, opcion, "3")                        formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_4")                menu_additem(iMenu, opcion, "4")                             menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL)                menu_display(id, iMenu, 0)                                    }            else if (tsnum == 1 && ctsnum < 1)            {                ChatColor(id, "%L", LANG_PLAYER,"NOT_CTS", tag)             }            else if (tsnum > 1)            {                ChatColor(id, "%L", LANG_PLAYER,"ONLY_LAST", tag)            }        }        else        {            ChatColor(id, "%L", LANG_PLAYER,"ONLY_TTS", tag)         }    }    else    {        ChatColor(id, "%L", LANG_PLAYER,"KILL_CHALLENGED", tag)     }    return PLUGIN_HANDLED} public sub_duel_menu(id, menu, item){        if (item == MENU_EXIT)    {        menu_destroy(menu)        return PLUGIN_HANDLED    }        new Data[6], Name[64]    new Access, Callback        menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback)        new Key = str_to_num(Data)        switch (Key)    {        case 1:        {               knife_duel[id] = true            choose_enemy(id)        }        case 2:         {            deagle_duel[id] = true            choose_enemy(id)        }        case 3:         {            grenade_duel[id] = true            choose_enemy(id)        }        case 4:         {            scout_duel[id] = true            choose_enemy(id)        }    }        menu_destroy(menu)      return PLUGIN_HANDLED} /*================================================================================    Menu of challenges              =================================================================================*/ public choose_enemy(id){    static opcion[64]        formatex(opcion, charsmax(opcion),"\y%L:", id, "CHOOSE_ENEMY")    new iMenu = menu_create(opcion, "sub_choose_enemy")        new players[32], pnum, tempid    new szName[32], szTempid[10]        get_players(players, pnum, "a")        for( new i; i<pnum; i++ )    {        tempid = players[i]                if (cs_get_user_team(tempid) != CS_TEAM_CT)        {            continue        }                get_user_name(tempid, szName, 31)        num_to_str(tempid, szTempid, 9)        menu_additem(iMenu, szName, szTempid, 0)    }        menu_display(id, iMenu)    return PLUGIN_HANDLED} public sub_choose_enemy(id, menu, item){    if( item == MENU_EXIT )    {        menu_destroy(menu)        return PLUGIN_HANDLED    }        new Data[6], Name[64]    new Access, Callback    menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback)        new tempid = str_to_num(Data)        new mapname[32], challenger[32], challenged[32], ct_origin[3], te_origin[3]     get_mapname(mapname,31)    get_user_name(id, challenger, 31)    get_user_name(tempid, challenged, 31)        // strip weapons    strip_user_weapons(id)    strip_user_weapons(tempid)        // health    set_user_health(id, 100)    set_user_health(tempid, 100)        // effects    switch (get_pcvar_num(cvar_effect))    {        case 0: // glow        {            set_user_rendering(id, kRenderFxGlowShell, 250, 0, 0, kRenderNormal, 20)                set_user_rendering(tempid, kRenderFxGlowShell, 0, 0, 250, kRenderNormal, 20)        }        case 1: // beacon        {            set_task(1.0, "beacon", id)            set_task(1.0, "beacon", tempid)        }        case 2: // glow n' beacon        {            set_user_rendering(id, kRenderFxGlowShell, 250, 0, 0, kRenderNormal, 20)                set_task(1.0, "beacon", id)            set_user_rendering(tempid, kRenderFxGlowShell, 0, 0, 250, kRenderNormal, 20)            set_task(1.0, "beacon", tempid)        }    }        // player challenged    player_challenged[tempid] = true        // lr menu once until he kills the player challenged    once[id] = true         // unable pick up weapon (only the 2 players on duel)    touch_weapons[id] = true    touch_weapons[tempid] = true                if(knife_duel[id])    {        give_item(id, "weapon_knife")        give_item(tempid, "weapon_knife")                        if(equali(mapname,"some1s_jailbreak"))        {            ct_origin[0] = -759, ct_origin[1] = 1047, ct_origin[2] = 100            te_origin[0] = -585, te_origin[1] = 867, te_origin[2] = 100            set_user_origin(id,te_origin)            set_user_origin(tempid,ct_origin)        }                set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)        show_hudmessage(0, "%L",LANG_PLAYER,"KNIFE_DUEL", challenger, challenged)            }    else if(deagle_duel[id])    {        deagle_duel[tempid] = true                cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 1)        cs_set_weapon_ammo(give_item(tempid, "weapon_deagle"), 1)                if(equali(mapname,"some1s_jailbreak"))        {            ct_origin[0] = -1352, ct_origin[1] = 271, ct_origin[2] = 38            te_origin[0] = -1338, te_origin[1] = -782, te_origin[2] = 38            set_user_origin(id,te_origin)            set_user_origin(tempid,ct_origin)        }                set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)        show_hudmessage(0, "%L", LANG_PLAYER,"DEAGLE_DUEL", challenger, challenged)    }    else if(grenade_duel[id])    {        give_item(id, "weapon_hegrenade")        give_item(tempid, "weapon_hegrenade")        cs_set_user_bpammo(id, CSW_HEGRENADE,get_pcvar_num(cvar_granadas_bpammo))               cs_set_user_bpammo(tempid, CSW_HEGRENADE,get_pcvar_num(cvar_granadas_bpammo))                if(equali(mapname,"some1s_jailbreak"))        {            ct_origin[0] = -1756, ct_origin[1] = -2526, ct_origin[2] = 36            te_origin[0] = -3020, te_origin[1] = -2529, te_origin[2] = 36            set_user_origin(id,te_origin)            set_user_origin(tempid,ct_origin)        }                set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)        show_hudmessage(0, "%L", LANG_PLAYER,"GRENADE_DUEL", challenger, challenged)    }    else if(scout_duel[id])    {        give_item(id, "weapon_scout")        give_item(tempid, "weapon_scout")        cs_set_user_bpammo(id, CSW_SCOUT, get_pcvar_num(cvar_scout_bpammo))        cs_set_user_bpammo(tempid, CSW_SCOUT, get_pcvar_num(cvar_scout_bpammo))                if(equali(mapname,"some1s_jailbreak"))        {            ct_origin[0] = -2898, ct_origin[1] = -2040, ct_origin[2] = 37            te_origin[0] = -2908, te_origin[1] = 905, te_origin[2] = 37            set_user_origin(id,te_origin)            set_user_origin(tempid,ct_origin)        }                set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)        show_hudmessage(0, "%L", LANG_PLAYER,"SCOUT_DUEL", challenger, challenged)    }        duel_active = true        menu_destroy(menu)    return PLUGIN_HANDLED} public beacon(id){    if(cs_get_user_team(id) == CS_TEAM_CT)    {        static origin[3]        get_user_origin(id, origin)        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)        write_byte(TE_BEAMCYLINDER) // TE id        write_coord(origin[0])      // x        write_coord(origin[1])      // y        write_coord(origin[2]-20)   // z        write_coord(origin[0])      // x axis        write_coord(origin[1])      // y axis        write_coord(origin[2]+200)  // z axis        write_short(beacon_sprite)  // sprite        write_byte(0)           // startframe           write_byte(1)           // framerate           write_byte(6)           // life        write_byte(2)           // width        write_byte(1)               // noise            write_byte(0)           // red          write_byte(0)               // green         write_byte(250)         // blue        write_byte(200)         // brightness        write_byte(0)           // speed        message_end()    }    else    {        static origin[3]        get_user_origin(id, origin)        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)        write_byte(TE_BEAMCYLINDER) // TE id        write_coord(origin[0])      // x        write_coord(origin[1])      // y        write_coord(origin[2]-20)   // z        write_coord(origin[0])      // x axis        write_coord(origin[1])      // y axis        write_coord(origin[2]+200)  // z axis        write_short(beacon_sprite)  // sprite        write_byte(0)           // startframe           write_byte(1)           // framerate           write_byte(6)           // life        write_byte(2)           // width        write_byte(1)               // noise            write_byte(250)         // red          write_byte(0)               // green         write_byte(0)           // blue        write_byte(200)         // brightness        write_byte(0)           // speed        message_end()    }    set_task(1.0, "beacon", id)        } /*================================================================================    Stocks                  =================================================================================*/ stock ChatColor(const id, const input[], any:...){    new count = 1, players[32]    static msg[191]    vformat(msg, 190, input, 3)        replace_all(msg, 190, "!g", "^4") // Green Color    replace_all(msg, 190, "!y", "^1") // Default Color    replace_all(msg, 190, "!team", "^3") // Team Color        if (id) players[0] = id    else get_players(players, count, "ch")    for (new i = 0; i < count; i++)    {        if (is_user_connected(players[i]))        {            message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, players[i])            write_byte(players[i])            write_string(msg)            message_end()        }    }} 

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests