⭐🚀 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

Admin'lere Özel Spectaor TEST 2

Konu

#1
Merabalar 
kolay gelsin  Web Ailesi;

yukarda KONU da belirtildiği üzere  biten bir eklentin ; TEST'i için deneyimlemeden çalışmadığı hususu
kontrol için yardımcı olursanız sevinirim.

Adminler spece geçtiğinde görülmesin sadece.  Oyuncu lardan SS alındığında onlarda görünmüyorlar. 
Sadece Admin lere özel olabilmesi gerekior..

ekte eklenti..
.smainvisible_spectator.sma(Dosya Boyutu: 4,36 KB | İndirme Sayısı: 3)
GEBZEPRO ®       CS1 .GEBZEPRO. NET       WWW.GEBZEPRO.NET              
Son Düzenleme: 01-12-2024, 18:14, Düzenleyen: emperor.
#2
Dener misin ?
PHP Kod:
#include <amxmodx>                                                              
#include <reapi>

#pragma semicolon 1

///Burayi kendinize gore ayarlayaniz
#define ACCESS_LEVEL_INVISIBLE    (ADMIN_LEVEL_E) // Amx_Spectate komutunu kullanma yetkisi

/*(Kapatmak icin basina // isaretini koyup pasiflestirin | Acmak icin isaretleri kaldirin) */
#define LOCK_SAY // Spec takiminin say ve say_team kullanma yasagi 
#define AUTO_INVISIBLE_SPECTATOR  // Spec takiminin otomatik gorunmez olmasi
///Burayi kendinize gore ayarlayaniz

new HookChain:g_hSV_WriteFullClientUpdate;
new 
bool:g_bPlayerInVisible[33];

/// === CSDURAGI.COM ===
// Bu Eklenti PurposeLess tarafindan ReHLDS Team kodlari kullanilarak yeniden, en iyi sekilde kodlanmistir ve Turkce'ye ceviri yapilmistir. 
//Eklenti kodlarini editleyip veya editlemeden baska forumlarda ben yaptim diye sunan arkadaslara hakkimi helal etmiyorum. Izinsiz hicbir forumda paylasmayiniz.
/// === CSDURAGI.COM ===

public plugin_init() {
    register_plugin("Invisible Spectator""1.0""ReHLDS Team");

    #if defined LOCK_SAY
    register_clcmd("say""clcmd_say");
    register_clcmd("say_team""clcmd_say");
    #endif

    #if defined AUTO_INVISIBLE_SPECTATOR
    register_event("TeamInfo""Event_TeamInfo""a""2=TERRORIST""2=CT""2=SPECTATOR");
    #else
    register_event("TeamInfo""Event_TeamInfo""a""2=TERRORIST""2=CT");
    register_clcmd("amx_spectate""ClCmd_Spectate"ACCESS_LEVEL_INVISIBLE);
    #endif

    DisableHookChain((g_hSV_WriteFullClientUpdate RegisterHookChain(RH_SV_WriteFullClientUpdate"SV_WriteFullClientUpdate")));
}

public 
SV_WriteFullClientUpdate(const idbuffer, const receiver)
{
    if(g_bPlayerInVisible[id])
    {
        set_key_value(buffer"""");
    }
}

public 
client_putinserver(id)
{
    g_bPlayerInVisible[id] = false;
}

#if defined LOCK_SAY
public clcmd_say(id)
{
    if (g_bPlayerInVisible[id])
    {
        client_print_color(idid"^4SEN ^3gizli bir izleyicisin. ^4Konusmaman ^3GEREK^1!");
        return PLUGIN_HANDLED;
    }
    
    
return PLUGIN_CONTINUE;
}
#endif


#if !defined AUTO_INVISIBLE_SPECTATOR
public ClCmd_Spectate(idlevelcid)
{
    if(!(get_user_flags(id) & level))
    {
        return PLUGIN_HANDLED;
    }

    if (get_member(idm_iTeam) != TEAM_SPECTATOR)
    {
        client_print_color(idid"^4Gorunmez olabilmen icin ^3once izleyici ^4olmalisin^1.");
        return PLUGIN_HANDLED;
    }

    g_bPlayerInVisible[id] ^= true;
    client_print_color(idid"^3SEN ^4suan ^3%s^1."g_bPlayerInVisible[id] ? "Gorunmezsin":"Gorunmez Degilsin");

    if (!TryDisableHookChain())
    {
        EnableHookChain(g_hSV_WriteFullClientUpdate);
    }

    rh_update_user_info(id);
    return PLUGIN_HANDLED;
}
#endif

stock bool:TryDisableHookChain()
{
    new nCount;
    for(new id 1id <= MAX_CLIENTSid++)
    {
        if(is_user_bot(id) || !is_user_connected(id))
        {
            continue;
        }
        if(g_bPlayerInVisible[id])
        {
            ++nCount;
        }
    }

    if (nCount <= 0)
    {
        DisableHookChain(g_hSV_WriteFullClientUpdate);
        return true;
    }

    return false;
}

public 
client_disconnected(id)
{
    if (g_bPlayerInVisible[id])
    {
        g_bPlayerInVisible[id] = false;
        TryDisableHookChain();
    }
}

//Endif komutu yuzunden { isareti kapanmiyor. Kapattiginiz takdirde hata veriyor
//Birakalim boyle kalsin.
public Event_TeamInfo()
{
    new id read_data(1);

    if(~get_user_flags(id) & ADMIN_RESERVATION) {
        return;
    }

    #if defined AUTO_INVISIBLE_SPECTATOR
    new bool:bState g_bPlayerInVisible[id];

    new szTeamName[2];
    read_data(2szTeamNamecharsmax(szTeamName));

    switch (szTeamName[0])
    {
        case 'C''T''S': {
            g_bPlayerInVisible[id] = false;
        }
    }

    if (g_bPlayerInVisible[id] != bState)
    {
        if (!TryDisableHookChain())
        {
            EnableHookChain(g_hSV_WriteFullClientUpdate);
        }
        #else
        if (g_bPlayerInVisible[id])
        {
            g_bPlayerInVisible[id] = false;
            #endif
            rh_update_user_info(id);
        }
    }
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1254\\ deff0\\ deflang1055{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/ 
Steam:Tıkla • Discord: lynchk
#3
MALESEF KOPYALA YAPIŞTIRDIM REMAP YAPTIM YOK BEN BİLE GEÇİYORUM GİZLİSİN BİLE DEMİYO VE GÖRÜNÜYORUM GÖRÜNÜYORLAR..
GEBZEPRO ®       CS1 .GEBZEPRO. NET       WWW.GEBZEPRO.NET              
#4
@emperor merhabalar soft reset yani sunucu ac kapat yapip denermisiniz.
Bazen csd firmasinda yaptiginiz degisiklikler sunucu ac kapat yapmadan uygulanmiyor.
MODEL TASARIMI SİLAH TASARIMI SPREY TASARIMI EKLENTİ İŞLERİ MOD KURULUMU İÇİN DİSCORD:okan5705 veya Ts3 Domainler:flexekip,flexekib,okan,okans
#5
Kod:
/* http://forums.alliedmods.net/showthread.php?p=551999#post551999
*
* Changelog
* added cvar amx_inv_dead_percent <value>
*
*/
#include <amxmodx>
#include <fakemeta>
#if AMXX_VERSION_NUM < 180
    #define charsmax(%1)    sizeof(%1) - 1
#endif
#define MAX_PLAYERS    32
#define DEAD_FLAG (1<<0)
#define OFFSET_TEAM 114
enum {
    CS_TEAM_UNASSIGNED,
    CS_TEAM_T,
    CS_TEAM_CT,
    CS_TEAM_SPECTATOR
}
new bool:g_roundend
new pcvar_percent
new g_invisible[MAX_PLAYERS+1][2]
new gmsgScoreAttrib, gmsgTeamInfo
public plugin_init() {
    register_plugin("Invisible Spectator", "0.2", "ConnorMcLeod")
    pcvar_percent = register_cvar("amx_inv_dead_percent", "40")
    register_clcmd("amx_spectate", "make_invis", ADMIN_BAN)
    gmsgScoreAttrib = get_user_msgid("ScoreAttrib")
    gmsgTeamInfo = get_user_msgid("TeamInfo")
    register_message( gmsgScoreAttrib, "msg_ScoreAttrib")
    register_message( gmsgTeamInfo, "msg_TeamInfo")
    register_event("HLTV", "eNewRound", "a", "1=0", "2=0")
    register_logevent("eRoundEnd", 2, "1=Round_End")
    register_event("ResetHUD", "eResetHUD", "be")
    register_event("DeathMsg", "eDeathMsg", "a")
}
public make_invis(id, level) {
    if( ~get_user_flags(id) & level )
        return PLUGIN_CONTINUE
    if(g_invisible[id][0])
    {
        client_print(id, print_console, "Artik gorunmez degilsiniz.")
        client_print_color(id,id,"^1[ ^3Webailesi^1 ] Artik gorunmez^4 degilsiniz.")
        g_invisible[id][0] = 0
        return PLUGIN_HANDLED
    }
        
    if( is_user_alive(id) )
    {
        client_print(id, print_console, "Gorunmez bir seyirci olmak icin once olmus olman lazim!")
        client_print_color(id,id,"^1[ ^3Webailesi^1 ] Gorunmez bir seyirci olmak icin once^4 olmus olman lazim!")
        return PLUGIN_HANDLED
    }
    g_invisible[id][0] = 1
    client_print(id, print_console, "Artik gorunmez bir izleyicisin, seni takimda sanacaklar")
    client_print_color(id,id,"^1[ ^3Webailesi^1 ] Artik gorunmez bir izleyicisin,^4 seni takimda sanacaklar")
    new team = get_pdata_int(id, OFFSET_TEAM)
    if( CS_TEAM_T <= team <= CS_TEAM_CT )
    {
        g_invisible[id][1] = team
        set_pdata_int(id, OFFSET_TEAM, CS_TEAM_SPECTATOR)
    }
    else
    {
        new players[MAX_PLAYERS], tnum, ctnum
        get_players(players, tnum, "e", "TERRORIST")
        get_players(players, ctnum, "e", "CT")
        g_invisible[id][1] = ctnum > tnum ? 1 : 2
    }
    send_ScoreAttrib(id, 0)
    new teamname[12]
    switch( g_invisible[id][1] )
    {
        case 1:formatex(teamname, charsmax(teamname), "TERRORIST")
        case 2:formatex(teamname, charsmax(teamname), "CT")
    }
    send_TeamInfo(id, teamname)
    return PLUGIN_HANDLED
}
public eDeathMsg() {
    if(g_roundend)
        return
    new players[MAX_PLAYERS], dead, inum, player, Float:percent = get_pcvar_float(pcvar_percent) / 100.0
    get_players(players, dead, "bh")
    get_players(players, inum, "h")
    if( float(dead) / float(inum) < percent)
        return
    for(new i; i < inum; i++)
    {
        player = players[i]
        if( g_invisible[player][0] )
            send_ScoreAttrib(player, DEAD_FLAG)
    }
}
public eNewRound() {
    g_roundend = false
    new players[MAX_PLAYERS], inum, player
    get_players(players, inum)
    for(new i; i < inum; i++)
    {
        player = players[i]
        if( g_invisible[player][0] )
            send_ScoreAttrib(player, 0)
    }
}
public eRoundEnd() {
    g_roundend = true
    new players[MAX_PLAYERS], inum, player
    get_players(players, inum)
    for(new i; i < inum; i++)
    {
        player = players[i]
        if( g_invisible[player][0] )
            send_ScoreAttrib(player, DEAD_FLAG)
    }
}
public eResetHUD(id) {
    if( g_invisible[id][0] )
        g_invisible[id][0] = 0
}
// Doesn't seem to work so set flag to 0 at NewRound event.
public msg_ScoreAttrib(msg_type, msg_dest, target) {
    if(!g_invisible[get_msg_arg_int(1)][0])
        return PLUGIN_CONTINUE
    new flags = get_msg_arg_int(2)
    if(flags & DEAD_FLAG)
        set_msg_arg_int(2, 0, flags & ~DEAD_FLAG)
    return PLUGIN_CONTINUE
}
public msg_TeamInfo(msg_type, msg_dest, target) {
    new id = get_msg_arg_int(1)
    if(!g_invisible[id][0])
        return PLUGIN_CONTINUE
    new teamname[12]
    get_msg_arg_string(2, teamname, charsmax(teamname))
    if( g_invisible[id][1] == CS_TEAM_T && strcmp(teamname, "TERRORIST") != 0 )
        set_msg_arg_string(2, "TERRORIST")
    else if( g_invisible[id][1] == CS_TEAM_CT && strcmp(teamname, "CT") != 0 )
        set_msg_arg_string(2, "CT")
    return PLUGIN_CONTINUE
}
send_ScoreAttrib(id, flags)
{
    message_begin(MSG_ALL, gmsgScoreAttrib, _, 0)
    write_byte(id)
    write_byte(flags)
    message_end()
}
send_TeamInfo(id, teamname[])
{
    message_begin(MSG_ALL, gmsgTeamInfo, _, 0)
    write_byte(id)
    write_string(teamname)
    message_end()
}

Abi uzun zaman önce kurduğum bir eklenti vardı amx_izle yazınca adam seni oyunda görüyor fakat sen onu specte gibi çok rahat izleyebiliyorsun. Tekrar çıkmak için amx_izle yazmanız yetiyor
亗 TEŞKİLAT-I MAHSUSA 亗

DNS :  pro.timailesi.com / ts1.timailesi.com

b3v4zbt
#6
(03-12-2024, 04:46)okan911 Adlı Kullanıcıdan Alıntı: @emperor merhabalar soft reset yani sunucu ac kapat yapip denermisiniz.
Bazen csd firmasinda yaptiginiz degisiklikler sunucu ac kapat yapmadan uygulanmiyor.
EVET kapayıp açtım olmamış @okan911

kardeşim gece yazmışsın whatsapp dan konu için yeni gördüm ..
@BAIZIMING  teşekkür ederim canım benim.
denedim çalışıyor sadece spec olayı yok. Olsun buda işimizi görür. Sağlık olsun.
İlgi gösterenlerden Allah razı olsun varlığınız daim olsun..
GEBZEPRO ®       CS1 .GEBZEPRO. NET       WWW.GEBZEPRO.NET              
Son Düzenleme: 03-12-2024, 13:37, Düzenleyen: emperor.
#7
İstek konusu, @BAIZIMING adlı kullanıcı tarafından 2 gün içinde çözülmüştür.
İsteği çözdüğü için BAIZIMING Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
BAIZIMING Adlı kullanıcı sizin dışınızda toplam 90 kişiye yardım etmiştir.

Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task