Raised This Month: $ Target: $400
 0% 

2 Issues :D plz help


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
KhaledAwesome
Member
Join Date: Jul 2013
Old 01-07-2016 , 06:55   2 Issues :D plz help
Reply With Quote #1

PHP Code:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <zombieplague>
#include <fun>

#define PLUGIN "[ZP] Class - Hunter"
#define VERSION "1.1"
#define AUTHOR "HoRRoR"


// Zombie Attributes
new const zclass_name[] = "Hunter" // name
new const zclass_info[] = "- Can run very fast" // description
new const zclass_model[] = "zombie_hunter2" // model
new const zclass_clawmodel[] = "models/zombie_plague/v_zombieknife_hunter.mdl" // claw model
const zclass_health 2000 // health
const zclass_speed 260 // speed
const Float:zclass_gravity 1.15 // gravity
const Float:zclass_knockback 2.5 // knockback

// --- config ------------------------ //
#define TRAIL_LIFE        2
#define TRAIL_WIDTH       10
#define TRAIL_RED         200
#define TRAIL_GREEN       0 
#define TRAIL_BLUE        0
#define TRAIL_BRIGTHNESS  220

new Float:g_fastspeed 1000.0 // sprint speed
new Float:g_normspeed 260.0 // norm speed. must be as zclass_speed
new Float:g_abilonecooldown 20.0 // cooldown time
new Float:g_abilonelenght 2.0 // time of sprint
new const sound_hunter_sprint[] = "zombie_plague/spells/zombie_hunter/sprint.wav" //sprint sound
// ----------------------------------- //

new i_cooldown_time[33]
new 
g_zclass_hunter
new g_speeded[33] = 0
new g_abil_one_used[33] = 0
new gTrail
new g_maxplayers

public plugin_precache()
{
    
g_zclass_hunter zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback)    
    
precache_sound(sound_hunter_sprint)
}

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("ability1""use_ability_one")
    
register_concmd("ability1""use_ability_one")
    
    
register_forwardFM_PlayerPreThink"client_prethink" )
    
register_logevent("roundStart"2"1=Round_Start")
    
    
g_maxplayers get_maxplayers()

    
gTrail engfunc(EngFunc_PrecacheModel,"sprites/smoke.spr")
}


public 
client_prethink(id)
{
    if (
zp_get_user_zombie_class(id) == g_zclass_hunter)
    {
        if(
is_user_alive(id) && zp_get_user_zombie(id) && (zp_get_user_zombie_class(id) == g_zclass_hunter) && !zp_get_user_nemesis(id))
        
Action(id);
    }
}

public 
Action(id)
{
    if (
g_speeded[id] == 1)
    {
        
set_user_maxspeed(id g_fastspeed); 
    }
    else
    {
        
set_user_maxspeed(id g_normspeed); 
    }
        return 
PLUGIN_HANDLED;


public 
roundStart()
{
    for (new 
1<= g_maxplayersi++)
    {
        
i_cooldown_time[i] = floatround(g_abilonecooldown)
        
g_abil_one_used[i] = 0
        g_speeded
[i] = 0
        remove_task
(i)
        
client_cmd(i,"cl_forwardspeed 400")
        
client_cmd(i,"cl_backspeed 400")
    }
}

public 
ShowHUD(id)
{
    if(
is_user_alive(id))
    {
        
i_cooldown_time[id] = i_cooldown_time[id] - 1;
        
set_hudmessage(20010000.750.9201.01.10.00.0, -1)
        
show_hudmessage(id"Sprint cooldown: %d",i_cooldown_time[id])
    }else{
        
remove_task(id)
    }
}

public 
use_ability_one(id)
{
    if (
is_user_alive(id) && (zp_get_user_zombie_class(id) == g_zclass_hunter) && zp_get_user_zombie(id) && !zp_get_user_nemesis(id))
    {
        
        if(
g_abil_one_used[id] == 0)
        {    
            
client_cmd(id,"cl_forwardspeed 1600")
            
client_cmd(id,"cl_backspeed 1600")
    
            
message_begin (MSG_BROADCAST,SVC_TEMPENTITY)
            
write_byte (TE_BEAMFOLLOW)
            
write_short (id)
            
write_short (gTrail)
            
write_byte (TRAIL_LIFE)
            
write_byte (TRAIL_WIDTH)
            
write_byte (TRAIL_RED)
            
write_byte (TRAIL_GREEN)
            
write_byte (TRAIL_BLUE)
            
write_byte (TRAIL_BRIGTHNESS)
            
message_end()

            
g_speeded[id] = 1
            emit_sound
(idCHAN_STREAMsound_hunter_sprint1.0ATTN_NORM0PITCH_NORM)
            
g_abil_one_used[id] = 1
            set_task
(g_abilonelenght,"set_normal_speed",id)
                        
            
i_cooldown_time[id] = floatround(g_abilonecooldown)
            
set_task(1.0"ShowHUD"id__"a",i_cooldown_time[id])
//            client_print(id,print_chat,"[dev] - use ability")
        
}        
    }
}

public 
set_normal_speed(id)
{
    if ((
zp_get_user_zombie_class(id) == g_zclass_hunter) && zp_get_user_zombie(id) && !zp_get_user_nemesis(id))
    {
        
g_speeded[id] = 0
        client_cmd
(id,"cl_forwardspeed 400")
        
client_cmd(id,"cl_backspeed 400")
        
set_task(g_abilonecooldown,"set_ability_one_cooldown",id)
//        client_print(id,print_chat,"[dev] - executed 'set normal speed' task")
    
}
}

public 
set_ability_one_cooldown(id)
{
    if ((
zp_get_user_zombie_class(id) == g_zclass_hunter) && zp_get_user_zombie(id) && !zp_get_user_nemesis(id))
    {
        
g_abil_one_used[id] = 0
        
new text[100]
        
format(text,99,"^x04[ZP]^x01 Your ability ^x04Sprint^x01 is ready.")
        
message_begin(MSG_ONE,get_user_msgid("SayText"),{0,0,0},id
        
write_byte(id
        
write_string(text
        
message_end()
    }
}

public 
zp_user_infected_post(idinfector)
{
    if ((
zp_get_user_zombie_class(id) == g_zclass_hunter) && !zp_get_user_nemesis(id))
    {
        
        new 
text[100]
        new 
note_cooldown floatround(g_abilonecooldown)
        
format(text,99,"^x04[ZP]^x01 Your ability is ^x04Sprint^x01. Cooldown:^x04 %d ^x01seconds.",note_cooldown)
        
message_begin(MSG_ONE,get_user_msgid("SayText"),{0,0,0},id
        
write_byte(id
        
write_string(text
        
message_end()
        
        
i_cooldown_time[id] = floatround(g_abilonecooldown)
        
remove_task(id)
        
g_speeded[id] = 0
        g_abil_one_used
[id] = 0
        client_cmd
(id,"bind F1 ability1")
    }
}

public 
zp_user_humanized_post(id)
{
    
remove_task(id)
    
client_cmd(id,"cl_forwardspeed 400")
    
client_cmd(id,"cl_backspeed 400")

Soooo... in this one how i activate the skill as a button? when i type ability1 in console it starts . But which button? or there is no button?

can i make it button? for example R?

PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <zombieplague>
#include <zmvip>

enum (+=1337)
{
    
TASK_AURA,
    
TASK_GLOW
}

#define ID_AURA        (taskid - TASK_AURA)
#define ID_GLOW        (taskid - TASK_GLOW)

#define CHAT_PREFIX    "[ZP]"

new const VERSION[] = "1.3"

new const RAGE_SOUND[] = "zombie_plague/zombie_rage.wav"
new const TRAIL_SPRITE[] = "sprites/laserbeam.spr"

new const zclass_name[] = "Rage Zombie"
new const zclass_info[] = " - Hot tempered"
new const zclass_model[] = "destroyer_vip"
new const zclass_clawmodel[] = "models/zombie_plague/v_m001_2.mdl"
const zclass_health 3000
const zclass_speed 150
const Float:zclass_gravity 1.0
const Float:zclass_knockback 1.0

const OFFSET_PAINSHOCK 108
const OFFSET_LINUX 5

const FloatRENDERING_DELAY 3.0

new g_zclass_rageg_trailsprite

new rgbamountradiusFloat:maxspeed

new cvar_durationcvar_cooldowncvar_rgbcvar_radiuscvar_maxspeedcvar_rageaddhealthcvar_ragemultipliercvar_painshockfreecvar_trailbrightnesscvar_trailsizecvar_traillife

new bool:DmgAllowed

new Float:g_hookTime[33]

new 
g_msgSayText

new g_bitConnectedPlayersg_bitAlivePlayersg_bitIsRagePlayersg_bitInRagePlayersg_bitOMFGspamPlayers
#define MarkUserConnected(%0)   g_bitConnectedPlayers |= (1 << (%0 & 31))
#define ClearUserConnected(%0)  g_bitConnectedPlayers &= ~(1 << (%0 & 31))
#define IsUserConnected(%0)        g_bitConnectedPlayers & (1 << (%0 & 31))

#define MarkUserAlive(%0)   g_bitAlivePlayers |= (1 << (%0 & 31))
#define ClearUserAlive(%0)  g_bitAlivePlayers &= ~(1 << (%0 & 31))
#define IsUserAlive(%0)        g_bitAlivePlayers & (1 << (%0 & 31))

#define MarkUserIsRage(%0)   g_bitIsRagePlayers |= (1 << (%0 & 31))
#define ClearUserIsRage(%0)  g_bitIsRagePlayers &= ~(1 << (%0 & 31))
#define IsUserIsRage(%0)        g_bitIsRagePlayers & (1 << (%0 & 31))

#define MarkUserInRage(%0)   g_bitInRagePlayers |= (1 << (%0 & 31))
#define ClearUserInRage(%0)  g_bitInRagePlayers &= ~(1 << (%0 & 31))
#define IsUserInRage(%0)        g_bitInRagePlayers & (1 << (%0 & 31))

#define MarkUserOMFGspam(%0)   g_bitOMFGspamPlayers |= (1 << (%0 & 31))
#define ClearUserOMFGspam(%0)  g_bitOMFGspamPlayers &= ~(1 << (%0 & 31))
#define IsUserOMFGspam(%0)        g_bitOMFGspamPlayers & (1 << (%0 & 31))

public plugin_init()
{
    
register_plugin("[ZP] Zombie Class: Rage Zombie"VERSION"eXcalibur.007")
    
    
cvar_duration register_cvar("zp_rage_duration""6.0")
    
cvar_cooldown register_cvar("zp_rage_cooldown""60.0")
    
    
// RRR GGG BBB AAA - Red Green Blue Alpha
    
cvar_rgb register_cvar("zp_rage_rgb""255 0 0 16")
    
cvar_radius register_cvar("zp_rage_radius""20")
    
    
cvar_maxspeed register_cvar("zp_rage_maxspeed""260.0")
    
cvar_rageaddhealth register_cvar("zp_rage_addhealth""500")
    
cvar_ragemultiplier register_cvar("zp_rage_dmgmultiplier""2.0")
    
cvar_painshockfree register_cvar("zp_rage_painshockfree""1")
    
    
cvar_trailbrightness register_cvar("zp_rage_trailbrightness""255")
    
cvar_trailsize register_cvar("zp_rage_trailsize""5")
    
cvar_traillife register_cvar("zp_rage_traillife""2")
    
    
register_forward(FM_CmdStart"fw_CmdStart")
    
register_forward(FM_PlayerPreThink"fw_PlayerPreThink")
    
    
RegisterHam(Ham_Spawn"player""fw_PlayerSpawn_Post"1)
    
RegisterHam(Ham_Killed"player""fw_PlayerKilled_Post"1)
    
RegisterHam(Ham_TakeDamage"player""fw_PlayerTakeDamage")
    
RegisterHam(Ham_TakeDamage"player""fw_PlayerTakeDamage_Post"1)
    
    
g_msgSayText get_user_msgid("SayText")
}

public 
plugin_precache()
{
    
g_zclass_rage zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback)
    
    
precache_sound(RAGE_SOUND)
    
g_trailsprite precache_model(TRAIL_SPRITE)
}

public 
zp_user_infected_pre(id) {
    if(!(
get_user_flags(id) & ADMIN_LEVEL_H)) {
        if (
zp_get_user_next_class(id) == g_zclass_rage) {
            
zp_set_user_zombie_class(id0)
            
client_print(idprint_center"Your selected class in only for (VIP) members")
            
client_print(idprint_chat"Your selected class in only for (VIP) members. Changed to default zombie class.")
        }    
    }
}  

public 
client_putinserver(id)
{
    
MarkUserConnected(id)
}

public 
client_disconnect(id)
{
    
ClearUserConnected(id)
    
ClearUserAlive(id)
    
ClearUserIsRage(id)
    
ClearUserInRage(id)
    
ClearUserOMFGspam(id)
}

public 
fw_CmdStart(iduc_handleseed)
{
    if (
IsUserAlive(id) && IsUserIsRage(id))
    {
        if (
IsUserInRage(id) || IsUserOMFGspam(id))
            return 
FMRES_IGNORED
        
        
static buttonsbuttons get_uc(uc_handleUC_Buttons)
        
        if (
buttons IN_RELOAD)
        {
            static 
Floatcooldown
            cooldown 
get_pcvar_float(cvar_cooldown)
            
            if (
get_gametime() - g_hookTime[id] < cooldown)
            {
                
MarkUserOMFGspam(id)
                
set_task(1.0"reset_vars"id)
                
client_printcolor(id"!g%s !yYou need to wait %.f0 sec to use rage!"CHAT_PREFIXcooldown - (get_gametime() - g_hookTime[id]))
                return 
FMRES_IGNORED
            
}
            
            
g_hookTime[id] = get_gametime()
            
            
MarkUserInRage(id)
            
            
emit_sound(idCHAN_AUTORAGE_SOUNDVOL_NORMATTN_NORM0PITCH_NORM)
            
            static 
color[32], szRed[4], szGreen[4], szBlue[4], szAmount[4]
            
get_pcvar_string(cvar_rgbcolor31)
            
parse(colorszRed3szGreen3szBlue3szAmount3)
            
            
set_user_health(idget_user_health(id) + get_pcvar_num(cvar_rageaddhealth))
            
            
set_task(get_pcvar_float(cvar_duration), "stop_raging"id)
            
            
clamp(str_to_num(szRed), 0255)
            
clamp(str_to_num(szGreen), 0255)
            
clamp(str_to_num(szBlue), 0255)
            
amount str_to_num(szAmount)
            
radius get_pcvar_num(cvar_radius)
            
maxspeed get_pcvar_float(cvar_maxspeed)
            
            
set_user_rendering(idkRenderFxGlowShellrgbkRenderNormalamount)
            
            
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
            
write_byte(TE_BEAMFOLLOW)
            
write_short(id)
            
write_short(g_trailsprite)
            
write_byte(get_pcvar_num(cvar_traillife) * 10)
            
write_byte(get_pcvar_num(cvar_trailsize))
            
write_byte(r)
            
write_byte(g)
            
write_byte(b)
            
write_byte(get_pcvar_num(cvar_trailbrightness))
            
message_end()
            
            
set_task(RENDERING_DELAY"set_glow"id+TASK_GLOW__"b")
            
set_task(0.1"rage_aura"id+TASK_AURA__"b")
        }
    }
    
    return 
FMRES_IGNORED
}

public 
fw_PlayerPreThink(id)
{
    if (
IsUserAlive(id) && IsUserIsRage(id) && IsUserInRage(id))
    {
        
set_user_maxspeed(idmaxspeed)
    }
    
    return 
FMRES_IGNORED
}

public 
fw_PlayerSpawn_Post(id)
{
    if (
is_user_alive(id))
    {
        
MarkUserAlive(id)
        
ClearUserIsRage(id)
        
ClearUserInRage(id)
    }
}

public 
fw_PlayerKilled_Post(victim)
{
    
ClearUserAlive(victim)
    
ClearUserIsRage(victim)
    
ClearUserInRage(victim)
}

public 
fw_PlayerTakeDamage(victiminflictorattackerFloat:damagedamagebits)
{
    if (
DmgAllowed && IsUserAlive(attacker) && IsUserAlive(victim) && IsUserInRage(attacker))
    {
        
SetHamParamFloat(4damage get_pcvar_float(cvar_ragemultiplier))
    }
    
    return 
HAM_IGNORED
}

public 
fw_PlayerTakeDamage_Post(victiminflictorattacker)
{
    if (
victim != attacker && IsUserIsRage(victim) && IsUserInRage(victim) && IsUserAlive(victim) && get_pcvar_num(cvar_painshockfree))
    {
        
set_pdata_float(victimOFFSET_PAINSHOCK1.0OFFSET_LINUX)
    }
    
    return 
HAM_IGNORED
}

public 
zp_user_infected_post(idinfector)
{
    if (
zp_get_user_zombie_class(id) == g_zclass_rage && !zp_get_user_nemesis(id))
    {
        
client_printcolor(id"!g%s !yPress your !greload button !yto use rage"CHAT_PREFIX)
        
        
MarkUserIsRage(id)
        
ClearUserInRage(id)
    }
}

public 
zp_user_humanized_post(id)
{
    
ClearUserIsRage(id)
    
ClearUserInRage(id)
    
    if (
IsUserAlive(id))
    {
        
set_user_rendering(id)
        
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_KILLBEAM)
        
write_short(id)
        
message_end()
    }
}

public 
zp_round_started(gamemode)
{
    if (
gamemode == MODE_SWARM || gamemode == MODE_PLAGUE || gamemode == MODE_SURVIVOR)
        
DmgAllowed true
    
else
        
DmgAllowed false
}

public 
set_glow(taskid)
{
    if (
IsUserAlive(ID_GLOW) && IsUserIsRage(ID_GLOW) && IsUserInRage(ID_GLOW))
    {
        
set_user_rendering(ID_GLOWkRenderFxGlowShellrgbkRenderNormalamount)
    }
    else
    {
        
remove_task(taskid)
        return
    }
}

public 
stop_raging(id)
{
    if (
IsUserAlive(id))
    {
        
ClearUserInRage(id)
        
        
set_user_rendering(id)
        
        
client_printcolor(id"!g%s !yYour rage has worn off"CHAT_PREFIX)
        
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_KILLBEAM)
        
write_short(id)
        
message_end()
        
        
remove_task(id+TASK_GLOW)
    }
}

public 
rage_aura(taskid)
{
    if (
IsUserInRage(ID_AURA) && IsUserAlive(ID_AURA))
    {
        static 
origin[3]
        
get_user_origin(ID_AURAorigin)
        
        
// I hook the cvars before this task so they wont be called every 0.1 second. That would be awful :(
        
message_begin(MSG_PVSSVC_TEMPENTITYorigin)
        
write_byte(TE_DLIGHT)
        
write_coord(origin[0])
        
write_coord(origin[1])
        
write_coord(origin[2])
        
write_byte(radius)
        
write_byte(r)
        
write_byte(g)
        
write_byte(b)
        
write_byte(2)
        
write_byte(0)
        
message_end()
    }
    else
    {
        
remove_task(taskid)
        return
    }
}

public 
reset_vars(id)
{
    if (
IsUserConnected(id))
        
ClearUserOMFGspam(id)
}

stock client_printcolor(const id, const input[ ], any:...)
{
    new 
count 1iPlayers[32]
    
    static 
szMsg[191]
    
vformat(szMsgcharsmax(szMsg), input3)
    
    
replace_all(szMsg190"!g""^4"
    
replace_all(szMsg190"!y""^1"
    
replace_all(szMsg190"!ctr""^3"
    
// replace_all(szMsg, 190, "!w", "^0") 
    
    
if (id)
        
iPlayers[0] = id
    
else
        
get_players(iPlayerscount"ch")
    
    for (new 
0counti++)
    {
        if (
IsUserConnected(iPlayers[i]))
        {
            
message_begin(MSG_ONE_UNRELIABLEg_msgSayText_iPlayers[i])
            
write_byte(iPlayers[i])
            
write_string(szMsg)
            
message_end()
        }
    }

Can anyone add to this class [pain + knife hit + idle] <---- ill edit them as sounds just call them customsounds or something

i tried , but didnt work for me
KhaledAwesome is offline
DeMNiX
Veteran Member
Join Date: Nov 2011
Location: Russia
Old 01-07-2016 , 08:43   Re: 2 Issues :D plz help
Reply With Quote #2

Quote:
PHP Code:
register_clcmd("ability1""use_ability_one")
    
register_concmd("ability1""use_ability_one"
U can use 'drop' == key G (default)
PHP Code:
register_clcmd("drop""use_ability_one")
    
register_concmd("drop""use_ability_one"
__________________
My channel with test codes
https://www.youtube.com/user/demnix03

Zombie Riot [Scenario & bots-zombie 11.11.2023]
https://youtu.be/8ZZan-aq2sc
DeMNiX is offline
KhaledAwesome
Member
Join Date: Jul 2013
Old 01-07-2016 , 09:43   Re: 2 Issues :D plz help
Reply With Quote #3

Quote:
Originally Posted by DeMNiX View Post
U can use 'drop' == key G (default)
PHP Code:
register_clcmd("drop""use_ability_one")
    
register_concmd("drop""use_ability_one"
wooh thanks
the only thing left is the second problem

Last edited by KhaledAwesome; 01-07-2016 at 09:43.
KhaledAwesome is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 02:55.


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