por 4L3X Lun Mar 25, 2013 7:15 pm
Balalaika escribió: 4L3X escribió:elimina esto:
- Código:
new string[567];
new sendername[70];
Me sirvió, pero... Como hago que un admin pueda mutear a un usuario solo por el /chat?.
Y Como hago para que espere 30 Segundo para envie otro mensaje por el /Chat?.
Espero que me respondas algunas de esas.
Bueno, para realizar la funcion de mute desde admin necesito saber 2 cosas, primero necesito saber si el:
- Código:
PlayerInfo[playerid][pAdmin]
existe en tu gamemode, y tambien esto:
- Código:
PlayerInfo[playerid][pMuted]
y lo de los 30 segundos es muy simple, vas donde los
NEW's y pegas esto:
- Código:
new ResCHATcmd[MAX_PLAYERS];
despues vas al final del gamemode y pegas esto:
- Código:
forward rescmdchat()
{
for(new i; i < MAX_PLAYERS; i++)
{
if(ResCHATcmd[i] != 0)
{
ResCHATcmd[i] -= 1;
}
}
return 1;
}
despues tienes que agregar este codigo en
OnGameModeInit, si no sabes donde se cuentra dicha funcion presiona
CONTROL+F para realizar busquedas.
- Código:
SetTimer("rescmdchat", 1000, 1);
una vez puesto el timer anterior ahora tienes que agregar una ultima cosita al comando y es esto (Yo te lo dare ya todo echo xD):
- Código:
ResCHATcmd[playerid] = 7; //el 7 es el tiempo en segundos que tendra que esperar para volver a utilizar el comando
y aqui el comando con el timer:
- Código:
if(strcmp(cmd, "/chat", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new string[567];
new sendername[70];
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /b [local ooc chat]");
return 1;
}
format(string, sizeof(string), "(CHAT ([%i] %s) DICE: %s )", playerid, sendername, result);
printf("%s", string);
ResCHATcmd[i] = 7;
return SendClientMessageToAll(-1, string);
}
return 1;
}
espero que te sirva