AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Zombie Plague Mod (https://forums.alliedmods.net/forumdisplay.php?f=126)
-   -   Can anyone make a Blinker Class? (https://forums.alliedmods.net/showthread.php?t=112354)

hellmoss 12-19-2009 03:39

Can anyone make a Blinker Class?
 
The title talks...


(This is what I'm talking about)
http://forums.alliedmods.net/showpos...postcount=1118

hellmoss 12-19-2009 07:04

Re: Can anyone make a Blinker Class?
 
1 Attachment(s)
I'v tried and made this

But every zombie has Blink ability... How can i fix it?

Zombiezzz 12-21-2009 14:59

Re: Can anyone make a Blinker Class?
 
PHP Code:

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <zombieplague> 
#include <chr_engine> 
#define MIN_DISTANCE 50
new const g_item_name[] = { "Knife Blink (once)" }
const 
g_item_cost 5
const g_iMaxDistance 300;
/*============================================================================*/
new Float:g_fSpeed 1000.0;
new 
Float:g_fDelay 1.0;
new 
g_iMaxPlayers;
new 
g_iEnemy[33];
new 
g_iInBlink[33];
new 
Float:g_fLastSlash[33];
new 
g_iCanceled[33];
new 
g_iSlash[33];
new 
g_iBlinks[33];
new 
g_itemid_blink;
// Zombie Attributes
new const zclass_name[] = { "Blinker Zombie" // name
new const zclass_info[] = { "-HP +Speed } // description
new const zclass_model[] = { "
zombie_source" } // model
new const zclass_clawmodel[] = { "
v_knife_zombie.mdl" } // claw model
const zclass_health = 850 // health
const zclass_speed = 350 // speed
const Float:zclass_gravity = 0.8 // gravity
const Float:zclass_knockback = 0.6 // knockback
new g_zclass_infecter, Ammo
public plugin_init(){
 
 register_plugin("
[ZPBlinker Zombie", "1.2", "Zombiezzz);
 
 
g_iMaxPlayers get_maxplayers();
 
 
g_itemid_blink zp_register_extra_item(g_item_nameg_item_costZP_TEAM_ZOMBIE);
 
 
register_forward(FM_TraceLine"FW_TraceLine_Post"1);
 
register_forward(FM_PlayerPreThink"FW_PlayerPreThink");
 
 
register_event("HLTV""EVENT_round_start""a""1=0""2=0")
}
public 
plugin_precache()
{
    
register_plugin("[ZP] Zombie Class: Blinker Zombie""1.2""Zombiezzz"
    
    
g_zclass_infecter zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback
}
public 
FW_TraceLine_Post(Float:start[3], Float:end[3], conditionsidtrace){
 
 if (!
CHECK_ValidPlayer(id))
  return 
FMRES_IGNORED;
 
 new 
iWeaponID get_user_weapon(id);
 
 if ( 
iWeaponID != CSW_KNIFE ){
  
  
OP_Cancel(id);
  return 
FMRES_IGNORED;
 }
 
 new 
enemy g_iEnemy[id];
 
 if (!
enemy){
  
  
enemy get_tr2(traceTR_pHit);
  
  if ( !
CHECK_ValidPlayer(enemy) || zp_get_user_zombie(enemy) ){
   
   
OP_Cancel(id);
   return 
FMRES_IGNORED;
  }
  
  
g_iEnemy[id] = enemy;
 }
 
 return 
FMRES_IGNORED;
}
public 
FW_PlayerPreThink(id){
 
 if (!
CHECK_ValidPlayer(id))
  return 
FMRES_IGNORED;
 
 new 
iWeaponID get_user_weapon(id);
 
 if ( 
iWeaponID != CSW_KNIFE || !zp_get_user_zombie(id) ){
  
  
OP_Cancel(id);
  return 
FMRES_IGNORED;
 }
 
 if ( 
g_iBlinks[id] == )
  return 
FMRES_IGNORED;
 
 new 
button pev(id,pev_button);
 
 if ( !(
button IN_ATTACK) && !(button IN_ATTACK2) ){
  
  
OP_Cancel(id)
  return 
FMRES_IGNORED;
 }
 
 if (
g_iSlash[id])
  
g_iSlash[id] = 0;
 
 
OP_NearEnemy(id);
 
 if( 
g_iInBlink[id] ){
  
  
OP_SetBlink(id);
  
OP_Blink(id);
  
g_iCanceled[id] = 0;
 }
 return 
FMRES_IGNORED;
}
public 
zp_user_infected_post(idinfector)
{
    if (
zp_get_user_zombie_class(id) == g_zclass_infecter && !zp_get_user_nemesis(id))
    if (
infector == g_itemid_blink)
    {
        
g_iBlinks[infector] += 1;
        
client_print(idprint_chat"[ZP] You've chosen Infecter Zombie, good luck!")
    }
}
public 
EVENT_round_start()
{
 for (new 
idid <= 32id++) g_iBlinks[id] = 0;
}
public 
OP_NearEnemy(id){
 
 new 
enemy g_iEnemy[id];
 new 
Float:time get_gametime();
 
 if (!
enemy || g_fLastSlash[id]+g_fDelay>time){
  
  
g_iInBlink[id] = 0;
  return;
 }
 
 new 
origin[3], origin_enemy[3];
 
 
get_user_origin(idorigin0);
 
get_user_origin(enemyorigin_enemy0);
 
 new 
distance get_distance(originorigin_enemy);
 
 if ( 
MIN_DISTANCE<=distance<=g_iMaxDistance){
  
  
g_iInBlink[id] = 1;
  return;
  
 }else if (
MIN_DISTANCE>distance && g_iInBlink[id])
 {
  
OP_Slash(id);
 }
 
OP_Cancel(id);
}
public 
OP_Blink(id){
 
 new 
Float:new_velocity[3];
 new 
enemy g_iEnemy[id];
 new 
Float:origin_enemy[3];
 
 
pev(enemypev_originorigin_enemy);
 
entity_set_aim(idorigin_enemy);
 
 
get_speed_vector2(idenemyg_fSpeednew_velocity)
 
set_pev(idpev_velocitynew_velocity);
}
public 
OP_Cancel(id){
 
 
g_iInBlink[id] = 0;
 
g_iEnemy[id] = 0;
 if (!
g_iCanceled[id]){
  
  
OP_SetBlink(id);
  
g_iCanceled[id] = 1;
 }
}
public 
OP_Slash(id){
 
 
set_pev(idpev_velocity, {0.0,0.0,0.0});  // stop player's blink
 
 
new weaponID get_user_weapon(id__);
 
 if(
weaponID == CSW_KNIFE){
  
  new 
weapon[32]
  
  
get_weaponname(weaponID,weapon,31)
  
  new 
ent fm_find_ent_by_owner(-1,weapon,id)
  
  if(
ent){
   
   
set_pdata_float(ent,460.0);
   
set_pdata_float(ent,470.0);
   
g_iSlash[id] = 1;
   
g_fLastSlash[id] = get_gametime();
   
g_iBlinks[id] -= 1;
   new 
name[32];
   
get_user_name(id,name,31)
   
client_print(0print_chat"[ZP] %s just used a Knife Blink!"name);
   
client_print(idprint_chat"[ZP] %d Knife Blinks remaining"g_iBlinks[id]);
  }
 }  
}
public 
OP_SetBlink(id){
 
 new 
blink g_iInBlink[id];
 
 if (
blink>1)
  return;
 
 if (
blink)
  
g_iInBlink[id] += 1;
}

public 
CHECK_ValidPlayer(id){
 
 if (
1<=id<=g_iMaxPlayers && is_user_alive(id))
  return 
1;
 
 return 
0;
}
// from fakemeta_util.inc
stock fm_find_ent_by_owner(index, const classname[], ownerjghgtype 0) {
 new 
strtype[11] = "classname"ent index;
 switch (
jghgtype) {
  case 
1strtype "target";
  case 
2strtype "targetname";
 }
 while ((
ent engfunc(EngFunc_FindEntityByStringentstrtypeclassname)) && pev(entpev_owner) != owner) {}
 return 
ent;


:shock::shock::shock::shock::shock:

meTaLiCroSS 12-21-2009 15:17

Re: Can anyone make a Blinker Class?
 
Quote:

Originally Posted by Zombiezzz (Post 1025818)
PHP Code:

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <zombieplague> 
#include <chr_engine> 
#define MIN_DISTANCE 50
new const g_item_name[] = { "Knife Blink (once)" }
const 
g_item_cost 5
const g_iMaxDistance 300;
/*============================================================================*/
new Float:g_fSpeed 1000.0;
new 
Float:g_fDelay 1.0;
new 
g_iMaxPlayers;
new 
g_iEnemy[33];
new 
g_iInBlink[33];
new 
Float:g_fLastSlash[33];
new 
g_iCanceled[33];
new 
g_iSlash[33];
new 
g_iBlinks[33];
new 
g_itemid_blink;
// Zombie Attributes
new const zclass_name[] = { "Blinker Zombie" // name
new const zclass_info[] = { "-HP +Speed } // description
new const zclass_model[] = { "
zombie_source" } // model
new const zclass_clawmodel[] = { "
v_knife_zombie.mdl" } // claw model
const zclass_health = 850 // health
const zclass_speed = 350 // speed
const Float:zclass_gravity = 0.8 // gravity
const Float:zclass_knockback = 0.6 // knockback
new g_zclass_infecter, Ammo
public plugin_init(){
 
 register_plugin("
[ZPBlinker Zombie", "1.2", "Zombiezzz);
 
 
g_iMaxPlayers get_maxplayers();
 
 
g_itemid_blink zp_register_extra_item(g_item_nameg_item_costZP_TEAM_ZOMBIE);
 
 
register_forward(FM_TraceLine"FW_TraceLine_Post"1);
 
register_forward(FM_PlayerPreThink"FW_PlayerPreThink");
 
 
register_event("HLTV""EVENT_round_start""a""1=0""2=0")
}
public 
plugin_precache()
{
    
register_plugin("[ZP] Zombie Class: Blinker Zombie""1.2""Zombiezzz"
    
    
g_zclass_infecter zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback
}
public 
FW_TraceLine_Post(Float:start[3], Float:end[3], conditionsidtrace){
 
 if (!
CHECK_ValidPlayer(id))
  return 
FMRES_IGNORED;
 
 new 
iWeaponID get_user_weapon(id);
 
 if ( 
iWeaponID != CSW_KNIFE ){
  
  
OP_Cancel(id);
  return 
FMRES_IGNORED;
 }
 
 new 
enemy g_iEnemy[id];
 
 if (!
enemy){
  
  
enemy get_tr2(traceTR_pHit);
  
  if ( !
CHECK_ValidPlayer(enemy) || zp_get_user_zombie(enemy) ){
   
   
OP_Cancel(id);
   return 
FMRES_IGNORED;
  }
  
  
g_iEnemy[id] = enemy;
 }
 
 return 
FMRES_IGNORED;
}
public 
FW_PlayerPreThink(id){
 
 if (!
CHECK_ValidPlayer(id))
  return 
FMRES_IGNORED;
 
 new 
iWeaponID get_user_weapon(id);
 
 if ( 
iWeaponID != CSW_KNIFE || !zp_get_user_zombie(id) ){
  
  
OP_Cancel(id);
  return 
FMRES_IGNORED;
 }
 
 if ( 
g_iBlinks[id] == )
  return 
FMRES_IGNORED;
 
 new 
button pev(id,pev_button);
 
 if ( !(
button IN_ATTACK) && !(button IN_ATTACK2) ){
  
  
OP_Cancel(id)
  return 
FMRES_IGNORED;
 }
 
 if (
g_iSlash[id])
  
g_iSlash[id] = 0;
 
 
OP_NearEnemy(id);
 
 if( 
g_iInBlink[id] ){
  
  
OP_SetBlink(id);
  
OP_Blink(id);
  
g_iCanceled[id] = 0;
 }
 return 
FMRES_IGNORED;
}
public 
zp_user_infected_post(idinfector)
{
    if (
zp_get_user_zombie_class(id) == g_zclass_infecter && !zp_get_user_nemesis(id))
    if (
infector == g_itemid_blink)
    {
        
g_iBlinks[infector] += 1;
        
client_print(idprint_chat"[ZP] You've chosen Infecter Zombie, good luck!")
    }
}
public 
EVENT_round_start()
{
 for (new 
idid <= 32id++) g_iBlinks[id] = 0;
}
public 
OP_NearEnemy(id){
 
 new 
enemy g_iEnemy[id];
 new 
Float:time get_gametime();
 
 if (!
enemy || g_fLastSlash[id]+g_fDelay>time){
  
  
g_iInBlink[id] = 0;
  return;
 }
 
 new 
origin[3], origin_enemy[3];
 
 
get_user_origin(idorigin0);
 
get_user_origin(enemyorigin_enemy0);
 
 new 
distance get_distance(originorigin_enemy);
 
 if ( 
MIN_DISTANCE<=distance<=g_iMaxDistance){
  
  
g_iInBlink[id] = 1;
  return;
  
 }else if (
MIN_DISTANCE>distance && g_iInBlink[id])
 {
  
OP_Slash(id);
 }
 
OP_Cancel(id);
}
public 
OP_Blink(id){
 
 new 
Float:new_velocity[3];
 new 
enemy g_iEnemy[id];
 new 
Float:origin_enemy[3];
 
 
pev(enemypev_originorigin_enemy);
 
entity_set_aim(idorigin_enemy);
 
 
get_speed_vector2(idenemyg_fSpeednew_velocity)
 
set_pev(idpev_velocitynew_velocity);
}
public 
OP_Cancel(id){
 
 
g_iInBlink[id] = 0;
 
g_iEnemy[id] = 0;
 if (!
g_iCanceled[id]){
  
  
OP_SetBlink(id);
  
g_iCanceled[id] = 1;
 }
}
public 
OP_Slash(id){
 
 
set_pev(idpev_velocity, {0.0,0.0,0.0});  // stop player's blink
 
 
new weaponID get_user_weapon(id__);
 
 if(
weaponID == CSW_KNIFE){
  
  new 
weapon[32]
  
  
get_weaponname(weaponID,weapon,31)
  
  new 
ent fm_find_ent_by_owner(-1,weapon,id)
  
  if(
ent){
   
   
set_pdata_float(ent,460.0);
   
set_pdata_float(ent,470.0);
   
g_iSlash[id] = 1;
   
g_fLastSlash[id] = get_gametime();
   
g_iBlinks[id] -= 1;
   new 
name[32];
   
get_user_name(id,name,31)
   
client_print(0print_chat"[ZP] %s just used a Knife Blink!"name);
   
client_print(idprint_chat"[ZP] %d Knife Blinks remaining"g_iBlinks[id]);
  }
 }  
}
public 
OP_SetBlink(id){
 
 new 
blink g_iInBlink[id];
 
 if (
blink>1)
  return;
 
 if (
blink)
  
g_iInBlink[id] += 1;
}

public 
CHECK_ValidPlayer(id){
 
 if (
1<=id<=g_iMaxPlayers && is_user_alive(id))
  return 
1;
 
 return 
0;
}
// from fakemeta_util.inc
stock fm_find_ent_by_owner(index, const classname[], ownerjghgtype 0) {
 new 
strtype[11] = "classname"ent index;
 switch (
jghgtype) {
  case 
1strtype "target";
  case 
2strtype "targetname";
 }
 while ((
ent engfunc(EngFunc_FindEntityByStringentstrtypeclassname)) && pev(entpev_owner) != owner) {}
 return 
ent;


:shock::shock::shock::shock::shock:

PHP Code:

register_plugin("[ZP] Blinker Zombie""1.2""Zombiezzz"); 

HAHAHA, big fail man, you suck

PHP Code:

register_plugin("[ZP] Extra Item: Knife Blink""1.2""pharse"); 

That's the real author, moron. Do not try to change the autor's name.

Zombiezzz 12-21-2009 15:31

Re: Can anyone make a Blinker Class?
 
o well idk if it even works lol probly dosnt

My Grenades 12-22-2009 11:51

Re: Can anyone make a Blinker Class?
 
What does "blinker zombie" do anyway...?

Zombiezzz 12-22-2009 12:09

Re: Can anyone make a Blinker Class?
 
i have no fucking idea O_O i think ti like moves close to the human idk lol

My Grenades 12-22-2009 16:24

Re: Can anyone make a Blinker Class?
 
Quote:

Originally Posted by Zombiezzz (Post 1026996)
i have no fucking idea O_O i think ti like moves close to the human idk lol

Sounds retarded already.

Raddish 12-22-2009 16:36

Re: Can anyone make a Blinker Class?
 
Quote:

Originally Posted by Zombiezzz (Post 1025818)
PHP Code:

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <zombieplague> 
#include <chr_engine> 
#define MIN_DISTANCE 50
new const g_item_name[] = { "Knife Blink (once)" }
const 
g_item_cost 5
const g_iMaxDistance 300;
/*============================================================================*/
new Float:g_fSpeed 1000.0;
new 
Float:g_fDelay 1.0;
new 
g_iMaxPlayers;
new 
g_iEnemy[33];
new 
g_iInBlink[33];
new 
Float:g_fLastSlash[33];
new 
g_iCanceled[33];
new 
g_iSlash[33];
new 
g_iBlinks[33];
new 
g_itemid_blink;
// Zombie Attributes
new const zclass_name[] = { "Blinker Zombie" // name
new const zclass_info[] = { "-HP +Speed } // description
new const zclass_model[] = { "
zombie_source" } // model
new const zclass_clawmodel[] = { "
v_knife_zombie.mdl" } // claw model
const zclass_health = 850 // health
const zclass_speed = 350 // speed
const Float:zclass_gravity = 0.8 // gravity
const Float:zclass_knockback = 0.6 // knockback
new g_zclass_infecter, Ammo
public plugin_init(){
 
 register_plugin("
[ZPBlinker Zombie", "1.2", "Zombiezzz);
 
 
g_iMaxPlayers get_maxplayers();
 
 
g_itemid_blink zp_register_extra_item(g_item_nameg_item_costZP_TEAM_ZOMBIE);
 
 
register_forward(FM_TraceLine"FW_TraceLine_Post"1);
 
register_forward(FM_PlayerPreThink"FW_PlayerPreThink");
 
 
register_event("HLTV""EVENT_round_start""a""1=0""2=0")
}
public 
plugin_precache()
{
    
register_plugin("[ZP] Zombie Class: Blinker Zombie""1.2""Zombiezzz"
    
    
g_zclass_infecter zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback
}
public 
FW_TraceLine_Post(Float:start[3], Float:end[3], conditionsidtrace){
 
 if (!
CHECK_ValidPlayer(id))
  return 
FMRES_IGNORED;
 
 new 
iWeaponID get_user_weapon(id);
 
 if ( 
iWeaponID != CSW_KNIFE ){
  
  
OP_Cancel(id);
  return 
FMRES_IGNORED;
 }
 
 new 
enemy g_iEnemy[id];
 
 if (!
enemy){
  
  
enemy get_tr2(traceTR_pHit);
  
  if ( !
CHECK_ValidPlayer(enemy) || zp_get_user_zombie(enemy) ){
   
   
OP_Cancel(id);
   return 
FMRES_IGNORED;
  }
  
  
g_iEnemy[id] = enemy;
 }
 
 return 
FMRES_IGNORED;
}
public 
FW_PlayerPreThink(id){
 
 if (!
CHECK_ValidPlayer(id))
  return 
FMRES_IGNORED;
 
 new 
iWeaponID get_user_weapon(id);
 
 if ( 
iWeaponID != CSW_KNIFE || !zp_get_user_zombie(id) ){
  
  
OP_Cancel(id);
  return 
FMRES_IGNORED;
 }
 
 if ( 
g_iBlinks[id] == )
  return 
FMRES_IGNORED;
 
 new 
button pev(id,pev_button);
 
 if ( !(
button IN_ATTACK) && !(button IN_ATTACK2) ){
  
  
OP_Cancel(id)
  return 
FMRES_IGNORED;
 }
 
 if (
g_iSlash[id])
  
g_iSlash[id] = 0;
 
 
OP_NearEnemy(id);
 
 if( 
g_iInBlink[id] ){
  
  
OP_SetBlink(id);
  
OP_Blink(id);
  
g_iCanceled[id] = 0;
 }
 return 
FMRES_IGNORED;
}
public 
zp_user_infected_post(idinfector)
{
    if (
zp_get_user_zombie_class(id) == g_zclass_infecter && !zp_get_user_nemesis(id))
    if (
infector == g_itemid_blink)
    {
        
g_iBlinks[infector] += 1;
        
client_print(idprint_chat"[ZP] You've chosen Infecter Zombie, good luck!")
    }
}
public 
EVENT_round_start()
{
 for (new 
idid <= 32id++) g_iBlinks[id] = 0;
}
public 
OP_NearEnemy(id){
 
 new 
enemy g_iEnemy[id];
 new 
Float:time get_gametime();
 
 if (!
enemy || g_fLastSlash[id]+g_fDelay>time){
  
  
g_iInBlink[id] = 0;
  return;
 }
 
 new 
origin[3], origin_enemy[3];
 
 
get_user_origin(idorigin0);
 
get_user_origin(enemyorigin_enemy0);
 
 new 
distance get_distance(originorigin_enemy);
 
 if ( 
MIN_DISTANCE<=distance<=g_iMaxDistance){
  
  
g_iInBlink[id] = 1;
  return;
  
 }else if (
MIN_DISTANCE>distance && g_iInBlink[id])
 {
  
OP_Slash(id);
 }
 
OP_Cancel(id);
}
public 
OP_Blink(id){
 
 new 
Float:new_velocity[3];
 new 
enemy g_iEnemy[id];
 new 
Float:origin_enemy[3];
 
 
pev(enemypev_originorigin_enemy);
 
entity_set_aim(idorigin_enemy);
 
 
get_speed_vector2(idenemyg_fSpeednew_velocity)
 
set_pev(idpev_velocitynew_velocity);
}
public 
OP_Cancel(id){
 
 
g_iInBlink[id] = 0;
 
g_iEnemy[id] = 0;
 if (!
g_iCanceled[id]){
  
  
OP_SetBlink(id);
  
g_iCanceled[id] = 1;
 }
}
public 
OP_Slash(id){
 
 
set_pev(idpev_velocity, {0.0,0.0,0.0});  // stop player's blink
 
 
new weaponID get_user_weapon(id__);
 
 if(
weaponID == CSW_KNIFE){
  
  new 
weapon[32]
  
  
get_weaponname(weaponID,weapon,31)
  
  new 
ent fm_find_ent_by_owner(-1,weapon,id)
  
  if(
ent){
   
   
set_pdata_float(ent,460.0);
   
set_pdata_float(ent,470.0);
   
g_iSlash[id] = 1;
   
g_fLastSlash[id] = get_gametime();
   
g_iBlinks[id] -= 1;
   new 
name[32];
   
get_user_name(id,name,31)
   
client_print(0print_chat"[ZP] %s just used a Knife Blink!"name);
   
client_print(idprint_chat"[ZP] %d Knife Blinks remaining"g_iBlinks[id]);
  }
 }  
}
public 
OP_SetBlink(id){
 
 new 
blink g_iInBlink[id];
 
 if (
blink>1)
  return;
 
 if (
blink)
  
g_iInBlink[id] += 1;
}

public 
CHECK_ValidPlayer(id){
 
 if (
1<=id<=g_iMaxPlayers && is_user_alive(id))
  return 
1;
 
 return 
0;
}
// from fakemeta_util.inc
stock fm_find_ent_by_owner(index, const classname[], ownerjghgtype 0) {
 new 
strtype[11] = "classname"ent index;
 switch (
jghgtype) {
  case 
1strtype "target";
  case 
2strtype "targetname";
 }
 while ((
ent engfunc(EngFunc_FindEntityByStringentstrtypeclassname)) && pev(entpev_owner) != owner) {}
 return 
ent;


:shock::shock::shock::shock::shock:

CP :grrr:


All times are GMT -4. The time now is 22:53.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.