[ZP 5.0.8] Zombie Madness LIMIT! Ajuda Por Favor Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Zplague

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Seu portal de Zombie Plague no Brasil

Zumbis Online

Últimos assuntos

» [ANÚNCIO] Alguem vivo ai?
por Eclipse 17/9/2024, 6:39 pm

» The Fen1xS CLan | Zombie Plague | [XP/LEVELS] #2024
por hevy 5/7/2024, 8:28 pm

»
por Eclipse 29/2/2024, 12:30 am

» [Plugin] /vm Com Status
por Isr7 4/6/2023, 3:24 pm

» Alguém pra manter um servidor comigo?
por Isr7 3/6/2023, 4:52 pm

» Alguém querendo criar um servidor de zp? eu pago a host quem quiser deixar o discord ai Isr7#6920
por Isr7 3/6/2023, 3:18 pm

» PEDIDO: Multijump pros VIP
por Madness 15/3/2023, 3:44 pm

» [ZP] Modo padre para 5.0
por XperitosEspetinho123 15/7/2022, 3:31 pm

» [KZ] Servidores de cs 1.6
por [Dk]Serial-Killer 7/5/2022, 4:12 am

» [PLUGIN BY SKVD & WILLIAN] SHOP DE FANTASIAS
por dushowW 23/7/2020, 5:44 pm

Os membros mais ativos da semana

Nenhum usuário

Frases filosóficas Zplague:

....

Google Adsense

Estatísticas

Os nossos membros postaram um total de 38140 mensagens em 6680 assuntos

Temos 2796 usuários registrados

O último membro registrado é zmplugins - Henrique


2 participantes

    [ZP 5.0.8] Zombie Madness LIMIT! Ajuda Por Favor

    arcade
    arcade
    Humano


    Masculino Número de Mensagens : 37
    Ammo Packs : 4507
    Honra : 0
    Data de inscrição : 19/07/2012

    [ZP 5.0.8] Zombie Madness LIMIT! Ajuda Por Favor Empty [ZP 5.0.8] Zombie Madness LIMIT! Ajuda Por Favor

    Mensagem por arcade 25/7/2012, 3:07 am

    no zp 5.0.8 na zombieplague.cfg tem como limitar a bomba de infeccao, o antidote, so nao tem o madness

    alguem pode me ajudar por favor? porque concertesa e na sma
    avatar
    Convidad
    Convidado


    [ZP 5.0.8] Zombie Madness LIMIT! Ajuda Por Favor Empty Re: [ZP 5.0.8] Zombie Madness LIMIT! Ajuda Por Favor

    Mensagem por Convidad 25/7/2012, 2:23 pm

    Não vem limite pro 'Zombie Madness', mas eu coloquei

    SMA:
    Código:
    /*================================================================================
       
        ---------------------------------
        -*- [ZP] Item: Zombie Madness -*-
        ---------------------------------
       
        This plugin is part of Zombie Plague Mod and is distributed under the
        terms of the GNU General Public License. Check ZP_ReadMe.txt for details.
       
    ================================================================================*/

    #define ITEM_NAME "Zombie Madness"
    #define ITEM_COST 25

    #include <amxmodx>
    #include <cstrike>
    #include <hamsandwich>
    #include <amx_settings_api>
    #include <cs_ham_bots_api>
    #include <zp50_items>
    #define LIBRARY_GRENADE_FROST "zp50_grenade_frost"
    #include <zp50_grenade_frost>
    #define LIBRARY_GRENADE_FIRE "zp50_grenade_fire"
    #include <zp50_grenade_fire>
    #define LIBRARY_NEMESIS "zp50_class_nemesis"
    #include <zp50_class_nemesis>

    // Settings file
    new const ZP_SETTINGS_FILE[] = "zombieplague.ini"

    // Default sounds
    new const sound_zombie_madness[][] = { "zombie_plague/zombie_madness1.wav" }

    #define SOUND_MAX_LENGTH 64

    new Array:g_sound_zombie_madness

    #define TASK_MADNESS 100
    #define TASK_AURA 200
    #define ID_MADNESS (taskid - TASK_MADNESS)
    #define ID_AURA (taskid - TASK_AURA)

    #define flag_get(%1,%2) (%1 & (1 << (%2 & 31)))
    #define flag_get_boolean(%1,%2) (flag_get(%1,%2) ? true : false)
    #define flag_set(%1,%2) %1 |= (1 << (%2 & 31))
    #define flag_unset(%1,%2) %1 &= ~(1 << (%2 & 31))

    new g_ItemID
    new g_MadnessBlockDamage

    new g_ZombieMadnessCounter, cvar_zombie_madness_limit
    new cvar_zombie_madness_time
    new cvar_madness_aura_color_R, cvar_madness_aura_color_G, cvar_madness_aura_color_B

    public plugin_init()
    {
        register_plugin("[ZP] Item: Zombie Madness", ZP_VERSION_STRING, "ZP Dev Team")
       
        RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1)
        RegisterHamBots(Ham_Spawn, "fw_PlayerSpawn_Post", 1)
        RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack")
        RegisterHamBots(Ham_TraceAttack, "fw_TraceAttack")
        RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
        RegisterHamBots(Ham_TakeDamage, "fw_TakeDamage")
        RegisterHam(Ham_Killed, "player", "fw_PlayerKilled_Post", 1)
        RegisterHamBots(Ham_Killed, "fw_PlayerKilled_Post", 1)
        register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

        cvar_zombie_madness_limit = register_cvar("zp_zombie_madness_round_limit", "10")
        cvar_zombie_madness_time = register_cvar("zp_zombie_madness_time", "5.0")
        cvar_madness_aura_color_R = register_cvar("zp_madness_aura_color_R", "150")
        cvar_madness_aura_color_G = register_cvar("zp_madness_aura_color_G", "0")
        cvar_madness_aura_color_B = register_cvar("zp_madness_aura_color_B", "0")
       
        g_ItemID = zp_items_register(ITEM_NAME, ITEM_COST)
    }

    public plugin_precache()
    {
        // Initialize arrays
        g_sound_zombie_madness = ArrayCreate(SOUND_MAX_LENGTH, 1)
       
        // Load from external file
        amx_load_setting_string_arr(ZP_SETTINGS_FILE, "Sounds", "ZOMBIE MADNESS", g_sound_zombie_madness)
       
        // If we couldn't load custom sounds from file, use and save default ones
        new index
        if (ArraySize(g_sound_zombie_madness) == 0)
        {
            for (index = 0; index < sizeof sound_zombie_madness; index++)
                ArrayPushString(g_sound_zombie_madness, sound_zombie_madness[index])
           
            // Save to external file
            amx_save_setting_string_arr(ZP_SETTINGS_FILE, "Sounds", "ZOMBIE MADNESS", g_sound_zombie_madness)
        }
       
        // Precache sounds
        new sound[SOUND_MAX_LENGTH]
        for (index = 0; index < ArraySize(g_sound_zombie_madness); index++)
        {
            ArrayGetString(g_sound_zombie_madness, index, sound, charsmax(sound))
            precache_sound(sound)
        }
    }

    public plugin_natives()
    {
        register_library("zp50_item_zombie_madness")
        register_native("zp_item_zombie_madness_get", "native_item_zombie_madness_get")
       
        set_module_filter("module_filter")
        set_native_filter("native_filter")
    }
    public module_filter(const module[])
    {
        if (equal(module, LIBRARY_NEMESIS) || equal(module, LIBRARY_GRENADE_FROST) || equal(module, LIBRARY_GRENADE_FIRE))
            return PLUGIN_HANDLED;
       
        return PLUGIN_CONTINUE;
    }
    public native_filter(const name[], index, trap)
    {
        if (!trap)
            return PLUGIN_HANDLED;
           
        return PLUGIN_CONTINUE;
    }

    public native_item_zombie_madness_get(plugin_id, num_params)
    {
        new id = get_param(1)
       
        if (!is_user_alive(id))
        {
            log_error(AMX_ERR_NATIVE, "[ZP] Invalid Player (%d)", id)
            return false;
        }
       
        return flag_get_boolean(g_MadnessBlockDamage, id);
    }

    public zp_fw_items_select_pre(id, itemid, ignorecost)
    {
        // This is not our item
        if (itemid != g_ItemID)
            return ZP_ITEM_AVAILABLE;
       
        // Zombie madness only available to zombies
        if (!zp_core_is_zombie(id))
            return ZP_ITEM_DONT_SHOW;
       
        // Display remaining item count for this round
        static text[32]
        formatex(text, charsmax(text), "[%d/%d]", g_ZombieMadnessCounter, get_pcvar_num(cvar_zombie_madness_limit))
        zp_items_menu_text_add(text)
       
        // Reached infection bomb limit for this round
        if (g_ZombieMadnessCounter >= get_pcvar_num(cvar_zombie_madness_limit))
            return ZP_ITEM_NOT_AVAILABLE;

        // Zombie madness not available to Nemesis
        if (LibraryExists(LIBRARY_NEMESIS, LibType_Library) && zp_class_nemesis_get(id))
            return ZP_ITEM_DONT_SHOW;
       
        // Player already has madness
        if (flag_get(g_MadnessBlockDamage, id))
            return ZP_ITEM_NOT_AVAILABLE;
       
        return ZP_ITEM_AVAILABLE;
    }

    public zp_fw_items_select_post(id, itemid, ignorecost)
    {
        // This is not our item
        if (itemid != g_ItemID)
            return;
       
        // Do not take damage
        flag_set(g_MadnessBlockDamage, id)
       
        // Madness aura
        set_task(0.1, "madness_aura", id+TASK_AURA, _, _, "b")
       
        // Madness sound
        new sound[SOUND_MAX_LENGTH]
        ArrayGetString(g_sound_zombie_madness, random_num(0, ArraySize(g_sound_zombie_madness) - 1), sound, charsmax(sound))
        emit_sound(id, CHAN_VOICE, sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
       
        // Set task to remove it
        set_task(get_pcvar_float(cvar_zombie_madness_time), "remove_zombie_madness", id+TASK_MADNESS)

        g_ZombieMadnessCounter++
    }

    // Ham Player Spawn Post Forward
    public fw_PlayerSpawn_Post(id)
    {
        // Not alive or didn't join a team yet
        if (!is_user_alive(id) || !cs_get_user_team(id))
            return;
       
        // Remove zombie madness from a previous round
        remove_task(id+TASK_MADNESS)
        remove_task(id+TASK_AURA)
        flag_unset(g_MadnessBlockDamage, id)
    }

    // Ham Trace Attack Forward
    public fw_TraceAttack(victim, attacker)
    {
        // Non-player damage or self damage
        if (victim == attacker || !is_user_alive(attacker))
            return HAM_IGNORED;
       
        // Prevent attacks when victim has zombie madness
        if (flag_get(g_MadnessBlockDamage, victim))
            return HAM_SUPERCEDE;
       
        return HAM_IGNORED;
    }

    // Ham Take Damage Forward (needed to block explosion damage too)
    public fw_TakeDamage(victim, inflictor, attacker)
    {
        // Non-player damage or self damage
        if (victim == attacker || !is_user_alive(attacker))
            return HAM_IGNORED;
       
        // Prevent attacks when victim has zombie madness
        if (flag_get(g_MadnessBlockDamage, victim))
            return HAM_SUPERCEDE;
       
        return HAM_IGNORED;
    }

    public zp_fw_grenade_frost_pre(id)
    {
        // Prevent frost when victim has zombie madness
        if (flag_get(g_MadnessBlockDamage, id))
            return PLUGIN_HANDLED;
       
        return PLUGIN_CONTINUE;
    }

    public zp_fw_grenade_fire_pre(id)
    {
        // Prevent burning when victim has zombie madness
        if (flag_get(g_MadnessBlockDamage, id))
            return PLUGIN_HANDLED;
       
        return PLUGIN_CONTINUE;
    }

    public zp_fw_core_cure(id, attacker)
    {
        // Remove zombie madness task
        remove_task(id+TASK_MADNESS)
        remove_task(id+TASK_AURA)
        flag_unset(g_MadnessBlockDamage, id)
    }

    // Ham Player Killed Post Forward
    public fw_PlayerKilled_Post(victim, attacker, shouldgib)
    {
        // Remove zombie madness task
        remove_task(victim+TASK_MADNESS)
        remove_task(victim+TASK_AURA)
        flag_unset(g_MadnessBlockDamage, victim)
    }

    // Remove Spawn Protection Task
    public remove_zombie_madness(taskid)
    {
        // Remove aura
        remove_task(ID_MADNESS+TASK_AURA)
       
        // Remove zombie madness
        flag_unset(g_MadnessBlockDamage, ID_MADNESS)
    }

    public client_disconnect(id)
    {
        // Remove tasks on disconnect
        remove_task(id+TASK_MADNESS)
        remove_task(id+TASK_AURA)
        flag_unset(g_MadnessBlockDamage, id)
    }

    // Madness aura task
    public madness_aura(taskid)
    {
        // Get player's origin
        static origin[3]
        get_user_origin(ID_AURA, origin)
       
        // Colored Aura
        message_begin(MSG_PVS, SVC_TEMPENTITY, origin)
        write_byte(TE_DLIGHT) // TE id
        write_coord(origin[0]) // x
        write_coord(origin[1]) // y
        write_coord(origin[2]) // z
        write_byte(20) // radius
        write_byte(get_pcvar_num(cvar_madness_aura_color_R)) // r
        write_byte(get_pcvar_num(cvar_madness_aura_color_G)) // g
        write_byte(get_pcvar_num(cvar_madness_aura_color_B)) // b
        write_byte(2) // life
        write_byte(0) // decay rate
        message_end()
    }

    public event_round_start()
    {
        g_ZombieMadnessCounter = 0
    }
    cancels
    cancels
    Humano


    Nick : ByVodka
    Masculino Número de Mensagens : 66
    Woow!!
    Ammo Packs : 2691
    Honra : 1
    Data de inscrição : 25/06/2017

    [ZP 5.0.8] Zombie Madness LIMIT! Ajuda Por Favor Empty Re: [ZP 5.0.8] Zombie Madness LIMIT! Ajuda Por Favor

    Mensagem por cancels 30/7/2017, 2:36 am

    como faço para limitar ele por jogador?

    Conteúdo patrocinado


    [ZP 5.0.8] Zombie Madness LIMIT! Ajuda Por Favor Empty Re: [ZP 5.0.8] Zombie Madness LIMIT! Ajuda Por Favor

    Mensagem por Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 2:55 am