⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
⭐ Buraya kendi metin reklamınızı vererek binlerce kişiye ulaşın! ⭐
Sponsor Görsel 2
SponsorSponsor

Takımının Oyuncusuna Sadece Bomba Hasar Versin Ve...

takımının oyuncusuna sadece bomba hasar versin ve...
selamlar takım arkadaşımız sadece bombadan hasar alsın ve EĞER YANLIŞLIKLA TAKIM ARKADAŞINI BOMBAYLA ÖLDÜRÜRSE ROUND BOYU DONUP KALSIN yani ateş falan edemesin sadece etrafa baksın.Yazı olursa iyi olur.
RE: takımının oyuncusuna sadece bomba hasar versin ve...
PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new bool:freezed[MAX_CLIENTS+1];

new const 
tag[] = "webailesi";

public 
plugin_init() 
{
    register_plugin("BombaKillFreeze", "0.1", "KayraLynch");
    RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed_Post", .post = true);
    RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage_Pre", .post = false);
    RegisterHookChain(RG_CSGameRules_RestartRound, "CSGameRules_RestartRound_Pre", .post = false);
}

public 
CBasePlayer_Killed_Post(const pVictim, pAttacker, iGib) 
{
    if(!
is_user_connected(pAttacker) || pVictim == pAttacker) 
    {
        return;
    }
    if(
get_member(pAttacker, m_iTeam) == get_member(pVictim, m_iTeam) && get_member(pVictim, m_bKilledByGrenade)) 
    {
        client_print_color(0,0,"^1[^3%s^1] ^1%n ^4Adli Oyuncu ^1%n ^4Adli Takim Arkadasini Bombayla Oldurdugu Icin Donduruldu ^1!",tag,pAttacker,pVictim);
        new flags = get_entvar(pAttacker, var_flags);
        if(~flags & FL_FROZEN)
        {
            set_entvar(pAttacker, var_flags, flags | FL_FROZEN);
            freezed[pAttacker] = true;
        }
    }
}

public 
CBasePlayer_TakeDamage_Pre(const pVictim, pInflictor, pAttacker, Float:flDamage, bitsDamageType) 
{
    if(!is_user_connected(pAttacker) || !rg_is_player_can_takedamage(pVictim, pAttacker) || pVictim == pAttacker) 
    {
        return;
    }
    if(get_member(pAttacker, m_iTeam) == get_member(pVictim, m_iTeam) && bitsDamageType != DMG_GRENADE)
    {
        SetHookChainArg(4, ATYPE_FLOAT, 0.0);
    }
}

public 
CSGameRules_RestartRound_Pre() 
{
    for(new 
i = 1; i <= MaxClients; i++) 
    {
        new flags = get_entvar(i, var_flags);
        if(flags & FL_FROZEN)
        {
            set_entvar(i, var_flags, flags & ~FL_FROZEN);
            freezed[i] = false;
        }
    }
} 
Not : mp_friendlyfire cvarını 1 yapın.
Steam:Tıkla • Discord: lynchk
RE: takımının oyuncusuna sadece bomba hasar versin ve...
(25-07-2021, 13:21)orucoglukayra Adlı Kullanıcıdan Alıntı:
PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new bool:freezed[MAX_CLIENTS+1];

new const 
tag[] = "webailesi";

public 
plugin_init() 
{
    register_plugin("BombaKillFreeze", "0.1", "KayraLynch");
    RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed_Post", .post = true);
    RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage_Pre", .post = false);
    RegisterHookChain(RG_CSGameRules_RestartRound, "CSGameRules_RestartRound_Pre", .post = false);
}

public 
CBasePlayer_Killed_Post(const pVictim, pAttacker, iGib) 
{
    if(!
is_user_connected(pAttacker) || pVictim == pAttacker) 
    {
        return;
    }
    if(
get_member(pAttacker, m_iTeam) == get_member(pVictim, m_iTeam) && get_member(pVictim, m_bKilledByGrenade)) 
    {
        client_print_color(0,0,"^1[^3%s^1] ^1%n ^4Adli Oyuncu ^1%n ^4Adli Takim Arkadasini Bombayla Oldurdugu Icin Donduruldu ^1!",tag,pAttacker,pVictim);
        new flags = get_entvar(pAttacker, var_flags);
        if(~flags & FL_FROZEN)
        {
            set_entvar(pAttacker, var_flags, flags | FL_FROZEN);
            freezed[pAttacker] = true;
        }
    }
}

public 
CBasePlayer_TakeDamage_Pre(const pVictim, pInflictor, pAttacker, Float:flDamage, bitsDamageType) 
{
    if(!is_user_connected(pAttacker) || !rg_is_player_can_takedamage(pVictim, pAttacker) || pVictim == pAttacker) 
    {
        return;
    }
    if(get_member(pAttacker, m_iTeam) == get_member(pVictim, m_iTeam) && bitsDamageType != DMG_GRENADE)
    {
        SetHookChainArg(4, ATYPE_FLOAT, 0.0);
    }
}

public 
CSGameRules_RestartRound_Pre() 
{
    for(new 
i = 1; i <= MaxClients; i++) 
    {
        new flags = get_entvar(i, var_flags);
        if(flags & FL_FROZEN)
        {
            set_entvar(i, var_flags, flags & ~FL_FROZEN);
            freezed[i] = false;
        }
    }
} 
Not : mp_friendlyfire cvarını 1 yapın.
teşekkürler fakat silahla sıkınca altta yazı çıkıyor onu kapatabilir misiniz ve ölen takım arkadaşına şöyle sorsun "takım arkadaşın seni bilerek mi öldürdü? evet derse freezlencek hayır derse freezlenmicek yapabilir misin?
RE: takımının oyuncusuna sadece bomba hasar versin ve...
Eklentiyi 0' dan yazdım, biraz aceleyle yazdım, hatalar olabilir.
PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new const sayTag[] = "wA";

new 
bool:freezelendi[MAX_CLIENTS+1];

public 
plugin_init() 
{
    
register_plugin("BombaKillFreeze", "0.1", "suriyelikene");
    
RegisterHookChain(RG_CBasePlayer_Killed, "@PlayerKill", .post=true);
    
RegisterHookChain(RG_CSGameRules_RestartRound, "@rStart", .post=false);
}
@
rStart(){
    for(new 
iPlayer = 1; iPlayer <= MaxClients; iPlayer++) {
        if(
is_user_alive(iPlayer) && is_user_connected(iPlayer) && freezelendi[iPlayer])
        @
oyuncucoz(iPlayer);
        
freezelendi[iPlayer]=false;
    }
}
@
PlayerKill(const victim, const attacker){
    if(
victim == attacker) return;
    if(!
is_user_connected(attacker) || !is_user_connected(victim)) return;
    if(
get_user_weapon(attacker) != CSW_HEGRENADE) return;
    
    if(
get_member(attacker, m_iTeam) == get_member(victim, m_iTeam) && get_member(victim, m_bKilledByGrenade)) 
    {
        @
soru(attacker);
    }
}
@
soru(const iPlayer){
    new 
Menu = menu_create(fmt("\wTakim Arkadasini \yBombayla Bilerek Mi \rOldurdun ??"), "@soru_");
    
menu_additem(Menu,"\rEvet \wBilerek \dÖldürdüm","1");
    
menu_additem(Menu,"\yHayır \wBilerek \dÖldürmedim","2");
    
menu_setprop(Menu, MPROP_EXITNAME,"\wKapat");menu_display(iPlayer, Menu);
}
@
soru_(const iPlayer,const iMenu, const iItem) {
    if(
iItem == MENU_EXIT ) { menu_destroy(iMenu);return PLUGIN_HANDLED; }
    new 
iData[6], iL_Key;
    
menu_item_getinfo(iMenu, iItem, _, iData, charsmax(iData));
    
iL_Key = str_to_num(iData);
    switch(
iL_Key) {
        case 
1: {
            @
oyuncudondur(iPlayer);
            
freezelendi[iPlayer]=true;
            
client_print_color(0,0,"^1[^3%s^1] ^1%n ^4adli oyuncu ^4takim arkadasini bombayla oldurdugu icin donduruldu",sayTag,iPlayer);
            
client_print_color(iPlayer,iPlayer,"^1[^3%s^1]^4 Bir sonraki round freezen kalkacak",sayTag);
        }
        case 
2: {
            
client_print_color(iPlayer,iPlayer,"^1[^3%s^1] ^4Bir daha ki sefere dikkat et ^3:) ^1!",sayTag);
        }
    }
    
menu_destroy(iMenu);return PLUGIN_HANDLED;
}
@
oyuncudondur(const iPlayer){
    new 
flags=get_entvar(iPlayer, var_flags);
    if(~
flags & FL_FROZEN) {
        
set_entvar(iPlayer, var_flags, flags | FL_FROZEN);
    }
}
@
oyuncucoz(const iPlayer){
    new 
flags=get_entvar(iPlayer, var_flags);
    if(
flags & FL_FROZEN){
        
set_entvar(iPlayer, var_flags, flags & ~FL_FROZEN);
    }
} 
Oyuncu eğer menüden evet bilerek öldürdüm derse, bir sonraki rounda kadar freezeli kalacaktır.
RE: takımının oyuncusuna sadece bomba hasar versin ve...
(25-07-2021, 23:36)suriyelikene Adlı Kullanıcıdan Alıntı: Eklentiyi 0' dan yazdım, biraz aceleyle yazdım, hatalar olabilir.
PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new const sayTag[] = "wA";

new 
bool:freezelendi[MAX_CLIENTS+1];

public 
plugin_init() 
{
    
register_plugin("BombaKillFreeze", "0.1", "suriyelikene");
    
RegisterHookChain(RG_CBasePlayer_Killed, "@PlayerKill", .post=true);
    
RegisterHookChain(RG_CSGameRules_RestartRound, "@rStart", .post=false);
}
@
rStart(){
    for(new 
iPlayer = 1; iPlayer <= MaxClients; iPlayer++) {
        if(
is_user_alive(iPlayer) && is_user_connected(iPlayer) && freezelendi[iPlayer])
        @
oyuncucoz(iPlayer);
        
freezelendi[iPlayer]=false;
    }
}
@
PlayerKill(const victim, const attacker){
    if(
victim == attacker) return;
    if(!
is_user_connected(attacker) || !is_user_connected(victim)) return;
    if(
get_user_weapon(attacker) != CSW_HEGRENADE) return;
    
    if(
get_member(attacker, m_iTeam) == get_member(victim, m_iTeam) && get_member(victim, m_bKilledByGrenade)) 
    {
        @
soru(attacker);
    }
}
@
soru(const iPlayer){
    new 
Menu = menu_create(fmt("\wTakim Arkadasini \yBombayla Bilerek Mi \rOldurdun ??"), "@soru_");
    
menu_additem(Menu,"\rEvet \wBilerek \dÖldürdüm","1");
    
menu_additem(Menu,"\yHayır \wBilerek \dÖldürmedim","2");
    
menu_setprop(Menu, MPROP_EXITNAME,"\wKapat");menu_display(iPlayer, Menu);
}
@
soru_(const iPlayer,const iMenu, const iItem) {
    if(
iItem == MENU_EXIT ) { menu_destroy(iMenu);return PLUGIN_HANDLED; }
    new 
iData[6], iL_Key;
    
menu_item_getinfo(iMenu, iItem, _, iData, charsmax(iData));
    
iL_Key = str_to_num(iData);
    switch(
iL_Key) {
        case 
1: {
            @
oyuncudondur(iPlayer);
            
freezelendi[iPlayer]=true;
            
client_print_color(0,0,"^1[^3%s^1] ^1%n ^4adli oyuncu ^4takim arkadasini bombayla oldurdugu icin donduruldu",sayTag,iPlayer);
            
client_print_color(iPlayer,iPlayer,"^1[^3%s^1]^4 Bir sonraki round freezen kalkacak",sayTag);
        }
        case 
2: {
            
client_print_color(iPlayer,iPlayer,"^1[^3%s^1] ^4Bir daha ki sefere dikkat et ^3:) ^1!",sayTag);
        }
    }
    
menu_destroy(iMenu);return PLUGIN_HANDLED;
}
@
oyuncudondur(const iPlayer){
    new 
flags=get_entvar(iPlayer, var_flags);
    if(~
flags & FL_FROZEN) {
        
set_entvar(iPlayer, var_flags, flags | FL_FROZEN);
    }
}
@
oyuncucoz(const iPlayer){
    new 
flags=get_entvar(iPlayer, var_flags);
    if(
flags & FL_FROZEN){
        
set_entvar(iPlayer, var_flags, flags & ~FL_FROZEN);
    }
} 
Oyuncu eğer menüden evet bilerek öldürdüm derse, bir sonraki rounda kadar freezeli kalacaktır.
suriyelikene öldürene değil ölene soracak bunu?
RE: takımının oyuncusuna sadece bomba hasar versin ve...
(25-07-2021, 23:41)Savunucu Adlı Kullanıcıdan Alıntı:
(25-07-2021, 23:36)suriyelikene Adlı Kullanıcıdan Alıntı: Eklentiyi 0' dan yazdım, biraz aceleyle yazdım, hatalar olabilir.
PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new const sayTag[] = "wA";

new 
bool:freezelendi[MAX_CLIENTS+1];

public 
plugin_init() 
{
    
register_plugin("BombaKillFreeze", "0.1", "suriyelikene");
    
RegisterHookChain(RG_CBasePlayer_Killed, "@PlayerKill", .post=true);
    
RegisterHookChain(RG_CSGameRules_RestartRound, "@rStart", .post=false);
}
@
rStart(){
    for(new 
iPlayer = 1; iPlayer <= MaxClients; iPlayer++) {
        if(
is_user_alive(iPlayer) && is_user_connected(iPlayer) && freezelendi[iPlayer])
        @
oyuncucoz(iPlayer);
        
freezelendi[iPlayer]=false;
    }
}
@
PlayerKill(const victim, const attacker){
    if(
victim == attacker) return;
    if(!
is_user_connected(attacker) || !is_user_connected(victim)) return;
    if(
get_user_weapon(attacker) != CSW_HEGRENADE) return;
    
    if(
get_member(attacker, m_iTeam) == get_member(victim, m_iTeam) && get_member(victim, m_bKilledByGrenade)) 
    {
        @
soru(attacker);
    }
}
@
soru(const iPlayer){
    new 
Menu = menu_create(fmt("\wTakim Arkadasini \yBombayla Bilerek Mi \rOldurdun ??"), "@soru_");
    
menu_additem(Menu,"\rEvet \wBilerek \dÖldürdüm","1");
    
menu_additem(Menu,"\yHayır \wBilerek \dÖldürmedim","2");
    
menu_setprop(Menu, MPROP_EXITNAME,"\wKapat");menu_display(iPlayer, Menu);
}
@
soru_(const iPlayer,const iMenu, const iItem) {
    if(
iItem == MENU_EXIT ) { menu_destroy(iMenu);return PLUGIN_HANDLED; }
    new 
iData[6], iL_Key;
    
menu_item_getinfo(iMenu, iItem, _, iData, charsmax(iData));
    
iL_Key = str_to_num(iData);
    switch(
iL_Key) {
        case 
1: {
            @
oyuncudondur(iPlayer);
            
freezelendi[iPlayer]=true;
            
client_print_color(0,0,"^1[^3%s^1] ^1%n ^4adli oyuncu ^4takim arkadasini bombayla oldurdugu icin donduruldu",sayTag,iPlayer);
            
client_print_color(iPlayer,iPlayer,"^1[^3%s^1]^4 Bir sonraki round freezen kalkacak",sayTag);
        }
        case 
2: {
            
client_print_color(iPlayer,iPlayer,"^1[^3%s^1] ^4Bir daha ki sefere dikkat et ^3:) ^1!",sayTag);
        }
    }
    
menu_destroy(iMenu);return PLUGIN_HANDLED;
}
@
oyuncudondur(const iPlayer){
    new 
flags=get_entvar(iPlayer, var_flags);
    if(~
flags & FL_FROZEN) {
        
set_entvar(iPlayer, var_flags, flags | FL_FROZEN);
    }
}
@
oyuncucoz(const iPlayer){
    new 
flags=get_entvar(iPlayer, var_flags);
    if(
flags & FL_FROZEN){
        
set_entvar(iPlayer, var_flags, flags & ~FL_FROZEN);
    }
} 
Oyuncu eğer menüden evet bilerek öldürdüm derse, bir sonraki rounda kadar freezeli kalacaktır.
suriyelikene öldürene değil ölene soracak bunu?
böyle olması daha mantıklı olur bence ölen takım arkadaşı kendi isteğiyle evet diyebilr ve adam boşuna freeze yer
RE: takımının oyuncusuna sadece bomba hasar versin ve...
Yanlış anlamışım, şimdi bilgisiyar başından kalktım, yarın müsait olunca ilgileneceğim.
RE: takımının oyuncusuna sadece bomba hasar versin ve...
(25-07-2021, 23:43)Beast Adlı Kullanıcıdan Alıntı:
(25-07-2021, 23:41)Savunucu Adlı Kullanıcıdan Alıntı: suriyelikene öldürene değil ölene soracak bunu?
böyle olması daha mantıklı olur bence ölen takım arkadaşı kendi isteğiyle evet diyebilr ve adam boşuna freeze yer
kim kendinin freeze yemesini ister ki ?
RE: takımının oyuncusuna sadece bomba hasar versin ve...
Bende kısmı anlamadım ama yine de yapmıştım Çok güldüm
Yarın müsait olunca ilgileneceğim.
RE: takımının oyuncusuna sadece bomba hasar versin ve...
PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new bool:freezed[MAX_CLIENTS+1],killer[MAX_CLIENTS+1];

new const 
tag[] = "webailesi";

public 
plugin_init() 
{
    register_plugin("BombaKillFreeze", "0.1", "KayraLynch");
    RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed_Post", .post = true);
    RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage_Pre", .post = false);
    RegisterHookChain(RG_CSGameRules_RestartRound, "CSGameRules_RestartRound_Pre", .post = false);
}

public 
CBasePlayer_Killed_Post(const pVictim, pAttacker, iGib) 
{
    if(!is_user_connected(pAttacker) || pVictim == pAttacker) 
    {
        return;
    }
    if(get_member(pAttacker, m_iTeam) == get_member(pVictim, m_iTeam) && get_member(pVictim, m_bKilledByGrenade)) 
    {
        
killer[pVictim] = pAttacker;
        
cevapla(pVictim);
    }
}

public 
cevapla(id)
{
    new 
menu = menu_create(fmt("\y%s \d- \wTakim Arkadasin Seni Bilerek Mi Oldurdu ?", tag), "cevapla2");

    
menu_additem(menu, fmt("\y%s \d- \wEvet Bilerek Oldurdu", tag));
    
menu_additem(menu, fmt("\y%s \d- \wHayir Bilerek Oldurmedi", tag));

    
menu_setprop(menu, MPROP_EXITNAME,fmt( "\y%s \d- \wCikis", tag));
    
menu_setprop(menu,MPROP_NUMBER_COLOR,"\d");
    
menu_display(id, menu);
}

public 
cevapla2(const id, const menu, const item) {

    if(item == MENU_EXIT) 
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    switch(item) 
    {
        case 0:
        {
            new 
flags = get_entvar(killer[id], var_flags);
            if(~
flags & FL_FROZEN) 
            {
                
set_entvar(killer[id], var_flags, flags | FL_FROZEN);
                
client_print_color(0,0,"^1[^3%s^1] ^1%n ^4Adli Oyuncu Takim Arkadasini Bombayla Oldurdugu Icin Donduruldu ^1!",tag,killer[id]);
            }
        }
        case 
1:
        {
            
menu_destroy(menu);
        }
    }

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public 
CBasePlayer_TakeDamage_Pre(const pVictim, pInflictor, pAttacker, Float:flDamage, bitsDamageType) 
{
    if(!is_user_connected(pAttacker) || !rg_is_player_can_takedamage(pVictim, pAttacker) || pVictim == pAttacker) 
    {
        return;
    }
    if(get_member(pAttacker, m_iTeam) == get_member(pVictim, m_iTeam) && bitsDamageType != DMG_GRENADE)
    {
        
SetHookChainArg(4, ATYPE_FLOAT, 0.0);
    }
}

public 
CSGameRules_RestartRound_Pre() 
{
    for(new i = 1; i <= MaxClients; i++) 
    {
        new flags = get_entvar(i, var_flags);
        if(flags & FL_FROZEN)
        {
            set_entvar(i, var_flags, flags & ~FL_FROZEN);
            freezed[i] = false;
        }
    }
} 
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
Konuyu Okuyanlar: 1 Ziyaretçi