CSPLague
Anti Retry Admin Söyleyici - Printable Version

+- CSPLague (https://www.csplague.com)
+-- Forum: CS 1.6 Plugin (Eklenti) Bölümü (https://www.csplague.com/forumdisplay.php?fid=6)
+--- Forum: [İSTEK] Cs 1.6 Plugin İstek Bölümü (https://www.csplague.com/forumdisplay.php?fid=80)
+---- Forum: Çözülmüş İstekler (https://www.csplague.com/forumdisplay.php?fid=87)
+---- Thread: Anti Retry Admin Söyleyici (/showthread.php?tid=9489)

Pages: 1 2


Cevap: Anti Retry Admin Söyleyici - Dexterz - 31-01-14

akcaliberkk dateline='' Wrote:
PHP Code:
/*
NO RETRY 1.10

Plugin by Priski

Usage :
kicks and/or notifies users if they use retry

CVARS :
amx_retrytime     - time in seconds to determine if retry was used ( default: 15 )
amx_retrykick     - set to 1 if you want to kick retry users ( default: 0 )
amx_retryshow     - set to 0 if you want to disable public announces about use of retry ( default: 0 )
amx_retrychat     - show usage in playerchat ( default: 1 )
amx_retrymsg     - message which is displayed after reconnect to user ( default: "No retry allowed here, %s" ) *
amx_retrykickmsg - reason when kicked ( default: "DO NOT USE RETRY COMMAND" )
amx_retrychatmsg - message in playerchat ( default: "%s was kicked: reconnect in %t seconds" ) *

* NOTE:
%s = players name
%t = same as in amx_retrytime

Changelog :

1.16 / 2005-10-17
- added new feature cvars:
amx_retrychat & amx_retrychatmsg
- better functionality
- hudmessages only to user who triggered

1.10 / 2005-08-17
- whole code rewritten
- bugs fixed

1.00 / 2005-08-15
- first release


*/
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>

#define MAX_PLAYERS 32

new pID[MAX_PLAYERS][22]

public 
plugin_init() {
    
register_plugin("No retry","1.16","Priski"
    
register_cvar("amx_retrytime","60")
    
register_cvar("amx_retrykick","0")
    
register_cvar("amx_retryshow","0")
    
register_cvar("amx_retrytransfer","1")
    
    
// %s is the player name, %t is amx_retrytime
    
register_cvar("amx_retrymsg","No retry allowed here, %s")
    
register_cvar("amx_retrykickmsg","Too fast reconnect is not allowed")
    
register_cvar("amx_retrychatmsg","%s was kicked: reconnect in %t seconds")
    
    return 
PLUGIN_HANDLED
}

public 
client_putinserver(id) {
    
// no bots or admin immunity users
    
if (is_user_bot(id)) {
        return 
PLUGIN_HANDLED
    
}
    
    
// gather info
    
new ip[22]
    
get_user_ip(id,ip,21)
    
    for(new 
1MAX_PLAYERSi++) {
        if (
equal(ippID[i], 21)) {
            
            new 
name[34]
            
get_user_name(idname33)
            
            if (
get_cvar_num("amx_retryshow")) {
                new 
uID[1]
                
uID[0] = id
                set_task
(2.0,"showMsg"iduID1)
            }
            
            if (
get_cvar_num("amx_retrykick")) {
                new 
uID[1]
                
uID[0] = get_user_userid(id)
                
                
// delayed kick
                
set_task(7.0,"kick",77,uID,1)
                
            }
            if (
get_cvar_num("amx_retrytransfer")) {
                new 
uID[1]
                
uID[0] = get_user_userid(id)
                
                
// delayed transfer
                
set_task(7.0,"transfer",107,uID,1)
                
            }
            break
        }
    }
    
    return 
PLUGIN_HANDLED;
}

public 
client_disconnect(id) {
    
// no bots or admin immunity users are in list
    
if ((is_user_bot(id)) || (get_user_flags(id)&ADMIN_IMMUNITY)) {
    return 
PLUGIN_HANDLED; }
    
    
// gather info
    
new ip[22]
    
get_user_ip(id,ip,21)
    new 
found 0;
    
    for(new 
1MAX_PLAYERSi++) {
        if (
equal(ippID21)) {
            
// this user has been already kicked
            
found 1
            
break
        }
    }
    
    if (
found == 0) {
        for(new 
1MAX_PLAYERSi++) {
            if (
pID[0] == 0) {    // found empty slot
                
get_user_ip(idpID21)
                new 
aID[1]
                
aID[0] = i
                set_task
get_cvar_float("amx_retrytime"), "cleanID", (id MAX_PLAYERS),aID,1)
                
                break
            }
        }
    }
    return 
PLUGIN_HANDLED;
}


public 
cleanID(i[]) {
    
pID[i[0]][0] = 0
}

public 
showMsg(pID[]) {
    new 
txt[128]
    
get_cvar_string("amx_retrymsg"txt127)
    
    new 
playername[34]
    
get_user_name(pID[0], playername33)
    
    new 
sec[6]
    
num_to_str(get_cvar_num("amx_retrytime"),sec5)
    
    
replace(txt127"%s"playername)
    
replace(txt127"%t"sec)
    
    
set_hudmessage(2552552550.050.7205.010.02.00.153)
    
show_hudmessage(pID[0],txt)
}

public 
kick(id[]) {
    new 
txt[128]
    
get_cvar_string("amx_retrykickmsg"txt127)
    
server_cmd("kick #%d ^"%s^""id[0], txt)
}
public 
transfer(id[]) {
    if(!
is_user_connected(id[0])) set_task(7.0,"transfer2",197,id[0],1)
    
cs_set_user_team(id[0], CS_TEAM_T)
    
ExecuteHam(Ham_CS_RoundRespawn,id[0])
}
public 
transfer2(id[]) {
    if(!
is_user_connected(id[0])) return
    
cs_set_user_team(id[0], CS_TEAM_T)
    
ExecuteHam(Ham_CS_RoundRespawn,id[0])


bir dene
burda kicklemeyi kapatırsak T takımına swaplayacak ve sadece CVAR yetkisi olan adminlerin ... retry çekti yazısını görebileceğinden emin misiniz?


--EK OLARAK PECKO--
sizin moralitede retry çekemeyen yok ki?[/i][/i][/i][/i]


Cevap: Anti Retry Admin Söyleyici - akcaliberkk - 31-01-14

Evet öyle. Ancak mesajı herkes görüyor sadece adminler değil.


Cevap: Anti Retry Admin Söyleyici - Pecko - 31-01-14

Dexterz dateline='' Wrote: burda kicklemeyi kapatırsak T takımına swaplayacak ve sadece CVAR yetkisi olan adminlerin ... retry çekti yazısını görebileceğinden emin misiniz?


--EK OLARAK PECKO--
sizin moralitede retry çekemeyen yok ki?

Ben serbest Bıraktım kardeşim :/ Uğraşamayız onlarla biz bu retry eklentisi için serhata bile danıştık onun kurdugu eklenti bile benim işime yaramadı sen kur belki yarar.

Base Builderde oyuncuların Kuralı Retry Çekmek kaç senedir oynuyon bilmiyorum adam console connect 95.xxx.xxx.xxx yazarsa yine retry çekecek.


Cevap: Anti Retry Admin Söyleyici - Dexterz - 31-01-14

Bende denedim ne kadar kapatsakta oto kickliyor

Şöyle birşey istiyorum
Oyuncu retry çekimce otomatik T takımına yollayacak ve sırf onun göreceği şekilde
"Bu serverda retry çekmek yasak." diyecek.
Adminlere ise Sırf adminlere.. "..... Nickli kullanıcı retry çekti. T takımına gönderildi, Kontrol Ediniz."
yazısı gelmesini istiyorum. Öyle içinde gereksiz kick felan olmasın lütfen Smile



Cevap: Anti Retry Admin Söyleyici - akcaliberkk - 31-01-14

Önce retry ile ilgili tüm pluginlerin kapalı olduğuna emin olun. Kendiniz server'a girip deneyin kick falan yoksa:

Bu plugini kurun

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>

#define PLUGIN "Retry Transfer"
#define VERSION "1.0"
#define AUTHOR "akcaliberkk"

#define MAX_IP 25
#define RECONNECT_TIME 60.0
#define ADMIN_FLAG ADMIN_BAN

new memory[MAX_IP][32];

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
}
public 
client_disconnect(id) {
    new 
ip[32];
    
get_user_ip(idip311);
    new 
slot find_empty_memory_slot();
    
formatex(memory[slot],31,"%s",ip);
    
set_task(RECONNECT_TIME"delete_slot",1071 slot);
}
public 
client_putinserver(id) {
    new 
ip[32];
    
get_user_ip(idip311)
    for(new 
ii<MAX_IP;i++) {
        if(
equal(ipmemory[i])) {
            
set_task(5.0,"show_message",1881+id)
            
            
set_task(7.0,"transfer",1923+id)
            
delete_slot(i);
            
            break;
        }
    }
}
public 
transfer(id) {
    
id -= 1923;
    if(
is_user_connected(id)) {
        
set_hudmessage(2552552550.050.7205.010.02.00.153)
        
show_hudmessage(id"Bu Serverda Retry Cekmek Yasak ! Terorist Takimina Transfer Edildiniz !");
        
cs_set_user_team(idCS_TEAM_T)
        
ExecuteHamB(Ham_CS_RoundRespawn,id)
    }
}
public 
show_message(id) {
    
    
id -= 1881;
    if(
is_user_connected(id)) {
        new 
name[32]
        
get_user_name(id,name,31);
        new 
players[32],inum;
        
get_players(players,inum)
        for(new 
i;i<inum;i++) {
            if(
access(players,ADMIN_FLAG)) {
                
client_print(players,print_chat,"[RETRY DETECTED] %s Adli Oyuncu Retry Cekti. Simdi Terorist Takimina Transfer Ediliyor...",name);
            }
        }
    }
}
public 
delete_slot(slotid) {
    
slotid -= 1071;
    
memory[slotid][0] = 0;
}
find_empty_memory_slot() {
    for(new 
ii<MAX_IP;i++) {
        if(!
memory[0]) return i;
    }
    
log_amx("[MEMORY ERROR] Reconnect ip hafiza birimi doldu ! Lutfen MAX_IP degerini yukseltin.");
    return 
MAX_IP;

[/i][/i][/i][/i]


Cevap: Anti Retry Admin Söyleyici - memoaho123 - 01-02-14

çalışıo teşekkürler.


Cevap: Anti Retry Admin Söyleyici - Dexterz - 01-02-14

Herşey iyi güzelde adamlar retry çekince önce CT oluyor eline taş oluyor sonra T'ye swaplanınca öyle kalıyor taş elinde


Cevap: Anti Retry Admin Söyleyici - hasan0650 - 10-02-14

vallahi ben denedim şuan serverimde kurulu Biri retry cektimi aşşağıda retry ceken oyuncunun ismi yazıyor
bende uyarıyorum daha devam edersen banlıyorum Yararlı Plugin Sorunsuz calısıyor .)