PDA

Просмотр полной версии : [Вопрос] Проблема с созданием команды вывода координат



eRC
01.10.2015, 02:22
Всем доброго времени суток. Нужна помощь. Делаю команду для вывода координат вирт. мира и интерьера в чат.
Вот такой код на данный момент:

CMD:coord(playerid)
{
if(PlayerLogged[playerid] == 0) return true;
if(PlayerInfo[playerid][pAdminDuty] == 0) return SendClientMessage(playerid, COLOR_GREY, YouCanNotAdminDuty);
if(PlayerInfo[playerid][pAdmin] < 10 || AdminLogged[playerid] == false) return true;
new Float:coord[3];
GetPlayerPos(playerid,coord[0], coord[1], coord[2]);
SendClientMessage(playerid,COLOR_RED,"%f, %f, %f",coord[0],coord[1],coord[2]); // тут 3 варнинга
SendClientMessage(playerid,COLOR_RED,"%i",GetPlayerInterior(playerid)); // 1 варнинг
SendClientMessage(playerid,COLOR_RED,"%i",GetPlayerVirtualWorld(playerid)); // 1 варнинг
return true;
}

выдает варнинги 202: number of arguments does not match definition

И следовательно в чате при исп. команды выдает полную ахинею, т.е. одни нули. Я понимаю что ругается на послдние значения в каждой из строчек, но как именно исправить чтобы работало не додумаюсь никак. Может подскажет кто?

$continue$
01.10.2015, 09:05
Нужно форматировать строку

eRC
01.10.2015, 14:21
Как это сделать?
______

Все разобрался) теперь работает. Спасибо за наводку, лови +

Кому-нибудь на будущее, вдруг тоже столкнется. Вот так правильно будет все работать:

CMD:coord(playerid)
{
if(PlayerLogged[playerid] == 0) return true;
if(PlayerInfo[playerid][pAdminDuty] == 0) return SendClientMessage(playerid, COLOR_GREY, YouCanNotAdminDuty);
if(PlayerInfo[playerid][pAdmin] < 10 || AdminLogged[playerid] == false) return true;
new Float:coord[3];
new string[50];
GetPlayerPos(playerid,coord[0], coord[1], coord[2]);
format(string,sizeof(string),"%f, %f, %f\n%i\n%i", coord[0], coord[1], coord[2], GetPlayerInterior(playerid), GetPlayerVirtualWorld(playerid));
SendClientMessage(playerid,COLOR_RED,string);
return true;
}