Zumbis Online
Frases filosóficas Zplague:
....
Adsense

[ZP] Addon: Sorteio de Bala Infinita

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[ZP] Addon: Sorteio de Bala Infinita

Mensagem por [P]erfec[T] [S]cr[@]s[H] em 12/8/2013, 3:16 pm

Ola pessoal eu vô apresentar um plugin que sorteia a bala infinita que consegui fazer editando a sma do ajudante do 1º ZM então aproveite bem dela e faça um bom uso já que dessa vez é certeza de que não há bugs.

Descrição: Quando o Round Começar será feito um sorteio de bala infinita e quem vencer ganha bala infinita.

SMA:

Código:
#include <amxmodx>
#include <fakemeta_util>
#include <zombieplague>

#define PLUGIN  "[ZP] Addon: Sorteio de Bala Infinita"
#define VERSION  "1.0"
#define AUTHOR  "[P]erfec[T] [S]cr[@]s[H] | Barney"

// CS Offsets
#if cellbits == 32
const OFFSET_CLIPAMMO = 51
#else
const OFFSET_CLIPAMMO = 65
#endif
const OFFSET_LINUX_WEAPONS = 4

#define TASK_SORTEIO 23131

// Max Clip for weapons
new const MAXCLIP[] = { -1, 13, -1, 10, 1, 7, -1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20, 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 }

new cvar_delay, g_has_unlimited_clip[33]

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
   register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
   register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")
   
   cvar_delay = register_cvar ("zp_bala_inf_delay", "10.0") 
}

public event_round_start()
{
   for(new id = 1; id <= get_maxplayers(); id++) g_has_unlimited_clip[id] = false;
   
   set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, -1.0, 0, 6.0, 5.0)
   show_hudmessage(0, "O Soteio de Bala infinita Sera Feito em %d segundos", get_pcvar_num(cvar_delay))

   remove_task(TASK_SORTEIO)
   set_task(get_pcvar_float(cvar_delay), "ganhar_infinita", TASK_SORTEIO)
}

public ganhar_infinita()
{
   if(get_playersnum() <= 0) return;
   
   static players[32],num,id
   
   get_players(players, num, "a")
   id = players[random(num)]
   
   g_has_unlimited_clip[id] = true
   new szName[32]; get_user_name(id, szName, charsmax(szName))

   set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, -1.0, 0, 6.0, 5.0)
   show_hudmessage(0, "O Jogador %s Ganhou Bala Infinita No Sorteio", szName)
}

public client_disconnect(id) g_has_unlimited_clip[id] = false
public zp_user_humanized_post(id) g_has_unlimited_clip[id] = false
public zp_user_infected_post(id) g_has_unlimited_clip[id] = false
public zp_round_ended() remove_task(TASK_SORTEIO);

public message_cur_weapon(msg_id, msg_dest, msg_entity)
{
   if (!g_has_unlimited_clip[msg_entity] || !is_user_alive(msg_entity) || get_msg_arg_int(1) != 1)
      return;

   static weapon, clip
   weapon = get_msg_arg_int(2) // get weapon ID
   clip = get_msg_arg_int(3) // get weapon clip
   
   // Unlimited Clip Ammo
   if (MAXCLIP[weapon] > 2) // skip grenades
   {
      set_msg_arg_int(3, get_msg_argtype(3), MAXCLIP[weapon]) // HUD should show full clip all the time
      
      if (clip < 2) // refill when clip is nearly empty
      {
         // Get the weapon entity
         static wname[32], weapon_ent
         get_weaponname(weapon, wname, sizeof wname - 1)
         weapon_ent = fm_find_ent_by_owner(-1, wname, msg_entity)
         
         // Set max clip on weapon
         fm_set_weapon_ammo(weapon_ent, MAXCLIP[weapon])
      }
   }
}

stock fm_set_weapon_ammo(entity, amount) set_pdata_int(entity, OFFSET_CLIPAMMO, amount, OFFSET_LINUX_WEAPONS);


Última edição por [P]erfec[T] [S]cr[@]s[H] em 7/6/2014, 4:33 pm, editado 2 vez(es)

____________________________________________


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 

[P]erfec[T] [S]cr[@]s[H]
Scripter
Scripter

Masculino Número de Mensagens : 537
Jogador FODA Perfect Scrash entrou na zplague
Ammo Packs : 1631
Honra : 173
Data de inscrição : 04/04/2013

Ver perfil do usuário http://www.steamcommunity.com/id/perfectscrash perfect.scrash

Voltar ao Topo Ir em baixo

Re: [ZP] Addon: Sorteio de Bala Infinita

Mensagem por vitors23 em 12/8/2013, 3:57 pm

Boa man!! Tava atrás desse pluguin vlw!!!

vitors23
Humano
Humano

Nick : Vitors23
Masculino Número de Mensagens : 52
Ammo Packs : 1908
Honra : 0
Data de inscrição : 14/10/2011

Ver perfil do usuário vitor682

Voltar ao Topo Ir em baixo

Re: [ZP] Addon: Sorteio de Bala Infinita

Mensagem por [P]erfec[T] [S]cr[@]s[H] em 7/6/2014, 4:35 pm

Plugin Atualizado: Feito no dia 07/06/2014 as 17:33:48

* Fixado o Bug de ficar com a bala infinita todo round
* Melhoramento no Código
* Etc.

____________________________________________


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 

[P]erfec[T] [S]cr[@]s[H]
Scripter
Scripter

Masculino Número de Mensagens : 537
Jogador FODA Perfect Scrash entrou na zplague
Ammo Packs : 1631
Honra : 173
Data de inscrição : 04/04/2013

Ver perfil do usuário http://www.steamcommunity.com/id/perfectscrash perfect.scrash

Voltar ao Topo Ir em baixo

Re: [ZP] Addon: Sorteio de Bala Infinita

Mensagem por Conteúdo patrocinado Hoje à(s) 10:03 pm


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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