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

Zplague Entrar

Seu portal de Zombie Plague no Brasil


description[*VIP* Extra Item] Tec-Tec Gratis Empty[*VIP* Extra Item] Tec-Tec Gratis

more_horiz
Ola pessoal vô posta um plugin que eu criei (bom esse dai fui eu criando de um que já existe mas como não encontrava esse plugin nem a pau então criei esse)

Se preferirem poderá ser No modo mais barato.

@edit Bugs Corrigidos (Survivor e Sniper com tec-tec e entre outros bugs)
SMA:

Código:


#include <amxmodx>
#include <amxmisc>
#include < fun >
#include <cstrike>
#include <fakemeta_util>
#include <hamsandwich>
#include <zombieplague>
#include <zmvip>


/*===============================================================================
  [Item IDs]
=================================================================================*/
new g_itemid
new g_maxplayers
new bool:g_bHastec[33]

/*===============================================================================
  [Registro do Plugin]
=================================================================================*/

public plugin_init()
{
   register_plugin("[ZV] Tec-Tec Gratis", "0.1", "[P]erfec[T] [S]cr[@]s[H]")

   register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
   
    // O Bang que fara aparecer na lista para vip
   g_itemid = zv_register_extra_item("Tec-Tec", "Gratis", 0, ZV_TEAM_HUMAN)

   // Get MaxPlayers
   g_maxplayers = get_maxplayers()
}


/*===============================================================================
  [Prevenção de Bugs]
=================================================================================*/

// Quando o Round Comecar
public event_round_start()
{
   for(new id = 1; id <= g_maxplayers; id++)
      g_bHastec[id] = false    
}

// Quando o Jogador virar Zombie
public zp_user_infected_post(id)
{
   g_bHastec[id] = false 
}

// Quando o Jogador usar antidoto
public zp_user_humanized_post(id)
{
   g_bHastec[id] = false 
}

// Quando o Jogador Virar Survivor ou Sniper
public zp_user_humanized_pre(id)
{
   g_bHastec[id] = false 
}

// Quando o Jogador Entrar no Server
public client_connect(id)
{
   g_bHastec[id] = false 
}

// Quando o Jogador desconecta
public client_disconnect(id)
{
   g_bHastec[id] = false 
}


/*===============================================================================
  [Ações ao selecionar o item]
=================================================================================*/

public zv_extra_item_selected(player, itemid)
{
   if (itemid == g_itemid)
   {
      if(g_bHastec[player])
      {
         // Isso Serve para prevenir aquele que quer abusar do item extra para não recarregar

               client_printcolor(player, "^4[ZP]^1 Voce ja pegou a sua Tec-Tec ^4[Nem vem bugar Arma]")
         zp_set_user_ammo_packs(player, zp_get_user_ammo_packs(player) + 0)
         
         return;
      }
      else
      {

      // O bang para a tec aparecer

      g_bHastec[player] = true
      give_item(player, "weapon_g3sg1")
      give_item(player, "ammo_762nato")
      give_item(player, "ammo_762nato")
      give_item(player, "ammo_762nato")

      // Mensagem Ao Comprar
            client_printcolor(player, "^4[ZP]^1 Voce Comprou a Tec-Tec De Grassa ^4[Zoe outros jogadores por nao ter comprado VIP]")
      }
   }
}

/*===============================================================================
  [Mensagem Colorida (client_printcolor)]
=================================================================================*/

stock client_printcolor(target, const message[], any:...)
{
   static g_msgSayText, maxplayers;
   if ( !g_msgSayText )
      g_msgSayText = get_user_msgid("SayText")
      
   if ( !maxplayers )
      maxplayers = get_maxplayers();
   
   static buffer[512], i, argscount;
   argscount = numargs();
   
   // Send to everyone
   if (!target)
   {
      static player;
      for (player = 1; player <= maxplayers; player++)
      {
         // Not connected
         if (!is_user_connected(player))
            continue;
         
         // Remember changed arguments
         static changed[5], changedcount; // [5] = max LANG_PLAYER occurencies
         changedcount = 0;
         
         // Replace LANG_PLAYER with player id
         for (i = 2; i < argscount; i++)
         {
            if (getarg(i) == LANG_PLAYER)
            {
               setarg(i, 0, player);
               changed[changedcount] = i;
               changedcount++;
            }
         }
         
         // Format message for player
         vformat(buffer, sizeof buffer - 1, message, 3);
         
         // Send it
         message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player);
         write_byte(player);
         write_string(buffer);
         message_end();
         
         // Replace back player id's with LANG_PLAYER
         for (i = 0; i < changedcount; i++)
            setarg(changed[i], 0, LANG_PLAYER);
      }
   }
   
   // Send to specific target
   else
   {
      // Format message for player
      vformat(buffer, sizeof buffer - 1, message, 3);
      
      // Send it
      message_begin(MSG_ONE, g_msgSayText, _, target);
      write_byte(target);
      write_string(buffer);
      message_end();
   }
}


Caso não consiga compilar aqui um download de um já compilado:
http://adf.ly/1256340/banner/4shared.com/rar/O-p-aQAQ/zm_vip_extra_tec_tec_gratis.html?

Mais Bugs ou Duvidas comentem abaixo

Espero que tenham gostado !!!!!

description[*VIP* Extra Item] Tec-Tec Gratis EmptyRe: [*VIP* Extra Item] Tec-Tec Gratis

more_horiz
Poderia adicionar para o Berserker não poder comprar também?

Última edição por Sergio # em 15/10/2013, 12:55 pm, editado 1 vez(es)

description[*VIP* Extra Item] Tec-Tec Gratis EmptyRe: [*VIP* Extra Item] Tec-Tec Gratis

more_horiz
Você usou as includes amxmisc, cstrike, fakemeta_util e hamsandwich para...?

E também para que seria necessário a linha a seguir?

Código:

zp_set_user_ammo_packs(player, zp_get_user_ammo_packs(player) + 0)

description[*VIP* Extra Item] Tec-Tec Gratis EmptyRe: [*VIP* Extra Item] Tec-Tec Gratis

more_horiz
SpriiTe escreveu:
Você usou as includes amxmisc, cstrike, fakemeta_util e hamsandwich para...?

E também para que seria necessário a linha a seguir?

Código:

zp_set_user_ammo_packs(player, zp_get_user_ammo_packs(player) + 0)

É porque na época eu era muito noob com scrpting ainda e não usava o amx studio. E ai não sabia a include que utilizar. E hoje eu sei que só precisava da include amxmodx, fun, zombieplague e zmvip.

description[*VIP* Extra Item] Tec-Tec Gratis EmptyRe: [*VIP* Extra Item] Tec-Tec Gratis

more_horiz
Achei dahora :D

_________________________________________________

[*VIP* Extra Item] Tec-Tec Gratis 22750241017527227296

description[*VIP* Extra Item] Tec-Tec Gratis EmptyRe: [*VIP* Extra Item] Tec-Tec Gratis

more_horiz
Tem como bloquear para o Berserker perfect? se não for encomodo.

description[*VIP* Extra Item] Tec-Tec Gratis EmptyRe: [*VIP* Extra Item] Tec-Tec Gratis

more_horiz
Sergio # escreveu:
Tem como bloquear para o Berserker perfect? se não for encomodo.
Tecnicamente tem como sim mas também já fica um aviso pro devil pra ele ter que arrumar a sma principal do modo bezerker pois o comando zp_humainzed_pre teria que funcionar pra todas as classes de CT como survivor e sniper


@edit Testa ai Sergio:

Código:

#include <amxmodx>
#include <amxmisc>
#include <  fun >
#include <zombieplague>
#include <zmvip>

/*===============================================================================
[Item IDs]
=================================================================================*/
new g_itemid
new g_maxplayers
new bool:g_bHastec[33]

native zp_get_user_berserker(id)   // Caso de Erro de Compilar nessa linha remova-o

/*===============================================================================
[Registro do Plugin]
=================================================================================*/

public plugin_init()
{
   register_plugin("[ZV] Tec-Tec Gratis", "0.1", "[P]erfec[T] [S]cr[@]s[H]")
   
   register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
   
   // O Bang que fara aparecer na lista para vip
   g_itemid = zv_register_extra_item("Tec-Tec", "Gratis", 0, ZV_TEAM_HUMAN)
   
   // Get MaxPlayers
   g_maxplayers = get_maxplayers()
}


/*===============================================================================
[Prevenção de Bugs]
=================================================================================*/

// Quando o Round Comecar
public event_round_start()
{
   for(new id = 1; id <= g_maxplayers; id++)
      g_bHastec[id] = false   
}

// Quando o Jogador virar Zombie
public zp_user_infected_post(id)
{
   g_bHastec[id] = false 
}

// Quando o Jogador usar antidoto
public zp_user_humanized_post(id)
{
   g_bHastec[id] = false 
}

// Quando o Jogador Virar Survivor ou Sniper
public zp_user_humanized_pre(id)
{
   g_bHastec[id] = false 
}

// Quando o Jogador Entrar no Server
public client_connect(id)
{
   g_bHastec[id] = false 
}

// Quando o Jogador desconecta
public client_disconnect(id)
{
   g_bHastec[id] = false 
}

public zp_round_started(id)
{
   if(zp_get_user_berserker(id))
   {
      g_bHastec[id] = false
   }
}

/*===============================================================================
[Ações ao selecionar o item]
=================================================================================*/

public zv_extra_item_selected(player, itemid)
{
   if (itemid == g_itemid)
   {
      if(g_bHastec[player])
      {
         // Isso Serve para prevenir aquele que quer abusar do item extra para não recarregar
         client_printcolor(player, "^4[ZP]^1 Voce ja pegou a sua Tec-Tec ^4[Nem vem bugar Arma]")
         
         return;
      }
      else
      {
         
         // O bang para a tec aparecer
         
         g_bHastec[player] = true
         give_item(player, "weapon_g3sg1")
         give_item(player, "ammo_762nato")
         give_item(player, "ammo_762nato")
         give_item(player, "ammo_762nato")
         
         // Mensagem Ao Comprar
         client_printcolor(player, "^4[ZP]^1 Voce Comprou a Tec-Tec De Grassa ^4[Zoe outros jogadores por nao ter comprado VIP]")
      }
   }
}

/*===============================================================================
[Mensagem Colorida (client_printcolor)]
=================================================================================*/

stock client_printcolor(target, const message[], any:...)
{
   static g_msgSayText, maxplayers;
   if ( !g_msgSayText )
      g_msgSayText = get_user_msgid("SayText")
   
   if ( !maxplayers )
      maxplayers = get_maxplayers();
   
   static buffer[512], i, argscount;
   argscount = numargs();
   
   // Send to everyone
   if (!target)
   {
      static player;
      for (player = 1; player <= maxplayers; player++)
      {
         // Not connected
         if (!is_user_connected(player))
            continue;
         
         // Remember changed arguments
         static changed[5], changedcount; // [5] = max LANG_PLAYER occurencies
         changedcount = 0;
         
         // Replace LANG_PLAYER with player id
         for (i = 2; i < argscount; i++)
         {
            if (getarg(i) == LANG_PLAYER)
            {
               setarg(i, 0, player);
               changed[changedcount] = i;
               changedcount++;
            }
         }
         
         // Format message for player
         vformat(buffer, sizeof buffer - 1, message, 3);
         
         // Send it
         message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player);
         write_byte(player);
         write_string(buffer);
         message_end();
         
         // Replace back player id's with LANG_PLAYER
         for (i = 0; i < changedcount; i++)
            setarg(changed[i], 0, LANG_PLAYER);
      }
   }
   
   // Send to specific target
   else
   {
      // Format message for player
      vformat(buffer, sizeof buffer - 1, message, 3);
      
      // Send it
      message_begin(MSG_ONE, g_msgSayText, _, target);
      write_byte(target);
      write_string(buffer);
      message_end();
   }
}

description[*VIP* Extra Item] Tec-Tec Gratis EmptyRe: [*VIP* Extra Item] Tec-Tec Gratis

more_horiz
privacy_tip Permissões neste sub-fórum
Não podes responder a tópicos
power_settings_newInicie sessão para responder