23.01.2010, 02:30
(
Последний раз редактировалось TheChaoz; 16.04.2012 в 20:31.
Причина: Tutorial tag added
)
Como muchos habran notado, podemos usar SendClientMessage(playerid, color, texto[]) para hacer que aparescan menseajes en el chat de tu servidor, pero muchas veces queremos que estos mesajes contengan algo mбs de lo que ponemos en el script o cуdigo, es decir, algun valor o texto que pueda cambiar sin tener que cambiar nada en en script manualmente.
Lograr esto es verdaderamente simple y no necesitan descargar ni incluir nada, ya que viene incluido internamente en el paquete de sa-mp. A continuaciуn, un paso a paso de como lograr esto y algunos tips para hacerlo de una forma mбs facil.
їQuй necesitamos?
.Una variable que pueda contener el valor que queramos introducir en nuestro mensajes:
.El valor que queramos incluir en el mensaje en forma de variable, la cual mostraremos mбs adelante.
Ejemplo:
Supongamos que queremos crear un mensaje el cual se mostrara cuando el jugador entre o salga, vamos a los callbacks:
Antes de comenzar debemos tener en mente lo siguiente:
Fundamentalmente lo que hacemos es utilizar format para darle formato a un mensaje, pudiendole el valor (ya definido) que nos de la gana.
Otro ejemplo:
Tambiйn podemos hacer esto:
El punto es, podemos poner valores dentro de nuestros mensajes y estos valores pueden cambiar y seguir siendo mostrados!
Lograr esto es verdaderamente simple y no necesitan descargar ni incluir nada, ya que viene incluido internamente en el paquete de sa-mp. A continuaciуn, un paso a paso de como lograr esto y algunos tips para hacerlo de una forma mбs facil.
їQuй necesitamos?
.Una variable que pueda contener el valor que queramos introducir en nuestro mensajes:
pawn Код:
new string[]; // creamos una variable llamada "string", por ahora no voy a especificar el valor ya que hay que calcularlo antes de ponerlo.
Ejemplo:
Supongamos que queremos crear un mensaje el cual se mostrara cuando el jugador entre o salga, vamos a los callbacks:
pawn Код:
public OnPlayerConnect(playerid)
{
return 1;
}
pawn Код:
public OnPlayerDiscconect(playerid, reason)
{
return 1;
}
- %d == Nъmero entero (-1, 2, 5, -6, 100, etc).
- %s == String ("hola", "Miguel", "asjsfhla", etc).
- %f == Float (2.1457, 4584.2242, 1.1, 6.447, etc).
pawn Код:
public OnPlayerConnect(playerid)
{
new
name[24], // aqui vamos a guardar el nombre del jugador
string[60]; // aqui es donde vamos a guardar la suma del mensaje y el nombre del jugador (35 (mesaje) + 24 (name) + 1 (playerid)) + 1
GetPlayerName(playerid, name, sizeof(name)); // aqui buscamos el nombre del jugador que entra al servidor, y lo guardamos en la variable "name"
format(string, sizeof(string), "*** %s (ID:%d) ha entrado al servidor!", name, playerid); // creamos un mensaje y le agregamos los valores name y playerid
/*%s y %d se sustituiran por los valores que estan en despuйs de la ъltima coma (name y playerid)*/
/*%s == name (%s porque es un string), %d == playerid(%d porque playerid es un nъmero entero)*/
SendClientMessageToAll(COLOR, string); // mandamos el mensaje con los valores a todos los jugadores
return 1;
}
Otro ejemplo:
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
new
string[52],
name[24];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "*** %s ha dejado el servidor!", name);
SendClientMessageToAll(COLOR, string);
return 1;
}
pawn Код:
#define VALOR 15
#define MENSAJE "Hola"
pawn Код:
new string[35];
format(string, sizeof(string), "%s nъmero %d!", MENSAJE, VALOR);
SendClientMessageToAll(COLOR, string);
// retornarб "Hola nъmero 5!"