PDA

Ver la versión completa : [PLUG] Server Publico Full



nel_river
12-07-2012, 22:11
Nuevamente bienvenidos al post.

Hoy les traigo una sintesis creada en 2011 de revision que contiene todos los plugins que se utilizan en los servidores publicos, cuyos plugins quedan expresamente detallados en el mismo con el efecto de cada uno y el comando en si. Los plugins originales fueron editados en ultima instancia por el autor JAvee '. Se recuerda asi como en todos los demas mantener los autores originales.


/*
*
* Amx Mod x
*
* Atencion:
*
* este plugin es de libre distribucion
* siempre y cuando se mantengan la fuente y el autor
*
* Aviso: mayoria de codes posteados/hechos por JAvee '
*
* ***********************
* *Este Plugin Contiene:
* ***********************
*
* / No c4 Slay - No Defuse Slay - Admin Check - AutoRR - Comandos Say
* showreglas - showteam - mensaje de bienvenida - /spec
* no say ip - c4 timer - anti afk - say ip - spyadmin /
*
* *************
* Descripcion :
* *************
*
* No C4 Slay: Evita Que Los TT Frageen, Hace Que Planten C4 Antes Del Tiempo
*
* No Defuse Slay: Evita Que Los Ct's Se EScondan/Frageen Slayeandolos
*
* Admin_Check (Code One-Eyed): Seteando /Admin sabras los admins online
*
* AutoRR: apenas empieza el mapa larga un autorestart en tantos segundos
*
* Comandos via Say: comandos rapidos por say( /kick,ban,mapas,slay,force,etc..)
*
* /reglas /team: seteando /reglas, veras las reglas del servidor, /team veras el team
* (ACLARO: poner un txt con el nombre , reglas.txt, team.txt
* en la carpeta cstrike/ )
*
* mensaje de bienvenida: setea un mensaje de bienvenida apenas entra el player
*
* /spec: seteando /spec, iras directamente a spectear
*
* no say IP : seteando una ip por medio del say te la blokea
*
* c4 timer: tiempo de la c4
*
* ANTI AFK: persona que este 1 minuto AFK sera kickeada
*
* SAY /ip: seteando /ip veras la ip del server
*
* Say /spy: Comando De Admin, Al Setear /spy El Admin No Aparece Como Admin , En AdminCheck,
* AdminShow , Etc. Pero Sigue Teniendo Los Comandos
*
*/

#include <amxmodx>
#include <amxmisc>
#include <csx>
#include <fun>
#include <fakemeta>
#include <engine>
#include <cstrike>
#include <regex>

#define PLUGIN "Plugin Publico"
#define VERSION "2.0"
#define AUTOR "matrix"

#define SRVTAG "[MatrixSoft]:"
#define TAG "MatrixRush"



// NO DEFUSE SLAY

#define mensaje "CT's Defusear o SLAY"

new cv

// MENSAJE DE BIENVENIDA

new automsj

// NO C4 SLAY

new bool:slay = false
new cv_slay

// No say IP

#define PATTERN "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" // \b
#define REASON "IP advertising"
#define CVAR_BANMINUTES "ip_banminutes"
#define CVAR_BANVIOLATORS "ip_banviolators"

// Globals below
new Regex:g_result
new g_returnvalue
new g_error[64]
new g_allArgs[1024]

// C4 Timer

new g_c4timer, pointnum;
new bool:b_planted = false;

new g_msgsync;


// nosayip

public plugin_modules() {

require_module("regex")
require_module("engine")
}

// ANTI AFK

#define MIN_AFK_TIME 30 // I use this incase stupid admins accidentally set mp_afktime to something silly.
#define WARNING_TIME 15 // Start warning the user this many seconds before they are about to be kicked.
#define CHECK_FREQ 5 // This is also the warning message frequency.

new g_oldangles[33][3]
new g_afktime[33]
new bool:g_spawned[33] = {true, ...}

new tag
new PREFIX[32]
new inmu

// ADMIN CHECK

new maxplayers
new gmsgSayText

#define ADMIN_CHECK ADMIN_KICK

static const COLOR[] = "^x04"
#define CONTACT "matrix.cs@hotmail.com.ar"

//FREEWELCOMEMSG
#define MAX_LINES 50

new datei_lesen[MAX_LINES][128]
new datei_puffer[MAX_LINES][128]
new lesen_num = 0

// SPY ADMIN
new spy[33]; // is the user a spy
new oldflags[33]; // the users old flags for admin

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTOR)

// RESTART AUTOMATICO
set_task(10.0,"say1")
set_task(30.0,"say2")
set_task(31.0,"say3")
set_task(32.0,"say4")
set_task(33.0,"say5")
set_task(34.0,"say6")
set_task(35.0,"say7")
set_task(36.0,"say8")
set_task(37.0,"say9")
set_task(38.0,"say10")
set_task(39.0,"say11")
set_task(40.0,"say12")
set_task(41.0,"say13")
set_task(42.0,"say14")
set_task(43.0,"say15")
set_task(44.0,"say16")
set_task(45.0,"say17")
set_task(46.0,"say18")
set_task(47.0,"say19")
set_task(48.0,"say20")
set_task(49.0,"say21")
set_task(50.0,"say22")
set_task(51.0,"say23")
set_task(52.0,"say24")
set_task(53.0,"say25")
set_task(54.0,"say26")
set_task(55.0,"say27")
set_task(56.0,"say28")
set_task(57.0,"say29")
set_task(58.0,"say30")
set_task(59.0,"say31")
set_task(60.0,"say32")
set_task(61.0,"restart")
set_task(61.2,"restart")
set_task(61.5,"restart")
set_task(62.5,"end")

// SPY ADMIN
register_clcmd("say /spy", "spy_toggle", -1)
register_clcmd("amx_spyadmin", "spy_toggle", -1)

// ADMIN CHECK
maxplayers = get_maxplayers()
gmsgSayText = get_user_msgid("SayText")
register_clcmd("say", "handle_say")
register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)


//NO DEFUSE SLAY
cv = register_cvar("amx_sayc4","1")
new mapname[64]
get_mapname(mapname, 63)
if((contain(mapname, "de_")!= -1))
{
register_logevent( "tarjet_bomb", 6, "2=triggered", "1=TERRORIST", "3=Target_Bombed" )
register_logevent("Defuse_C4", 2, "1=bomb_defused")
register_logevent( "bomb_planted", 6, "2=triggered", "1=TERRORIST", "3=bomb_planted" )
register_logevent("round_end", 2, "1=Round_End")

// NO C4 SLAY
register_event("SendAudio","No_dar_Slay","a","2=%!MRAD_terwin")
register_logevent("eRound_end",2,"0=World triggered","1=Round_End");
register_logevent("eRound_start",2,"0=World triggered","1=Round_Start");

cv_slay = register_cvar("amx_slaytt","1")
}

// MENSAJE DE BIENVENIDA

automsj = register_cvar("amx_mensaje","1")

// MOTD REGLAS & TEAM
register_clcmd("say /reglas","showreglas")
register_clcmd("say /team","showteam")

// COMANDO /spec

register_clcmd("say /spec","cmdspeactor")
register_clcmd("say_team /spec","cmdspeactor")

// COMANDOS POR SAY

register_clcmd("say /mapas","cmdMapas",ADMIN_CVAR)
register_clcmd("say /ban","cmdBan",ADMIN_BAN)
register_clcmd("say /kick","cmdKick",ADMIN_KICK)
register_clcmd("say /slap","cmdSlap",ADMIN_KICK)
register_clcmd("say /force","cmdForce",ADMIN_KICK)
register_clcmd("say /noforce","cmdNoForce",ADMIN_KICK)
register_clcmd("say /alltalk","cmdAlltalk",ADMIN_KICK)
register_clcmd("say /noalltalk","cmdNoAlltalk",ADMIN_KICK)

register_clcmd("say .mapas","cmdMapas",ADMIN_CVAR)
register_clcmd("say .ban","cmdBan",ADMIN_BAN)
register_clcmd("say .kick","cmdKick",ADMIN_KICK)
register_clcmd("say .slap","cmdSlap",ADMIN_KICK)
register_clcmd("say .force","cmdForce",ADMIN_KICK)
register_clcmd("say .noforce","cmdNoForce",ADMIN_KICK)
register_clcmd("say .alltalk","cmdAlltalk",ADMIN_KICK)
register_clcmd("say .noalltalk","cmdNoAlltalk",ADMIN_KICK)

// MAPAS POR COMANDO SAY

register_clcmd("say /dust2","cmdD2",ADMIN_KICK)
register_clcmd("say /inferno","cmdInf",ADMIN_KICK)
register_clcmd("say /nuke","cmdNuke",ADMIN_KICK)
register_clcmd("say /ice","cmdIce",ADMIN_KICK)
register_clcmd("say /train","cmdTrain",ADMIN_KICK)
register_clcmd("say /cpl","cmdCpl",ADMIN_KICK)
register_clcmd("say /cbble","cmdCbble",ADMIN_KICK)

register_clcmd("say .dust2","cmdD2",ADMIN_KICK)
register_clcmd("say .inferno","cmdInf",ADMIN_KICK)
register_clcmd("say .nuke","cmdNuke",ADMIN_KICK)
register_clcmd("say .ice","cmdIce",ADMIN_KICK)
register_clcmd("say .train","cmdTrain",ADMIN_KICK)
register_clcmd("say .cpl","cmdCpl",ADMIN_KICK)
register_clcmd("say .cbble","cmdCbble",ADMIN_KICK)

// c4 timer

pointnum = get_cvar_pointer("mp_c4timer");
register_logevent("newRound", 2, "1=Round_Start");
register_logevent("endRound", 2, "1=Round_End");
register_logevent("endRound", 2, "1&Restart_Round_");

g_msgsync = CreateHudSyncObj();


// NO SAY IP

register_clcmd("say", "hook_say2")
register_cvar(CVAR_BANVIOLATORS, "0")
register_cvar(CVAR_BANMINUTES, "30")
register_dictionary("admincmd.txt")

//FREEWELCOMEMSG

load_settings("addons/amx/freewelcomemsg.txt")

// SAY IP

register_clcmd("say /ip", "cmdip")

// ANTI AFK
register_cvar("afk_version", "1.0b", FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)
register_cvar("mp_afktime", "90")
register_cvar("mp_afkminplayers", "4")
set_task(float(CHECK_FREQ),"checkPlayers",_,_,_,"b ")
register_event("ResetHUD", "playerSpawned", "be")
tag = register_cvar("afk_prefix","[MatrixSoft]:") // Nombre del Servidor
inmu = register_cvar("afk_inmunidad","1") // Comprobacion de INMUNIDAD
get_pcvar_string(tag, PREFIX,31)

// AUTO RESTART

register_clcmd("/rr", "ULTRARESTART", ADMIN_CVAR)


// MENSAJE

public client_putinserver(id)
{

set_task(10.0, "automensaje", id)
new name[32], ip[32]
get_user_name(id, name, 31)
get_user_ip(id, ip, 31)
log_amx("El Player %s Con La IP %s Se Esta Conectando Al Server", name, ip)
{
spy[id] = 0
oldflags[id] = 0
}
{

g_afktime[id] = 0
}
return PLUGIN_HANDLED
}

/*********************************
PLUGIN CFG & PRECACHE BY ANTIRUSH
**********************************/

public plugin_cfg()
{
g_bProtectOOB = ReadPointsFile()
}

public plugin_precache()
{
g_sprBeam = precache_model("sprites/zbeam4.spr")
smoke = precache_model("sprites/steam1.spr")
white = precache_model("sprites/white.spr")
precache_sound( "ambience/thunder_clap.wav")
precache_sound( "weapons/headshot2.wav")
}

/**********************
ADMIN CHECK
***********************/


public handle_say(id) {
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/admin") != -1 )
set_task(0.1,"print_adminlist",id)
return PLUGIN_CONTINUE
}

public print_adminlist(user)
{
new adminnames[33][32]
new message[256]
new contactinfo[256], contact[112]
new id, count, x, len

for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & ADMIN_CHECK)
get_user_name(id, adminnames[count++], 31)

len = format(message, 255, "AdMiNs OnLiNe: ")
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "No HaY AdMiNs OnLiNe.")
print_message(user, message)
}

get_cvar_string("amx_contactinfo", contact, 63)
if(contact[0]) {
format(contactinfo, 111, "%s Para Admins: %s", SRVTAG, CONTACT) // CONTACTO
print_message(user, contactinfo)
}
}

print_message(id, msg[]) {
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}

/**********************
C4 Timer
***********************/

public newRound()
{
g_c4timer = -1;
remove_task(652450);
b_planted = false;
}

public endRound()
{
g_c4timer = -1;
remove_task(652450);
}


public bomb_defused()
{
if(b_planted)
{
remove_task(652450);
b_planted = false;
}

}

public bomb_explode()
{
if(b_planted)
{
remove_task(652450);
b_planted = false;
}

}

public dispTime()
{
if(!b_planted)
{
remove_task(652450);
return;
}


if(g_c4timer >= 0)
{

if(g_c4timer > 13) set_hudmessage(0, 150, 0, -1.0, 0.8, 0, 1.0, 1.0, 0.01, 0.01, -1);
else if(g_c4timer > 7) set_hudmessage(150, 150, 0, -1.0, 0.8, 0, 1.0, 1.0, 0.01, 0.01, -1);
else set_hudmessage(150, 0, 0, -1.0, 0.8, 0, 1.0, 1.0, 0.01, 0.01, -1);
ShowSyncHudMsg(0, g_msgsync, "C4 : %d Seg^n", g_c4timer);
--g_c4timer;
}

}

/************************************************** **
NO DEFUSE SLAY & DEFUSE CT GANA, EXPLOTA CT GANA TT
************************************************** ***/

public bomb_planted()
{
if(get_pcvar_num(cv))
{
set_task(0.1,"defusects")
slay = false
}
{
b_planted = true;
g_c4timer = get_pcvar_num(pointnum);
dispTime()
set_task(1.0, "dispTime", 652450, "", 0, "b");
}
if((activado == 1)){
if(mensajes){
COLORHUD;
show_hudmessage(0, "%s: Desactivado^nC4 Plantada",TAG);
client_print(0,print_chat,"%s C4 Plantada - Antirush Desactivado", TAG);

remove_task(TASK_RUSH);
mensajes = false;
g_bProtectOOB = false;
}
}
}
public round_end()

{
remove_task();
}

public tarjet_bomb()
{
remove_task()
if(get_pcvar_num(cv))
{
set_hudmessage(random_num(55,255), random_num(55,255), random_num(55,255), -1.0, 0.8, 1, 6.0, 12.0)
show_hudmessage(0, "[ Ganan los Terroristas Estallo la C4 ]")
}
}
public Defuse_C4()
{
remove_task();
if(get_pcvar_num(cv))
{
set_hudmessage(random_num(55,255), random_num(55,255), random_num(55,255), -1.0, 0.8, 1, 6.0, 12.0)
show_hudmessage(0, "[ Ganan los Anti-Terroristas por Desactivar la C4 ]")
}
}
public defusects()
{
set_hudmessage(random_num(55,255), random_num(55,255), random_num(55,255), 0.0, 0.2, 1, 6.0, 60.0)
show_hudmessage(0, "%s",mensaje)
}

/***************************
MENSAJE DE BIENVENIDA
****************************/

public automensaje(id)
{

if(get_pcvar_num(automsj))

{
new ip[32], host[64]
get_cvar_string("hostname", host, 63)
get_cvar_string("net_address", ip, 31)
client_print(id, print_chat,"================================================== =======");
client_print(id, print_chat,"%s: Bienvenido a nuestro server %s", SRVTAG, host) ;
client_print(id, print_chat,"%s: La IP de este Server: %s ", SRVTAG, ip);
client_print(id, print_chat,"================================================== =======");
}
return PLUGIN_CONTINUE
}

/************************
NO C4 SLAY
*************************/

public eRound_start()
{
new Players = get_playersnum(1);
remove_task(TASK_RUSH)
slay = true
if((activado) == 1)
{
if((get_pcvar_num(crush) <= 0) || (Players >= 4)){
set_task(get_pcvar_float(trush), "Map_Time", TASK_RUSH);

COLORHUD
show_hudmessage(0, "%s: Activado",TAG)
client_print(0,print_chat,"%s Comenzo La Ronda - Antirush Activado", TAG);

mensajes = true;
g_bProtectOOB = true;

}
else {
client_print(0, print_chat, "%s - Anti-rush se activara cuando haya 4 jugadors o mas.",TAG)

mensajes = false;
g_bProtectOOB = false;
}
}
return PLUGIN_CONTINUE
}

public eRound_end()
{
set_task(0.1,"slay_tt")
if((activado == 1)){
if(mensajes){
COLORHUD
show_hudmessage(0, "%s: Desactivado",TAG);
client_print(0,print_chat,"%s Tiempo Cumplido - Antirush Desactivado", TAG);

remove_task(TASK_RUSH);
mensajes = false;
g_bProtectOOB = false;
}
}
}


public No_dar_Slay(){

slay = false
}

public slay_tt()
{
if(slay && get_pcvar_num(cv_slay)==1 && task_exists())
{
new aPlayers[32], iNum, i;
get_players( aPlayers, iNum, "ae", "TERRORIST" );
for( i = 0; i < iNum; i++ )
{
new id = aPlayers[i]
user_kill( id )
client_print(id,print_chat,"Recibiste un SLAY por no PLANTAR C4")
}
remove_task();
}
}

/**********************
MOTD REGLAS & TEAM
***********************/

public showreglas(id, level, cid)
{
if(!cmd_access(id, level, cid, 1))
return PLUGIN_CONTINUE
show_motd(id,"reglas.txt","REGLAS")
return PLUGIN_CONTINUE
}

public showteam(id, level, cid)
{
if(!cmd_access(id, level, cid, 1))
return PLUGIN_CONTINUE
show_motd(id,"team.txt","TEAM")
return PLUGIN_CONTINUE
}

/**********************
COMANDO SPEC
***********************/

public cmdspeactor(id) {

cs_set_user_team(id,CS_TEAM_SPECTATOR)
user_kill(id, 0)
client_print(id, print_chat, "- [ Fuiste Transferido a Modo Spectador ] -")
}

/**********************
COMANDOS DE SAY
***********************/
public cmdMapas(id, level, cid){

if(!cmd_access(id, level, cid, 1))

{
client_print(id, print_chat, "%s No Tienes Acceso A Utilizar Este Comando",SRVTAG)
return PLUGIN_HANDLED;
}

new amap[32]
get_localinfo("amap", amap, 31)

new proxmapa[32]
get_cvar_string("amx_nextmap",proxmapa,sizeof(proxmapa) - 1)

if(equal(amap, ""))
{
client_print(0,print_chat,"%s No hay ningun mapa anterior registrado",SRVTAG)
client_print(0,print_chat,"%s El proximo mapa es : %s",SRVTAG, proxmapa)
}
else
{
client_print(0,print_chat,"%s El mapa anterior fue : %s",SRVTAG, amap)
client_print(0,print_chat,"%s El proximo mapa es : %s",SRVTAG, proxmapa)
}

return PLUGIN_HANDLED;
}

public cmdAlltalk(id,level,cid)
{
if(!cmd_access(id,level,cid,1))
{
client_print(id, print_chat, "%s No tienes acceso a este comando.",SRVTAG)
return PLUGIN_HANDLED;
}
server_cmd("sv_alltalk 1")
client_print(0,print_chat,"%s All Talk Activado",SRVTAG);
return PLUGIN_HANDLED
}



public cmdNoAlltalk (id, level, cid){

if(!cmd_access(id, level, cid, 1))

{
client_print(id, print_chat, "%s No tienes acceso a este comando.",SRVTAG)
return PLUGIN_HANDLED;
}

server_cmd("sv_alltalk 0")
client_print(0,print_chat,"%s All Talk Desactivado",SRVTAG);

return PLUGIN_HANDLED;

}

public cmdBan (id, level, cid){

if(!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED;

client_cmd(id,"amx_banmenu")

return PLUGIN_HANDLED;

}

public cmdKick (id, level, cid){

if(!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED;
client_cmd(id,"amx_kickmenu")
return PLUGIN_HANDLED;
}

public cmdSlap (id, level, cid){
if(!cmd_access(id, level, cid, 1))
return PLUGIN_HANDLED;

client_cmd(id,"amx_slapmenu")

return PLUGIN_HANDLED;

}

public cmdForce (id, level, cid){
if(!cmd_access(id, level, cid, 1))
{
client_print(id, print_chat, "%s No tienes acceso a este comando.",SRVTAG)
return PLUGIN_HANDLED;
}

set_cvar_num("mp_forcecamera", 2)
client_print(0, print_chat, "%s Forcecamera Activado en 2", SRVTAG)

return PLUGIN_HANDLED;
}

public cmdNoForce (id, level, cid){

if(!cmd_access(id, level, cid, 1))
{
client_print(id, print_chat, "%s No tienes acceso a este comando.",SRVTAG)
return PLUGIN_HANDLED;
}

set_cvar_num("mp_forcecamera", 0)
client_print(0, print_chat, "%s Forcecamera Desactivado", SRVTAG)

return PLUGIN_HANDLED;
}


/********************************
COMANDO DE MAPAS
*********************************/
public cmdD2 (id, level, cid){

if(!cmd_access(id, level, cid, 1))

{
client_print(id, print_chat, "%s No tienes acceso a este comando.",SRVTAG)
return PLUGIN_HANDLED;
}

server_cmd("changelevel de_dust2")
client_print(0, print_chat, "%s PROXIMO MAPA : Dust2", SRVTAG)

return PLUGIN_HANDLED;

}

public cmdInf (id, level, cid){

if(!cmd_access(id, level, cid, 1))

{
client_print(id, print_chat, "%s No tienes acceso a este comando.",SRVTAG)
return PLUGIN_HANDLED;
}

server_cmd("changelevel de_inferno")
client_print(0, print_chat, "%s PROXIMO MAPA : Inferno", SRVTAG)

return PLUGIN_HANDLED;

}

public cmdNuke (id, level, cid){

if(!cmd_access(id, level, cid, 1))

{
client_print(id, print_chat, "%s No tienes acceso a este comando.",SRVTAG)
return PLUGIN_HANDLED;
}

server_cmd("changelevel de_nuke")
client_print(0, print_chat, "%s PROXIMO MAPA : Nuke", SRVTAG)

return PLUGIN_HANDLED;
}

public cmdCbble (id, level, cid){

if(!cmd_access(id, level, cid, 1))

{
client_print(id, print_chat, "%s No tienes acceso a este comando.",SRVTAG)
return PLUGIN_HANDLED;
}

server_cmd("changelevel de_cbble")
client_print(0, print_chat, "%s PROXIMO MAPA : Cbble", SRVTAG)

return PLUGIN_HANDLED;

}

public cmdTrain (id, level, cid){

if(!cmd_access(id, level, cid, 1))

{
client_print(id, print_chat, "%s No tienes acceso a este comando.",SRVTAG)
return PLUGIN_HANDLED;
}

server_cmd("changelevel de_train")
client_print(0, print_chat, "%s PROXIMO MAPA : Train", SRVTAG)

return PLUGIN_HANDLED;
}

public cmdCpl (id, level, cid){

if(!cmd_access(id, level, cid, 1))

{
client_print(id, print_chat, "%s No tienes acceso a este comando.",SRVTAG)
return PLUGIN_HANDLED;
}

server_cmd("changelevel de_cpl_strike")
client_print(0, print_chat, "%s PROXIMO MAPA : Cpl", SRVTAG)

return PLUGIN_HANDLED;
}

public cmdIce (id, level, cid){

if(!cmd_access(id, level, cid, 1))

{
client_print(id, print_chat, "%s No tienes acceso a este comando.",SRVTAG)
return PLUGIN_HANDLED;
}

server_cmd("changelevel fy_iceworld")
client_print(0, print_chat, "%s PROXIMO MAPA : Iceworld", SRVTAG)

return PLUGIN_HANDLED;
}



/***************************************
NO SAY IP
****************************************/
public hook_say2(id, level, cid) {
read_args(g_allArgs, 1023)
g_result = regex_match(g_allArgs, PATTERN, g_returnvalue, g_error, 63)
switch (g_result) {
case REGEX_MATCH_FAIL: {
log_amx("REGEX_MATCH_FAIL! %s", g_error)
return PLUGIN_CONTINUE
}
case REGEX_PATTERN_FAIL: {
log_amx("REGEX_PATTERN_FAIL! %s", g_error)
return PLUGIN_CONTINUE
}
case REGEX_NO_MATCH: {
return PLUGIN_CONTINUE
}
default: {
if (get_cvar_num(CVAR_BANVIOLATORS)) {
new userid = get_user_userid(id)
new minutesString[10]
get_cvar_string(CVAR_BANMINUTES, minutesString, 9)
new temp[64], banned[16], minutes = get_cvar_num(CVAR_BANMINUTES)

if (minutes)
format(temp, 63, "%L", id, "FOR_MIN", minutesString)
else
format(temp, 63, "%L", id, "PERM")

format(banned, 15, "%L", id, "BANNED")

new authid[32]
get_user_authid(id, authid, 31)

new name[32]
get_user_name(id, name, 31)
log_amx("%s (%s), %s %s because of advertising an IP address. This was written: ^"%s^"", name, authid, banned, temp, g_allArgs)

server_cmd("kick #%d ^"%s (%s %s)^";wait;banid ^"%d^" ^"%s^";wait;writeid", userid, REASON, banned, temp, minutes, authid)
}
else {
client_cmd(id, "say ^"En Este Server No se Pasa IP sabias??")
}
regex_free(g_result)
return PLUGIN_HANDLED // block msg
}
}

return PLUGIN_CONTINUE
}

/****************************
SAY IP
*****************************/

public cmdip(id)
{
new ip[32] , host[32]
get_cvar_string("net_address", ip, 31)
get_cvar_string("hostname", host, 31)
client_print( id, print_chat,"%s %s", host , ip )

}

/***************************
ANTI AFK
****************************/

public checkPlayers() {
for (new i = 1; i <= get_maxplayers(); i++) {
if (is_user_alive(i) && is_user_connected(i) && !is_user_bot(i) && !is_user_hltv(i) && g_spawned[i]) {
new newangle[3]
get_user_origin(i, newangle)
if ( newangle[0] == g_oldangles[i][0] && newangle[1] == g_oldangles[i][1] && newangle[2] == g_oldangles[i][2] ) {
g_afktime[i] += CHECK_FREQ
check_afktime(i)
} else {
g_oldangles[i][0] = newangle[0]
g_oldangles[i][1] = newangle[1]
g_oldangles[i][2] = newangle[2]
g_afktime[i] = 0
}
}
}
return PLUGIN_HANDLED
}

check_afktime(id) {
new numplayers = get_playersnum()
new minplayers = get_cvar_num("mp_afkminplayers")

if (numplayers >= minplayers) {
new maxafktime = get_cvar_num("mp_afktime")
if (maxafktime < MIN_AFK_TIME) {
log_amx("cvar mp_afktime %i is too low. Minimum value is %i.", maxafktime, MIN_AFK_TIME)
maxafktime = MIN_AFK_TIME
set_cvar_num("mp_afktime", MIN_AFK_TIME)
}
if ( maxafktime-WARNING_TIME <= g_afktime[id] < maxafktime)
{
new timeleft = maxafktime - g_afktime[id]
if(get_user_flags(id)&ADMIN_IMMUNITY && get_pcvar_num(inmu))
{
client_print(id,print_chat, "%s ANTI AFK KICK DESHABILITADO POR SER ADMIN")
}
else
{
client_print(id, print_chat, "%s Tenes %i segundos para moverte o seras kikeado",PREFIX, timeleft)
}
} else if (g_afktime[id] > maxafktime) {
new name[32]
get_user_name(id, name, 31)
if(get_user_flags(id)&ADMIN_IMMUNITY && get_pcvar_num(inmu))
{
client_print(id,print_chat, "%s ANTI AFK KICK DESHABILITADO POR SER ADMIN")
}
else
{
client_print(0, print_chat, "%s %s fue kikeado por no moverse en mas de %i segundos",PREFIX, name, maxafktime)
log_amx("%s %s fue kikeado por no moverse en mas de %i segundos",PREFIX, name, maxafktime)
client_cmd(id, "echo ^":: Fuiste desconectado por permanecer ausente ...^"; disconnect")
}
}
}
}

public client_connect(id)
{
new name[32], authid[32], ip[32], hostname[32], nextmap[32], time2[32], mapname[32], mod_ver[32], mod_ver2[32]
new playersnum[3], maxplayers[3], timeleft[8], timelimit[8], c4timer[8], ff[8], logged[101]
new amxmod[60], statsme[40], clanmod[40], adminmod[40], chicken[40], csguard[40], hlguard[40]
new plbot[40], hlbooster[40], axn[40], bmx[40], atac[40], wc3[40], cdeath[40]
new Float:mp_timelimit = get_cvar_float("mp_timelimit")
new num_playersnum = get_playersnum()
new num_maxplayers = get_maxplayers()
num_to_str(num_playersnum,playersnum,2)
num_to_str(num_maxplayers,maxplayers,2)
format(c4timer,7,"%.0f",get_cvar_float("mp_c4timer"))
format(ff,7,"%s",get_cvar_float("mp_friendlyfire") ? "on" : "off")
get_cvar_string("hostname",hostname,63)
get_user_name(id,name,31)
get_user_authid(id,authid,31)
get_user_ip(id,ip,31)
get_time("%m/%d/%Y - %H:%M:%S",time2,31)
get_mapname(mapname,31)
get_cvar_string("amx_nextmap",nextmap,31)
if (mp_timelimit){
new timelefta = get_timeleft()
if (timelefta > 0) format(timeleft,7,"%d:%02d",timelefta / 60, timelefta % 60)
format(timelimit,7,"%.0f",mp_timelimit)
}
else {
format(timeleft,7,"--:--")
format(timelimit,7,"--")
}
new flags = get_user_flags(id)
if (flags){
new sflags[32]
get_flags(flags,sflags,31)
format(logged,100,"Your access is %s %s",sflags,(flags&ADMIN_IMMUNITY) ? "with immunity" : "without immunity")
}
else {
format(logged,100,"You are not logged as admin or user with privileges")
}
get_cvar_string("amx_version",mod_ver,31)
if (mod_ver[0]) format(amxmod,59,"AMX Mod %s",mod_ver)
get_cvar_string("statsme_version",mod_ver,31)
if (mod_ver[0]) format(statsme,39,"StatsMe %s",mod_ver)
get_cvar_string("clanmod_version",mod_ver,31)
if (mod_ver[0]) format(clanmod,39,"ClanMod %s",mod_ver)
get_cvar_string("admin_mod_version",mod_ver,31)
if (mod_ver[0]) format(adminmod,39,"AdminMod %s",mod_ver)
get_cvar_string("chicken_version",mod_ver,31)
if (mod_ver[0]) format(chicken,39,"Chicken %s",mod_ver)
get_cvar_string("csguard_version",mod_ver,31)
if (mod_ver[0]) format(csguard,39,"CSGuard %s",mod_ver)
get_cvar_string("hlguard_version",mod_ver,31)
if (mod_ver[0]) format(hlguard,39,"HLGuard %s",mod_ver)
get_cvar_string("plbot_version",mod_ver,31)
if (mod_ver[0]) format(plbot,39,"PLBot %s",mod_ver)
get_cvar_string("booster_version",mod_ver,31)
if (mod_ver[0]) format(hlbooster,39,"HL-Booster %s",mod_ver)
get_cvar_string("axn_version",mod_ver,31)
if (mod_ver[0]) format(axn,39,"AXN %s",mod_ver)
get_cvar_string("bmx_version",mod_ver,31)
if (mod_ver[0]) format(bmx,39,"BMX %s",mod_ver)
get_cvar_string("atac_version",mod_ver,31)
if (mod_ver[0]) format(atac,39,"ATAC %s",mod_ver)
get_cvar_string("Warcraft_3_XP",mod_ver,31)
if (mod_ver[0]) format(wc3,39,"Warcraft 3 XP %s",mod_ver)
get_cvar_string("cdversion",mod_ver,31)
get_cvar_string("cdrequired",mod_ver2,31)
if (mod_ver[0]) format(cdeath,39,"Cheating-Death %s - %s",mod_ver,mod_ver2 ? "required" : "optional")
for(new i = 0; i < lesen_num; ++i) {
copy(datei_puffer[i],127,datei_lesen[i])
replace(datei_puffer[i],127,"$authid$",authid)
replace(datei_puffer[i],127,"$c4timer$",c4timer)
replace(datei_puffer[i],127,"$ff$",ff)
replace(datei_puffer[i],127,"$hostname$",hostname)
replace(datei_puffer[i],127,"$ip$",ip)
replace(datei_puffer[i],127,"$loggedin$",logged)
replace(datei_puffer[i],127,"$mapname$",mapname)
replace(datei_puffer[i],127,"$modamxmod$",amxmod)
replace(datei_puffer[i],127,"$modstatsme$",statsme)
replace(datei_puffer[i],127,"$modclanmod$",clanmod)
replace(datei_puffer[i],127,"$modadminmod$",adminmod)
replace(datei_puffer[i],127,"$modchicken$",chicken)
replace(datei_puffer[i],127,"$modcsguard$",csguard)
replace(datei_puffer[i],127,"$modhlguard$",hlguard)
replace(datei_puffer[i],127,"$modplbot$",plbot)
replace(datei_puffer[i],127,"$modhlbooster$",hlbooster)
replace(datei_puffer[i],127,"$modaxn$",axn)
replace(datei_puffer[i],127,"$modbmx$",bmx)
replace(datei_puffer[i],127,"$modatac$",atac)
replace(datei_puffer[i],127,"$modwc3$",wc3)
replace(datei_puffer[i],127,"$cdeath$",cdeath)
replace(datei_puffer[i],127,"$nextmap$",nextmap)
replace(datei_puffer[i],127,"$playernum$",playersnum)
replace(datei_puffer[i],127,"$playermax$",maxplayers)
replace(datei_puffer[i],127,"$time$",time2)
replace(datei_puffer[i],127,"$timeleft$",timeleft)
replace(datei_puffer[i],127,"$timelimit$",timelimit)
replace(datei_puffer[i],127,"$username$",name)
client_cmd(id, "echo ^"%s^"",datei_puffer[i])
g_afktime[id] = 0
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public playerSpawned(id) {
g_spawned[id] = false
new sid[1]
sid[0] = id
set_task(0.75, "delayedSpawn",_, sid, 1) // Give the player time to drop to the floor when spawning
return PLUGIN_HANDLED
}
public delayedSpawn(sid[]) {
get_user_origin(sid[0], g_oldangles[sid[0]])
g_spawned[sid[0]] = true
return PLUGIN_HANDLED
}

/*****************************
Change Team by matrix
******************************/
public ChangeCT(id)
{
new players[32], num
get_players(players, num)

new player
for(new i = 0; i < num; i++)
{
player = players[i]
if(cs_get_user_team(player) == CS_TEAM_T)
{
cs_set_user_team(player, CS_TEAM_CT, CS_CT_SAS);
}
client_print(id,print_chat,"%s Has Sido Pasado A Counter-Terrorist", SRVTAG)
new name[32]
get_user_name(id, name, 31)
client_print(id,print_chat,"%s El Player %s Se Cago Y Se Paso A CT", SRVTAG, name)
}

}
public ChangeTT(id)
{
new players[32], num
get_players(players, num)

new player
for(new i = 0; i < num; i++)
{
player = players[i]
if(cs_get_user_team(player) == CS_TEAM_CT)
{
cs_set_user_team(player, CS_TEAM_T, CS_T_LEET);
}
client_print(id,print_chat,"%s Has Sido Pasado A Terrorista", SRVTAG)
new name[32]
get_user_name(id, name, 31)
client_print(id,print_chat,"%s El Player %s Se Cago Y Se Paso A TT", SRVTAG, name)
}

}

public ChangeSpec(id)
{
cs_set_user_team(id,CS_TEAM_SPECTATOR, CS_DONTCHANGE)
new name[32]
get_user_name(id, name, 31)
client_print(0,print_chat,"%s El Jugador %s Fue Transferido A Spectador", SRVTAG, name)
client_print(id,print_chat,"%s Fuiste Transferido A Spectador", SRVTAG)
}


/***************************
AUTO RR Y COMANDO /rr
****************************/


public ULTRARESTART(id, level, cid)
{
if(!is_user_admin(id))
set_task(0.1,"ultra_restart")
}

public ultra_restart()
{
set_task(10.0,"say1",0)
set_task(30.0,"say2",0)
set_task(31.0,"say3",0)
set_task(32.0,"say4",0)
set_task(33.0,"say5",0)
set_task(34.0,"say6",0)
set_task(35.0,"say7",0)
set_task(36.0,"say8",0)
set_task(37.0,"say9",0)
set_task(38.0,"say10",0)
set_task(39.0,"say11",0)
set_task(40.0,"say12",0)
set_task(41.0,"say13",0)
set_task(42.0,"say14",0)
set_task(43.0,"say15",0)
set_task(44.0,"say16",0)
set_task(45.0,"say17",0)
set_task(46.0,"say18",0)
set_task(47.0,"say19",0)
set_task(48.0,"say20",0)
set_task(49.0,"say21",0)
set_task(50.0,"say22",0)
set_task(51.0,"say23",0)
set_task(52.0,"say24",0)
set_task(53.0,"say25",0)
set_task(54.0,"say26",0)
set_task(55.0,"say27",0)
set_task(56.0,"say28",0)
set_task(57.0,"say29",0)
set_task(58.0,"say30",0)
set_task(59.0,"say31",0)
set_task(60.0,"say32",0)
set_task(61.0,"restart",0)
set_task(62.5,"end",0)

client_print(0,print_chat,"El Admin Mando Un Super Restart")
}

public say1()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 50 SeGuNdos .-")
}

public say2()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 30 SeGuNdos .-")

}

public say3()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 29 SeGuNdos .-")
}

public say4()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 28 SeGuNdos .-")
}

public say5()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 27 SeGuNdos .-")
}

public say6()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 26 SeGuNdos .-")
}
public say7()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 25 SeGuNdos .-")
}

public say8()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 24 SeGuNdos .-")
}

public say9()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 23 SeGuNdos .-")
}

public say10()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 22 SeGuNdos .-")
}

public say11()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 21 SeGuNdos .-")
}

public say12()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 20 SeGuNdos .-")
}

public say13()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 19 SeGuNdos .-")
}

public say14()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 18 SeGuNdos .-")
}

public say15()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 17 SeGuNdos .-")
}

public say16()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 16 SeGuNdos .-")
}

public say17()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 15 SeGuNdos .-")
}

public say18()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 14 SeGuNdos .-")
}

public say19()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 13 SeGuNdos .-")
}

public say20()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 12 SeGuNdos .-")
}

public say21()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 11 SeGuNdos .-")
}

public say22()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 10 SeGuNdos .-")
}

public say23()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 9 SeGuNdos .-")
}

public say24()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 8 SeGuNdos .-")
}
public say25()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 7 SeGuNdos .-")
}

public say26()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 6 SeGuNdos .-")
}

public say27()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 5 SeGuNdos .-")
}

public say28()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 4 SeGuNdos .-")
}

public say29()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 3 SeGuNdos .-")
}

public say30()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 2 SeGuNdos .-")
}
public say31()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT En 1 SeGuNdos .-")
}

public say32()
{
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^n-. SuPeR ReStArT .-")
}

public restart()
{
server_cmd("sv_restart 1")
}

public end()
{
new host[64], ip[32]
get_cvar_string("hostname", host, 63)
get_cvar_string("net_address", ip, 31)
set_hudmessage(random_num(55,255),random_num(55,25 5),random_num(55,255), 0.32, 0.50, 0, 6.0, 12.0)
show_hudmessage(0, "[AuToReStArt]^nBienvenidos A %s^nwww.dip-community.net", host)
client_print(0,print_chat,"[AuToReStArt] %s %s", host, ip)
}

********
SPY ADMIN
***************************/
public spy_toggle(id)
{
//although people who aren't admin can use this, its okay because they will just get the z flag anyway

if(spy[id] == 1)
{
set_user_flags(id,oldflags[id],0)
client_print(id,print_chat,"[SPYADMIN] You are now back to your previous admin state.")
new zflag = read_flags("z")
if(containi(oldflags[id], "a") || containi(oldflags[id], "c") || containi(oldflags[id], "d") || containi(oldflags[id], "j"))
remove_user_flags(id,zflag,0)
spy[id] = 0
return PLUGIN_HANDLED;
}
if(spy[id] == 0)
{
oldflags[id] = get_user_flags(id)
client_print(id,print_chat, "[SPYADMIN] You are now hidden as an admin.")
spy[id] = 1
remove_user_flags(id,oldflags[id],0)
new zflag = read_flags("z")
set_user_flags(id, zflag, 0)
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}

/***************************
FREEWELCOMEMSG
****************************/

load_settings(filename[]){
if(!file_exists(filename)) return 0
new a, line = 0
while(lesen_num < MAX_LINES && read_file(filename,line++,datei_lesen[lesen_num],128,a)){
++lesen_num
}
server_print("[FreeWelcomeMessage] Add %d lines",lesen_num)
return 1
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang11274\\ f0\\ fs16 \n\\ par }
*/


El que quiera editar y agregarle otro plugin para server publico (musica al cargar files, autorr con musica, etc [plugins que no contiene]) es libre de hacerlo siempre y cuando siga manteniendo su autor.

Saludos a todos. 370