[Duda] CMD Posicion
#1

Buenas, que tal.. Estoy intentando hacer un comando simple(NO TANTO PARA MI ) para ir aprendiendo pawn.
Lo que quiero hacer es que al escribir el cmd /posicion dentro del juego, me devuelva un mensaje con las coordenadas en donde estoy.

Lo que hize fue:
Код:
CMD:posicion(playerid, params[])
{
   new Float:x,Float:y,Float:z,string[32];
   GetPlayerPos(playerid, x, y, z);
   format(string, sizeof(string), "Las coordenadas son %i:%i:%i.", x, y, z);
   SendClientMessage(playerid, -1, string);
  }
Y solo me devuelve lo que seria X.

Graciaas, saludos.
Reply
#2

El problema es que estбs imprimiendo los valores float como enteros, osea, %i у %d son para enteros y lo que es %f es para floats.

Serнa:

format(string, sizeof(string), "Las coordenadas son %f:%f:%f.", x, y, z);

Si sale incompleto el mensaje es porque debes aumentar el valor de la variable string.
Reply
#3

Graciaas!! LatinZ ahн hice lo que me dijiste y me funciono bien. Tuve que cambiar el orden del string igual sino me seguнa dando el valor de X nada mas, nose por que.
Me quedo asi:

Код:
CMD:posicion(playerid, params[])
{
   new string[128],Float:x,Float:y,Float:z;
   GetPlayerPos(playerid, x, y, z);
   format(string, sizeof(string), "Las coordenadas son %f:%f:%f.", x, y, z);
   SendClientMessage(playerid, -1, string);
  }
Reply
#4

El orden de los factores no altera el producto, en йste caso, la definiciуn de las variables.

Acб tienes otro mйtodo para definir ya sea las coordenadas X, Y, Z.

Код:
CMD:posicion(playerid, params[])
{
   new string[128], Float:pos[3];
   GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
   format(string, sizeof(string), "Las coordenadas son %f:%f:%f.", pos[0], pos[1], pos[2]);
   SendClientMessage(playerid, -1, string);
}
Ese mйtodo lo veo mбs ordenado, y es el que uso...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)