Zumbis Online
Últimos assuntos
» [ITEM EXTRA] Dual Beretta Gunslinger(CSO)
por [Dk]Serial-Killer Ontem à(s) 12:48 pm

» [NPC] Firemonster[Revenant]
por zgd.dll 15/5/2018, 6:57 pm

» [PEDIDO] Item Limiter
por PRODARK 13/5/2018, 9:03 am

» [PEDIDO] Plugin Quiz
por cancels 5/5/2018, 11:53 am

» [Duvida] 2 PRIMEIROS VIRAM ZM
por Wilian 30/3/2018, 12:24 pm

» Combate Medieval no Brasil
por [Dk]Serial-Killer 16/3/2018, 9:17 pm

» [ZP AMXX] Kraken Boss [1.0]
por [Dk]Serial-Killer 26/2/2018, 9:24 pm

» TOPICO DESTINADO PARA ALGUM MODELADOR BOM :)
por [Dk]Serial-Killer 20/1/2018, 12:51 pm

» [CSP Gaming | ZPLAGUE E ZM XP ]
por [Dk]Serial-Killer 8/1/2018, 2:11 pm

» Feliz ano novo!
por [Dk]Serial-Killer 31/12/2017, 1:09 pm

Frases filosóficas Zplague:
....
Os membros mais ativos da semana
[Dk]Serial-Killer
 
zgd.dll
 

Adsense

[PEDIDO] Item Limiter

Ir em baixo

[PEDIDO] Item Limiter

Mensagem por PRODARK em 13/5/2018, 9:03 am

Salve galera, preciso de um plugin que limita quantidade de compras por round no M2 só que achei apenas para  versão ZP 5.0
Gostaria desse mesmo plugin só que editado para ser usado no ZP 4.3

Plugin original: https://forums.alliedmods.net/showthread.php?t=242103

SMA possui poucas linhas:
Código:
#include <amxmodx>
#include <amxmisc>
#include <amx_settings_api>
#include <zp50_core>
#include <zp50_items>

#define PLUGIN "[ZP50] Class unlocker"
#define VERSION "1.1"
#define AUTHOR "Catastrophe"

#define MAX_LIST 128
#define PLUGIN_MODE 1

new const EXTRAS_FILE[] = "zp_extra_limit.ini"

new Array:extra_id
new Array:extra_limit

#if defined PLUGIN_MODE 1
new extra_count[33][MAX_LIST]
#endif

#if defined PLUGIN_MODE 2
new extra_count_global[MAX_LIST]
#endif

new zpel_cvars[3]

public plugin_init()
{
 register_plugin(PLUGIN, VERSION, AUTHOR)
        register_event("HLTV", "event_newround", "a", "1=0", "2=0")
        register_cvar("ZPEL","1",(FCVAR_SERVER|FCVAR_SPONLY))
 
        zpel_cvars[0] = register_cvar("zp_extra_limit_mode", "0")
}

public plugin_precache()
{
       extra_id = ArrayCreate(64, 1)
       extra_limit = ArrayCreate(4, 1)
      
       amx_load_setting_string_arr(EXTRAS_FILE, "LIMIT", "item_id", extra_id)
       amx_load_setting_string_arr(EXTRAS_FILE, "LIMIT", "item_limit", extra_limit)

}

public event_newround()
{
       if(get_pcvar_num(zpel_cvars[0]) != 0)
       return

       #if defined PLUGIN_MODE 1
       for(new i = 1; i <= get_maxplayers(); i++)
       {
             arrayset(extra_count[i], 0, MAX_LIST - 1)
       }
       #endif
    
       #if defined PLUGIN_MODE 2
       for(new j = 0; j <= MAX_LIST - 1; j++)
       {
             extra_count_global[j] = 0
       }
       #endif
}

public zp_fw_items_select_pre(id, itemid, ignorecost)
{
    new txt[32]

    for(new i = 0; i <= ArraySize(extra_id) - 1; i++)
    {
        new e_id[64], e_lim[4]
        new e_lim_num
        ArrayGetString(extra_id, i, e_id, charsmax(e_id))
        ArrayGetString(extra_limit, i, e_lim, charsmax(e_lim))
        e_lim_num = str_to_num(e_lim)
 
        if(itemid == zp_items_get_id(e_id))
        {
               #if defined PLUGIN_MODE 1
      if(extra_count[id][i] >= e_lim_num)
      {
      format(txt, charsmax(txt), "\d[%d/%d]", extra_count[id][i],e_lim_num)
      zp_items_menu_text_add(txt)
      return ZP_ITEM_NOT_AVAILABLE
      }

              else
              {
              format(txt, charsmax(txt), "\w[%d/%d]", extra_count[id][i],e_lim_num)
      zp_items_menu_text_add(txt)
      return ZP_ITEM_AVAILABLE
              }
     #endif
    
    #if defined PLUGIN_MODE 2
      if(extra_count_global[i] >= e_lim_num)
      {
      format(txt, charsmax(txt), "\d[%d/%d]", extra_count[i],e_lim_num)
      zp_items_menu_text_add(txt)
      return ZP_ITEM_NOT_AVAILABLE
      }

              else
              {
              format(txt, charsmax(txt), "\w[%d/%d]", extra_count[i],e_lim_num)
      zp_items_menu_text_add(txt)
      return ZP_ITEM_AVAILABLE
              }
     #endif
        }
 
    }
    return ZP_ITEM_AVAILABLE
}

public zp_fw_items_select_post(id, itemid, ignorecost)
{
    
    for(new i = 0; i <= ArraySize(extra_id) - 1; i++)
    {
        new e_id[64]
        ArrayGetString(extra_id, i, e_id, charsmax(e_id))

        if(itemid == zp_items_get_id(e_id))
        {    
   #if defined PLUGIN_MODE 1
            extra_count[id][i]++      
   #endif
  
   #if defined PLUGIN_MODE 2
            extra_count_global[i]++      
   #endif
        }
    }
}
avatar
PRODARK
Humano
Humano

Masculino Número de Mensagens : 1
Ammo Packs : 327
Honra : 0
Data de inscrição : 25/06/2017

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum