Русское сообщество по скриптингу

Помогите сделать выдачу

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Помогите сделать выдачу

Сообщение Husen » 26 май 2019, 13:41

Всем привет)

Хоть убейте, не могу понять , как выдать его.
Помогите пожалуйста , чтобы я на будущее знал.
Тут просто нативов даже нету
Код: Выделить всё
/* Plugin generated by AMXX-Studio */
#include < amxmodx >
#include < fun >
#include  < engine >
//#include < zombieplague >
#include < fakemeta >
#include < hamsandwich >
#include < xs >
#define PLAYER_LINUX_XTRA_OFF        4
#define m_flNextAttack                83

#define ANIM_IDLE                0
#define ANIM_DRAW                 1
#define ANIM_STAB                4
#define ANIM_STABHIT            5
#define ANIM_STABMISS            6
#define ANIM_SLASH1                3
#define ANIM_SLASH2                3
new gmsgWeaponList
new g_has_knife[33] , g_oldweap[33] ,g_anim[33], g_primaryattack[33] , g_secondaryattack[33]  , g_hs[33] , g_block[33] , g_dmg[33]
new 
cvar_dragont_dmg cvar_dragont_dmg2 cvar_dragont_dmghs cvar_dragont_dmghs2  cvar_dragont_radius cvar_dragont_radius2 cvar_dragont_bloodsize 
new spr_blood1 spr_blood2,bool:g_skin[33],bool:g_tail[33],g_effect_id[33]
new 
knife_vmodel[64] = "models/v_dragontail.mdl"
new knife_pmodel[64] = "models/p_dragontail.mdl"
new const dragon_knife_effect[] = "models/ef_dragontail.mdl"
new bool:g_canp1[33],bool:g_canp2[33],bool:g_cans[33],bool:g_canrel[33],Float:g_p1[33],Float:g_p2[33],Float:g_s[33],Float:g_rel[33]
new const 
oldknife_sounds[][] =
{
    
"weapons/knife_deploy1.wav",
    
"weapons/knife_hit1.wav",
    
"weapons/knife_hit2.wav",
    
"weapons/knife_hit3.wav",
    
"weapons/knife_hit4.wav",
    
"weapons/knife_hitwall1.wav",
    
"weapons/knife_slash1.wav",
    
"weapons/knife_slash2.wav",
    
"weapons/knife_stab.wav"
}

new const 
knife_sounds[][] =
{
    
"weapons/dragontail_draw.wav",
    
"weapons/dragontail_hit1.wav",
    
"weapons/dragontail_slash1.wav",
    
"weapons/dragontail_slash1.wav",
    
"weapons/dragontail_slash1.wav",
    
"weapons/dragontail_wall.wav",
    
"weapons/dragontail_slash1.wav"
    
"weapons/dragontail_slash1.wav",
    
"weapons/dragontail_stab_hit.wav"
}

public 
plugin_init( )
{
    
register_plugin("[ZP] Dragontail","1.0","Barney")
    
RegisterHamHam_Item_AddToPlayer"weapon_knife""fw_AddToPlayer" )
    
gmsgWeaponList get_user_msgid("WeaponList")
    
register_forward(FM_EmitSound"fw_emitsound")
    
register_forward(FM_CmdStart"fw_cmdstart")
    
register_forward(FM_UpdateClientData"fw_updateclientdata_post"1)
    
register_event("CurWeapon","ev_curweapon","be","1=1"
    
register_message(get_user_msgid("DeathMsg"), "message_deathmsg")
    
register_forward(FM_AddToFullPack"fw_WhatTheFuck_Post"1)
    
RegisterHam(Ham_Weapon_WeaponIdle,"weapon_knife","fw_knifeidleanim")
    
RegisterHam(Ham_TraceAttack,"player","fw_knifetraceattack")
    
RegisterHam(Ham_TakeDamage,"player","fw_knifetakedamage")
    
RegisterHam(Ham_Spawn"player""fw_spawnpost"1)
    
RegisterHam(Ham_Player_PreThink"player""Player_PreThink_Pre")
    
cvar_dragont_dmg register_cvar("dragont_dmg""200.0")
    
cvar_dragont_dmg2 register_cvar("dragont_dmg2""400.0")
    
cvar_dragont_dmghs register_cvar("dragont_dmghs""400.0")
    
cvar_dragont_dmghs2 register_cvar("dragont_dmghs2""1000.0")
    
cvar_dragont_radius register_cvar("bdragont_radius""70.0")
    
cvar_dragont_radius2 register_cvar("dragont_radius2""100.0")
    
cvar_dragont_bloodsize register_cvar("dragont_bloodsize""8")
}

public 
plugin_precache()
{
    
precache_model(knife_vmodel)
    
precache_model(knife_pmodel)
    
precache_model(dragon_knife_effect)
    
spr_blood1 precache_model("sprites/blood.spr")
    
spr_blood2 precache_model("sprites/bloodspray.spr")

    for(new 
0sizeof knife_soundsi++)
        
precache_sound(knife_sounds[i])
    
precache_generic"sprites/weapon_dragontail.txt" )
    
precache_generic"sprites/640hud63.spr" )
    
precache_generic"sprites/640hud7.spr" )
    
register_clcmd("weapon_dragontail""Hook_Select")
}


public 
Hook_Select(id)
{
    
engclient_cmd(id"weapon_knife")
    return 
PLUGIN_HANDLED
}

public 
Player_PreThink_Pre(id)
{
    if(
is_user_alive(id))
    {
        if(
get_gametime() - g_p1[id] > 0.1&&g_canp1[id])
        {
            
g_canp1[id]=false
            knife_attack
(id)
        }
        if(
get_gametime() - g_p2[id] > 0.5&&g_canp2[id])
        {
            
g_canp2[id]=false
            knife_attack
(id)
        }
        if(
get_gametime() - g_s[id] > 0.6&&g_cans[id])
        {
            
g_cans[id]=false
            knife_attack
(id)
        }
        if(
get_gametime() - g_rel[id] > 0.6&&g_canrel[id])
        {
            
g_canrel[id]=false
            knife_clear
(id)
        }
        
    }
}

public 
fw_AddToPlayeriEntPlayer )
{
    if( 
pev_validiEnt ) && is_user_connectedPlayer ) && g_has_knife[Player])
    {                                                 
            
Sprite(Player)
    }
    else if(!
g_has_knife[Player])
    
Sprite1(Player)





public 
fw_spawnpost(id)
{
    if(!
is_user_alive(id))
        return;
    
Sprite1(id)
    
g_has_knife[id] = 0
    g_primaryattack
[id] = g_secondaryattack[id] = 0
    remove_task
(id)
    
g_oldweap[id] = get_user_weapon(id)
    return;
}

public 
fw_knifetraceattack(idattackerFloat:dmgFloat:dir[3], ptrdmgtype)
{
    if(!
is_user_alive(attacker)  || get_user_weapon(attacker) != CSW_KNIFE || !g_has_knife[attacker])
        return 
HAM_IGNORED;

    return 
HAM_SUPERCEDE;
}

public 
fw_knifetakedamage(victiminflictorattackerFloat:damagedamage_type)
{
    if(!
is_user_alive(attacker) || get_user_weapon(attacker) != CSW_KNIFE || !g_has_knife[attacker])
        return 
HAM_IGNORED;

    if(
g_dmg[victim])
    {
        
g_dmg[victim] = 0
        
return HAM_IGNORED;
    }

    return 
HAM_SUPERCEDE;
}

public 
fw_emitsound(idchannel, const sound[])
{
    if(!
is_user_alive(id)|| get_user_weapon(id) != CSW_KNIFE  || !g_has_knife[id])
        return 
FMRES_IGNORED

    
for(new 0sizeof oldknife_soundsi++)
    {
        if(
equal(soundoldknife_sounds[i]))
        {
            if(
== 0emit_sound(idchannelknife_sounds[0], VOL_NORMATTN_NORM0PITCH_NORM// DRAW SOUND

            
return FMRES_SUPERCEDE
        
}
    }
            
    return 
FMRES_IGNORED
}

public 
Sprite(id)
{
    if( 
g_has_knifeid ] ){
    
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
    
write_string("weapon_dragontail")
    
write_byte(-1)
    
write_byte(-1)
    
write_byte(-1)
    
write_byte(-1)
    
write_byte(2)   
    
write_byte(1
    
write_byte(29)
    
write_byte(0)
    
message_end()
    }
}
public 
Sprite1(id){
    
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
    
write_string("weapon_knife")
    
write_byte(-1)
    
write_byte(-1)
    
write_byte(-1)
    
write_byte(-1)
    
write_byte(2)   
    
write_byte(1
    
write_byte(29)
    
write_byte(0)
    
message_end()
}

public 
fw_cmdstart(iduc_handleseed)
{
    if(!
is_user_alive(id) || !g_has_knife[id]  || get_user_weapon(id) != CSW_KNIFE)
            return 
FMRES_IGNORED;

    new 
Float:flNextAttack get_pdata_float(idm_flNextAttackPLAYER_LINUX_XTRA_OFF)

    if(
g_primaryattack[id] || g_secondaryattack[id])
    {
        if(
flNextAttack 0.1)
            return 
FMRES_IGNORED;

        
set_pdata_float(idm_flNextAttack0.1PLAYER_LINUX_XTRA_OFF)

        return 
FMRES_SUPERCEDE;
    }

    if((
get_uc(uc_handleUC_Buttons) & IN_ATTACK) && !g_secondaryattack[id])
    {
        if(
flNextAttack 0.1)
            return 
FMRES_IGNORED;

        
g_primaryattack[id] = 1
        g_secondaryattack
[id] = 0
        
//remove_task(id)
        //set_task(0.1,"knife_attack",id)
        //set_task(0.5,"knife_attack",id)
        
g_canp1[id] = true
        g_canp2
[id]=true
        g_p1
[id]=get_gametime()
        
g_p2[id]=get_gametime()
        
g_anim[id] = 2
        set_pdata_float
(idm_flNextAttack0.1PLAYER_LINUX_XTRA_OFF)
        
util_playweaponanimation(idANIM_SLASH2)
        return 
FMRES_IGNORED;
    }

    if((
get_uc(uc_handleUC_Buttons) & IN_ATTACK2) && !g_primaryattack[id])
    {
        if(
flNextAttack 0.1)
            return 
FMRES_IGNORED;

        
g_primaryattack[id] = 0
        g_secondaryattack
[id] = 1
        
//remove_task(id)
        //set_task(0.6,"knife_attack",id)
        
g_cans[id] = true
        g_s
[id] = get_gametime()
        
util_playweaponanimation(idANIM_STAB)
        
set_pdata_float(idm_flNextAttack0.1PLAYER_LINUX_XTRA_OFF)
        return 
FMRES_IGNORED;
    }

    return 
FMRES_IGNORED;
}



public 
fw_knifeidleanim(Weapon)
{
    new 
id get_pdata_cbase(Weapon414)

    if(!
is_user_alive(id) ||!g_has_knife[id]  || get_user_weapon(id) != CSW_KNIFE)
        return 
HAM_IGNORED;

    if(
g_primaryattack[id] || g_secondaryattack[id]) 
        return 
HAM_SUPERCEDE;

    return 
HAM_IGNORED;
}

public 
knife_effect(id)
{                                                               
    if(!
is_user_alive(id) || !is_user_connected(id)) return;
    
    static 
ent1[33];
    
ent1[id] = -1;

    while((
ent1[id] = engfunc(EngFunc_FindEntityByStringent1[id], "classname""knife_effect")))
        return;

    
g_effect_id[id] = create_entity("info_target")

    
entity_set_string(g_effect_id[id],EV_SZ_classname"knife_effect")
    
entity_set_model(g_effect_id[id], dragon_knife_effect)

    
set_pev(g_effect_id[id], pev_rendermodekRenderTransAlpha)
    
set_pev(g_effect_id[id], pev_renderamt0.0)
    
set_pev(g_effect_id[id], pev_ownerid)
    
set_pev(g_effect_id[id], pev_light_level180.0)

    
entity_set_int(g_effect_id[id], EV_INT_solidSOLID_NOT)
    
set_pev(g_effect_id[id], pev_movetypeMOVETYPE_NOCLIP)

    if(!
g_skin[id])
    {
                
set_pev(g_effect_id[id],pev_skin,1)
    }
    else if(
g_skin[id])
    {
        
set_pev(g_effect_id[id],pev_skin,0)
    }

    if(
g_anim[id] == 2)
    {
            
set_entity_anim(g_effect_id[id],2)
    }
    else if(
g_anim[id] == 1)
    {
            
set_entity_anim(g_effect_id[id],0)
    }

    
g_skin[id] = false
    g_tail
[id] = false
    g_anim
[id]--
    
set_task(0.15"remove_knife_effect"g_effect_id[id])
}

public 
fw_WhatTheFuck_Post(eseenthosthost_flagsplayerp_set)
{
    if(!(
host 33))
        return 
FMRES_IGNORED
        
    
if(ent != g_effect_id[host] || !pev_valid(ent))
        return 
FMRES_IGNORED
        
    
if(pev(entpev_owner) != host)
        return 
FMRES_IGNORED
        
    
if(!is_user_alive(host))
        return 
FMRES_IGNORED
    
if(!g_has_knife[host])
        return 
FMRES_IGNORED
    
if(get_user_weapon(host) != CSW_KNIFE)
        return 
FMRES_IGNORED
        
    
static Float:origin[3], Float:voffsets[3], Float:Angles[3]
    
    
pev(hostpev_originorigin)
    
pev(hostpev_view_ofsvoffsets)
    
pev(hostpev_anglesAngles)
    
xs_vec_add(originvoffsetsorigin)
    
    
engfunc(EngFunc_SetOriginentorigin)
    
set_es(esES_Originorigin)
    
set_es(esES_AnglesAngles)
    
// Make the sprite visible
    
set_es(esES_RenderModekRenderTransAdd)
    
set_es(esES_RenderAmt200)
        
    return 
FMRES_HANDLED
}

public 
remove_knife_effect(ent)
{
engfunc(EngFunc_RemoveEntityent"classname""knife_effect")
}

public 
fw_updateclientdata_post(PlayerSendWeaponsCD_Handle)
{
    if(!
is_user_alive(Player) || (get_user_weapon(Player) != CSW_KNIFE) || !g_has_knife[Player])
        return 
FMRES_IGNORED
    
    set_cd
(CD_HandleCD_flNextAttackhalflife_time() + 0.001 ); 

    if(
get_cd(CD_HandleCD_WeaponAnim) != ANIM_STAB && g_secondaryattack[Player]) 
    {
        
set_cd(CD_HandleCD_WeaponAnimANIM_STAB); 
        return 
FMRES_SUPERCEDE
    }

    return 
FMRES_HANDLED
}

public 
ev_curweapon(id// WORKS
{
    if(!
is_user_alive(id) )
        return 
PLUGIN_CONTINUE

    
if(read_data(2) != CSW_KNIFE)
    {
        
remove_task(id)
        
g_primaryattack[id] = g_secondaryattack[id] = 0
        g_oldweap
[id] = read_data(2)
        
        return 
PLUGIN_CONTINUE
    
}

    if(!
g_has_knife[id])
        return 
PLUGIN_CONTINUE

    update_model
(id)

    if(
g_oldweap[id] != CSW_KNIFE
    {
        
util_playweaponanimation(idANIM_DRAW
        
set_pdata_float(idm_flNextAttack1.5 PLAYER_LINUX_XTRA_OFF)
        
emit_sound(idCHAN_WEAPONknife_sounds[0], VOL_NORMATTN_NORM0PITCH_NORM)
    }

    
g_oldweap[id] = read_data(2)

    return 
PLUGIN_CONTINUE    
}

public 
message_deathmsg(msg_idmsg_destid)
{
    new 
weapon[33], attacker victim
    
    get_msg_arg_string
(4weapon 32)
    
    
attacker get_msg_arg_int(1)
    
victim get_msg_arg_int(2)
    
    if(!
is_user_alive(attacker)   || !(equal(weapon,"knife")) || get_user_weapon(attacker) != CSW_KNIFE || !g_has_knife[attacker] || attacker == victim)
        return 
PLUGIN_CONTINUE

    
if(g_block[victim]) 
    {
        
g_block[victim] = 0

        message_begin
(MSG_BROADCASTmsg_id)
        
write_byte(attacker)
        
write_byte(victim)
        
write_byte(g_hs[victim])
        
write_string("knife")
        
message_end()

        return 
PLUGIN_HANDLED;
    }

    
g_hs[victim] = 0

    
return PLUGIN_CONTINUE
}


public 
knife_clear(id)
{
    if(!
is_user_alive(id)|| !g_has_knife[id]  || get_user_weapon(id) != CSW_KNIFE)
        return;

    
g_primaryattack[id] = 0
    g_secondaryattack
[id] = 0
    util_playweaponanimation
(idANIM_IDLE)
}

public 
update_model(id)
{
    if(!
is_user_alive(id) || !g_has_knife[id] || get_user_weapon(id) != CSW_KNIFE)
            return 
PLUGIN_CONTINUE;

    
entity_set_string(idEV_SZ_viewmodelknife_vmodel)
    
entity_set_string(idEV_SZ_weaponmodelknife_pmodel)

    return 
PLUGIN_CONTINUE;    
}

public 
clear_values(id)
{
    
g_has_knife[id] = 0
    g_dmg
[id] = 0
    g_primaryattack
[id] = 0
    g_secondaryattack
[id] = 0
    g_oldweap
[id] = -3
    remove_task
(id)
}



public 
knife_attack(id)
{
    if(!
is_user_alive(id) || !g_has_knife[id]  || get_user_weapon(id) != CSW_KNIFE)
        return;
    new 
knife find_ent_by_owner ( -1"weapon_knife"id )

    new 
Float:damage Float:damagehs Float:radius
    
    
if(g_primaryattack[id]) 
    {
        
g_primaryattack[id] = 2
        
if(g_anim[id] == 1){
        
g_canrel[id] = true
        g_rel
[id] = get_gametime()
        }
        
//set_task(0.5,"knife_clear",id)
        
set_pdata_float(idm_flNextAttack0.6PLAYER_LINUX_XTRA_OFF)
        
damage get_pcvar_float(cvar_dragont_dmg)
        
damagehs get_pcvar_float(cvar_dragont_dmghs)
        
radius get_pcvar_float(cvar_dragont_radius)
    }
    if(
g_secondaryattack[id]) 
    {
        
ExecuteHam(Ham_Weapon_SecondaryAttackknife)
        
g_secondaryattack[id] = 2
        
//remove_task(id)
        //set_task(0.5,"knife_clear",id)
        
g_canrel[id] = true
        g_rel
[id] = get_gametime()
        
util_playweaponanimation(idANIM_STABHIT)
        
set_pdata_float(idm_flNextAttack0.7PLAYER_LINUX_XTRA_OFF)
        
damage get_pcvar_float(cvar_dragont_dmg2)
        
damagehs get_pcvar_float(cvar_dragont_dmghs2)
        
radius get_pcvar_float(cvar_dragont_radius2)
    }

    static 
victim 
    
new Float:origin[3],Float:originv[3],count,target,body
    pev
(idpev_origin,origin)
    
get_user_aiming(idtargetbody)

    while((
victim find_ent_in_sphere(victimoriginradius)) != 0)
    {
        if(!
is_user_connected(victim))
        {
            if(
is_valid_ent(victim))
             {
            static 
classname[33]
            
entity_get_string(victimEV_SZ_classnameclassname32)
                
            if(
equal(classname,"func_breakable"))
            {
            
Breakobject(id)
            }
            }
        
            continue;
        }

        if(!
is_user_alive(victim) || victim == id) continue;

        
g_hs[victim] = 0
        g_block
[victim] = 0
        g_dmg
[victim] = 0

        pev
(victimpev_origin,originv)    
        { 
        if(!(
player_takedamage(id,victim))) continue;
        if(
g_primaryattack[id]){
        if(
target == victim)
        {
            if(
body == 1)
            {
                if(
pev(victim,pev_health) - damagehs <= 0
                {
                    
g_hs[victim] = 1
                    g_block
[victim] = 1
                
}
                
g_dmg[victim] = 1
                ExecuteHamB
(Ham_TakeDamagevictimid id damagehs DMG_NEVERGIB DMG_BULLET)
                
g_skin[id] = true
                g_tail
[id]=true
                knife_effect
(id)
            }else{
                if(
pev(victim,pev_health) - damage <= 0g_block[victim] = 1
                g_dmg
[victim] = 1
                ExecuteHamB
(Ham_TakeDamagevictimid id damage DMG_BULLET DMG_NEVERGIB)
                
g_skin[id] = true
                g_tail
[id]=true
                knife_effect
(id)
            }
            }else{
            if(
pev(victim,pev_health) - damage <= 0g_block[victim] = 1
            g_dmg
[victim] = 1
            ExecuteHamB
(Ham_TakeDamagevictimid id damage DMG_BULLET DMG_NEVERGIB)    
            
g_skin[id] = true
            g_tail
[id]=true
            knife_effect
(id)
        }
        }
        else if(
g_secondaryattack[id]){
        if(
target == victim)
        {
            if(
body == 1)
            {
                if(
pev(victim,pev_health) - damagehs <= 0
                {
                    
g_hs[victim] = 1
                    g_block
[victim] = 1
                
}
                
g_dmg[victim] = 1
                ExecuteHamB
(Ham_TakeDamagevictimid id damagehs DMG_BULLET DMG_NEVERGIB)
            }else{
                if(
pev(victim,pev_health) - damage <= 0g_block[victim] = 1
                g_dmg
[victim] = 1
                ExecuteHamB
(Ham_TakeDamagevictimid id damage DMG_BULLET DMG_NEVERGIB)    
            }
        }else{
            if(
pev(victim,pev_health) - damage <= 0g_block[victim] = 1
            g_dmg
[victim] = 1
            ExecuteHamB
(Ham_TakeDamagevictimid id damage DMG_BULLET DMG_NEVERGIB)    
        }
        }

        
message_begin(MSG_BROADCAST,SVC_TEMPENTITY
        
write_byte(TE_BLOODSPRITE
        
engfunc(EngFunc_WriteCoordoriginv[0]) 
        
engfunc(EngFunc_WriteCoordoriginv[1]) 
        
engfunc(EngFunc_WriteCoordoriginv[2]) 
        
write_short(spr_blood1
        
write_short(spr_blood2
        
write_byte(249// color index 
        
write_byte(get_pcvar_num(cvar_dragont_bloodsize)) // size 
        
message_end() 

        
count++
    }
    }
    if(
countemit_sound(idCHAN_WEAPONknife_sounds[1], VOL_NORMATTN_NORM0PITCH_NORM// HIT SOUND
    
if(!count)
    {
        new 
aim[3],Float:aiming[3]
        
get_user_origin(idaim3)
        
        
aiming[0] = float(aim[0])
        
aiming[1] = float(aim[1])
        
aiming[2] = float(aim[2])

        new 
Float:dist get_distance_f(aimingorigin);

        if(
dist <= radius )
        {
            
emit_sound(idCHAN_WEAPONknife_sounds[5], VOL_NORMATTN_NORM0PITCH_NORM// HIT WALL SOUND
            
static entbody,iEnd[3]
            
get_user_origin(idiEnd3)
            
get_user_aiming(identbody)
            
create_sparks(iEnd)
            
g_anim[id]--
        }else{
            if(
g_primaryattack[id]){
            
emit_sound(idCHAN_WEAPONknife_sounds[2], VOL_NORMATTN_NORM0PITCH_NORM)// MISS SOUND
            
knife_effect(id)
            
g_skin[id] = false
            
}
            if(
g_secondaryattack[id]) emit_sound(idCHAN_WEAPONknife_sounds[random_num(3,4)], VOL_NORMATTN_NORM0PITCH_NORM// MISS SOUND
        
}
     }
}
stock create_sparks(iOrigin[3]) {
    
message_begin(MSG_ALLSVC_TEMPENTITY
    
write_byte(TE_SPARKS)
    
write_coord(iOrigin[0])
    
write_coord(iOrigin[1])
    
write_coord(iOrigin[2])
    
message_end()
    
message_begin(MSG_ALLSVC_TEMPENTITY
    
write_byte(TE_SPARKS)
    
write_coord(iOrigin[0] + 4)
    
write_coord(iOrigin[1] + 4)
    
write_coord(iOrigin[2] + 4)
    
message_end()
    
message_begin(MSG_ALLSVC_TEMPENTITY
    
write_byte(TE_SPARKS)
    
write_coord(iOrigin[0]-4)
    
write_coord(iOrigin[1]-4)
    
write_coord(iOrigin[2]-4)
    
message_end()
}


public 
Breakobject(id)
{
 
 new 
Float:Origin[3]
 
pev(idpev_originOrigin)
 
 new 
ent FM_NULLENT
 
while((ent find_ent_in_sphere(ent,Origin,100.0)) != 0)
 { 
  if(
ent!=id&&pev(ent,pev_takedamage)!=DAMAGE_NO)
  {
   
   
ExecuteHamBHam_TakeDamageent ,id ,0100.0DMG_BLAST )
   
  }
 }
}

public 
player_takedamage(idvictim)
{
    new 
Float:origin[3], Float:origin2[3],Float:originv[3] , Float:angles[3],Float:v_forward[3],Float:v_forward2[3];
    
pev(id,pev_anglesangles)
    
pev(idpev_origin origin)
    
pev(idpev_origin origin2)
    
pev(victim,pev_origin,originv)

    if(!(
get_can_see(origin,originv))) return 0;
    
    
angles[0] = 0.0
    engfunc
(EngFunc_MakeVectorsangles);

    
global_get(glb_v_forwardv_forward);
    
global_get(glb_v_forwardv_forward2);

    if(
g_primaryattack[id])
    {
        
xs_vec_mul_scalar(v_forwardget_pcvar_float(cvar_dragont_radius), v_forward);
        
xs_vec_mul_scalar(v_forward2, -get_pcvar_float(cvar_dragont_radius), v_forward2);
    }
    if(
g_secondaryattack[id])
    {
        
xs_vec_mul_scalar(v_forwardget_pcvar_float(cvar_dragont_radius2), v_forward);
        
xs_vec_mul_scalar(v_forward2, -get_pcvar_float(cvar_dragont_radius2), v_forward2);
    }

    
xs_vec_add(originv_forwardorigin);
    
xs_vec_add(origin2v_forward2origin2);

    new 
result
    
if(get_distance_f(originv,origin) <= get_distance_f(originv,origin2)) result 1
    
if(get_distance_f(originv,origin) > get_distance_f(originv,origin2)) result 0
    
    
return result;
}

stock get_can_see(Float:ent_origin[3], Float:target_origin[3])
{
    new 
Float:hit_origin[3]
    
trace_line(-1ent_origintarget_originhit_origin)                        

    if (!
vector_distance(hit_origintarget_origin)) return 1;

    return 
0;
}

stock util_playweaponanimation(const Player, const Sequence)
{
    
set_pev(Playerpev_weaponanimSequence)
    
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM, .player Player)
    
write_byte(Sequence)
    
write_byte(pev(Playerpev_body))
    
message_end()
}

stock set_entity_anim(entanim)
{
    
entity_set_float(entEV_FL_animtimeget_gametime())
    
entity_set_float(entEV_FL_framerate1.0)
    
entity_set_int(entEV_INT_sequenceanim)    
}

stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speedFloat:new_velocity[3])
{
    
new_velocity[0] = origin2[0] - origin1[0]
    
new_velocity[1] = origin2[1] - origin1[1]
    
new_velocity[2] = origin2[2] - origin1[2]
    new 
Float:num floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
    
new_velocity[0] *= num
    new_velocity
[1] *= num
    new_velocity
[2] *= num
       
    
return 1;
}

public 
client_disconnect(idclear_values(id)
public 
client_connect(idclear_values(id)
public 
zp_user_infected_post(idclear_values(id)

 
Аватара пользователя
Husen
 
Сообщения: 20
Зарегистрирован: 08 май 2019, 19:02
Благодарил (а): 11 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю

Re: Помогите сделать выдачу

Сообщение артист666 » 27 май 2019, 05:56

Где ты откапываешь такое г?

Попробуй так:
Код: Выделить всё
g_has_knife[id] = true
give_item
(id"weapon_knife"
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: Помогите сделать выдачу

Сообщение Vaqtincha » 27 май 2019, 10:43

артист666, со временем я начал понять что быдлокодинг это искусство.
админгандонсоси
Аватара пользователя
Vaqtincha
 
Сообщения: 277
Зарегистрирован: 28 мар 2018, 15:05
Забанен
Благодарил (а): 8 раз.
Поблагодарили: 53 раз.


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9