Zplague Conectar-se

Seu portal de Zombie Plague no Brasil


Compartilhe

description[ZP] Addon: Anti-Apelão

more_horiz
Bom em varios servers de zm existe muitos jogadores que apelam e eu fiz esse plugin pra tentar diminuir os números de jogadores apelões nos servidores de ZP

Descrição: Quando o Jogador Mata 20 ZMs  O Jogador é automaticamente convertido a ZM para morrer tambem :D

SMA:

Código:

#include <amxmodx>
#include <zombieplague>

#define PLUGIN "[ZP] Addon: Anti-Apelao"
#define VERSION "1.0"
#define AUTHOR "[P]erfec[T] [S]cr[@]s[H]"

new allow_antiapelao, g_kills_count[33], cvar_kills_for_punnition

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
   
   register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
   register_event("DeathMsg", "DeathEvent", "a");
   
   cvar_kills_for_punnition = register_cvar("zp_kills_for_punnition", "20")
}

public client_putinserver(id) g_kills_count[id] = 0

public client_disconnect(id) g_kills_count[id] = 0

public zp_user_humanized_post(id) g_kills_count[id] = 0

public zp_user_infected_post(id)  g_kills_count[id] = 0

public event_round_start() for(new id = 1; id <= get_maxplayers(); id++) g_kills_count[id] = 0

public zp_round_started(gm)
{
   if(gm == MODE_INFECTION || gm == MODE_MULTI) allow_antiapelao = true
   else allow_antiapelao = false
}

public DeathEvent()
{
   new id = read_data(1)
   
   if(!allow_antiapelao || zp_get_user_zombie(id)) return PLUGIN_HANDLED
   
   if(g_kills_count[id] >= get_pcvar_num(cvar_kills_for_punnition))
   {
      zp_infect_user(id)
      client_printcolor(id, "!g[ZP Anti-Apelao]!t Voce Virou ZM Por Apelar Muito !!")
      g_kills_count[id] = 0
      return PLUGIN_HANDLED
   }
   else if(g_kills_count[id] >= (get_pcvar_num(cvar_kills_for_punnition) - 5))
   {
      g_kills_count[id]++
      client_printcolor(id, "!g[ZP Anti-Apelao]!t Cuidado Voce so pode Matar Mais !g%d!t ZMs.", get_pcvar_num(cvar_kills_for_punnition) - g_kills_count[id])
      return PLUGIN_HANDLED
   }
   else g_kills_count[id]++

   return PLUGIN_CONTINUE
}

stock client_printcolor(const id,const input[], any:...)
{
   new msg[191], players[32], count = 1; vformat(msg,190,input,3);
   replace_all(msg,190,"!g","^4");    // green
   replace_all(msg,190,"!y","^1");    // normal
   replace_all(msg,190,"!t","^3");    // team
   
   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,get_user_msgid("SayText"),_,players[i]);
         write_byte(players[i]);
         write_string(msg);
         message_end();
      }
   }
}

____________________________________________


Dicas Para Ser um Bom Scripter :
* Pense no Plugin que ira criar (Seja Inovador)
* Crie um código SMA imaginário na cabeça de como vai ser o plugin
* Passe o Codigo mental para o AMX Studio
* Compile e Teste
* Corrija Todos os Bugs do Plugin (Caso tiver um)
* Poste o Plugin ;)

** Seguindo as Dicas você estara no Padrão [P]erfec[T] [S]cr[@]s[H] **  
Zplague24 Zplague20Zplague12 

descriptionRe: [ZP] Addon: Anti-Apelão

more_horiz
kk mt bom

____________________________________________

>> http://cstrikerevo.blogspot.com.br/ <<

descriptionRe: [ZP] Addon: Anti-Apelão

more_horiz
Zplague12

____________________________________________

» ZombiePlague MorTaL GaMes
189.1.164.22:27017
|

descriptionRe: [ZP] Addon: Anti-Apelão

more_horiz
kkkkkkkkkkkkkkkkkkkkkkkkkkkkk ' Oo

descriptionRe: [ZP] Addon: Anti-Apelão

more_horiz
20 no mapa ou se ele mata 20 no round? e se ele for survivor ?

descriptionRe: [ZP] Addon: Anti-Apelão

more_horiz
Zplague12

____________________________________________

descriptionRe: [ZP] Addon: Anti-Apelão

more_horiz
E Se Ao Invés de ZMs Matados Ponhasse um Limite de Ammo Packs por Round Para Cada Player?
Ex:
Vou la e Gasto 300 Packs no Round, ai eu vo comprar Algo mais e aí sou Bloqueado pelo plugin com uma mensagem no Say: Voce ja Gastou Muitos Ammo-Packs Neste Round!

Obs: Só uma Sugestão

descriptionRe: [ZP] Addon: Anti-Apelão

more_horiz
Wagner escreveu:
E Se Ao Invés de ZMs Matados Ponhasse um Limite de Ammo Packs por Round Para Cada Player?
Ex:
Vou la e Gasto 300 Packs no Round, ai eu vo comprar Algo mais e aí sou Bloqueado pelo plugin com uma mensagem no Say: Voce ja Gastou Muitos Ammo-Packs Neste Round!

Obs: Só uma Sugestão

Também seria massa. Se fosse assim.
Mais o plugin já ta perfect, muito massa. Mas a idéia de Wagner e boa.

descriptionRe: [ZP] Addon: Anti-Apelão

more_horiz
Olha aí perfect, gostei da sugestão do Wagner.
Limitar os ammopacks por rounds, Deixar uma certa quantia para cada player usar no máximo.

____________________________________________

descriptionRe: [ZP] Addon: Anti-Apelão

more_horiz
Wagner escreveu:
E Se Ao Invés de ZMs Matados Ponhasse um Limite de Ammo Packs por Round Para Cada Player?
Ex:
Vou la e Gasto 300 Packs no Round, ai eu vo comprar Algo mais e aí sou Bloqueado pelo plugin com uma mensagem no Say: Voce ja Gastou Muitos Ammo-Packs Neste Round!

Obs: Só uma Sugestão


Pra Fazer isso no ZP 4.3 ou no Advance Tem que editar isso na SMA principal. 

Mas Pra quem tem 5.0 Já pegue esse plugin abaixo e testa.

Código:

#include <amxmodx>
#include <zp50_items>
#include <zp50_ammopacks>

#define PLUGIN "[ZP 5.0] Addon: Limitar X Ammo Packs Por Round"
#define VERSION "1.0"
#define AUTHOR "[P]erfec[T] [S]cr[@]s[H]"

new ap_gastos[33], cvar_limit

public plugin_init() {
   register_plugin(PLUGIN, VERSION, AUTHOR)
   
   register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
   
   cvar_limit = register_cvar("zp_ap_gastos_limite", "300")
}

public event_round_start() for(new id = 1; id <= get_maxplayers(); id++) ap_gastos[id] = 0

public zp_fw_items_select_pre(id, itemid)
{
   if(ap_gastos[id] >= get_pcvar_num(cvar_limit))
   {
      zp_items_menu_text_add("\r[Max de AP Gastos]")
      return ZP_ITEM_NOT_AVAILABLE
   }
   
   return ZP_ITEM_AVAILABLE
}
      

public zp_fw_items_select_post(id, itemid)
{
   if(ap_gastos[id] < get_pcvar_num(cvar_limit))   
      ap_gastos[id] += zp_items_get_cost(itemid)
}

____________________________________________


Dicas Para Ser um Bom Scripter :
* Pense no Plugin que ira criar (Seja Inovador)
* Crie um código SMA imaginário na cabeça de como vai ser o plugin
* Passe o Codigo mental para o AMX Studio
* Compile e Teste
* Corrija Todos os Bugs do Plugin (Caso tiver um)
* Poste o Plugin ;)

** Seguindo as Dicas você estara no Padrão [P]erfec[T] [S]cr[@]s[H] **  
Zplague24 Zplague20Zplague12 

descriptionRe: [ZP] Addon: Anti-Apelão

more_horiz
esse plugin não é eficaz com banco de pack

SMA:

Código:

#include <amxmodx>
#include <zombieplague>

#define PLUGIN "[ZP] Addon: Anti-Apelao"
#define VERSION "1.0"
#define AUTHOR "[P]erfec[T] [S]cr[@]s[H]"

new allow_antiapelao, g_kills_count[33], cvar_kills_for_punnition

public plugin_init()
{
 register_plugin(PLUGIN, VERSION, AUTHOR)
 
 register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
 register_event("DeathMsg", "DeathEvent", "a");
 
 cvar_kills_for_punnition = register_cvar("zp_kills_for_punnition", "20")
}

public client_putinserver(id) g_kills_count[id] = 0

public client_disconnect(id) g_kills_count[id] = 0

public zp_user_humanized_post(id) g_kills_count[id] = 0

public zp_user_infected_post(id)  g_kills_count[id] = 0

public event_round_start() for(new id = 1; id <= get_maxplayers(); id++) g_kills_count[id] = 0

public zp_round_started(gm)
{
 if(gm == MODE_INFECTION || gm == MODE_MULTI) allow_antiapelao = true
 else allow_antiapelao = false
}

public DeathEvent()
{
 new id = read_data(1)
 
 if(!allow_antiapelao || zp_get_user_zombie(id)) return PLUGIN_HANDLED
 
 if(g_kills_count[id] >= get_pcvar_num(cvar_kills_for_punnition))
 {
 zp_infect_user(id)
 client_printcolor(id, "!g[ZP Anti-Apelao]!t Voce Virou ZM Por Apelar Muito !!")
 g_kills_count[id] = 0
 return PLUGIN_HANDLED
 }
 else if(g_kills_count[id] >= (get_pcvar_num(cvar_kills_for_punnition) - 5))
 {
 g_kills_count[id]++
 client_printcolor(id, "!g[ZP Anti-Apelao]!t Cuidado Voce so pode Matar Mais !g%d!t ZMs.", get_pcvar_num(cvar_kills_for_punnition) - g_kills_count[id])
 return PLUGIN_HANDLED
 }
 else g_kills_count[id]++

 return PLUGIN_CONTINUE
}

stock client_printcolor(const id,const input[], any:...)
{
 new msg[191], players[32], count = 1; vformat(msg,190,input,3);
 replace_all(msg,190,"!g","^4");    // green
 replace_all(msg,190,"!y","^1");    // normal
 replace_all(msg,190,"!t","^3");    // team
 
 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,get_user_msgid("SayText"),_,players[i]);
 write_byte(players[i]);
 write_string(msg);
 message_end();
 }
 }
}

____________________________________________


descriptionRe: [ZP] Addon: Anti-Apelão

more_horiz
Testei aqui no meu addons com banco e esta funcionando normalmente amigo....

____________________________________________

As pessoas não precisam de ajuda, elas  tem que se ajudar

descriptionRe: [ZP] Addon: Anti-Apelão

more_horiz
[Dk]Serial-Killer escreveu:
Testei aqui no meu addons com banco e esta funcionando normalmente amigo....

O plugin funciona, porém, todos nós sabemos que o cara virando zombie e muito pack não irá pensar duas vezes em usar o antídoto e voltar a jogar de humano, principalmente se ele for dono do server já que tem pack ilimitado (o que acho uma tremenda sacanagem).

A desproporcionalidade irá continuar, por isso que muitos players dão quit ou ficam away.. pq é uma merda virar zombie só pra dar pack e frag a uns noobs que ficam se garantindo no laser, colete, arma infinita e pulando como gazelas, não acha?!

____________________________________________


descriptionRe: [ZP] Addon: Anti-Apelão

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