Ayuda Comando / Sayon
#1

Ola hise un comando pero me sale un bug
miren esta foto




Como podran ver cuando escrivo
/say on
sale lo de mensaje say activado
pero cuando hablo normal
no sale mi nombre D:

Y sale dos veses el mensjae en azul y el de normal
como puedo solucionar esto aki estan los codigos

Код:
public OnPlayerText(playerid, text[])
{
 if(PlayerInfo[playerid][Tsay] == 1) 
  {
    new string[128]; format(string,sizeof(string),"%s: %s",string,text[1]);
    SendClientMessageToAll(azul,string);
    }
  else 
  {
 }
return 1;
}
Y esto

Код:
dcmd_sayon(playerid, params[])
{
  #pragma unused params
  if(PlayerInfo[playerid][Level] >= 5) //Esto chequea/revisa si el jugador es Administrador y su nivel
  {
    PlayerInfo[playerid][Tsay] = 1;  //Esto activa /Say
    SendClientMessage(playerid, rojo, "Comando /Say activado."); //El mensaje de informaciуn para el jugador de que /say estб activado
  } else {
  SendClientMessage(playerid, rojo,"< ERROR > Tu nivel no es lo suficientemente alto como para usar este comando.");  //Si no es administrador/nivel alto
  }
  return 1;
}

//Desactivamos
dcmd_sayoff(playerid, params[])
{
  #pragma unused params
  if(PlayerInfo[playerid][Level] >= 5) //Revisa nivel
  {
    PlayerInfo[playerid][Tsay] = 0; //Desactiva /Say
    SendClientMessage(playerid, rojo, "Comando /Say desactivado."); //Mensaje de info
  } else {
  SendClientMessage(playerid, rojo,"**ERROR: Tu nivel no es lo suficientemente alto como para usar este comando."); //Si no es administrador/nivel alto
  }
  return 1;
}
Cual es el error??

Aui esta de vuelta la foto



Reply
#2

Proba de esta manera, supongo q tiene q funcionar
pawn Код:
public OnPlayerText(playerid, text[])
{
 new Nombre[MAX_PLAYER_NAME];
 GetPlayerName(playerid, Nombre, MAX_PLAYER_NAME);
 if(PlayerInfo[playerid][Tsay] == 1)
  {
    new string[128];
    format(string,sizeof(string),"%s: %s",Nombre,text[1]);
    if(IsPlayerConnected(playerid))
    {
     SendClientMessage(playerid,azul,string);
    }
  }
 return 1;
}
Y el otro dejalo como esta:
pawn Код:
dcmd_sayon(playerid, params[])
{
  #pragma unused params
  if(PlayerInfo[playerid][Level] >= 5) //Esto chequea/revisa si el jugador es Administrador y su nivel
  {
    PlayerInfo[playerid][Tsay] = 1;  //Esto activa /Say
    SendClientMessage(playerid, rojo, "Comando /Say activado."); //El mensaje de informaciуn para el jugador de que /say estб activado
  } else {
  SendClientMessage(playerid, rojo,"< ERROR > Tu nivel no es lo suficientemente alto como para usar este comando.");  //Si no es administrador/nivel alto
  }
  return 1;
}

//Desactivamos
dcmd_sayoff(playerid, params[])
{
  #pragma unused params
  if(PlayerInfo[playerid][Level] >= 5) //Revisa nivel
  {
    PlayerInfo[playerid][Tsay] = 0; //Desactiva /Say
    SendClientMessage(playerid, rojo, "Comando /Say desactivado."); //Mensaje de info
  } else {
  SendClientMessage(playerid, rojo,"**ERROR: Tu nivel no es lo suficientemente alto como para usar este comando."); //Si no es administrador/nivel alto
  }
  return 1;
}
Yo creo q asi tenia q funcionar sino avisame y lo pruebo yo aver q onda

salu2
Reply
#3

ps ya sale el nombre del admin ese de
coneccionmex:
pero salen dos :S
y ese come una letra xD
pongo:
hola
y sale
ola
mira
unas fotos




Como le arregloЎї
Reply
#4

pawn Код:
public OnPlayerText(playerid, text[])
{
 new Nombre[MAX_PLAYER_NAME];
 GetPlayerName(playerid, Nombre, MAX_PLAYER_NAME);
 if(PlayerInfo[playerid][Tsay] == 1)
  {
    new string[128];
    format(string,sizeof(string),"%s: %s",Nombre,text);
    if(IsPlayerConnected(playerid))
    {
     SendClientMessage(playerid,azul,string);
    }
    return 0;
  }
 return 1;
}
eso tendria que solucionar lo de que sale 2 veces y que se "come" una letra
Reply
#5

Gracias The Chaoz
Me sirvio
y arreglo el problema
te devo una


CIERREN EL TEMA SI QUIEREN XXD
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)