Modificare plugin clasa zombie

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
Zpp.Mihai94
Membru, skill 0
Membru, skill 0
Posts: 95
Joined: 05 Feb 2018, 13:03
Detinator Steam: Da
CS Status: ZMXP
Detinator server CS: ZMXP.WESTCSTRIKE.RO
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 1 time
Contact:

02 Jan 2023, 16:23

salut poate cineva sa modifice clasa asta de zombie?, ca atunci cand folosesti abilitatea el omoara oameni, si as vrea sa ii infecteze si sa moara doar el, sau daca se poate sa nu mai moară nici el.

Code: Select all

#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <xs>
#include <hamsandwich>
#include <zombie_plague_special>
#include <zombiexp>

#define TASK_BARTIME 5000

new const zclass_name[] = { "\yDetonatorul" } 
new const zclass_info[] = { "\rExplodeaza Cand Moare Te Ucide" } 
new const zclass_model[] = { "zombieLV19" } 
new const zclass_clawmodel[] = "v_knifeLVL19.mdl"
const zclass_health = 25500 
const zclass_speed = 730 
const Float:zclass_gravity = 0.6 
const Float:zclass_knockback = 0.6 
const zclass_level = 19

new const EXPLO_SPRITE[] = "sprites/zerogxplode.spr"

new g_SuicideZ, g_msgBarTime, cvar_explotime, cvar_respawn, cvar_respawntime, cvar_explobody,
g_ExpSpr, cvar_radius, cvar_reward, cvar_enablereward, cvar_rewarddmg, cvar_survivordmg;

public plugin_init()
{
register_plugin("[ZP] Zombie Class: Suicide Zombie", "1.0", "xLeoNNN") 
        
RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1)
    
register_forward(FM_CmdStart, "fw_CmdStart")

cvar_respawn = register_cvar("zp_suicide_respawn", "9")
cvar_respawntime = register_cvar("zp_suicide_respawn_time", "70.0")
cvar_radius = register_cvar("zp_suicide_radius", "150.0")
cvar_explobody = register_cvar("zp_suicide_explobody", "1")
cvar_explotime = register_cvar("zp_suicide_explotime", "3")
g_msgBarTime = get_user_msgid("BarTime")
cvar_survivordmg = register_cvar("zp_suicide_survdamage", "400")
cvar_reward = register_cvar("zp_suicide_reward", "25")
cvar_rewarddmg = register_cvar("zp_suicide_rewarddmg", "1")
cvar_enablereward = register_cvar("zp_suicide_reward_enable", "8")
}  

public plugin_precache()
{
g_SuicideZ = zpxp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback, zclass_level) 
g_ExpSpr = precache_model(EXPLO_SPRITE)
}

public remove_bartime(id)
{
message_begin(MSG_ONE, g_msgBarTime, _, id)
write_byte(0) 
write_byte(0) 
message_end()
remove_task(id+TASK_BARTIME)
}

public zp_user_infected_post ( id, infector )
if (zp_get_user_zombie_class(id) == g_SuicideZ && !zp_get_user_nemesis(id))  
print_chatColor(id, "\g[Detonatorul]\n Ati Ales \gDetonatorul\n! Apasati +use \g[E]\n Pentru A Exploda Si A omora Jucatori!"); 




public fw_CmdStart(id, handle, random_seed)
{
static iInUseButton, iInUseOldButton
iInUseButton = (get_uc(handle, UC_Buttons) & IN_USE)
iInUseOldButton = (get_user_oldbutton(id) & IN_USE)
    
if(is_user_alive(id))
if (zp_get_user_zombie(id) && (zp_get_user_zombie_class(id) == g_SuicideZ) && !zp_get_user_nemesis(id) && zp_get_user_assassin(id) && zp_get_user_survivor(id) && zp_get_user_sniper(id))
{
if(iInUseButton & IN_USE && !(iInUseOldButton & IN_USE))
{
message_begin(MSG_ONE, g_msgBarTime, _, id)
write_byte(get_pcvar_num(cvar_explotime))
write_byte(0) 
message_end()
                
set_task(get_pcvar_float(cvar_explotime), "Explo", id+TASK_BARTIME)
}
            
            
if(iInUseOldButton & IN_USE && !(iInUseButton & IN_USE))
set_task(0.1, "remove_bartime", id)
}
            
return PLUGIN_HANDLED
}





public client_disconnect(id) set_task(0.1, "remove_bartime", id)

public Explo(id)
{
id -= TASK_BARTIME
    
new Float:origin[3]
pev(id, pev_origin, origin)
    
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_EXPLOSION)
engfunc(EngFunc_WriteCoord, origin[0])
engfunc(EngFunc_WriteCoord, origin[1])
engfunc(EngFunc_WriteCoord, origin[2])
write_short(g_ExpSpr)
write_byte(10) 
write_byte(15) 
write_byte(0)
message_end()
    
user_silentkill(id)
if(get_pcvar_num(cvar_respawn) == 1)
set_task(get_pcvar_float(cvar_respawntime), "respawn", id)
        
static victim
victim = -1
    
while ((victim = engfunc(EngFunc_FindEntityInSphere, victim, origin, get_pcvar_float(cvar_radius))) != 0)
if (is_user_alive(victim) && !zp_get_user_zombie(victim))
{
if(get_pcvar_num(cvar_enablereward))
{
if (zp_get_user_survivor(victim))
{
print_chatColor(id, "\g[Detonatorul]\n Primesti \t%d\n Credite Pentru Fiecare Jucator Ucis!", get_pcvar_num(cvar_rewarddmg));
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + get_pcvar_num(cvar_rewarddmg))
}
else
{
print_chatColor(id, "\g[Detonatorul]\n Primesti \t%d\n Credite Pentru Fiecare Jucator Ucis!", get_pcvar_num(cvar_reward));
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + get_pcvar_num(cvar_reward))
}
}
            
if (zp_get_user_survivor(victim))
{
new health = get_user_health(victim)
                
if (health > get_pcvar_num(cvar_survivordmg))
set_user_health(victim, health-get_pcvar_num(cvar_survivordmg))
else
log_kill(id, victim, "Suicide Zombie", 0)
}
else
log_kill(id, victim, "Suicide Zombie", 0)
}
}

public respawn(id)
{
if(!is_user_alive(id))
{
ExecuteHamB(Ham_CS_RoundRespawn, id)
zp_infect_user(id, 0, 0, 0)
}
}

stock log_kill(killer, victim, weapon[],headshot) 
{
user_silentkill( victim );
    
message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
write_byte( killer );
write_byte( victim );
write_byte( headshot );
write_string( weapon );
message_end();
    
new kfrags = get_user_frags( killer );
set_user_frags( killer, kfrags + 1 );
new vfrags = get_user_frags( victim );
set_user_frags( victim, vfrags - 1 );
    
return  PLUGIN_CONTINUE
}  

stock print_chatColor(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,"\n","^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();
}
} 

public fw_PlayerKilled(victim, attacker, shouldgib)
{
if(zp_get_user_zombie_class(victim) == g_SuicideZ)
{
if(get_pcvar_num(cvar_explobody))
SetHamParamInteger(3, 2)
set_task(0.10, "remove_bartime", victim)
}
}

        
public fw_PlayerSpawn_Post(id)
{
if (!is_user_alive(id))
return;
    
set_task(0.10, "remove_bartime", id)
} #include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <xs>
#include <hamsandwich>
#include <zombie_plague_special>
#include <zombiexp>

#define TASK_BARTIME 5000

new const zclass_name[] = { "\yDetonatorul" } 
new const zclass_info[] = { "\rExplodeaza Cand Moare Te Ucide" } 
new const zclass_model[] = { "zombieLV19" } 
new const zclass_clawmodel[] = "v_knifeLVL19.mdl"
const zclass_health = 25500 
const zclass_speed = 730 
const Float:zclass_gravity = 0.6 
const Float:zclass_knockback = 0.6 
const zclass_level = 19

new const EXPLO_SPRITE[] = "sprites/zerogxplode.spr"

new g_SuicideZ, g_msgBarTime, cvar_explotime, cvar_respawn, cvar_respawntime, cvar_explobody,
g_ExpSpr, cvar_radius, cvar_reward, cvar_enablereward, cvar_rewarddmg, cvar_survivordmg;

public plugin_init()
{
register_plugin("[ZP] Zombie Class: Suicide Zombie", "1.0", "xLeoNNN") 
        
RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1)
    
register_forward(FM_CmdStart, "fw_CmdStart")

cvar_respawn = register_cvar("zp_suicide_respawn", "9")
cvar_respawntime = register_cvar("zp_suicide_respawn_time", "70.0")
cvar_radius = register_cvar("zp_suicide_radius", "150.0")
cvar_explobody = register_cvar("zp_suicide_explobody", "1")
cvar_explotime = register_cvar("zp_suicide_explotime", "3")
g_msgBarTime = get_user_msgid("BarTime")
cvar_survivordmg = register_cvar("zp_suicide_survdamage", "400")
cvar_reward = register_cvar("zp_suicide_reward", "25")
cvar_rewarddmg = register_cvar("zp_suicide_rewarddmg", "1")
cvar_enablereward = register_cvar("zp_suicide_reward_enable", "8")
}  

public plugin_precache()
{
g_SuicideZ = zpxp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback, zclass_level) 
g_ExpSpr = precache_model(EXPLO_SPRITE)
}

public remove_bartime(id)
{
message_begin(MSG_ONE, g_msgBarTime, _, id)
write_byte(0) 
write_byte(0) 
message_end()
remove_task(id+TASK_BARTIME)
}

public zp_user_infected_post ( id, infector )
if (zp_get_user_zombie_class(id) == g_SuicideZ && !zp_get_user_nemesis(id))  
print_chatColor(id, "\g[Detonatorul]\n Ati Ales \gDetonatorul\n! Apasati +use \g[E]\n Pentru A Exploda Si A omora Jucatori!"); 




public fw_CmdStart(id, handle, random_seed)
{
static iInUseButton, iInUseOldButton
iInUseButton = (get_uc(handle, UC_Buttons) & IN_USE)
iInUseOldButton = (get_user_oldbutton(id) & IN_USE)
    
if(is_user_alive(id))
if (zp_get_user_zombie(id) && (zp_get_user_zombie_class(id) == g_SuicideZ) && !zp_get_user_nemesis(id) && zp_get_user_assassin(id) && zp_get_user_survivor(id) && zp_get_user_sniper(id))
{
if(iInUseButton & IN_USE && !(iInUseOldButton & IN_USE))
{
message_begin(MSG_ONE, g_msgBarTime, _, id)
write_byte(get_pcvar_num(cvar_explotime))
write_byte(0) 
message_end()
                
set_task(get_pcvar_float(cvar_explotime), "Explo", id+TASK_BARTIME)
}
            
            
if(iInUseOldButton & IN_USE && !(iInUseButton & IN_USE))
set_task(0.1, "remove_bartime", id)
}
            
return PLUGIN_HANDLED
}





public client_disconnect(id) set_task(0.1, "remove_bartime", id)

public Explo(id)
{
id -= TASK_BARTIME
    
new Float:origin[3]
pev(id, pev_origin, origin)
    
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_EXPLOSION)
engfunc(EngFunc_WriteCoord, origin[0])
engfunc(EngFunc_WriteCoord, origin[1])
engfunc(EngFunc_WriteCoord, origin[2])
write_short(g_ExpSpr)
write_byte(10) 
write_byte(15) 
write_byte(0)
message_end()
    
user_silentkill(id)
if(get_pcvar_num(cvar_respawn) == 1)
set_task(get_pcvar_float(cvar_respawntime), "respawn", id)
        
static victim
victim = -1
    
while ((victim = engfunc(EngFunc_FindEntityInSphere, victim, origin, get_pcvar_float(cvar_radius))) != 0)
if (is_user_alive(victim) && !zp_get_user_zombie(victim))
{
if(get_pcvar_num(cvar_enablereward))
{
if (zp_get_user_survivor(victim))
{
print_chatColor(id, "\g[Detonatorul]\n Primesti \t%d\n Credite Pentru Fiecare Jucator Ucis!", get_pcvar_num(cvar_rewarddmg));
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + get_pcvar_num(cvar_rewarddmg))
}
else
{
print_chatColor(id, "\g[Detonatorul]\n Primesti \t%d\n Credite Pentru Fiecare Jucator Ucis!", get_pcvar_num(cvar_reward));
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + get_pcvar_num(cvar_reward))
}
}
            
if (zp_get_user_survivor(victim))
{
new health = get_user_health(victim)
                
if (health > get_pcvar_num(cvar_survivordmg))
set_user_health(victim, health-get_pcvar_num(cvar_survivordmg))
else
log_kill(id, victim, "Suicide Zombie", 0)
}
else
log_kill(id, victim, "Suicide Zombie", 0)
}
}

public respawn(id)
{
if(!is_user_alive(id))
{
ExecuteHamB(Ham_CS_RoundRespawn, id)
zp_infect_user(id, 0, 0, 0)
}
}

stock log_kill(killer, victim, weapon[],headshot) 
{
user_silentkill( victim );
    
message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
write_byte( killer );
write_byte( victim );
write_byte( headshot );
write_string( weapon );
message_end();
    
new kfrags = get_user_frags( killer );
set_user_frags( killer, kfrags + 1 );
new vfrags = get_user_frags( victim );
set_user_frags( victim, vfrags - 1 );
    
return  PLUGIN_CONTINUE
}  

stock print_chatColor(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,"\n","^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();
}
} 

public fw_PlayerKilled(victim, attacker, shouldgib)
{
if(zp_get_user_zombie_class(victim) == g_SuicideZ)
{
if(get_pcvar_num(cvar_explobody))
SetHamParamInteger(3, 2)
set_task(0.10, "remove_bartime", victim)
}
}

        
public fw_PlayerSpawn_Post(id)
{
if (!is_user_alive(id))
return;
    
set_task(0.10, "remove_bartime", id)
} 
Last edited by Zpp.Mihai94 on 08 Feb 2023, 18:48, edited 1 time in total.
RoyalServer
Zpp.Mihai94
Membru, skill 0
Membru, skill 0
Posts: 95
Joined: 05 Feb 2018, 13:03
Detinator Steam: Da
CS Status: ZMXP
Detinator server CS: ZMXP.WESTCSTRIKE.RO
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 1 time
Contact:

01 Feb 2023, 15:57

up?
Zpp.Mihai94
Membru, skill 0
Membru, skill 0
Posts: 95
Joined: 05 Feb 2018, 13:03
Detinator Steam: Da
CS Status: ZMXP
Detinator server CS: ZMXP.WESTCSTRIKE.RO
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 1 time
Contact:

08 Feb 2023, 17:18

Se pricepe cineva?
User avatar
A k c 3 n 7
Super moderator
Super moderator
Posts: 5139
Joined: 25 Aug 2014, 21:31
Detinator Steam: Da
CS Status: who dares wins
SteamID: Jandarmeria
Reputatie: Super moderator
Moderatorul anului 2023
Fost Membru Club eXtreamCS ( o luna )
Fost eXtream Mod
Fost Intermediar
Nume anterior: Sorinel
Fond eXtream: 0
Location: Unknown
Discord: remusakcent
Has thanked: 4 times
Been thanked: 46 times

10 Feb 2023, 18:57

Pai daca vrei sa i scoti abilitatea de ce ai m ai folosi clasa de zombi?
Eu pot sa ti le scot dar nu si are rostul plus ca am nevoie de

Code: Select all

#include <zombie_plague_special>
#include <zombiexp>
Zpp.Mihai94
Membru, skill 0
Membru, skill 0
Posts: 95
Joined: 05 Feb 2018, 13:03
Detinator Steam: Da
CS Status: ZMXP
Detinator server CS: ZMXP.WESTCSTRIKE.RO
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 1 time
Contact:

11 Feb 2023, 17:04

Sorinel wrote:
10 Feb 2023, 18:57
Pai daca vrei sa i scoti abilitatea de ce ai m ai folosi clasa de zombi?
Eu pot sa ti le scot dar nu si are rostul plus ca am nevoie de

Code: Select all

#include <zombie_plague_special>
#include <zombiexp>

Nu m-am facut înțelese, sau poate nu am fost eu prea explicit, el are abilitatea să omoare oamenii, eu as vrea ca in loc sa ii omoare sa poata sa ii infecteze gen cand dau "G" oamenii sa fie infectați, nu sa ii omaore, daca vroiam sa scot abilitatea o puteam scoate si eu 😅😅
Zpp.Mihai94
Membru, skill 0
Membru, skill 0
Posts: 95
Joined: 05 Feb 2018, 13:03
Detinator Steam: Da
CS Status: ZMXP
Detinator server CS: ZMXP.WESTCSTRIKE.RO
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 1 time
Contact:

17 Feb 2023, 21:22

UP, stie cineva??
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 9 guests