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[ZP] Classe humana Empty[ZP] Classe humana

more_horiz
É uma classe meio loca, acho que o unico que n fuciona eo de ganhar munição a cada 2 segundos, ainda não testei.
Vejam ai, eu tinha algumas melhoras nele algumas funções melhores, mas me esqueci de salvar e  salvei esse que era para quando eu errasse refazer.

Código:

/*================================================================================
||||||||      |||||||||||   
||    DDDDDDDD        ||  EEEEEEE  TTTTTTTT      OOOOOOOOO      NNNN        N      AAAAAA    DDDDDDD        OOOOOOOOO    ||||||||      |||||||||||
||    D        D      ||  E            T          O      O      N  N      N        A    A    D      D      O      O    ||      RRRRRR        ||
||    D        D    ||  E            T          O      O      N    N    N        AaaaaA    D        D      O      O    ||      R    R        ||
||    D        D    ||  EEEEEEE      T          O      O      N    N  N          A    A    D        D      O      O    ||      R    R      ||
||    D        D    ||  E            T          O      O      N      N          A    A    D        D      O      O    ||      R    R      ||
||    D        D      ||  E            T          O      O      N                  A    A    D        D      O      O    ||      R R R        ||     
||    D      D      ||  E            T          O      O      N                  A    A    D      D      O      O    ||      R    R        ||
|||||  DDDDDDDD    |||||  EEEEEEE    T          OOOOOOOOO      N                  A    A    DDDDDDDD        OOOOOOOOO    |||||||  R    R  |||||||

================================================================================*/


/*================================================================================
-----------------------------------
[ZP] Addon : Classe Humana
-----------------------------------

Obrigado pelo uso do plugin e pela colaboração, é um plugin bem critico de se fazer, com a ajuda de: [P]erfec[T] [S]cr[@]s[H] e [D]etonado[R], essa classe de humano foi feita com sucesso !!.
Que esse plugin sirva para todos os servidores de zombie.
Espero que com a ajuda de todos continuemos a fazer otimos plugins.
Zplague 2014 Visite: www.zplague.forumeiro.com || Portal Mundial de Plugins, é considerado um dos melhores forum de plugins de zombie !,onde se encontra os Melhores !!.
Venha fazer parte !!, seja um Zplagueiro.

Lembre-se de uma coisa: Diga "NÃO" ao Riper.

Att: [D]etonado[R]

================================================================================*/


#include <amxmodx>
#include <  fun >
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>

new g_player_class[33]

#define TASK_HUMAN_MUNICAO 16432168
#define TASK_HUMAN_HEALTH 154831053
#define TASK_HUMAN_CSW_HEGRENADE 175856396
#define TASK_HUMAN_CSW_FLASHBANG 189215843

new g_humano_infinita[33]
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 }

public plugin_init()
{
   register_plugin("[ZP] Classes Humanas", "1.1", "[D]etonado[R] | [P]erfec[T] [S]cr[@]s[H]")
   RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
   register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")
   register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
}

/*================================================================================
[Oque acontecera a cada round]
=================================================================================*/
public event_round_start()
{
   for (new id = 1; id <= get_maxplayers(); id++)
   {
      remove_task(id + TASK_HUMAN_MUNICAO)
      remove_task(id + TASK_HUMAN_HEALTH)   
      
      set_task(5.0, "human_menu", id)   
   }
}

/*================================================================================
[Se for Infectado]
=================================================================================*/
public zp_user_infected_post(id)
{

   remove_task(id + TASK_HUMAN_MUNICAO)
   remove_task(id + TASK_HUMAN_HEALTH)      
   remove_task(id + TASK_HUMAN_CSW_HEGRENADE)
   remove_task(id + TASK_HUMAN_CSW_FLASHBANG)

}

/*================================================================================
[Se usar antidoto]
=================================================================================*/
public zp_user_humanized_pre(id)
{
   remove_task(id + TASK_HUMAN_MUNICAO)
   remove_task(id + TASK_HUMAN_HEALTH)      
   remove_task(id + TASK_HUMAN_CSW_HEGRENADE)
   remove_task(id + TASK_HUMAN_CSW_FLASHBANG)
}

/*================================================================================
[Menu Editavel]
=================================================================================*/      
public human_menu(id)
{
       
   new menu = menu_create("\wClasses \rHumanas", "human_menu_handler")
   menu_additem(menu, "Human Elite \r[Ganha Municao 2s] \w[\d+2%\w] ", "1", 0)
   menu_additem(menu, "Human Health \r[Ganha Vida 20s] \w[\d+5%\w] ", "2", 0)
   menu_additem(menu, "Human Fire \r[Granada de Fogo] \w[\d+3%\w]", "3", 0)
   menu_additem(menu, "Human Frost \r[Granada de Gelo] \w[\d+3%\w] ", "4", 0)
   menu_additem(menu, "Human Armor \r[Ganha Colete] \w[\d+40%\w] ", "5", 0)
   menu_additem(menu, "Human Gravity \r[Ganha Gravidade] \w[\d-30%\w] ", "6", 0)
   menu_additem(menu, "Human Speed \r[Ganha Velocidade] \w[\d+20%\w] ", "7", 0)
   menu_additem(menu, "Human Life \r[Ganha 50 de vida] \w[\d+50%\w] ", "8", 0)
   menu_additem(menu, "Human VIP \r[Classe Especial VIP]", "9", 0, ADMIN_RESERVATION)
   menu_additem(menu, "Human ADM \r[Classe Especial ADM]", "10", 0, ADMIN_MENU)
   
   menu_setprop(menu, MPROP_EXITNAME, "Sair")
   menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
   
   menu_display(id, menu, 0)
}

/*================================================================================
[Função que fara que os numeros pegue de acordo com o apertado]
=================================================================================*/
public human_menu_handler(id, menu, item)
{
   if( item == MENU_EXIT )
   {
      menu_destroy(menu)
      return PLUGIN_HANDLED
   }
   
   new data[6], iName[64]
   new access, callback
   menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
   new key = str_to_num(data)
   switch(key)
   {
      case 1:   
      {
          if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id))
          return PLUGIN_HANDLED;
         
          set_task(2.0 , "infinita", id + TASK_HUMAN_MUNICAO, "", 0, "b");
          client_printcolor(id, "!g[ZP] !yVoce ganha !g2 !ybala a !t2 segundos")

      }
      case 2:   
      {
         if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id))
          return PLUGIN_HANDLED;
         
         set_task(20.0 , "vida", id + TASK_HUMAN_HEALTH, "", 0, "b");   
         client_printcolor(id, "!g[ZP] !yVoce ganha !g5 !yde vida a !t20 segundos")

                  }
      case 3:   
      {
         if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id))
          return PLUGIN_HANDLED;
         
                    cs_set_user_bpammo(id, CSW_HEGRENADE, cs_get_user_bpammo(id, CSW_HEGRENADE) + 3)
              client_printcolor(id, "!g[ZP] !yVoce ganhou !g3 !tGranadas de Fogo")

      }
      case 4:   
      {
         if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id))
          return PLUGIN_HANDLED;
         
              cs_set_user_bpammo(id, CSW_FLASHBANG, cs_get_user_bpammo(id, CSW_FLASHBANG) + 3)
              client_printcolor(id, "!g[ZP] !yVoce ganhou !g3 !tGranadas de Gelo")
      }
      case 5:   
      {
 
                  g_player_class[id] = 1
                  set_user_armor(id, 40)
        client_printcolor(id, "!g[ZP] !yVoce ganhou !g+40 !yde colete ")

  }   
        case 6:   
      {
 
                  g_player_class[id] = 1
                  set_user_gravity(id, 0.70)
        client_printcolor(id, "!g[ZP] !ySua gravidade agora e !t0.70")

  }
          case 7:   
      {
 
                  g_player_class[id] = 1
                  set_user_maxspeed(id, get_cvar_float("zp_human_speed") + 20)
        client_printcolor(id, "!g[ZP] !ySua velocidade foi aumentada em !g+20")

  }
            case 8:   
      {
 
                  g_player_class[id] = 1
                  set_user_health(id, get_user_health(id) + 50)
        client_printcolor(id, "!g[ZP] !yVoce ganhou !g+50 !yde vida")

  }
            case 9:   
      {
 
                  g_player_class[id] = 1
                  set_user_health(id, get_user_health(id) + 50)
                  set_user_maxspeed(id, get_cvar_float("zp_human_speed") + 20)
                  set_user_gravity(id, 0.65)
                  set_user_armor(id, 100)
                  give_item(id,"weapon_awp")
                  cs_set_user_bpammo(id, CSW_AWP, 90)
        client_printcolor(id, "!g[ZP] !yClasse *!gVIP!y*")

  }
              case 10:   
      {
 
                  g_player_class[id] = 1
                  set_user_health(id, get_user_health(id) + 50)
                  set_user_maxspeed(id, get_cvar_float("zp_human_speed") + 20)
                  set_user_gravity(id, 0.65)
                  set_user_armor(id, 100)
                  give_item(id,"weapon_awp")
                  cs_set_user_bpammo(id, CSW_AWP, 90)
                  give_item(id,"weapon_g3sg1")
                  cs_set_user_bpammo(id, CSW_G3SG1, 60)
             client_printcolor(id, "!g[ZP] !yClasse !gADM")

  }         
 }

   
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

/*================================================================================
[A Função de ganhar bala a cada 2 Segundos]
=================================================================================*/
public infinita(id)
{
   if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id))
          return PLUGIN_HANDLED;
         
   id -= TASK_HUMAN_MUNICAO
   
        cs_set_weapon_ammo(id, cs_get_weapon_ammo(id) + 2)
   
   g_humano_infinita[id] = true
   
   return PLUGIN_CONTINUE

}

/*================================================================================
[A Origem da Função]
=================================================================================*/
public message_cur_weapon(msg_id, msg_dest, msg_entity)
{
   if (!g_humano_infinita[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), clip + 2) // 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)
         
         if(clip < MAXCLIP[weapon])
            cs_set_weapon_ammo(weapon_ent, clip + 2)
      }
   }
}

/*================================================================================
[A Função de ganhar vida]
=================================================================================*/
public vida(id)
{
   id -= TASK_HUMAN_HEALTH
   
   set_user_health(id, get_user_health(id) + 5)
}

/*================================================================================
[Mensagem colorida (client_printcolor)
=================================================================================*/
stock client_printcolor(const id, const input[], any:...)
{
   new count = 1, players[32]
   static msg[191]
   vformat(msg, 190, input, 3)
   
   replace_all(msg, 190, "!g", "^4")  // Chat Verde
   replace_all(msg, 190, "!y", "^1")  // Chat Normal
   replace_all(msg, 190, "!t", "^3")  // Chat Do Time Tr=Vermelho Ct=Azul Spec=Branco
   
   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();
         }
      }
   }
}


stock fm_find_ent_by_owner(index, const classname[], owner, jghgtype = 0) {
   new strtype[11] = "classname", ent = index;
   switch (jghgtype) {
      case 1: strtype = "target";
      case 2: strtype = "targetname";
   }

   while ((ent = engfunc(EngFunc_FindEntityByString, ent, strtype, classname)) && pev(ent, pev_owner) != owner) {}

   return ent;
}

description[ZP] Classe humana EmptyRe: [ZP] Classe humana

more_horiz
Zplague12

description[ZP] Classe humana EmptyRe: [ZP] Classe humana

more_horiz
mtsla queria saber como funfo ai , aki bugo tudo meu addon oaksoaksoaso

@edit
nao era esse plugin cabei de ver.

description[ZP] Classe humana EmptyRe: [ZP] Classe humana

more_horiz
Daora

description[ZP] Classe humana EmptyRe: [ZP] Classe humana

more_horiz
^^

description[ZP] Classe humana EmptyRe: [ZP] Classe humana

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