Ayuda comando funciona a medias
#1

Hola bueno pase algunos comandos de strcmp a CMD: pero no funcionan como deberian osea yo pongo por ejemplo /b texto y me sale el sendclientMessage con la forma de uso dejo cmds:
Код:
CMD:b(playerid, params[])
{
 		if(IsPlayerConnected(playerid))
		{
		new TextoMe[128], jugador[MAX_PLAYER_NAME];
		if(sscanf(params, "s[128]", TextoMe)) return SendClientMessage(playerid, COLOR_YELLOW, "Por favor usa {DBED15}/b texto{FFFFFF}, por ejemplo: {DBED15}/b que comando era para entrar en las propiedades?.{FFFFFF}");
		GetPlayerName(playerid, jugador, sizeof(jugador));
		format(TextoMe, sizeof(TextoMe), "* %s %s", jugador, TextoMe);
		ProxDetector(30.0, playerid, TextoMe ,Hablar,Hablar2,Hablar3,Hablar4,Hablar5);
		printf("%s", TextoMe);
		}
		return 1;
Код:
CMD:me(playerid, params[])return cmd_me(playerid, params);
CMD:ame(playerid, params[])
{
	if(IsPlayerConnected(playerid))
	{
		new TextoMe[128], jugador[MAX_PLAYER_NAME];
		if(sscanf(params, "s[128]", TextoMe)) return SendClientMessage(playerid, COLOR_YELLOW, "/me [accion] o /ame [accion]");
		GetPlayerName(playerid, jugador, sizeof(jugador));
  		format(TextoMe, sizeof(TextoMe), "* %s %s", jugador, TextoMe);
		ProxDetector(30.0, playerid, TextoMe, Rol, Rol, Rol, Rol, Rol);
		printf("%s", TextoMe);
	}
  	return 1;
}
Reply
#2

Quote:
Originally Posted by Jeree10
Посмотреть сообщение
Hola bueno pase algunos comandos de strcmp a CMD: pero no funcionan como deberian osea yo pongo por ejemplo /b texto y me sale el sendclientMessage con la forma de uso dejo cmds:
Код:
CMD:b(playerid, params[])
{
 		if(IsPlayerConnected(playerid))
		{
		new TextoMe[128], jugador[MAX_PLAYER_NAME];
		if(sscanf(params, "s[128]", TextoMe)) return SendClientMessage(playerid, COLOR_YELLOW, "Por favor usa {DBED15}/b texto{FFFFFF}, por ejemplo: {DBED15}/b que comando era para entrar en las propiedades?.{FFFFFF}");
		GetPlayerName(playerid, jugador, sizeof(jugador));
		format(TextoMe, sizeof(TextoMe), "* %s %s", jugador, TextoMe);
		ProxDetector(30.0, playerid, TextoMe ,Hablar,Hablar2,Hablar3,Hablar4,Hablar5);
		printf("%s", TextoMe);
		}
		return 1;
Код:
CMD:me(playerid, params[])return cmd_me(playerid, params);
CMD:ame(playerid, params[])
{
	if(IsPlayerConnected(playerid))
	{
		new TextoMe[128], jugador[MAX_PLAYER_NAME];
		if(sscanf(params, "s[128]", TextoMe)) return SendClientMessage(playerid, COLOR_YELLOW, "/me [accion] o /ame [accion]");
		GetPlayerName(playerid, jugador, sizeof(jugador));
  		format(TextoMe, sizeof(TextoMe), "* %s %s", jugador, TextoMe);
		ProxDetector(30.0, playerid, TextoMe, Rol, Rol, Rol, Rol, Rol);
		printf("%s", TextoMe);
	}
  	return 1;
}
el problema estб en que TextoMe lo usas para el parбmetro y tambiйn lo usas para el mensaje que mostrarб al jugador (string). Te recomiendo usar 'params' para no crear una variable aparte para cada parбmetro...

pawn Код:
CMD:b(playerid, params[])
{
    new TextoMe[144], jugador[MAX_PLAYER_NAME];
    if(sscanf(params, "s[128]", params[0])) return SendClientMessage(playerid, COLOR_YELLOW, "Por favor usa {DBED15}/b texto{FFFFFF}, por ejemplo: {DBED15}/b que comando era para entrar en las propiedades?.{FFFFFF}");
    GetPlayerName(playerid, jugador, sizeof(jugador));
    format(TextoMe, sizeof(TextoMe), "* %s %s", jugador, params[0]);
    ProxDetector(30.0, playerid, TextoMe ,Hablar,Hablar2,Hablar3,Hablar4,Hablar5);
    printf("%s", TextoMe);
    return 1;
}

CMD:me(playerid, params[])return cmd_me(playerid, params);
CMD:ame(playerid, params[])
{
    new TextoMe[144], jugador[MAX_PLAYER_NAME];
    if(sscanf(params, "s[128]", params[0])) return SendClientMessage(playerid, COLOR_YELLOW, "/me [accion] o /ame [accion]");
    GetPlayerName(playerid, jugador, sizeof(jugador));
    format(TextoMe, sizeof(TextoMe), "* %s %s", jugador, params[0]);
    ProxDetector(30.0, playerid, TextoMe, Rol, Rol, Rol, Rol, Rol);
    printf("%s", TextoMe);
    return 1;
}
otra cosa, para que chequear si el jugador que ejecuta el comando estб conectado? no hay forma que un jugador desconectado lo haga

EDIT:

pawn Код:
CMD:me(playerid, params[])return cmd_me(playerid, params);
supongo que lo que quieres hacer es que al usar /me haga la misma funciуn que al usar /ame entonces serнa
pawn Код:
CMD:me(playerid, params[])return cmd_ame(playerid, params);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)