Buenas, acá otra vez Fagrinht,esta vez les vengo a enseñar como hacer el canal /n, al decir canal /n muchos ya saben de que servidor es, bueno si lo saben no lo comenten acá ni nada, ya seria "Spam" creo, hago esto porqué veo muchos Gamemodes que tienen copias baratas de ese canal ( Sin Ofender ) osea, el canal de dudas es muy feo, acá e visto que enseñaron a como hacerlo 2 veces, uno era todo Blanco sin color ni nada y otro era el que todos usan actualmente, uno azul que cuando lo usas dice "Newbie" o algo así, bueno acá les vengo a traer uno mas presentable para su disfrute,este es mi primer tutorial, espero que lo haga bien, bueno comenzamos, antes que todo quiero dejar una foto del producto:
El canal de dudas dice tu Nivel y ID,el canal de dudas detecta "Ayudante" "Moderador" "Admin", si no eres ninguno de esos solo te dirá tu nivel como en la foto, no pongo foto de lo demás osea el Ayudante y eso porqué no tengo mucho tiempo disponible para hacer eso, prefiero que ustedes lo vean ya cuando tenga el Canal de Dudas en su servidor, ahora vamos a como ponerlo, espero que les sirva.
Definimos los News
Vamos a Callback llamado OnPlayerConnect, luego ponemos esto:
Ahora el comando /n
Comando para Mutear
Comando para Activar/Desactivar "Los Usuarios" ( Para que los usuarios no vean las dudas, este CMD lo ponen ellos si se aburrieron de ver las dudas o van hacer un rol )
Comando para un un Admin Active/Desactive el canal de dudas ( Con esto nadie podrá usar el canal de dudas asta que lo active el admin, eso lo usan si hacen mucho mal uso del canal )
Acá por si lo quieren así, le dejo esta otra "Versión" por así decirlo, así como este:
Aclaro que esta versión no tiene tantas cosas como la de arriba, solo dice nivel y eso normal, no dice si sos ayudante,mod o admin, espero que no les moleste, luego cuando tenga tiempo la pongo como la de arriba.
Como este es mi primer Tutorial creo que me faltaron cosas, si alguno ve que me falto algo primero díganme que me falta y no me critiquen, espero que les guste.
El canal de dudas dice tu Nivel y ID,el canal de dudas detecta "Ayudante" "Moderador" "Admin", si no eres ninguno de esos solo te dirá tu nivel como en la foto, no pongo foto de lo demás osea el Ayudante y eso porqué no tengo mucho tiempo disponible para hacer eso, prefiero que ustedes lo vean ya cuando tenga el Canal de Dudas en su servidor, ahora vamos a como ponerlo, espero que les sirva.
Definimos los News
- Código:
new PlayerDuda[MAX_PLAYERS];
Vamos a Callback llamado OnPlayerConnect, luego ponemos esto:
- Código:
PlayerDuda[playerid] = 0;
Ahora el comando /n
- Código:
CMD:n(playerid, params[])
{
if(gPlayerLogged{playerid} == 0) return SendClientMessageEx(playerid, COLOR_GREY, "No estás logeado correctamente.");
if(Info[playerid][pTut] == 0) return SendClientMessageEx(playerid, COLOR_GREY, "No puedes usar este comando en el tutorial.");
if ((nonewbie) && Info[playerid][pAdminZC] < 2) return SendClientMessageEx(playerid, COLOR_GRAD2, "El canal de ayuda está desactivado por un administrador!");
if(Info[playerid][pNMute] == 1) return SendClientMessageEx(playerid, COLOR_GREY, "Estás silenciado del canal de ayuda, espera %d segundos.", NewbieTimer[playerid]);
new string[128];
if(NewbieTimer[playerid] > 0)
{
format(string, sizeof(string), "Debes esperar %d segundos para volver a hablar por el canal de ayuda.", NewbieTimer[playerid]);
SendClientMessageEx(playerid, COLOR_GREY, string);
return 1;
}
if(gNewbie[playerid]==1) return SendClientMessageEx(playerid, COLOR_GREY, "Tienes el canal apagado, /togduda para re-habilitarlo!");
if(isnull(params)) return SendClientMessageEx(playerid, COLOR_WHITE, "USA: /n [Texto]");
if(isnumeric(params)) return SendClientMessageEx(playerid, COLOR_GRAD1, "ERROR: No se puede enviar números por este canal.");
if(Info[playerid][pHelper]<1 && Info[playerid][pAdminZC] < 2)
{
NewbieTimer[playerid] = 50;
}
else if(Info[playerid][pHelper]==1&&Info[playerid][pAdminZC] < 2)
{
NewbieTimer[playerid] = 15;
}
else if(Info[playerid][pAdminZC] == 1)
{
NewbieTimer[playerid] = 15;
}
else if(Info[playerid][pHelper] >= 2 && Info[playerid][pAdminZC] < 2)
{
NewbieTimer[playerid] = 10;
}
if(Info[playerid][pHelper]<1&&Info[playerid][pAdminZC]<1)
{
format(string, sizeof(string), "{0082D0}((Canal de Dudas [/n])) [Nivel: %d] %s(%d): {FFFFFF}%s", Info[playerid][pLevel],GetPlayerNameEx(playerid),playerid, params);
}
if(Info[playerid][pHelper] == 1&& Info[playerid][pAdminZC]<2)
{
format(string, sizeof(string), "{0082D0}((Canal de Dudas [/n])) [Ayudante] %s(%d): {FFFFFF}%s", GetPlayerNameEx(playerid),playerid, params);
}
if(Info[playerid][pAdminZC] == 1)
{
format(string, sizeof(string), "{0082D0}((Canal de Dudas [/n])) [Moderador] %s(%d): {FFFFFF}%s", GetPlayerNameEx(playerid),playerid, params);
}
if(Info[playerid][pHelper] == 2 && Info[playerid][pAdminZC]< 2)
{
format(string, sizeof(string), "{0082D0}((Canal de Dudas [/n])) [Moderador] %s(%d): {FFFFFF}%s", GetPlayerNameEx(playerid),playerid, params);
}
if(Info[playerid][pAdminZC] >= 2)
{
format(string, sizeof(string), "{0082D0}((Canal de Dudas [/n])) [ADM] %s(%d): {FFFFFF}%s", GetPlayerNameEx(playerid),playerid, params);
}
if(Info[playerid][pAdminZC] >= 99999)
{
format(string, sizeof(string), "{0082D0}((Canal de Dudas [/n])) [ADM] %s(%d): {FFFFFF}%s", GetPlayerNameEx(playerid),playerid, params);
}
foreach(Player, n)
{
if (gNewbie[n] == 0)
{
SendClientMessageEx(n, COLOR_NEWBIE, string);
}
}
return 1;
}
Comando para Mutear
- Código:
zcmd(nmute, playerid, params[])
{
new giveplayerid;
if(Info[playerid][pAdminZC] < 1 &&Info[playerid][pHelper] < 1) return SendClientMessageEx(playerid, COLOR_GRAD2, "¡No puedes usar este comando!");
if(!sscanf(params, "d", giveplayerid))
{
if(!IsPlayerConnected(giveplayerid)) return SendClientMessageEx(playerid, COLOR_GRAD2, "Esa ID es inválida.");
if(Info[giveplayerid][pAdminZC] >= 1)
{
return SendClientMessageEx(playerid, COLOR_LIGHTRED, "No puedes /nmute a administradores.");
}
if(Info[giveplayerid][pNMute] == 0)
{
new string[128];
Info[giveplayerid][pNMute] = 1;
NewbieTimer[giveplayerid] = 300000;
Info[giveplayerid][pNMuteTotal]++;
if(Info[giveplayerid][pNMuteTotal] == 30)
{
Info[giveplayerid][pBannedZC] = 2;
format(string, sizeof(string), "AdmCmd: %s fue Kickeado automaticamente - Razón: 30 Newbie Muted en Total.", GetPlayerNameEx(giveplayerid));
BroadCast(COLOR_LIGHTRED,string);
Kick(giveplayerid);
return 1;
}
format(string, sizeof(string), "* %s te ha silenciado del canal de ayuda por 5 minutos, razón: Mal uso del canal",GetPlayerNameEx(playerid));
SendClientMessageEx(giveplayerid,COLOR_LIGHTRED,string);
foreach(Player, n)
{
if (gNewbie[n] == 0 || Info[n][pNMute] == 0)
{
format(string, sizeof(string), "AdmCmdExe: %s ha silenciado del canal de ayuda a %s por 5 minutos, razón: Mal uso del canal",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
SendClientMessageEx(n, COLOR_LIGHTRED, string);
}
}
SetTimerEx("NewbieUnMuted", 300000, 0, "d", giveplayerid);
}
} else SendClientMessageEx(playerid, COLOR_GRAD2, "* /nmute <PlayerID>");
return 1;
}
Comando para Activar/Desactivar "Los Usuarios" ( Para que los usuarios no vean las dudas, este CMD lo ponen ellos si se aburrieron de ver las dudas o van hacer un rol )
- Código:
CMD:togduda(playerid, params[])
{
if (!gNewbie[playerid]){
gNewbie[playerid] = 1;
SendClientMessageEx(playerid, COLOR_GRAD2, "Deshabilitaste el canal de ayuda.");
}
else{
gNewbie[playerid] = 0;
SendClientMessageEx(playerid, COLOR_GRAD2, "Habilitaste el canal de ayuda.");
}
return 1;
}
Comando para un un Admin Active/Desactive el canal de dudas ( Con esto nadie podrá usar el canal de dudas asta que lo active el admin, eso lo usan si hacen mucho mal uso del canal )
- Código:
CMD:nocanal(playerid, params[])
{
if(Info[playerid][pAdminZC] >= 1338 ||Info[playerid][pHelper] >= 4)
{
if (!nonewbie){
nonewbie = 1;
BroadCast(COLOR_GENERAL, "CMD: El canal de ayuda fue deshabilitado por un administrador/ayudante !");
}
else{
nonewbie = 0;
BroadCast(COLOR_GENERAL, "CMD: El canal de ayuda fue habilitado por un administrador/ayudante !");
}
}
else return SendClientMessageEx(playerid, COLOR_GRAD1, "No puedes usar este comando!");
return 1;
}
Acá por si lo quieren así, le dejo esta otra "Versión" por así decirlo, así como este:
Aclaro que esta versión no tiene tantas cosas como la de arriba, solo dice nivel y eso normal, no dice si sos ayudante,mod o admin, espero que no les moleste, luego cuando tenga tiempo la pongo como la de arriba.
- Código:
CMD:n(playerid, params[])
{
if(!isnull(params))
{
new string[300];
if(DudaOff[playerid] == 1) return SendClientMessage(playerid, COLOR_GRIS, "Sólo puedes usar el comando cada 30 segundos.");
format(string, sizeof(string), "{009999}({009999}{009966}Canal /n{009999}){009999} [Nivel %d]{009999} %s {009999}(%d){009999}: %s", GetPlayerScore(playerid), Jugador(playerid),playerid,params);
SendClientMessageToAll(0x00999900,string);
DudaOff[playerid] = 1;
SetTimerEx("DudaOn",30000,0,"d",playerid); // Tiempo en milisegundos (30000 milisegundos = 30 segundos)
}
else SendClientMessage(playerid, COLOR_BLANCO, "{0079C9}Usa {FFFFFF}/n (Texto){0079C9} para preguntar."); // Cuando usa el comando se le setea a 1 y hace que no pueda usarlo
return 1;
}
forward DudaOn(playerid);
public DudaOn(playerid)
{
DudaOff[playerid] = 0;
return 1;
}
Como este es mi primer Tutorial creo que me faltaron cosas, si alguno ve que me falto algo primero díganme que me falta y no me critiquen, espero que les guste.