Konu

#1
Sa ekteki eklentiye yasaklı nick ve tag lardan ötürü isim değişikliği yerine acaba kick sistemi ekler misiniz nicki ve ya tagı yasaklı olan kişi sw den direk kick yese olurumu acaba.

PHP Kod:
#include <amxmodx>
#include <reapi>

#define TAG "CROW GAMING"

new const file[] = "addons/amxmodx/configs/ynicks.ini";
new const 
file2[] = "addons/amxmodx/configs/ytags.ini";
new 
sebep[64], durum[33], sondurum[33]

public 
plugin_init(){
    
register_plugin("Nick Kontrol""3.0""emirakpinar")
    
RegisterHookChain(RG_CBasePlayer_SetClientUserInfoName"CBasePlayer_SetUserInfoName")
}

public 
CBasePlayer_SetUserInfoName(const idbuffer[], pNick[]){
    if(!
canorcant(idpNick)){
        new 
pOldNick[32];
        
get_entvar(idvar_netnamepOldNickcharsmax(pOldNick));
        
SetHookChainArg(3ATYPE_STRINGpOldNick);
        
set_msg_block(get_entvar(idvar_deadflag) != DEAD_NO get_user_msgid("TextMsg") : get_user_msgid("SayText"), BLOCK_ONCE);
        
client_print_color(id,id"^4%s: ^1Nickinizde degistiremezsiniz. ^4| ^3%s"TAGsebep)
    }
}

public 
client_putinserver(id) if(!is_user_bot(id)) set_task(6.0"kontrol"id)

public 
kontrol(id){
    if(
is_user_connected(id)) {
        new 
pnick[32]; get_user_name(idpnickcharsmax(pnick));
        if(!
canorcant(idpnick)){
            new 
sonuc[64], UID get_user_userid(id)
            switch(
durum[id]){
                case 
1:{
                    
formatex(sonuc,charsmax(sonuc),"%s-|UID#%d|"TAGUID)
                }
                case 
2:{
                
replace_all(pnickcharsmax(pnick), sondurum"")
                
strtok(pnicksondurumcharsmax(sondurum), sonuccharsmax(sonuc), '[');
                
formatex(sonuc,charsmax(sonuc),"%s"sondurum)
                }
            }
            
set_user_info(id,"name",sonuc);
            
client_print_color(id,id"^4%s: ^1Nickinizde degisiklik yapildi. ^4| ^3%s"TAGsebep)
        }
    }
}

stock canorcant(id, const pNick[]){ 
    
durum[id] = 0
    
if(strlen(pNick) < 3){
        
copy(sebepcharsmax(sebep), "3 KARAKTERDEN OLUSMALI")
        return 
0
    
}

    new 
FP fopen(file"rt"),  szNicks[32]
    if(
FP){
        while(!
feof(FP)){
            
fgets(FPszNickscharsmax(szNicks))
            
trim(szNicks)

            if (
contain(pNickszNicks) != -1){
                
copy(sebepcharsmax(sebep), "YASAKLI ISIM")
                
durum[id] = 1
                
return 0
            
}
        }
        
fclose(FP)
    }

    new 
FP2 fopen(file2"rt"),  szTags[32]
    if(
FP2){
        while(!
feof(FP2)){
            
fgets(FP2szTagscharsmax(szTags))
            
trim(szTags)
            
            if (
contain(pNickszTags) != -1){
                
copy(sondurumcharsmax(sondurum), szTags)
                
copy(sebepcharsmax(sebep), "YASAKLI TAG")
                
durum[id] = 2
                
return 0
            
}
        }
        
fclose(FP2)
    }
    return 
1

#2
Dene bakalım :
PHP Kod:
#include <amxmodx>
#include <reapi>

#define TAG "CROW GAMING"

new const file[] = "addons/amxmodx/configs/ynicks.ini";
new const 
file2[] = "addons/amxmodx/configs/ytags.ini";
new 
sebep[64], durum[33], sondurum[33]

public 
plugin_init(){
    register_plugin("Nick Kontrol""3.0""emirakpinar")
    RegisterHookChain(RG_CBasePlayer_SetClientUserInfoName"CBasePlayer_SetUserInfoName")
}

public 
CBasePlayer_SetUserInfoName(const idbuffer[], pNick[]){
    if(!canorcant(idpNick)){
        new pOldNick[32];
        get_entvar(idvar_netnamepOldNickcharsmax(pOldNick));
        SetHookChainArg(3ATYPE_STRINGpOldNick);
        set_msg_block(get_entvar(idvar_deadflag) != DEAD_NO get_user_msgid("TextMsg") : get_user_msgid("SayText"), BLOCK_ONCE);
        client_print_color(id,id"^4%s: ^1Nickinizde degistiremezsiniz. ^4| ^3%s"TAGsebep)
    }
}

public 
client_putinserver(id) if(!is_user_bot(id)) set_task(6.0"kontrol"id)

public 
kontrol(id){
    if(is_user_connected(id)) {
        new pnick[32]; get_user_name(idpnickcharsmax(pnick));
        if(!canorcant(idpnick)){
            new sonuc[64], UID get_user_userid(id)
            switch(durum[id]){
                case 1:{
                    formatex(sonuc,charsmax(sonuc),"%s-|UID#%d|"TAGUID)
                }
                case 2:{
                replace_all(pnickcharsmax(pnick), sondurum"")
                strtok(pnicksondurumcharsmax(sondurum), sonuccharsmax(sonuc), '[');
                formatex(sonuc,charsmax(sonuc),"%s"sondurum)
                }
            }
            set_user_info(id,"name",sonuc);
            client_print_color(id,id"^4%s: ^1Nickinizde degisiklik yapildi. ^4| ^3%s"TAGsebep)
        }
    }
}

stock canorcant(id, const pNick[]){ 
    durum[id] = 0
    
if(strlen(pNick) < 3){
        copy(sebepcharsmax(sebep), "3 KARAKTERDEN OLUSMALI")
        return 0
    
}

    new FP fopen(file"rt"),  szNicks[32]
    if(FP){
        while(!feof(FP)){
            fgets(FPszNickscharsmax(szNicks))
            trim(szNicks)

            if (contain(pNickszNicks) != -1){
                copy(sebepcharsmax(sebep), "YASAKLI ISIM")
                durum[id] = 1
                server_cmd
("kick #%d ^"Yasakli Nick Kullandiniz^""get_user_userid(id));
                return 0
            
}
        }
        fclose(FP)
    }

    new FP2 fopen(file2"rt"),  szTags[32]
    if(FP2){
        while(!feof(FP2)){
            fgets(FP2szTagscharsmax(szTags))
            trim(szTags)
            
            
if (contain(pNickszTags) != -1){
                copy(sondurumcharsmax(sondurum), szTags)
                copy(sebepcharsmax(sebep), "YASAKLI TAG")
                server_cmd("kick #%d ^"Yasakli Tag Kullandiniz^""get_user_userid(id));
                durum[id] = 2
                
return 0
            
}
        }
        fclose(FP2)
    }
    return 1

#3
(26-11-2021, 06:07)erra1881 Adlı Kullanıcıdan Alıntı: Sa ekteki eklentiye yasaklı nick ve tag lardan ötürü isim değişikliği yerine acaba kick sistemi ekler misiniz nicki ve ya tagı yasaklı olan kişi sw den direk kick yese olurumu acaba.

PHP Kod:
#include <amxmodx>
#include <reapi>

#define TAG "CROW GAMING"

new const file[] = "addons/amxmodx/configs/ynicks.ini";
new const 
file2[] = "addons/amxmodx/configs/ytags.ini";
new 
sebep[64], durum[33], sondurum[33]

public 
plugin_init(){
    
register_plugin("Nick Kontrol""3.0""emirakpinar")
    
RegisterHookChain(RG_CBasePlayer_SetClientUserInfoName"CBasePlayer_SetUserInfoName")
}

public 
CBasePlayer_SetUserInfoName(const idbuffer[], pNick[]){
    if(!
canorcant(idpNick)){
        new 
pOldNick[32];
        
get_entvar(idvar_netnamepOldNickcharsmax(pOldNick));
        
SetHookChainArg(3ATYPE_STRINGpOldNick);
        
set_msg_block(get_entvar(idvar_deadflag) != DEAD_NO get_user_msgid("TextMsg") : get_user_msgid("SayText"), BLOCK_ONCE);
        
client_print_color(id,id"^4%s: ^1Nickinizde degistiremezsiniz. ^4| ^3%s"TAGsebep)
    }
}

public 
client_putinserver(id) if(!is_user_bot(id)) set_task(6.0"kontrol"id)

public 
kontrol(id){
    if(
is_user_connected(id)) {
        new 
pnick[32]; get_user_name(idpnickcharsmax(pnick));
        if(!
canorcant(idpnick)){
            new 
sonuc[64], UID get_user_userid(id)
            switch(
durum[id]){
                case 
1:{
                    
formatex(sonuc,charsmax(sonuc),"%s-|UID#%d|"TAGUID)
                }
                case 
2:{
                
replace_all(pnickcharsmax(pnick), sondurum"")
                
strtok(pnicksondurumcharsmax(sondurum), sonuccharsmax(sonuc), '[');
                
formatex(sonuc,charsmax(sonuc),"%s"sondurum)
                }
            }
            
set_user_info(id,"name",sonuc);
            
client_print_color(id,id"^4%s: ^1Nickinizde degisiklik yapildi. ^4| ^3%s"TAGsebep)
        }
    }
}

stock canorcant(id, const pNick[]){ 
    
durum[id] = 0
    
if(strlen(pNick) < 3){
        
copy(sebepcharsmax(sebep), "3 KARAKTERDEN OLUSMALI")
        return 
0
    
}

    new 
FP fopen(file"rt"),  szNicks[32]
    if(
FP){
        while(!
feof(FP)){
            
fgets(FPszNickscharsmax(szNicks))
            
trim(szNicks)

            if (
contain(pNickszNicks) != -1){
                
copy(sebepcharsmax(sebep), "YASAKLI ISIM")
                
durum[id] = 1
                
return 0
            
}
        }
        
fclose(FP)
    }

    new 
FP2 fopen(file2"rt"),  szTags[32]
    if(
FP2){
        while(!
feof(FP2)){
            
fgets(FP2szTagscharsmax(szTags))
            
trim(szTags)
            
            if (
contain(pNickszTags) != -1){
                
copy(sondurumcharsmax(sondurum), szTags)
                
copy(sebepcharsmax(sebep), "YASAKLI TAG")
                
durum[id] = 2
                
return 0
            
}
        }
        
fclose(FP2)
    }
    return 
1

Hızına emeğine sağlık sonsuz teşekkürler hocam.
#4
İstek konusu, @suriyelikene adlı kullanıcı tarafından 15 saat içinde çözülmüştür.
İsteği çözdüğü için suriyelikene Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
suriyelikene Adlı kullanıcı sizin dışınızda toplam 783 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

Benzer Konular

8
Yorum
352
Okunma
04-12-2023, 01:02
4
Yorum
634
Okunma
20-11-2023, 13:38
8
Yorum
1.979
Okunma
20-09-2023, 23:00
7
Yorum
2.321
Okunma
06-09-2023, 22:55
1
Yorum
4.063
Okunma
20-06-2023, 23:48
Task
Kayıt Ol
Discord Adresimize Katılın