⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
🇹🇷 TR Lokasyon | 🛡️ Gelişmiş DDoS Koruması | ⚡ Düşük Ping | 🎧 Kesintisiz TS3 | Hostlar
Sponsor Görsel 2
SponsorSponsor

Konu

#1
Ses dosyaları smadaki gibi doğru yerinde ama oyunda hook sesi falan gelmiyor acaba neyden kaynaklı?
.smahgrp.sma(Dosya Boyutu: 16,98 KB | İndirme Sayısı: 10)
Discord : mejaxx Steam : mejaxbey
#2
"sound/sonmezreis.wav", // hook sesi
"sound/birakinlanbeni.wav",// grab sesi
Sesleri sounda yüklemişsin ama smada sound klasörüne yazmamışsın
#3
https://www.webailesi.com/ds-hgrp-13629.sma
Sound klasörüne.wav lari atınız
platin sarılara ücretsiz destek 
#4
(19-11-2024, 20:21)EmirCW Adlı Kullanıcıdan Alıntı: https://www.webailesi.com/ds-hgrp-13629.sma
Sound klasörüne.wav lari atınız
yok aga doğru yerinde ama hiçbir şekilde sesi gelmiyor bendemi sıkıntı var anlamadım
Discord : mejaxx Steam : mejaxbey
#5
Sound isimlerine dikkat ederek yükle
platin sarılara ücretsiz destek 
#6
(19-11-2024, 05:52)mejaxamaa Adlı Kullanıcıdan Alıntı: Ses dosyaları smadaki gibi doğru yerinde ama oyunda hook sesi falan gelmiyor acaba neyden kaynaklı?

PHP Kod:
new const sesdosyalari[][] = {
    
"weapons/sonmezreis.wav",         // hook sesi
    
"weapons/birakinlanbeni.wav",        // grab sesi
    
"weapons/xbow_hit2.wav",        // rope sesi
    
"weapons/power1.wav"        // power1 sesi
}; 
Dosya yollarında sorun yok doğru, seslerin panelde sound/weapons/sonmezreis.wav gibi yüklendiğinden emin olun.
Yine de çalmıyorsa ses dosyası sıkıntılıdır.Oyunda sesin çalışırlığını kontrol etmek için konsola spk sound/weapons/sonmezreis.wav yazabilirsin.Ses çalıyorsa seste sorun yoktur.

(19-11-2024, 17:09)Jiletzzz Adlı Kullanıcıdan Alıntı: "sound/sonmezreis.wav", // hook sesi
"sound/birakinlanbeni.wav", // grab sesi
Sesleri sounda yüklemişsin ama smada sound klasörüne yazmamışsın

precache_sound kodu otomatik olarak başa sound ekliyor, bu şekilde tanımlarsanız sound/sound/xxx.wav gibi algılar.
Steam:Tıkla • Discord: lynchk
#7
(19-11-2024, 22:15)Lynchk Adlı Kullanıcıdan Alıntı:
(19-11-2024, 05:52)mejaxamaa Adlı Kullanıcıdan Alıntı: Ses dosyaları smadaki gibi doğru yerinde ama oyunda hook sesi falan gelmiyor acaba neyden kaynaklı?

PHP Kod:
new const sesdosyalari[][] = {
    
"weapons/sonmezreis.wav",         // hook sesi
    
"weapons/birakinlanbeni.wav",        // grab sesi
    
"weapons/xbow_hit2.wav",        // rope sesi
    
"weapons/power1.wav"        // power1 sesi
}; 
Dosya yollarında sorun yok doğru, seslerin panelde sound/weapons/sonmezreis.wav gibi yüklendiğinden emin olun.
Yine de çalmıyorsa ses dosyası sıkıntılıdır.Oyunda sesin çalışırlığını kontrol etmek için konsola spk sound/weapons/sonmezreis.wav yazabilirsin.Ses çalıyorsa seste sorun yoktur.

(19-11-2024, 17:09)Jiletzzz Adlı Kullanıcıdan Alıntı: "sound/sonmezreis.wav", // hook sesi
"sound/birakinlanbeni.wav", // grab sesi
Sesleri sounda yüklemişsin ama smada sound klasörüne yazmamışsın

precache_sound kodu otomatik olarak başa sound ekliyor, bu şekilde tanımlarsanız sound/sound/xxx.wav gibi algılar.
dosya yolu kısmını weapons/sonmezreis.wav seklinde yaptım ve  spk sound/weapons/sonmezreis.wav da yaptım ses çalıyor ama hook basarken ses çıkmıyor neden anlamıyorum
Discord : mejaxx Steam : mejaxbey
#8
(19-11-2024, 22:35)mejaxamaa Adlı Kullanıcıdan Alıntı: dosya yolu kısmını weapons/sonmezreis.wav seklinde yaptım ve  spk sound/weapons/sonmezreis.wav da yaptım ses çalıyor ama hook basarken ses çıkmıyor neden anlamıyorum
  • Oyunun dosya konumunda eskiden kalmış aynı isimle çalışan bir ses olabilir, paneldeki çalışmayan ses olabilir.Bunun çözümü için bulduğunuz sesi farklı bir isimle tekrar yükleyin, sunucuya girerken yeni ses insin ve kontrol edin.
  • Eklentideki rh_emit_sound2 kodu hatalı olabilir.Normal emit sound olarak aşağıya bırakıyorum.Sesin çalıştığından emin olduğunuzda bunu deneyebilirsiniz;

PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <xs>
#include <reapi>

#define PLUGIN_NAME        "HGRP"
#define PLUGIN_VERS        "1.2"
#define PLUGIN_AUTH        "PurposeLess"

//************************ Burayi Kendinize Gore Ayarlayin ************************/

/* Eger adminlerin kullanmasini istiyorsaniz burada kullanacak adminin yetkisini ayarlayin. */
#define HOOK_YETKI        ADMIN_CVAR
#define GRAB_YETKI        ADMIN_CVAR
#define ROPE_YETKI        ADMIN_CVAR
#define POWER1_YETKI        ADMIN_CVAR

/* Eger dokunulmazlarin grablanmasini istiyorsaniz #define DONT_GRAB_IMMUNITY onune // isaretini koyunuz. */
#define DONT_GRAB_IMMUNITY

/* Eger hook rengini rengarenk istiyorsaniz #define RENKLI_HOOK onundeki // isaretini silin. */
//#define RENKLI_HOOK

/* Eger Hook-Grab-Rope sesi istemiyorsaniz #define HOOKGRABROPEPOWER1_SOUNDS onune // isaretini koyun. */
#define HOOKGRABROPEPOWER1_SOUNDS

/* Burada sadece ses dosyalarinin ismini degistirin. */
#if defined HOOKGRABROPEPOWER1_SOUNDS
new const sesdosyalari[][] = {
    
"weapons/sonmezreis.wav",         // hook sesi
    
"weapons/birakinlanbeni.wav",        // grab sesi
    
"weapons/xbow_hit2.wav",        // rope sesi
    
"weapons/power1.wav"        // power1 sesi
};
#endif

//*********************************************************************************/

enum (+= 1000)
{
    
TASKID_HOOK 1000,
    
TASKID_GRAB,
    
TASKID_ROPE,
    
TASKID_POWER1
};

new 
bool:hook[MAX_CLIENTS 1], grab[MAX_CLIENTS 1], bool:rope[MAX_CLIENTS 1], bool:power1[MAX_CLIENTS 1],
Float:power1_location[MAX_CLIENTS 1][3], Float:power1_length[MAX_CLIENTS 1], Float:power1_created[MAX_CLIENTS 1],
Float:hook_to[MAX_CLIENTS 1][3], Float:rope_to[MAX_CLIENTS 1][3],
Float:grab_totaldis[MAX_CLIENTS 1], Float:rope_totaldis[MAX_CLIENTS 1],
Float:hook_speedFloat:grab_speedFloat:rope_speedFloat:power1_speed,
hook_usagegrab_usagerope_usagepower1_usage,
Float:power1_moveaccbool:power1_hookstylesv_gravity,
dotzbeam4;

public 
plugin_init() {
    
register_plugin(PLUGIN_NAMEPLUGIN_VERSPLUGIN_AUTH);

    
register_clcmd("+hook""@hook_on");
    
register_clcmd("+grab""@grab_on");
    
register_clcmd("+rope""@rope_on");
    
register_clcmd("+power1""@power1_on");

    
register_clcmd("-hook""@hook_off");
    
register_clcmd("-grab""@grab_off");
    
register_clcmd("-rope""@rope_off");
    
register_clcmd("-power1""@power1_off");

    
bind_pcvar_float(create_cvar("hook_speed""8"__true0.0true20.0), hook_speed);
    
bind_pcvar_float(create_cvar("grab_speed""8"__true0.0true20.0), grab_speed);
    
bind_pcvar_float(create_cvar("rope_speed""8"__true0.0true20.0), rope_speed);
    
bind_pcvar_float(create_cvar("power1_speed""400"__true0.0true800.0), power1_speed);

    
bind_pcvar_num(create_cvar("hook_usage""1"__true0.0true9.0), hook_usage);
    
bind_pcvar_num(create_cvar("grab_usage""1"__true0.0true9.0), grab_usage);
    
bind_pcvar_num(create_cvar("rope_usage""1"__true0.0true9.0), rope_usage);
    
bind_pcvar_num(create_cvar("power1_usage""1"__true0.0true9.0), power1_usage);

    
bind_pcvar_num(create_cvar("power1_hookstyle""1"__true0.0true1.0), power1_hookstyle);
    
bind_pcvar_num(create_cvar("power1_moveacc""140"__true0.0), power1_moveacc);

    
sv_gravity get_cvar_pointer("sv_gravity");

    
RegisterHookChain(RG_CBasePlayer_Spawn"@CBasePlayer_Spawn", .post=false);
}

public 
plugin_precache()
{
    
dot precache_model("sprites/dot.spr");
    
zbeam4 precache_model("sprites/zbeam4.spr");
#if defined HOOKGRABROPEPOWER1_SOUNDS
    
for(new i=0sizeof(sesdosyalari); i++)
    {
        
precache_sound(sesdosyalari[i]);
    }
#endif
}

@
CBasePlayer_Spawn(const id)
{
    
hook[id] = false
    
grab[id] = false;
    
rope[id] = false;
    
power1[id] = false;
}

@
hook_on(const id)
{
    if(!
is_continue(idhook_usageHOOK_YETKI) || hook[id])
    {
        return 
PLUGIN_HANDLED;
    }

    
set_entvar(idvar_gravity0.0);
    
set_task(0.1"@hook_prethink"id TASKID_HOOK, .flags "b");
    
hook[id] = true;
    
hook_to[id][0] = 999999.0;
    @
hook_prethink(id TASKID_HOOK);
#if defined HOOKGRABROPEPOWER1_SOUNDS
    
emit_sound(0CHAN_AUTOsesdosyalari[0], VOL_NORMATTN_NORM0PITCH_NORM);
#endif
    
return PLUGIN_HANDLED;
}

@
hook_off(const id)
{
    if(!
hook[id])
    {
        return 
PLUGIN_HANDLED;
    }

    if(
is_user_alive(id))
    {
        
set_entvar(idvar_gravity1.0);
    }
    
hook[id] = false;
    return 
PLUGIN_HANDLED;
}

@
hook_prethink(TaskId)
{
    new 
id TaskId TASKID_HOOK;

    if(!
is_continue(idhook_usageHOOK_YETKI))
    {
        
hook[id] = false;
    }

    if(!
hook[id])
    {
        
remove_task(id TASKID_HOOK);
        return;
    }

    if(
hook_to[id][0] == 999999)
    {
        static 
origin2[3], Float:origin2_f[3];
        
get_user_origin(idorigin23);

        
xs_vec_set_float(origin2origin2_f);
        
xs_vec_copy(origin2_fhook_to[id]);
    }

    
#if defined RENKLI_HOOK
    
static rgb[3];
    
choose_random(rgb);
    
create_message(idhook_to[id], rgb[0], rgb[1], rgb[2], true);
    
#else
    
create_message(idhook_to[id], 00255true);
    
#endif

    
static Float:origin1_f[3];
    
get_entvar(idvar_originorigin1_f);

    static 
Float:velocity[3];
    
xs_vec_sub_scaled_fix(hook_to[id], origin1_f3.0velocity);

    static 
Float:y;
    
velocity[0] * velocity[0] + velocity[1] * velocity[1] + velocity[2] * velocity[2];

    static 
Float:x;
    
= (hook_speed 120.0)/ floatsqroot(y);
    
xs_vec_mul_scalar(velocityxvelocity);

    
set_entvar(idvar_velocityvelocity);
}

#if defined RENKLI_HOOK
choose_random(rgb[3])
{
    
rgb[0] = random(255);
    
rgb[1] = random(255);
    
rgb[2] = random(255);

    if(
rgb[0] < 50 && rgb[1] < 50 && rgb[2] < 50)
    {
        
rgb[random(2)] = random_num(150,255);
    }
}
#endif

@grab_on(const id)
{
    if(!
is_continue(idgrab_usageGRAB_YETKI) || grab[id])
    {
        return 
PLUGIN_HANDLED;
    }

    new 
Uid;
    
get_user_aiming(idUid);

    if(
is_user_alive(Uid))
    {
        
#if defined DONT_GRAB_IMMUNITY
        
if(get_user_flags(Uid) & ADMIN_IMMUNITY)
        {
            return 
PLUGIN_HANDLED;
        }
        
#endif

        
@grabem(idUid);
    }
    return 
PLUGIN_HANDLED;
}

@
grabem(const id, const Uid)
{
    
grab[id] = Uid;
    
set_entvar(Uidvar_gravity0.0);
    
rg_set_user_rendering(UidkRenderFxGlowShell, {255.0,0.0,0.0}, kRenderTransAlpha70.0);
    
grab_totaldis[id] = 0.0;
    
set_task(0.1"@grab_prethink"id+TASKID_GRAB, .flags "b");
    @
grab_prethink(id+TASKID_GRAB);
#if defined HOOKGRABROPEPOWER1_SOUNDS
    
emit_sound(0CHAN_VOICEsesdosyalari[1], 1.0ATTN_NORM0PITCH_NORM);
#endif
}

@
grab_off(const id)
{
    if(
grab[id])
    {
        if(
is_user_alive(grab[id]))
        {
            
rg_set_user_rendering(grab[id], kRenderFxNone, {255.0,255.0,255.0}, kRenderNormal16.0);
            
set_entvar(grab[id], var_gravity1.0);
        }
        
grab[id] = 0;
    }
    return 
PLUGIN_HANDLED;
}

@
grab_prethink(TaskId)
{
    new 
id TaskId TASKID_GRAB;

    if(!
is_continue(idgrab_usageGRAB_YETKI))
    {
        if(
is_user_alive(grab[id]))
        {
            
rg_set_user_rendering(grab[id], kRenderFxNone, {255.0,255.0,255.0}, kRenderNormal16.0);
            
set_entvar(grab[id], var_gravity1.0);
        }
        
grab[id] = 0;
    }

    if(!
grab[id])
    {
        
remove_task(id TASKID_GRAB);
        return;
    }

    static 
Float:origin2_f[3];
    
get_entvar(grab[id], var_originorigin2_f);

    
create_message(idorigin2_f25500);

    static 
Float:origin1_f[3], Float:distance[3];
    
get_entvar(idvar_originorigin1_f);

    if(!
grab_totaldis[id])
    {
        
xs_vec_set_floatabs(origin1_forigin2_fdistance);
        
grab_totaldis[id] = xs_vec_dot_sqroot(distance);
    }

    static 
origin3[3], Float:origin3_f[3];
    
get_user_origin(idorigin33);
    
xs_vec_set_float(origin3origin3_f);

    
xs_vec_sub(origin3_forigin1_fdistance);

    static 
Float:grab_totaldis2;
    
grab_totaldis2 xs_vec_dot_sqroot(distance);

    static 
Float:que;
    
que grab_totaldis[id] / grab_totaldis2;

    static 
Float:origin4[3];
    
origin4[0] = (distance[0] * que) + origin1_f[0];
    
origin4[1] = (distance[1] * que) + origin1_f[1];
    
origin4[2] = (distance[2] * que) + origin1_f[2];

    static 
Float:velocity[3];
    
velocity[0] = (origin4[0] - origin2_f[0]) * (grab_speed 1.666667);
    
velocity[1] = (origin4[1] - origin2_f[1]) * (grab_speed 1.666667);
    
velocity[2] = (origin4[2] - origin2_f[2]) * (grab_speed 1.666667);

    
set_entvar(grab[id], var_velocityvelocity);
}

@
rope_on(const id)
{
    if(!
is_continue(idrope_usageROPE_YETKI) || rope[id])
    {
        return 
PLUGIN_HANDLED;
    }

    
set_task(0.1,"@rope_prethink",id TASKID_ROPE, .flags "b");
    
rope[id] = true;
    
rope_to[id][0] = 999999.0;
    @
rope_prethink(id TASKID_ROPE);
#if defined HOOKGRABROPEPOWER1_SOUNDS
    
emit_sound(0CHAN_VOICEsesdosyalari[2], 1.0ATTN_NORM0PITCH_NORM);
#endif
    
return PLUGIN_HANDLED;
}

@
rope_off(const id)
{
    if(!
rope[id])
    {
        return 
PLUGIN_HANDLED;
    }

    
rope[id] = false;
    return 
PLUGIN_HANDLED;
}

@
rope_prethink(TaskId)
{
    new 
id TaskId TASKID_ROPE;

    if(!
is_continue(idrope_usageROPE_YETKI))
    {
        
rope[id] = false;
    }

    if(!
rope[id])
    {
        
remove_task(id TASKID_ROPE);
        return;
    }

    static 
Float:origin1[3];
    
get_entvar(idvar_originorigin1);

    if(
rope_to[id][0]== 999999.0)
    {
        static 
origin2[3];
        
get_user_origin(id,origin2,3);

        
xs_vec_set_float(origin2rope_to[id]);

        static 
Float:distance[3];
        
xs_vec_set_floatabs(origin1rope_to[id], distance);
        
rope_totaldis[id] = xs_vec_dot_sqroot(distance);
    }

    
create_message(idrope_to[id], 02550);

    static 
Float:velocity[3];
    
get_entvar(idvar_velocityvelocity);

    static 
Float:velocity2[3];
    
velocity2[0] = (rope_to[id][0] - origin1[0]) * 3.0;
    
velocity2[1] = (rope_to[id][1] - origin1[1]) * 3.0;

    static 
Float:y;
    
velocity2[0] * velocity2[0] + velocity2[1] * velocity2[1];

    static 
Float:x;
    
= (rope_speed 20.0) / floatsqroot(y);

    
velocity[0] += velocity2[0] * x;
    
velocity[1] += velocity2[1] * x;

    if(
rope_to[id][2] - origin1[2] >= rope_totaldis[id] && velocity[2] < 0.0)
    {
        
velocity[2] *= -1;
    }

    
set_entvar(idvar_velocityvelocity);
}

@
power1_on(const id)
{
    if(!
is_continue(idpower1_usagePOWER1_YETKI) || power1[id])
    {
        return 
PLUGIN_HANDLED;
    }

    new 
Float:origin[3], location[3];
    
get_entvar(idvar_originorigin);
    
get_user_origin(idlocation3);
    
xs_vec_set_float(locationpower1_location[id]);
    
power1_length[id] = get_distance_f(power1_location[id], origin);

    
set_entvar(idvar_gravity0.001);
    
power1[id] = true;
    
beamentpoint(id);
    
set_task(0.1"@power1_prethink"id TASKID_POWER1, .flags "b");
#if defined HOOKGRABROPEPOWER1_SOUNDS
    
emit_sound(0CHAN_STATICsesdosyalari[3], 1.0ATTN_NORM0PITCH_NORM);
#endif
    
return PLUGIN_HANDLED;
}

@
power1_off(const id)
{
    if(!
power1[id])
    {
        return 
PLUGIN_HANDLED;
    }

    if(
is_user_alive(id))
    {
        
set_entvar(idvar_gravity1.0);
        
killbeam(id);
        
remove_task(id TASKID_POWER1);
    }
    
power1[id] = false;

    return 
PLUGIN_HANDLED;
}

@
power1_prethink(TaskId)
{
    new 
id TaskId TASKID_POWER1;

    if(!
is_continue(idpower1_usagePOWER1_YETKI))
    {
        
power1[id] = false;
    }

    if(!
power1[id])
    {
        
remove_task(id TASKID_POWER1);
        return;
    }

    if(
power1_created[id] + 100/10 <= get_gametime())
    {
        
beamentpoint(id);
    }

    static 
Float:origin[3], Float:velocity[3], Float:user_direction[3], Float:move_direction[3],
    
Float:vTowards_AFloat:DvTowards_AFloat:accelerationFloat:aDistanceFloat:A[3], Float:D[3],
    
Float:buttonadjust[3], Float:null[3], origin2[3], buttonpress;
    
get_entvar(idvar_originorigin);
    
get_entvar(idvar_velocityvelocity);
    
get_user_origin(idorigin2charsmax(origin2));

    
buttonpress get_entvar(idvar_button);

    switch(
buttonpress)
    {
        case 
IN_FORWARD:    buttonadjust[0]++;
        case 
IN_BACK:        buttonadjust[0]--;
        case 
IN_MOVERIGHT:    buttonadjust[1]++;
        case 
IN_MOVELEFT:    buttonadjust[1]--;
        case 
IN_JUMP:        buttonadjust[2]++;
        case 
IN_DUCK:        buttonadjust[2]--;
    }

    if(
buttonadjust[0] || buttonadjust[1])
    {
        
user_direction[0] = origin2[0] - origin[0];
        
user_direction[1] = origin2[1] - origin[1];

        
move_direction[0] = buttonadjust[0] * user_direction[0] + user_direction[1] * buttonadjust[1];
        
move_direction[1] = buttonadjust[0] * user_direction[1] - user_direction[0] * buttonadjust[1];
        
move_direction[2] = 0.0;

        
velocity[0] += move_direction[0] * power1_moveacc 0.1 get_distance_f(nullmove_direction);
        
velocity[1] += move_direction[1] * power1_moveacc 0.1 get_distance_f(nullmove_direction);
    }

    if(
buttonadjust[2] < || (buttonadjust[2] && power1_length[id] >= 60))
    {
        
power1_length[id] -= buttonadjust[2] * power1_speed 0.1;
    }
    else if (
power1_hookstyle && !(buttonpress&IN_DUCK) && power1_length[id] >= 200)
    {
        
buttonadjust[2]++;
        
power1_length[id] -= buttonadjust[2] * power1_speed 0.1;
    }

    
arrayset(buttonadjust0sizeof buttonadjust);

    
xs_vec_sub(power1_location[id], originA);

    
D[0] = A[0] * A[2] / get_distance_f(nullA);
    
D[1] = A[1] * A[2] / get_distance_f(nullA);
    
D[2] = -(A[1] * A[1] + A[0] * A[0]) / get_distance_f(nullA);

    
aDistance get_distance_f(null,D) ? get_distance_f(null,D) : 1.0;
    
acceleration = (-get_pcvar_num(sv_gravity)) * D[2] / aDistance;

    
vTowards_A = (velocity[0] * A[0] + velocity[1] * A[1] + velocity[2] * A[2]) / get_distance_f(nullA);
    
DvTowards_A = (get_distance_f(originpower1_location[id]) - power1_length[id]) * 4;

    if(
get_distance_f(null,D) > 10)
    {
        
velocity[0] += (acceleration 0.1 D[0]) / get_distance_f(nullD);
        
velocity[1] += (acceleration 0.1 D[1]) / get_distance_f(nullD);
        
velocity[2] += (acceleration 0.1 D[2]) / get_distance_f(nullD);
    }

    
velocity[0] += ((DvTowards_A vTowards_A) * A[0]) / get_distance_f(nullA);
    
velocity[1] += ((DvTowards_A vTowards_A) * A[1]) / get_distance_f(nullA);
    
velocity[2] += ((DvTowards_A vTowards_A) * A[2]) / get_distance_f(nullA);

    
set_entvar(idvar_velocityvelocity);
}

rg_set_user_rendering(const id, const fx, const {Float,_}:color[3], const render, const Float:amount)
{
    
set_entvar(idvar_renderfxfx);
    
set_entvar(idvar_rendercolorcolor);
    
set_entvar(idvar_rendermoderender);
    
set_entvar(idvar_renderamtamount);
}

bool:is_continue(const id, const usage, const flag)
{
    if(!
is_user_alive(id))
    {
        return 
false;
    }

    switch(
usage)
    {
        case 
1: {
            return 
bool:(get_member(idm_iTeam) == TEAM_CT);
        }
        case 
2: {
            return 
bool:(get_member(idm_iTeam) == TEAM_CT && get_entvar(idvar_takedamage) == DAMAGE_NO);
        }
        case 
3: {
            return 
bool:((get_member(idm_iTeam) == TEAM_CT || get_user_flags(id) & flag));
        }
        case 
4: {
            return 
bool:((get_member(idm_iTeam) == TEAM_CT && get_entvar(idvar_takedamage) == DAMAGE_NO) || get_user_flags(id) & flag);
        }
        case 
5: {
            return 
bool:(get_member(idm_iTeam) == TEAM_CT && get_user_flags(id) & flag);
        }
        case 
6: {
            return 
bool:(get_member(idm_iTeam) == TEAM_CT && get_entvar(idvar_takedamage) == DAMAGE_NO && get_user_flags(id) & flag);
        }
        case 
7: {
            return 
bool:(get_entvar(idvar_takedamage) == DAMAGE_NO);
        }
        case 
8: {
            return 
bool:(get_user_flags(id) & flag);
        }
        case 
9: {
            return 
true;
        }
    }
    return 
false;
}

xs_vec_set_float(const in[], Float:out[])
{
    
out[0] = float(in[0]);
    
out[1] = float(in[1]);
    
out[2] = float(in[2]);
}

xs_vec_set_floatabs(const Float:in1[], const Float:in2[], Float:out[])
{
    
out[0] = floatabs(in1[0] - in2[0]);
    
out[1] = floatabs(in1[1] - in2[1]);
    
out[2] = floatabs(in1[2] - in2[2]);
}

xs_vec_sub_scaled_fix(const Float:in1[], const Float:in2[], Float:scalarFloat:out[])
{
    
out[0] = (in1[0] - in2[0]) * scalar;
    
out[1] = (in1[1] - in2[1]) * scalar;
    
out[2] = (in1[2] - in2[2]) * scalar;
}

Float:xs_vec_dot_sqroot(const Float:vec[])
{
    return 
floatsqroot(vec[0] * vec[0] + vec[1] * vec[1] + vec[2] * vec[2]);
}

create_message(const id, const Float:coord[3], const R, const G, const Bbool:hook false)
{
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(1);
    
write_short(id);
    
write_coord_f(coord[0]);
    
write_coord_f(coord[1]);
    
write_coord_f(coord[2]);
    
write_short(dot);
    
write_byte(1);
    
write_byte(1);
    
write_byte(hook 1);
    
write_byte(5);
    
write_byte(0);
    
write_byte(R);
    
write_byte(G);
    
write_byte(B);
    
write_byte(200);
    
write_byte(0);
    
message_end();
}

beamentpoint(const id)
{
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_BEAMENTPOINT);
    
write_short(id);
    
write_coord_f(power1_location[id][0]);
    
write_coord_f(power1_location[id][1]);
    
write_coord_f(power1_location[id][2]);
    
write_short(zbeam4);
    
write_byte(0);
    
write_byte(0);
    
write_byte(100);
    
write_byte(10);
    
write_byte(0);
    
write_byte(255);
    
write_byte(255);
    
write_byte(255);
    
write_byte(150);
    
write_byte(0);
    
message_end();

    
power1_created[id] = get_gametime();
}

killbeam(id)
{
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_KILLBEAM);
    
write_short(id);
    
message_end();
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/ 
Steam:Tıkla • Discord: lynchk
#9
(19-11-2024, 23:46)Lynchk Adlı Kullanıcıdan Alıntı:
(19-11-2024, 22:35)mejaxamaa Adlı Kullanıcıdan Alıntı: dosya yolu kısmını weapons/sonmezreis.wav seklinde yaptım ve  spk sound/weapons/sonmezreis.wav da yaptım ses çalıyor ama hook basarken ses çıkmıyor neden anlamıyorum
  • Oyunun dosya konumunda eskiden kalmış aynı isimle çalışan bir ses olabilir, paneldeki çalışmayan ses olabilir.Bunun çözümü için bulduğunuz sesi farklı bir isimle tekrar yükleyin, sunucuya girerken yeni ses insin ve kontrol edin.
  • Eklentideki rh_emit_sound2 kodu hatalı olabilir.Normal emit sound olarak aşağıya bırakıyorum.Sesin çalıştığından emin olduğunuzda bunu deneyebilirsiniz;
kral eyvallah olduda sesler yankılanıyo yani 1 kere hook basarken ard arda 3-4 aynı sesten geliyor onu nasıl düzeltiriz?
Discord : mejaxx Steam : mejaxbey
#10
(20-11-2024, 00:06)mejaxamaa Adlı Kullanıcıdan Alıntı: kral eyvallah olduda sesler yankılanıyo yani 1 kere hook basarken ard arda 3-4 aynı sesten geliyor onu nasıl düzeltiriz?
Deneyin;
PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <xs>
#include <reapi>

#define PLUGIN_NAME        "HGRP"
#define PLUGIN_VERS        "1.2"
#define PLUGIN_AUTH        "PurposeLess"

//************************ Burayi Kendinize Gore Ayarlayin ************************/

/* Eger adminlerin kullanmasini istiyorsaniz burada kullanacak adminin yetkisini ayarlayin. */
#define HOOK_YETKI        ADMIN_CVAR
#define GRAB_YETKI        ADMIN_CVAR
#define ROPE_YETKI        ADMIN_CVAR
#define POWER1_YETKI        ADMIN_CVAR

/* Eger dokunulmazlarin grablanmasini istiyorsaniz #define DONT_GRAB_IMMUNITY onune // isaretini koyunuz. */
#define DONT_GRAB_IMMUNITY

/* Eger hook rengini rengarenk istiyorsaniz #define RENKLI_HOOK onundeki // isaretini silin. */
//#define RENKLI_HOOK

/* Eger Hook-Grab-Rope sesi istemiyorsaniz #define HOOKGRABROPEPOWER1_SOUNDS onune // isaretini koyun. */
#define HOOKGRABROPEPOWER1_SOUNDS

/* Burada sadece ses dosyalarinin ismini degistirin. */
#if defined HOOKGRABROPEPOWER1_SOUNDS
new const sesdosyalari[][] = {
    
"weapons/sonmezreis.wav",         // hook sesi
    
"weapons/birakinlanbeni.wav",        // grab sesi
    
"weapons/xbow_hit2.wav",        // rope sesi
    
"weapons/power1.wav"        // power1 sesi
};
#endif

//*********************************************************************************/

enum (+= 1000)
{
    
TASKID_HOOK 1000,
    
TASKID_GRAB,
    
TASKID_ROPE,
    
TASKID_POWER1
};

new 
bool:hook[MAX_CLIENTS 1], grab[MAX_CLIENTS 1], bool:rope[MAX_CLIENTS 1], bool:power1[MAX_CLIENTS 1],
Float:power1_location[MAX_CLIENTS 1][3], Float:power1_length[MAX_CLIENTS 1], Float:power1_created[MAX_CLIENTS 1],
Float:hook_to[MAX_CLIENTS 1][3], Float:rope_to[MAX_CLIENTS 1][3],
Float:grab_totaldis[MAX_CLIENTS 1], Float:rope_totaldis[MAX_CLIENTS 1],
Float:hook_speedFloat:grab_speedFloat:rope_speedFloat:power1_speed,
hook_usagegrab_usagerope_usagepower1_usage,
Float:power1_moveaccbool:power1_hookstylesv_gravity,
dotzbeam4;

public 
plugin_init() {
    
register_plugin(PLUGIN_NAMEPLUGIN_VERSPLUGIN_AUTH);

    
register_clcmd("+hook""@hook_on");
    
register_clcmd("+grab""@grab_on");
    
register_clcmd("+rope""@rope_on");
    
register_clcmd("+power1""@power1_on");

    
register_clcmd("-hook""@hook_off");
    
register_clcmd("-grab""@grab_off");
    
register_clcmd("-rope""@rope_off");
    
register_clcmd("-power1""@power1_off");

    
bind_pcvar_float(create_cvar("hook_speed""8"__true0.0true20.0), hook_speed);
    
bind_pcvar_float(create_cvar("grab_speed""8"__true0.0true20.0), grab_speed);
    
bind_pcvar_float(create_cvar("rope_speed""8"__true0.0true20.0), rope_speed);
    
bind_pcvar_float(create_cvar("power1_speed""400"__true0.0true800.0), power1_speed);

    
bind_pcvar_num(create_cvar("hook_usage""1"__true0.0true9.0), hook_usage);
    
bind_pcvar_num(create_cvar("grab_usage""1"__true0.0true9.0), grab_usage);
    
bind_pcvar_num(create_cvar("rope_usage""1"__true0.0true9.0), rope_usage);
    
bind_pcvar_num(create_cvar("power1_usage""1"__true0.0true9.0), power1_usage);

    
bind_pcvar_num(create_cvar("power1_hookstyle""1"__true0.0true1.0), power1_hookstyle);
    
bind_pcvar_num(create_cvar("power1_moveacc""140"__true0.0), power1_moveacc);

    
sv_gravity get_cvar_pointer("sv_gravity");

    
RegisterHookChain(RG_CBasePlayer_Spawn"@CBasePlayer_Spawn", .post=false);
}

public 
plugin_precache()
{
    
dot precache_model("sprites/dot.spr");
    
zbeam4 precache_model("sprites/zbeam4.spr");
#if defined HOOKGRABROPEPOWER1_SOUNDS
    
for(new i=0sizeof(sesdosyalari); i++)
    {
        
precache_sound(sesdosyalari[i]);
    }
#endif
}

@
CBasePlayer_Spawn(const id)
{
    
hook[id] = false
    
grab[id] = false;
    
rope[id] = false;
    
power1[id] = false;
}

@
hook_on(const id)
{
    if(!
is_continue(idhook_usageHOOK_YETKI) || hook[id])
    {
        return 
PLUGIN_HANDLED;
    }

    
set_entvar(idvar_gravity0.0);
    
set_task(0.1"@hook_prethink"id TASKID_HOOK, .flags "b");
    
hook[id] = true;
    
hook_to[id][0] = 999999.0;
    @
hook_prethink(id TASKID_HOOK);
#if defined HOOKGRABROPEPOWER1_SOUNDS
    
emit_sound(0CHAN_AUTOsesdosyalari[0], VOL_NORMATTN_NORM0PITCH_NORM);
#endif
    
return PLUGIN_HANDLED;
}

@
hook_off(const id)
{
    if(!
hook[id])
    {
        return 
PLUGIN_HANDLED;
    }

    if(
is_user_alive(id))
    {
        
set_entvar(idvar_gravity1.0);
    }
    
hook[id] = false;
    return 
PLUGIN_HANDLED;
}

@
hook_prethink(TaskId)
{
    new 
id TaskId TASKID_HOOK;

    if(!
is_continue(idhook_usageHOOK_YETKI))
    {
        
hook[id] = false;
    }

    if(!
hook[id])
    {
        
remove_task(id TASKID_HOOK);
        return;
    }

    if(
hook_to[id][0] == 999999)
    {
        static 
origin2[3], Float:origin2_f[3];
        
get_user_origin(idorigin23);

        
xs_vec_set_float(origin2origin2_f);
        
xs_vec_copy(origin2_fhook_to[id]);
    }

    
#if defined RENKLI_HOOK
    
static rgb[3];
    
choose_random(rgb);
    
create_message(idhook_to[id], rgb[0], rgb[1], rgb[2], true);
    
#else
    
create_message(idhook_to[id], 00255true);
    
#endif

    
static Float:origin1_f[3];
    
get_entvar(idvar_originorigin1_f);

    static 
Float:velocity[3];
    
xs_vec_sub_scaled_fix(hook_to[id], origin1_f3.0velocity);

    static 
Float:y;
    
velocity[0] * velocity[0] + velocity[1] * velocity[1] + velocity[2] * velocity[2];

    static 
Float:x;
    
= (hook_speed 120.0)/ floatsqroot(y);
    
xs_vec_mul_scalar(velocityxvelocity);

    
set_entvar(idvar_velocityvelocity);
}

#if defined RENKLI_HOOK
choose_random(rgb[3])
{
    
rgb[0] = random(255);
    
rgb[1] = random(255);
    
rgb[2] = random(255);

    if(
rgb[0] < 50 && rgb[1] < 50 && rgb[2] < 50)
    {
        
rgb[random(2)] = random_num(150,255);
    }
}
#endif

@grab_on(const id)
{
    if(!
is_continue(idgrab_usageGRAB_YETKI) || grab[id])
    {
        return 
PLUGIN_HANDLED;
    }

    new 
Uid;
    
get_user_aiming(idUid);

    if(
is_user_alive(Uid))
    {
        
#if defined DONT_GRAB_IMMUNITY
        
if(get_user_flags(Uid) & ADMIN_IMMUNITY)
        {
            return 
PLUGIN_HANDLED;
        }
        
#endif

        
@grabem(idUid);
    }
    return 
PLUGIN_HANDLED;
}

@
grabem(const id, const Uid)
{
    
grab[id] = Uid;
    
set_entvar(Uidvar_gravity0.0);
    
rg_set_user_rendering(UidkRenderFxGlowShell, {255.0,0.0,0.0}, kRenderTransAlpha70.0);
    
grab_totaldis[id] = 0.0;
    
set_task(0.1"@grab_prethink"id+TASKID_GRAB, .flags "b");
    @
grab_prethink(id+TASKID_GRAB);
#if defined HOOKGRABROPEPOWER1_SOUNDS
    
emit_sound(0CHAN_AUTOsesdosyalari[1], VOL_NORMATTN_NORM0PITCH_NORM);
#endif
}

@
grab_off(const id)
{
    if(
grab[id])
    {
        if(
is_user_alive(grab[id]))
        {
            
rg_set_user_rendering(grab[id], kRenderFxNone, {255.0,255.0,255.0}, kRenderNormal16.0);
            
set_entvar(grab[id], var_gravity1.0);
        }
        
grab[id] = 0;
    }
    return 
PLUGIN_HANDLED;
}

@
grab_prethink(TaskId)
{
    new 
id TaskId TASKID_GRAB;

    if(!
is_continue(idgrab_usageGRAB_YETKI))
    {
        if(
is_user_alive(grab[id]))
        {
            
rg_set_user_rendering(grab[id], kRenderFxNone, {255.0,255.0,255.0}, kRenderNormal16.0);
            
set_entvar(grab[id], var_gravity1.0);
        }
        
grab[id] = 0;
    }

    if(!
grab[id])
    {
        
remove_task(id TASKID_GRAB);
        return;
    }

    static 
Float:origin2_f[3];
    
get_entvar(grab[id], var_originorigin2_f);

    
create_message(idorigin2_f25500);

    static 
Float:origin1_f[3], Float:distance[3];
    
get_entvar(idvar_originorigin1_f);

    if(!
grab_totaldis[id])
    {
        
xs_vec_set_floatabs(origin1_forigin2_fdistance);
        
grab_totaldis[id] = xs_vec_dot_sqroot(distance);
    }

    static 
origin3[3], Float:origin3_f[3];
    
get_user_origin(idorigin33);
    
xs_vec_set_float(origin3origin3_f);

    
xs_vec_sub(origin3_forigin1_fdistance);

    static 
Float:grab_totaldis2;
    
grab_totaldis2 xs_vec_dot_sqroot(distance);

    static 
Float:que;
    
que grab_totaldis[id] / grab_totaldis2;

    static 
Float:origin4[3];
    
origin4[0] = (distance[0] * que) + origin1_f[0];
    
origin4[1] = (distance[1] * que) + origin1_f[1];
    
origin4[2] = (distance[2] * que) + origin1_f[2];

    static 
Float:velocity[3];
    
velocity[0] = (origin4[0] - origin2_f[0]) * (grab_speed 1.666667);
    
velocity[1] = (origin4[1] - origin2_f[1]) * (grab_speed 1.666667);
    
velocity[2] = (origin4[2] - origin2_f[2]) * (grab_speed 1.666667);

    
set_entvar(grab[id], var_velocityvelocity);
}

@
rope_on(const id)
{
    if(!
is_continue(idrope_usageROPE_YETKI) || rope[id])
    {
        return 
PLUGIN_HANDLED;
    }

    
set_task(0.1,"@rope_prethink",id TASKID_ROPE, .flags "b");
    
rope[id] = true;
    
rope_to[id][0] = 999999.0;
    @
rope_prethink(id TASKID_ROPE);
#if defined HOOKGRABROPEPOWER1_SOUNDS
    
emit_sound(0CHAN_AUTOsesdosyalari[2], VOL_NORMATTN_NORM0PITCH_NORM);
#endif
    
return PLUGIN_HANDLED;
}

@
rope_off(const id)
{
    if(!
rope[id])
    {
        return 
PLUGIN_HANDLED;
    }

    
rope[id] = false;
    return 
PLUGIN_HANDLED;
}

@
rope_prethink(TaskId)
{
    new 
id TaskId TASKID_ROPE;

    if(!
is_continue(idrope_usageROPE_YETKI))
    {
        
rope[id] = false;
    }

    if(!
rope[id])
    {
        
remove_task(id TASKID_ROPE);
        return;
    }

    static 
Float:origin1[3];
    
get_entvar(idvar_originorigin1);

    if(
rope_to[id][0]== 999999.0)
    {
        static 
origin2[3];
        
get_user_origin(id,origin2,3);

        
xs_vec_set_float(origin2rope_to[id]);

        static 
Float:distance[3];
        
xs_vec_set_floatabs(origin1rope_to[id], distance);
        
rope_totaldis[id] = xs_vec_dot_sqroot(distance);
    }

    
create_message(idrope_to[id], 02550);

    static 
Float:velocity[3];
    
get_entvar(idvar_velocityvelocity);

    static 
Float:velocity2[3];
    
velocity2[0] = (rope_to[id][0] - origin1[0]) * 3.0;
    
velocity2[1] = (rope_to[id][1] - origin1[1]) * 3.0;

    static 
Float:y;
    
velocity2[0] * velocity2[0] + velocity2[1] * velocity2[1];

    static 
Float:x;
    
= (rope_speed 20.0) / floatsqroot(y);

    
velocity[0] += velocity2[0] * x;
    
velocity[1] += velocity2[1] * x;

    if(
rope_to[id][2] - origin1[2] >= rope_totaldis[id] && velocity[2] < 0.0)
    {
        
velocity[2] *= -1;
    }

    
set_entvar(idvar_velocityvelocity);
}

@
power1_on(const id)
{
    if(!
is_continue(idpower1_usagePOWER1_YETKI) || power1[id])
    {
        return 
PLUGIN_HANDLED;
    }

    new 
Float:origin[3], location[3];
    
get_entvar(idvar_originorigin);
    
get_user_origin(idlocation3);
    
xs_vec_set_float(locationpower1_location[id]);
    
power1_length[id] = get_distance_f(power1_location[id], origin);

    
set_entvar(idvar_gravity0.001);
    
power1[id] = true;
    
beamentpoint(id);
    
set_task(0.1"@power1_prethink"id TASKID_POWER1, .flags "b");
#if defined HOOKGRABROPEPOWER1_SOUNDS
    
emit_sound(0CHAN_AUTOsesdosyalari[3], VOL_NORMATTN_NORM0PITCH_NORM);
#endif
    
return PLUGIN_HANDLED;
}

@
power1_off(const id)
{
    if(!
power1[id])
    {
        return 
PLUGIN_HANDLED;
    }

    if(
is_user_alive(id))
    {
        
set_entvar(idvar_gravity1.0);
        
killbeam(id);
        
remove_task(id TASKID_POWER1);
    }
    
power1[id] = false;

    return 
PLUGIN_HANDLED;
}

@
power1_prethink(TaskId)
{
    new 
id TaskId TASKID_POWER1;

    if(!
is_continue(idpower1_usagePOWER1_YETKI))
    {
        
power1[id] = false;
    }

    if(!
power1[id])
    {
        
remove_task(id TASKID_POWER1);
        return;
    }

    if(
power1_created[id] + 100/10 <= get_gametime())
    {
        
beamentpoint(id);
    }

    static 
Float:origin[3], Float:velocity[3], Float:user_direction[3], Float:move_direction[3],
    
Float:vTowards_AFloat:DvTowards_AFloat:accelerationFloat:aDistanceFloat:A[3], Float:D[3],
    
Float:buttonadjust[3], Float:null[3], origin2[3], buttonpress;
    
get_entvar(idvar_originorigin);
    
get_entvar(idvar_velocityvelocity);
    
get_user_origin(idorigin2charsmax(origin2));

    
buttonpress get_entvar(idvar_button);

    switch(
buttonpress)
    {
        case 
IN_FORWARD:    buttonadjust[0]++;
        case 
IN_BACK:        buttonadjust[0]--;
        case 
IN_MOVERIGHT:    buttonadjust[1]++;
        case 
IN_MOVELEFT:    buttonadjust[1]--;
        case 
IN_JUMP:        buttonadjust[2]++;
        case 
IN_DUCK:        buttonadjust[2]--;
    }

    if(
buttonadjust[0] || buttonadjust[1])
    {
        
user_direction[0] = origin2[0] - origin[0];
        
user_direction[1] = origin2[1] - origin[1];

        
move_direction[0] = buttonadjust[0] * user_direction[0] + user_direction[1] * buttonadjust[1];
        
move_direction[1] = buttonadjust[0] * user_direction[1] - user_direction[0] * buttonadjust[1];
        
move_direction[2] = 0.0;

        
velocity[0] += move_direction[0] * power1_moveacc 0.1 get_distance_f(nullmove_direction);
        
velocity[1] += move_direction[1] * power1_moveacc 0.1 get_distance_f(nullmove_direction);
    }

    if(
buttonadjust[2] < || (buttonadjust[2] && power1_length[id] >= 60))
    {
        
power1_length[id] -= buttonadjust[2] * power1_speed 0.1;
    }
    else if (
power1_hookstyle && !(buttonpress&IN_DUCK) && power1_length[id] >= 200)
    {
        
buttonadjust[2]++;
        
power1_length[id] -= buttonadjust[2] * power1_speed 0.1;
    }

    
arrayset(buttonadjust0sizeof buttonadjust);

    
xs_vec_sub(power1_location[id], originA);

    
D[0] = A[0] * A[2] / get_distance_f(nullA);
    
D[1] = A[1] * A[2] / get_distance_f(nullA);
    
D[2] = -(A[1] * A[1] + A[0] * A[0]) / get_distance_f(nullA);

    
aDistance get_distance_f(null,D) ? get_distance_f(null,D) : 1.0;
    
acceleration = (-get_pcvar_num(sv_gravity)) * D[2] / aDistance;

    
vTowards_A = (velocity[0] * A[0] + velocity[1] * A[1] + velocity[2] * A[2]) / get_distance_f(nullA);
    
DvTowards_A = (get_distance_f(originpower1_location[id]) - power1_length[id]) * 4;

    if(
get_distance_f(null,D) > 10)
    {
        
velocity[0] += (acceleration 0.1 D[0]) / get_distance_f(nullD);
        
velocity[1] += (acceleration 0.1 D[1]) / get_distance_f(nullD);
        
velocity[2] += (acceleration 0.1 D[2]) / get_distance_f(nullD);
    }

    
velocity[0] += ((DvTowards_A vTowards_A) * A[0]) / get_distance_f(nullA);
    
velocity[1] += ((DvTowards_A vTowards_A) * A[1]) / get_distance_f(nullA);
    
velocity[2] += ((DvTowards_A vTowards_A) * A[2]) / get_distance_f(nullA);

    
set_entvar(idvar_velocityvelocity);
}

rg_set_user_rendering(const id, const fx, const {Float,_}:color[3], const render, const Float:amount)
{
    
set_entvar(idvar_renderfxfx);
    
set_entvar(idvar_rendercolorcolor);
    
set_entvar(idvar_rendermoderender);
    
set_entvar(idvar_renderamtamount);
}

bool:is_continue(const id, const usage, const flag)
{
    if(!
is_user_alive(id))
    {
        return 
false;
    }

    switch(
usage)
    {
        case 
1: {
            return 
bool:(get_member(idm_iTeam) == TEAM_CT);
        }
        case 
2: {
            return 
bool:(get_member(idm_iTeam) == TEAM_CT && get_entvar(idvar_takedamage) == DAMAGE_NO);
        }
        case 
3: {
            return 
bool:((get_member(idm_iTeam) == TEAM_CT || get_user_flags(id) & flag));
        }
        case 
4: {
            return 
bool:((get_member(idm_iTeam) == TEAM_CT && get_entvar(idvar_takedamage) == DAMAGE_NO) || get_user_flags(id) & flag);
        }
        case 
5: {
            return 
bool:(get_member(idm_iTeam) == TEAM_CT && get_user_flags(id) & flag);
        }
        case 
6: {
            return 
bool:(get_member(idm_iTeam) == TEAM_CT && get_entvar(idvar_takedamage) == DAMAGE_NO && get_user_flags(id) & flag);
        }
        case 
7: {
            return 
bool:(get_entvar(idvar_takedamage) == DAMAGE_NO);
        }
        case 
8: {
            return 
bool:(get_user_flags(id) & flag);
        }
        case 
9: {
            return 
true;
        }
    }
    return 
false;
}

xs_vec_set_float(const in[], Float:out[])
{
    
out[0] = float(in[0]);
    
out[1] = float(in[1]);
    
out[2] = float(in[2]);
}

xs_vec_set_floatabs(const Float:in1[], const Float:in2[], Float:out[])
{
    
out[0] = floatabs(in1[0] - in2[0]);
    
out[1] = floatabs(in1[1] - in2[1]);
    
out[2] = floatabs(in1[2] - in2[2]);
}

xs_vec_sub_scaled_fix(const Float:in1[], const Float:in2[], Float:scalarFloat:out[])
{
    
out[0] = (in1[0] - in2[0]) * scalar;
    
out[1] = (in1[1] - in2[1]) * scalar;
    
out[2] = (in1[2] - in2[2]) * scalar;
}

Float:xs_vec_dot_sqroot(const Float:vec[])
{
    return 
floatsqroot(vec[0] * vec[0] + vec[1] * vec[1] + vec[2] * vec[2]);
}

create_message(const id, const Float:coord[3], const R, const G, const Bbool:hook false)
{
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(1);
    
write_short(id);
    
write_coord_f(coord[0]);
    
write_coord_f(coord[1]);
    
write_coord_f(coord[2]);
    
write_short(dot);
    
write_byte(1);
    
write_byte(1);
    
write_byte(hook 1);
    
write_byte(5);
    
write_byte(0);
    
write_byte(R);
    
write_byte(G);
    
write_byte(B);
    
write_byte(200);
    
write_byte(0);
    
message_end();
}

beamentpoint(const id)
{
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_BEAMENTPOINT);
    
write_short(id);
    
write_coord_f(power1_location[id][0]);
    
write_coord_f(power1_location[id][1]);
    
write_coord_f(power1_location[id][2]);
    
write_short(zbeam4);
    
write_byte(0);
    
write_byte(0);
    
write_byte(100);
    
write_byte(10);
    
write_byte(0);
    
write_byte(255);
    
write_byte(255);
    
write_byte(255);
    
write_byte(150);
    
write_byte(0);
    
message_end();

    
power1_created[id] = get_gametime();
}

killbeam(id)
{
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_KILLBEAM);
    
write_short(id);
    
message_end();
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/ 
Steam:Tıkla • Discord: lynchk

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task