Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //==============================================================================
- //------------------------------> [ INCLUDE ] <---------------------------------
- //==============================================================================
- #include <a_samp>
- #include <dini>
- //==============================================================================
- //------------------------------> [ DEFINE ] <----------------------------------
- //==============================================================================
- #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) \
- && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) \
- || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- //==============================================================================
- //-------------------------------> [ COLORES] <---------------------------------
- //==============================================================================
- #define AZUL_ADMIN 0x2587CEAA
- #define ROJO_ADMIN 0xFF0000FF
- #define ROSA_ADMIN 0xFF66FFAA
- #define CLARO_ADMIN 0x00FFCCAA
- #define ROJO 0xAA3333AA
- #define NARANJA 0xF97804FF
- #define BLANCO 0xEFEFF7AA
- #define CELESTE 0x00C8FFFF
- #define AMARILLO 0xFFFF33FF
- #define ROJOC 0xFF5429FF
- #define Amarillo 0xFFEF26FF
- #define VERDE 0x33D517FF
- #define CHATP 0x009966FF
- //==============================================================================
- //==============================================================================
- #define MAXADV 3
- //==============================================================================
- //----------------------------> [ INFORMACIÓN ] <-------------------------------
- //==============================================================================
- enum Jinfo
- {
- Nivel,
- Asesinatos,
- Advertencias,
- Muertes,
- BAN,
- NOPM,
- Muteado,
- pCar,
- Skin
- };
- //==============================================================================
- //-----------------------------> [ VARIABLES ] <--------------------------------
- //==============================================================================
- new JInfo[MAX_PLAYERS][Jinfo];
- new bool:Logueado[MAX_PLAYERS];
- new bool:Registrado[MAX_PLAYERS];
- new ACOLOR[MAX_PLAYERS];
- new COLOR[MAX_PLAYERS];
- new NOTELE[MAX_PLAYERS];
- new LeerCMDS;
- //==============================================================================
- //-----------------------------> [ FORWARDS ] <---------------------------------
- //==============================================================================
- forward Jugador(playerid);
- forward AdminChat(color,const string[],level);
- forward CarSpawner(playerid,model);
- forward CarDeleter(vehicleid);
- //==============================================================================
- //==============================================================================
- main()
- {
- print("<|-----------------------------------------|>");
- print("<|.:[- sistema de administración -]:.|>");
- print("<|-----------------------------------------|>");
- }
- public OnPlayerConnect(playerid)
- {
- new
- Archivo[64];
- format(Archivo, sizeof(Archivo), "Jugadores/%s.ini", JNombre(playerid));
- if(dini_Exists(Archivo)) Registrado[playerid] = true && SendClientMessage(playerid, NARANJA, "Este nick está registrado, logueate con /Login 'contraseña'");
- if(!dini_Exists(Archivo)) return SendClientMessage(playerid, Amarillo, "Este nick no está registrado, registrate usando /Registrar 'contraseña'");
- JInfo[playerid][Nivel] = 0;
- JInfo[playerid][Asesinatos] = 0;
- JInfo[playerid][Muertes] = 0;
- JInfo[playerid][Skin] = 0;
- JInfo[playerid][BAN] = 0;
- JInfo[playerid][NOPM] = 0;
- JInfo[playerid][Advertencias] = 0;
- JInfo[playerid][pCar] = -1;
- JInfo[playerid][Muteado] = 0;
- Logueado[playerid] = false;
- NOTELE[playerid] = 0;
- ACOLOR[playerid] = 0;
- COLOR[playerid] = 0;
- LeerCMDS = 1;
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new
- Archivo[64];
- format(Archivo, sizeof(Archivo), "Jugadores/%s.ini", JNombre(playerid));
- if(dini_Exists(Archivo))
- {
- dini_IntSet(Archivo, "Skin", JInfo[playerid][Skin]);
- dini_IntSet(Archivo, "BAN", JInfo[playerid][BAN]);
- }
- Jugador(playerid);
- JInfo[playerid][Nivel] = 0;
- JInfo[playerid][Asesinatos] = 0;
- JInfo[playerid][Muertes] = 0;
- JInfo[playerid][Skin] = 0;
- JInfo[playerid][BAN] = 0;
- JInfo[playerid][NOPM] = 0;
- JInfo[playerid][Advertencias] = 0;
- JInfo[playerid][Muteado] = 0;
- Logueado[playerid] = false;
- NOTELE[playerid] = 0;
- ACOLOR[playerid] = 0;
- COLOR[playerid] = 0;
- if(JInfo[playerid][pCar] != -1)
- CarDeleter(JInfo[playerid][pCar]);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- JInfo[killerid][Asesinatos] ++;
- JInfo[playerid][Muertes] ++;
- SendDeathMessage(killerid,playerid,reason);
- Jugador(playerid);
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- //==============================================================================
- //------------------------------> [ CHAT ADMIN ] <------------------------------
- //==============================================================================
- if(text[0] == '#' && JInfo[playerid][Nivel] >= 2)
- {
- new string[128]; GetPlayerName(playerid,string,sizeof(string));
- format(string,sizeof(string),"< @Adm* %s: %s",string,text[1]);
- AdminChat(CHATP,string,1);
- return 0;
- }
- //==============================================================================
- //--------------------------------> [ IDS ] <-----------------------------------
- //==============================================================================
- if(IsPlayerConnected(playerid))
- {
- new
- string[128];
- format(string, sizeof(string),"[%d]: %s", playerid, text);
- SendPlayerMessageToAll(playerid, string);
- return 0;
- }
- //==============================================================================
- //--------------------------------> [ MUTEADO ] <-------------------------------
- //==============================================================================
- if(JInfo[playerid][Muteado] == 1)
- {
- return SendClientMessage(playerid, ROJO,"estás muteado.");
- }
- //==============================================================================
- //-------------------------------> [ COLOR ADMIN ] <----------------------------
- //==============================================================================
- if(ACOLOR[playerid] == 1 && JInfo[playerid][Nivel] >= 1)
- {
- if(text[0] != '.' && text[0] != '!' && text[0] != '*')
- {
- new
- string[128];
- format(string, sizeof(string),"%s: %s", JNombre(playerid), text);
- SendClientMessageToAll(COLOR[playerid],string);
- }
- return 0;
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(registrar, 9,cmdtext);
- dcmd(login, 5,cmdtext);
- if(LeerCMDS == 1)
- {
- new
- string[128];
- format(string, sizeof(string), "< %s (id: %d) uso el Cmd: '%s'", JNombre(playerid), playerid, cmdtext);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && (JInfo[i][Nivel] >= 3) && i != playerid && (JInfo[i][Nivel] >= JInfo[playerid][Nivel]))
- SendClientMessage(i, BLANCO, string);
- }
- }
- dcmd(setlvl, 6, cmdtext);
- dcmd(ban, 3, cmdtext);
- dcmd(kick, 4, cmdtext);
- dcmd(warn, 4, cmdtext);
- dcmd(lc, 2, cmdtext);
- dcmd(fix, 3, cmdtext);
- dcmd(jetpack, 7, cmdtext);
- dcmd(curar, 5, cmdtext);
- dcmd(blindar, 7, cmdtext);
- dcmd(akill, 5, cmdtext);
- dcmd(ir, 2, cmdtext);
- dcmd(traer, 5, cmdtext);
- dcmd(bann, 4, cmdtext);
- dcmd(desban, 6, cmdtext);
- dcmd(desbanip, 8, cmdtext);
- dcmd(skin, 4, cmdtext);
- dcmd(ac, 2, cmdtext);
- dcmd(azul, 4, cmdtext);
- dcmd(rojo, 4, cmdtext);
- dcmd(claro, 5, cmdtext);
- dcmd(rosa, 4, cmdtext);
- dcmd(nocolor, 7, cmdtext);
- dcmd(ip, 2, cmdtext);
- dcmd(reportar, 8, cmdtext);
- dcmd(pm, 2, cmdtext);
- dcmd(mute, 4, cmdtext);
- dcmd(desmute, 7, cmdtext);
- dcmd(pms, 3, cmdtext);
- dcmd(comandos, 8, cmdtext);
- dcmd(notele, 6, cmdtext);
- dcmd(cpass, 5, cmdtext);
- dcmd(stats, 5, cmdtext);
- dcmd(rstats, 6, cmdtext);
- dcmd(kill, 4, cmdtext);
- dcmd(moto, 4, cmdtext);
- dcmd(auto, 4, cmdtext);
- return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- }
- //==============================================================================
- //--------------------------------> [ CMD´S] <----------------------------------
- //==============================================================================
- dcmd_registrar(playerid, params[])
- {
- #pragma unused params
- new
- tmp[64],
- Largo;
- if(sscanf(params,"s", tmp))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/Registrar [contrasena]'");
- }
- if(Registrado[playerid] == true)
- {
- return SendClientMessage(playerid, ROJO, "Tu nick ya está registrado.");
- }
- Largo = strlen(tmp);
- if(Largo < 5 || Largo > 16)
- {
- return SendClientMessage(playerid, ROJO, "La contraseña debe tener de 5 a 16 caracteres.");
- }
- Registro(playerid, tmp);
- return 1;
- }
- dcmd_login(playerid, params[])
- {
- new
- tmp[64];
- if(sscanf(params,"s", tmp))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/Login [contrasena]'");
- }
- if(Registrado[playerid] == false)
- {
- return SendClientMessage(playerid, ROJO, "Tu nick no está registrado.");
- }
- if(Logueado[playerid] == true)
- {
- return SendClientMessage(playerid, ROJO, "Ya estás logueado.");
- }
- Logueo(playerid, tmp);
- return 1;
- }
- dcmd_reportar(playerid, params[])
- {
- new
- id,
- reporte[128],
- string[128];
- if(sscanf(params,"ds", id, reporte))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/reportar [id] [Razón]'");
- }
- if(!IsPlayerConnected(id))
- {
- return SendClientMessage(playerid, ROJO, "Jugador no conectado");
- }
- SendClientMessage(playerid, NARANJA, "Tu reporte fue enviado con éxito a los admins.");
- format(string, sizeof(string), "'REPORTE': %s(%d) reporto a %s(%d), reporte: %s .", JNombre(playerid), playerid, JNombre(id), id, reporte);
- AdminChat(CELESTE, string, 1);
- return 1;
- }
- dcmd_skin(playerid, params[])
- {
- new
- sk,
- string[128];
- if(sscanf(params,"d", sk))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/skin [Skin id]'");
- }
- if(!IsValidSkin(sk))
- {
- return SendClientMessage(playerid, ROJO, "SKIN INVÁLIDO");
- }
- SetPlayerSkin(playerid, sk);
- format(string, sizeof(string), "Skin '%d' Cambiado con éxito.", sk);
- SendClientMessage(playerid, NARANJA, string);
- JInfo[playerid][Skin] = sk;
- return 1;
- }
- dcmd_pm(playerid, params[])
- {
- new
- id,
- texto[128],
- string[128];
- if(sscanf(params,"ds", id, texto))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/PM [id] [mensaje]'");
- }
- if(!IsPlayerConnected(id))
- {
- return SendClientMessage(playerid, ROJO, "Jugador no conectado.");
- }
- if(JInfo[id][NOPM] == 1)
- {
- return SendClientMessage(playerid, ROJO, "Este jugador desactivo los PM´S");
- }
- if(id == playerid) return SendClientMessage(playerid, ROJO, "No puedes mandarte pm ati mismo.");
- GetPlayerName(playerid, JNombre(playerid), 128); GetPlayerName(id, JNombre(id), 128);
- format(string, 300, "< PM de %s(%d): %s", JNombre(playerid), playerid, texto);
- SendClientMessage(id, AMARILLO, string);
- format(string, 300, "> PM para %s(%d): %s", JNombre(id), id, texto);
- SendClientMessage(playerid, CELESTE, string);
- return 1;
- }
- dcmd_pms(playerid, params[])
- {
- #pragma unused params
- if(JInfo[playerid][NOPM] == 0)
- {
- SendClientMessage(playerid, ROJO, "PM`s Desactivado, Ahora no podras leer los PM´s qué te manden. /PMs para activarlo.");
- JInfo[playerid][NOPM] = 1;
- }
- else
- {
- SendClientMessage(playerid, NARANJA, "PM`s Activados, Ahora sí puedes leer tus PM´s /Pms para desactivarlo.");
- JInfo[playerid][NOPM] = 0;
- }
- return 1;
- }
- dcmd_cpass(playerid, params[])
- {
- #pragma unused params
- new
- pass,
- tmp[64];
- if(sscanf(params,"s", tmp))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/Cpass [contraseña]'");
- }
- if(Registrado[playerid] == false)
- {
- return SendClientMessage(playerid, ROJO, "Tu nick no está registrado.");
- }
- if(Logueado[playerid] == false)
- {
- return SendClientMessage(playerid, ROJO, "No estás logueado.");
- }
- pass = strlen(tmp);
- if(pass < 4 || pass > 16)
- {
- return SendClientMessage(playerid, ROJO, "Sólo de 4 a 16 caracteres.");
- }
- Contrasena(playerid, tmp);
- return 1;
- }
- dcmd_stats(playerid, params[])
- {
- new
- id,
- string[128];
- if(sscanf(params,"d", id))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/stats [id]'");
- }
- if(Logueado[id] == true)
- {
- return SendClientMessage(playerid, ROJO, "Jugador no logueado.");
- }
- format(string, sizeof(string), "' Nick: %s , ID : %d , Muertes : %d , Asesinatos : %d '",
- JNombre(id), id, JInfo[id][Muertes], JInfo[id][Asesinatos]);
- SendClientMessage(playerid, NARANJA, string);
- return 1;
- }
- dcmd_rstats(playerid, params[])
- {
- #pragma unused params
- if(Registrado[playerid] == false)
- {
- return SendClientMessage(playerid, ROJO, "Tu nick no está registrado.");
- }
- if(Logueado[playerid] == false)
- {
- return SendClientMessage(playerid, ROJO, "No estás logueado.");
- }
- ResetearEstadisticas(playerid);
- return 1;
- }
- dcmd_kill(playerid, params[])
- {
- #pragma unused params
- GameTextForPlayer(playerid,"~r~Muerto!", 2000,1);
- SetPlayerHealth(playerid, 0.0);
- return 1;
- }
- //==============================================================================
- //-------------------------> [ ADMINISCTRACIÓN ] <------------------------------
- //==============================================================================
- dcmd_mute(playerid, params[])
- {
- new
- id,
- string[128];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 1)
- {
- if(sscanf(params,"d", id))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/mute [id]'");
- }
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID)
- {
- if(JInfo[id][Muteado] == 1)
- {
- return SendClientMessage(playerid, ROJO,"Él ya está muteado.");
- }
- JInfo[id][Muteado] = 1;
- format(string, sizeof(string), "< '%s' un admin te a muteado. ", JNombre(id));
- SendClientMessage(playerid, ROJO, string);
- format(string, sizeof(string), "Has muteado a %s(id).", JNombre(id), id);
- SendClientMessage(playerid, NARANJA, string);
- } else return SendClientMessage(playerid, ROJO, "Jugador no conectado.");
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- return 1;
- }
- dcmd_desmute(playerid, params[])
- {
- new
- id,
- string[128];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 1)
- {
- if(sscanf(params,"d", id))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/desmute [id]'");
- }
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID)
- {
- if(JInfo[id][Muteado] == 0)
- {
- return SendClientMessage(playerid, ROJO,"Él no está muteado.");
- }
- JInfo[id][Muteado] = 0;
- format(string, sizeof(string), "< '%s' un admin te a desmuteado. ", JNombre(id));
- SendClientMessage(playerid, VERDE, string);
- format(string, sizeof(string), "Has desmuteado a %s(id).", JNombre(id), id);
- SendClientMessage(playerid, NARANJA, string);
- } else return SendClientMessage(playerid, ROJO, "Jugador no conectado.");
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- return 1;
- }
- dcmd_setlvl(playerid, params[])
- {
- new
- id,
- nivel,
- string[128];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 5)
- {
- if(sscanf(params,"dd", id, nivel))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/Setlvl [id] [level]'");
- }
- if(nivel > 5 || nivel <= 0)
- {
- return SendClientMessage(playerid, ROJO, "Sólo de 0 a 5.");
- }
- if(!IsPlayerConnected(id))
- {
- return SendClientMessage(playerid, ROJO, "Jugador no conectado.");
- }
- format(string, sizeof(string) ,"Le has dado nivel '%d' a (%s[%d]).",
- nivel, JNombre(id), id);
- SendClientMessage(playerid, Amarillo, string);
- format(string, sizeof(string), "Un Administrador te dio nivel '%d'",nivel);
- SendClientMessage(id, NARANJA, string);
- JInfo[id][Nivel] = nivel;
- Jugador(playerid);
- return 1;
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_desbanip(playerid, params[])
- {
- new
- string[128],
- tmp[64],
- cmd[64];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 3)
- {
- if(sscanf(params,"s", tmp))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/desbanip [ip]'");
- }
- format(cmd, sizeof(cmd), "unbanip %s", tmp);
- SendRconCommand(cmd);
- format(string, sizeof(string), "ip { %s } desbaneada.", tmp);
- SendClientMessage(playerid, NARANJA, string);
- return 1;
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_desban(playerid, params[])
- {
- new
- Archivo[64],
- NickName[128],
- string[128];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 4)
- {
- if(sscanf(params,"s",NickName))
- {
- return SendClientMessage(playerid,ROJO, "Uso: '/Desban [nick]'");
- }
- format(Archivo, sizeof Archivo, "Jugadores/%s.ini", NickName);
- if(dini_Exists(Archivo))
- {
- format(string, sizeof(string), "Cuenta \'%s\' Desbaneada", NickName);
- SendClientMessage(playerid, NARANJA, string);
- dini_IntSet(Archivo, "BAN", 0);
- return 1;
- } else return SendClientMessage(playerid, ROJO, "< NICK INVÁLIDO >");
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_bann(playerid, params[])
- {
- new
- Archivo[64],
- NickName[128],
- string[128];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 4)
- {
- if(sscanf(params,"s",NickName))
- {
- return SendClientMessage(playerid,ROJO, "Uso: '/Bann [nick]'");
- }
- format(Archivo, sizeof Archivo, "Jugadores/%s.ini", NickName);
- if(dini_Exists(Archivo))
- {
- format(string, sizeof(string), "Cuenta \'%s\' Baneada", NickName);
- SendClientMessage(playerid, NARANJA, string);
- dini_IntSet(Archivo, "BAN", 1);
- return 1;
- } else return SendClientMessage(playerid, ROJO, "< NICK INVÁLIDO >");
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_ban(playerid,params[])
- {
- new
- id,
- razon[64];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 3)
- {
- if(sscanf(params,"ds", id, razon))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/ban [id] [razón]'");
- }
- if(!IsPlayerConnected(id))
- {
- return SendClientMessage(playerid, ROJO, "Jugador no conectado");
- }
- BANJ(playerid, id, JNombre(id), razon);
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- return 1;
- }
- dcmd_kick(playerid, params[])
- {
- new
- id,
- razon[64],
- string[128];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 2)
- {
- if(sscanf(params, "ds", id, razon))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/kick [id] [razón]'");
- }
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "<* %s(%d) Fue Expulsado por un Admin. Razón: %s",
- JNombre(id), id, razon);
- SendClientMessageToAll(ROJO, string);
- return Kick(id);
- } else return SendClientMessage(playerid, ROJO, "Jugador no conectado");
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_warn(playerid,params[]) {
- new
- id,
- razon[64],
- str[128];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 2) {
- if(sscanf(params, "ds", id, razon))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/Warn [id] [razón]'");
- }
- if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID)
- {
- if(JInfo[id][Nivel] == 5)
- {
- return SendClientMessage(playerid, ROJO, "Él es Administrador mayor.");
- }
- JInfo[id][Advertencias]++;
- if(JInfo[id][Advertencias] == MAXADV)
- {
- format(str, sizeof (str), "< * '%s'(%d) expulsado por el admin '%s' (Razón: %s) (Advertencias: %d/%d)*", JNombre(id), id, JNombre(playerid), razon, JInfo[id][Advertencias], MAXADV);
- SendClientMessageToAll(ROJO, str);
- Kick(id);
- return JInfo[id][Advertencias] = 0;
- }
- else
- {
- format(str, sizeof (str), "< * '%s' advertio a '%s'(%d) (Razón: %s) (Advertencias: %d/%d)*", JNombre(playerid), JNombre(id), id, razon, JInfo[id][Advertencias], MAXADV);
- return SendClientMessageToAll(NARANJA, str);
- }
- } else return SendClientMessage(playerid, ROJO, "Jugador no conectado");
- } else return SendClientMessage(playerid,ROJO,"No tienes suficiente nivel.");
- }
- dcmd_lc(playerid, params[]){
- #pragma unused params
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 3)
- {
- for(new i=0; i<100; i++){
- for(new p=0; p<MAX_PLAYERS; p++){
- if(IsPlayerConnected(p)){
- if(JInfo[p][Nivel] == 0 || !IsPlayerAdmin(p)){
- SendClientMessage(p, ROJO, " ");
- }
- }
- }
- }
- return 1;
- }else return SendClientMessage(playerid, ROJO, " No tienes suficiente nivel.");
- }
- dcmd_notele(playerid, params[])
- {
- #pragma unused params
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 1)
- {
- if(NOTELE[playerid] == 0)
- {
- SendClientMessage(playerid, NARANJA, "Ahora no pueden teletrasportarse hacia tu posición.");
- NOTELE[playerid] = 1;
- }
- else
- {
- SendClientMessage(playerid, VERDE, "Ahora si pueden teletrasportarse hacia tu pocisión.");
- NOTELE[playerid] = 0;
- }
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- return 1;
- }
- dcmd_fix(playerid, params[])
- {
- #pragma unused params
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 4)
- {
- if (IsPlayerInAnyVehicle(playerid))
- {
- SetVehicleHealth(GetPlayerVehicleID(playerid),1000.0);
- return SendClientMessage(playerid, VERDE, "Vehículo Reparado.");
- } else return SendClientMessage(playerid, ROJO, "No estás en un vehículo.");
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_moto(playerid,params[]) {
- #pragma unused params
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 1) {
- if(!IsPlayerInAnyVehicle(playerid)) {
- CarSpawner(playerid, 522);
- return SendClientMessage(playerid, NARANJA,"Disfruta de tu nueva moto.");
- } else return SendClientMessage(playerid, ROJO,"Ya estás en un vehiculo.");
- } else return SendClientMessage(playerid, ROJO,"No tienes suficiente nivel.");
- }
- dcmd_auto(playerid,params[]) {
- #pragma unused params
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 1) {
- if(!IsPlayerInAnyVehicle(playerid)) {
- CarSpawner(playerid, 411);
- return SendClientMessage(playerid, NARANJA,"Disfruta de tu nuevo auto.");
- } else return SendClientMessage(playerid, ROJO,"Ya estás en un vehiculo.");
- } else return SendClientMessage(playerid, ROJO,"No tienes suficiente nivel.");
- }
- dcmd_jetpack(playerid, params[])
- {
- #pragma unused params
- new
- id,
- string[128];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 4)
- {
- if(sscanf(params,"d", id))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/Jetpack [id]'");
- }
- if(!IsPlayerConnected(id))
- {
- return SendClientMessage(playerid, ROJO, "Jugador no conectado.");
- }
- format(string, sizeof(string) ,"Le has dado un Jetpack a (%s[%d]).",
- JNombre(id), id);
- SendClientMessage(playerid, Amarillo, string);
- format(string, sizeof(string), "Un Administrador te dio un Jetpack");
- SendClientMessage(id, NARANJA, string);
- SetPlayerSpecialAction(id, 2);
- return 1;
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_curar(playerid, params[])
- {
- new
- id,
- string[128];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 4)
- {
- if(sscanf(params,"d", id))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/curar [id]'");
- }
- if(IsPlayerConnected(id))
- {
- format(string, sizeof(string),"< %s(%d) te curo.", JNombre(playerid), playerid);
- SendClientMessage(id, VERDE, string);
- SetPlayerHealth(id, 100);
- format(string, sizeof(string), "Has curado a %s(%d)", JNombre(id), id);
- return SendClientMessage(playerid, NARANJA, string);
- } else return SendClientMessage(playerid, ROJO, "Jugador no conectado.");
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_blindar(playerid, params[])
- {
- new
- id,
- string[128];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 4)
- {
- if(sscanf(params,"d", id))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/blindar [id]'");
- }
- if(!IsPlayerConnected(id))
- {
- format(string, sizeof(string),"< %s(%d) te dio chaleco.", JNombre(playerid), playerid);
- SendClientMessage(id, VERDE, string);
- SetPlayerArmour(id, 100);
- format(string, sizeof(string), "Has dado chaleco a %s(%d)", JNombre(id), id);
- return SendClientMessage(playerid, NARANJA, string);
- } else return SendClientMessage(playerid, ROJO, "Jugador no conectado.");
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_akill(playerid, params[])
- {
- new
- id,
- string[128];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 4)
- {
- if(sscanf(params,"d", id))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/acha [id]'");
- }
- if(!IsPlayerConnected(id))
- {
- SetPlayerHealth(id, 0.0);
- format(string, sizeof(string), "Has matado a %s(%d)", JNombre(id), id);
- return SendClientMessage(playerid, NARANJA, string);
- } else return SendClientMessage(playerid, ROJO, "Jugador no conectado.");
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_ir(playerid,params[])
- {
- new
- id,
- string[128];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 2)
- {
- if(sscanf(params,"d", id))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/ir [id]'");
- }
- if(!IsPlayerConnected(id))
- {
- return SendClientMessage(playerid, ROJO, "Jugador no conectado.");
- }
- if(NOTELE[playerid] == 1)
- {
- return SendClientMessage(playerid, ROJO, "No puedes teletrasportarte sobre ese jugador.");
- }
- new Float:x, Float:y, Float:z; GetPlayerPos(id,x,y,z); SetPlayerInterior(playerid,GetPlayerInterior(id));
- SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));
- if(GetPlayerState(playerid) == 2)
- {
- SetVehiclePos(GetPlayerVehicleID(playerid),x+5,y,z); LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(id));
- SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(id));
- } else SetPlayerPos(playerid,x+2,y,z);
- format(string,sizeof(string),"Te teletransportaste hacia %s(%d)", JNombre(id), id);
- return SendClientMessage(playerid,NARANJA,string);
- } else return SendClientMessage(playerid, ROJO,"No tienes suficiente nivel.");
- }
- dcmd_traer(playerid,params[])
- {
- new
- id,
- string[128];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 3)
- {
- if(sscanf(params,"d", id))
- {
- return SendClientMessage(playerid, ROJO, "Uso: '/traer [id]'");
- }
- if(!IsPlayerConnected(id))
- {
- return SendClientMessage(playerid, ROJO, "Jugador no conectado.");
- }
- new Float:x, Float:y, Float:z; GetPlayerPos(playerid,x,y,z); SetPlayerInterior(id,GetPlayerInterior(playerid));
- SetPlayerVirtualWorld(id,GetPlayerVirtualWorld(playerid));
- if(GetPlayerState(id) == 2)
- {
- new VehicleID = GetPlayerVehicleID(id);
- SetVehiclePos(VehicleID,x+3,y,z); LinkVehicleToInterior(VehicleID,GetPlayerInterior(playerid));
- SetVehicleVirtualWorld(GetPlayerVehicleID(id),GetPlayerVirtualWorld(playerid));
- } else SetPlayerPos(id,x+2,y,z);
- format(string,sizeof(string),"Has teletransportado a %s(%d) hacia tu posición.", JNombre(id), id);
- return SendClientMessage(playerid,NARANJA,string);
- } else return SendClientMessage(playerid, ROJO,"No tienes suficiente nivel.");
- }
- dcmd_rojo(playerid, params[])
- {
- #pragma unused params
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 5)
- {
- ACOLOR[playerid] = 1;
- COLOR[playerid] = ROJO_ADMIN;
- SetPlayerColor(playerid, ROJO_ADMIN);
- SendClientMessage(playerid, ROJO_ADMIN, "< COLOR ACTIVADO.");
- return 1;
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_azul(playerid, params[])
- {
- #pragma unused params
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 1)
- {
- ACOLOR[playerid] = 1;
- COLOR[playerid] = AZUL_ADMIN;
- SetPlayerColor(playerid, AZUL_ADMIN);
- SendClientMessage(playerid, AZUL_ADMIN, "< COLOR ACTIVADO.");
- return 1;
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_claro(playerid, params[])
- {
- #pragma unused params
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 4)
- {
- ACOLOR[playerid] = 1;
- COLOR[playerid] = CLARO_ADMIN;
- SetPlayerColor(playerid, CLARO_ADMIN);
- SendClientMessage(playerid, CLARO_ADMIN, "< COLOR ACTIVADO.");
- return 1;
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_rosa(playerid, params[])
- {
- #pragma unused params
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 3)
- {
- ACOLOR[playerid] = 1;
- COLOR[playerid] = ROSA_ADMIN;
- SetPlayerColor(playerid, ROSA_ADMIN);
- SendClientMessage(playerid, ROSA_ADMIN, "< COLOR ACTIVADO.");
- return 1;
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_nocolor(playerid, params[])
- {
- #pragma unused params
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 1)
- {
- ACOLOR[playerid] = 0;
- COLOR[playerid] = 0;
- SendClientMessage(playerid, NARANJA, "< COLOR DESACTIVADO.");
- return 1;
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_ip(playerid, params[])
- {
- new
- id,
- tmp[64],
- string[128];
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] >= 1)
- {
- if(sscanf(params,"d", id))
- {
- return SendClientMessage(playerid, ROJO,"Uso: '/ip [id]'");
- }
- if(IsPlayerConnected(id))
- {
- return SendClientMessage(playerid, ROJO,"Jugador no conectado.");
- }
- GetPlayerIp(id, tmp, sizeof(tmp));
- format(string, sizeof(string), "La ip de '%s' es { %s }", JNombre(id), tmp);
- return SendClientMessage(playerid, NARANJA, string);
- } else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- }
- dcmd_ac(playerid,params[])
- {
- #pragma unused params
- if(JInfo[playerid][Nivel] == 0) return SendClientMessage(playerid, BLANCO, "<* COMANDO INVÁLIDO.");
- if(JInfo[playerid][Nivel] == 1)
- {
- SendClientMessage(playerid, 0x00FF66FF, "*------->[COMANDOS DE ADMINS]<-------*");
- SendClientMessage(playerid, ROJOC, "/IP, /Azul, /nocolor, /mute, /desmute, /Notele ");
- SendClientMessage(playerid, Amarillo, "/Auto, /Moto");
- SendClientMessage(playerid, 0x00FF66FF, "*----------->[ADMIN NIVEL (1)]<----------*");
- }
- else if(JInfo[playerid][Nivel]== 2)
- {
- SendClientMessage(playerid, 0x00FF66FF, "*------->[COMANDOS DE ADMINS]<-------*");
- SendClientMessage(playerid, ROJOC, "/IP, /Azul, /nocolor, /mute, /desmute, /Notele ");
- SendClientMessage(playerid, Amarillo, "/Auto, /Moto, /Kick, /Warn, /ir, ");
- SendClientMessage(playerid, 0x00FF66FF, "*----------->[ADMIN NIVEL (2)]<-----------*");
- }
- else if(JInfo[playerid][Nivel]== 3)
- {
- SendClientMessage(playerid, 0x00FF66FF, "*------->[COMANDOS DE ADMINS]<-------*");
- SendClientMessage(playerid, ROJOC, "/IP, /Azul, /nocolor, /mute, /desmute, /Notele ");
- SendClientMessage(playerid, Amarillo, "/Auto, /Moto, /Kick, /Warn, /ir, ");
- SendClientMessage(playerid, ROJOC, "/traer, /Ban, /desbanip, /Rosa, /Lc ");
- SendClientMessage(playerid, 0x00FF66FF, "*---------->[ADMIN NIVEL (3)]<-----------*");
- }
- else if(JInfo[playerid][Nivel]== 4)
- {
- SendClientMessage(playerid, 0x00FF66FF, "*--------->[COMANDOS DE ADMINS]<---------*");
- SendClientMessage(playerid, ROJOC, "/IP, /Azul, /nocolor, /mute, /desmute, /Notele ");
- SendClientMessage(playerid, Amarillo, "/Auto, /Moto, /Kick, /Warn, /ir, ");
- SendClientMessage(playerid, ROJOC, "/traer, /Ban, /desbanip, /Rosa, /Lc ");
- SendClientMessage(playerid, Amarillo, "/Desban, /Bann, /Akill, /Acu, /Acha, Claro");
- SendClientMessage(playerid, ROJOC, "/Fix, /Jetpack,");
- SendClientMessage(playerid, 0x00FF66FF, "*---------->[ADMIN NIVEL (4)]<-----------*");
- }
- else if(JInfo[playerid][Nivel]== 5)
- {
- SendClientMessage(playerid, 0x00FF66FF, "*--------->[COMANDOS DE ADMINS]<-----------*");
- SendClientMessage(playerid, ROJOC, "/IP, /Azul, /nocolor, /mute, /desmute, /Notele ");
- SendClientMessage(playerid, Amarillo, "/Auto, /Moto, /Kick, /Warn, /ir, ");
- SendClientMessage(playerid, ROJOC, "/traer, /Ban, /desbanip, /Rosa, /Lc ");
- SendClientMessage(playerid, Amarillo, "/Desban, /Bann, /Akill, /Acu, /Acha, Claro");
- SendClientMessage(playerid, ROJOC, "/Fix, /Jetpack, /ROJO, /Darnivel");
- SendClientMessage(playerid, 0x00FF66FF, "*---------->[ADMIN NIVEL (5)]<----------*");
- }
- else return SendClientMessage(playerid, ROJO, "No tienes suficiente nivel.");
- return 1;
- }
- dcmd_comandos(playerid,params[])
- {
- #pragma unused params
- SendClientMessage(playerid, 0x00FF66FF, "*---------->[COMANDOS]<----------*");
- SendClientMessage(playerid, ROJOC, "/Registrar [Contraseña], (Para registrarte), /Login [Contraseña],(para Loguearte) /PM [id] [Mensaje] (Mandas un mensaje privado)");
- SendClientMessage(playerid, Amarillo, "PMs(Desactivas los mensajes privados/Activas los mensajes privados), /Skin,(Para elegir y guardar tu skin)");
- SendClientMessage(playerid, ROJOC, "/Reportar [id] [Razón] (Reportar alos cheaters.), /Stats [id] (para ver las stats de un jugador.)");
- SendClientMessage(playerid, 0x00FF66FF, "/Rstats (Reseteas tus estadisticas), /Kill (para suicidarte.)");
- return 1;
- }
- public Jugador(playerid)
- {
- new
- Archivo[64];
- format(Archivo, sizeof(Archivo), "Jugadores/%s.ini", JNombre(playerid));
- dini_IntSet(Archivo, "Nivel", JInfo[playerid][Nivel]);
- dini_IntSet(Archivo, "Asesinatos", JInfo[playerid][Asesinatos]);
- dini_IntSet(Archivo, "Muertes", JInfo[playerid][Muertes]);
- return 1;
- }
- public AdminChat(color,const string[],level)
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if (JInfo[i][Nivel] >= level)
- {
- SendClientMessage(i, color, string);
- }
- }
- }
- return 1;
- }
- public CarSpawner(playerid,model)
- {
- if(IsPlayerInAnyVehicle(playerid)) SendClientMessage(playerid, ROJO, "Ya estás en un vehiculo.");
- else
- {
- new Float:x, Float:y, Float:z, Float:angle;
- GetPlayerPos(playerid, x, y, z);
- GetPlayerFacingAngle(playerid, angle);
- if(JInfo[playerid][pCar] != -1) CarDeleter(JInfo[playerid][pCar]);
- new vehicleid=CreateVehicle(model, x, y, z, angle, -1, -1, -1);
- PutPlayerInVehicle(playerid, vehicleid, 0);
- SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
- LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
- ChangeVehicleColor(vehicleid,0,7);
- JInfo[playerid][pCar] = vehicleid;
- }
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- for(new i=0;i<MAX_PLAYERS;i++)
- {
- if(vehicleid == JInfo[i][pCar])
- {
- CarDeleter(vehicleid);
- JInfo[i][pCar]=-1;
- }
- }
- return 1;
- }
- public CarDeleter(vehicleid)
- {
- for(new i=0;i<MAX_PLAYERS;i++) {
- new Float:X,Float:Y,Float:Z;
- if(IsPlayerInVehicle(i, vehicleid)) {
- RemovePlayerFromVehicle(i);
- GetPlayerPos(i,X,Y,Z);
- SetPlayerPos(i,X,Y+3,Z);
- }
- SetVehicleParamsForPlayer(vehicleid,i,0,1);
- }
- SetTimerEx("VehRes",1500,0,"i",vehicleid);
- }
- stock Registro(playerid, pass[])
- {
- new
- Archivo[64],
- string[128];
- format(Archivo, sizeof(Archivo), "Jugadores/%s.ini", JNombre(playerid));
- if(!dini_Exists(Archivo))
- {
- dini_Create(Archivo);
- dini_Set(Archivo, "Contrasena", pass);
- dini_IntSet(Archivo, "Nivel", 0);
- dini_IntSet(Archivo, "Asesinatos", 0);
- dini_IntSet(Archivo, "Muertes", 0);
- dini_IntSet(Archivo, "Skin", 1);
- dini_IntSet(Archivo, "BAN", 0);
- format(string, sizeof(string), "< Cuenta '%s' registrada. Contrasena: '%s' ", JNombre(playerid), pass);
- SendClientMessage(playerid, NARANJA, string);
- Registrado[playerid] = true;
- SendClientMessage(playerid, Amarillo, "<* Ahora usa '/login [contraseña]'");
- }
- }
- stock Logueo(playerid, pass[])
- {
- new
- Archivo[64],
- string[64];
- format(Archivo, sizeof(Archivo), "Jugadores/%s.ini", JNombre(playerid));
- if(dini_Exists(Archivo))
- {
- if(!strcmp(dini_Get(Archivo, "Contrasena"), pass, false))
- {
- JInfo[playerid][Nivel] = dini_Int(Archivo, "Nivel");
- JInfo[playerid][Asesinatos] = dini_Int(Archivo, "Asesinatos");
- JInfo[playerid][Muertes] = dini_Int(Archivo, "Muertes");
- JInfo[playerid][Skin] = dini_Int(Archivo, "Skin");
- JInfo[playerid][BAN] = dini_Int(Archivo, "BAN");
- Logueado[playerid] = true;
- if(JInfo[playerid][BAN] == 1)
- {
- format(string, sizeof(string), "Tu cuenta \"%s\" está baneada", JNombre(playerid));
- SendClientMessage(playerid, ROJO, string);
- Kick(playerid);
- }
- format(string, sizeof(string), "< Hola \'%s\' te has logueado correctamente.",JNombre(playerid));
- SendClientMessage(playerid, VERDE, string);
- } else SendClientMessage(playerid, ROJO, "<* Contraseña Incorrecta.");
- }
- }
- stock ResetearEstadisticas(playerid)
- {
- new
- Archivo[64],
- string[64];
- format(Archivo, sizeof(Archivo), "Jugadores/%s.ini", JNombre(playerid));
- dini_IntSet(Archivo, "Asesinatos", 0);
- dini_IntSet(Archivo, "Muertes", 0);
- format(string, sizeof(string), "<* '%s' Reseteaste tus estadisticas.", JNombre(playerid));
- SendClientMessage(playerid, NARANJA, string);
- PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
- return 1;
- }
- stock Contrasena(playerid, pass[])
- {
- new
- Archivo[MAX_PLAYERS],
- string[128];
- format(Archivo, sizeof(Archivo), "Jugadores/%s.ini", JNombre(playerid));
- if(dini_Exists(Archivo))
- {
- dini_Create(Archivo);
- dini_Set(Archivo, "Contrasena", pass);
- format(string, sizeof(string), "< Cambiaste tu contraseña por '%s'.", pass);
- SendClientMessage(playerid, NARANJA, string);
- PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
- }
- return 1;
- }
- stock BANJ(playerid, id, JNick[], Razon[])
- {
- new
- string[128];
- if(Logueado[id] == true)
- {
- JInfo[playerid][BAN] = 1;
- SendClientMessage(id, NARANJA, "Fuiste baneado del servidor ya no podras entrar con está cuenta.");
- }
- format(string, sizeof(string), "<* %s(%d) Fue baneado por un Admin. Razón: %s", JNick, id, Razon);
- SendClientMessageToAll(ROJO, string);
- BanEx(id, Razon);
- }
- stock JNombre(playerid)
- {
- new
- Nick[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Nick, sizeof Nick);
- return Nick;
- }
- stock IsValidSkin(SkinID)
- {
- if((SkinID == 217)||(SkinID == 21)||(SkinID >= 24 && SkinID <= 28)||(SkinID >= 29 && SkinID <= 30)||(SkinID >= 67 && SkinID <= 168)||(SkinID >= 182 && SkinID <= 207)||(SkinID >= 211 && SkinID <= 221)||(SkinID >= 242 && SkinID <= 296)||(SkinID >= 290 && SkinID <= 294)||(SkinID >= 225 && SkinID <= 290)||(SkinID >= 264 && SkinID <= 284)||(SkinID >= 241 && SkinID <= 241)) return true;
- else return false;
- }
- stock sscanf(string[], format[], {Float,_}:...)
- {
- #if defined isnull
- if (isnull(string))
- #else
- if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
- #endif
- {
- return format[0];
- }
- #pragma tabsize 4
- new
- formatPos = 0,
- stringPos = 0,
- paramPos = 2,
- paramCount = numargs(),
- delim = ' ';
- while (string[stringPos] && string[stringPos] <= ' ')
- {
- stringPos++;
- }
- while (paramPos < paramCount && string[stringPos])
- {
- switch (format[formatPos++])
- {
- case '\0':
- {
- return 0;
- }
- case 'i', 'd':
- {
- new
- neg = 1,
- num = 0,
- ch = string[stringPos];
- if (ch == '-')
- {
- neg = -1;
- ch = string[++stringPos];
- }
- do
- {
- stringPos++;
- if ('0' <= ch <= '9')
- {
- num = (num * 10) + (ch - '0');
- }
- else
- {
- return -1;
- }
- }
- while ((ch = string[stringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num * neg);
- }
- case 'h', 'x':
- {
- new
- num = 0,
- ch = string[stringPos];
- do
- {
- stringPos++;
- switch (ch)
- {
- case 'x', 'X':
- {
- num = 0;
- continue;
- }
- case '0' .. '9':
- {
- num = (num << 4) | (ch - '0');
- }
- case 'a' .. 'f':
- {
- num = (num << 4) | (ch - ('a' - 10));
- }
- case 'A' .. 'F':
- {
- num = (num << 4) | (ch - ('A' - 10));
- }
- default:
- {
- return -1;
- }
- }
- }
- while ((ch = string[stringPos]) > ' ' && ch != delim);
- setarg(paramPos, 0, num);
- }
- case 'c':
- {
- setarg(paramPos, 0, string[stringPos++]);
- }
- case 'f':
- {
- setarg(paramPos, 0, _:floatstr(string[stringPos]));
- }
- case 'p':
- {
- delim = format[formatPos++];
- continue;
- }
- case '\'':
- {
- new
- end = formatPos - 1,
- ch;
- while ((ch = format[++end]) && ch != '\'') {}
- if (!ch)
- {
- return -1;
- }
- format[end] = '\0';
- if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
- {
- if (format[end + 1])
- {
- return -1;
- }
- return 0;
- }
- format[end] = '\'';
- stringPos = ch + (end - formatPos);
- formatPos = end + 1;
- }
- case 'u':
- {
- new
- end = stringPos - 1,
- id = 0,
- bool:num = true,
- ch;
- while ((ch = string[++end]) && ch != delim)
- {
- if (num)
- {
- if ('0' <= ch <= '9')
- {
- id = (id * 10) + (ch - '0');
- }
- else
- {
- num = false;
- }
- }
- }
- if (num && IsPlayerConnected(id))
- {
- setarg(paramPos, 0, id);
- }
- else
- {
- #if !defined foreach
- #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
- #define __SSCANF_FOREACH__
- #endif
- string[end] = '\0';
- num = false;
- new
- name[MAX_PLAYER_NAME];
- id = end - stringPos;
- foreach (Player, playerid)
- {
- GetPlayerName(playerid, name, sizeof (name));
- if (!strcmp(name, string[stringPos], true, id))
- {
- setarg(paramPos, 0, playerid);
- num = true;
- break;
- }
- }
- if (!num)
- {
- setarg(paramPos, 0, INVALID_PLAYER_ID);
- }
- string[end] = ch;
- #if defined __SSCANF_FOREACH__
- #undef foreach
- #undef __SSCANF_FOREACH__
- #endif
- }
- stringPos = end;
- }
- case 's', 'z':
- {
- new
- i = 0,
- ch;
- if (format[formatPos])
- {
- while ((ch = string[stringPos++]) && ch != delim)
- {
- setarg(paramPos, i++, ch);
- }
- if (!i)
- {
- return -1;
- }
- }
- else
- {
- while ((ch = string[stringPos++]))
- {
- setarg(paramPos, i++, ch);
- }
- }
- stringPos--;
- setarg(paramPos, i, '\0');
- }
- default:
- {
- continue;
- }
- }
- while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
- {
- stringPos++;
- }
- while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
- {
- stringPos++;
- }
- paramPos++;
- }
- do
- {
- if ((delim = format[formatPos++]) > ' ')
- {
- if (delim == '\'')
- {
- while ((delim = format[formatPos++]) && delim != '\'') {}
- }
- else if (delim != 'z')
- {
- return delim;
- }
- }
- }
- while (delim > ' ');
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement