Cevap: Anti Retry Admin Söyleyici
Alıntı:
akcaliberkk Nickli Üyeden Alıntı
PHP- Kodu:
/*
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 i = 1; i < MAX_PLAYERS; i++) {
if (equal(ip, pID[i], 21)) {
new name[34]
get_user_name(id, name, 33)
if (get_cvar_num("amx_retryshow")) {
new uID[1]
uID[0] = id
set_task(2.0,"showMsg", id, uID, 1)
}
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 i = 1; i < MAX_PLAYERS; i++) {
if (equal(ip, pID[i], 21)) {
// this user has been already kicked
found = 1
break
}
}
if (found == 0) {
for(new i = 1; i < MAX_PLAYERS; i++) {
if (pID[i][0] == 0) { // found empty slot
get_user_ip(id, pID[i], 21)
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", txt, 127)
new playername[34]
get_user_name(pID[0], playername, 33)
new sec[6]
num_to_str(get_cvar_num("amx_retrytime"),sec, 5)
replace(txt, 127, "%s", playername)
replace(txt, 127, "%t", sec)
set_hudmessage(255, 255, 255, 0.05, 0.72, 0, 5.0, 10.0, 2.0, 0.15, 3)
show_hudmessage(pID[0],txt)
}
public kick(id[]) {
new txt[128]
get_cvar_string("amx_retrykickmsg", txt, 127)
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?
Cevap: Anti Retry Admin Söyleyici
Evet öyle. Ancak mesajı herkes görüyor sadece adminler değil.
Cevap: Anti Retry Admin Söyleyici
Alıntı:
Dexterz Nickli Üyeden Alıntı
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
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 :)
Cevap: Anti Retry Admin Söyleyici
Önce retry ile ilgili tüm pluginlerin kapalı olduğuna emin olun. Kendiniz server'a girip deneyin kick falan yoksa:
Bu plugini kurun
PHP- Kodu:
/* 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(PLUGIN, VERSION, AUTHOR)
}
public client_disconnect(id) {
new ip[32];
get_user_ip(id, ip, 31, 1);
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(id, ip, 31, 1)
for(new i; i<MAX_IP;i++) {
if(equal(ip, memory[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(255, 255, 255, 0.05, 0.72, 0, 5.0, 10.0, 2.0, 0.15, 3)
show_hudmessage(id, "Bu Serverda Retry Cekmek Yasak ! Terorist Takimina Transfer Edildiniz !");
cs_set_user_team(id, CS_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[i],ADMIN_FLAG)) {
client_print(players[i],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 i; i<MAX_IP;i++) {
if(!memory[i][0]) return i;
}
log_amx("[MEMORY ERROR] Reconnect ip hafiza birimi doldu ! Lutfen MAX_IP degerini yukseltin.");
return MAX_IP;
}
Cevap: Anti Retry Admin Söyleyici
Cevap: Anti Retry Admin Söyleyici
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
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 .)