/getinfo problems
#1

i need some help with this code, whenever i try to /getinfo on someone it shows that they have 1 health, and 1 armor, and after i looked into the sa-mp server log messages i receive the following errors:

Quote:

[14:00:41] sscanf warning: Format specifier does not match parameter count.

pawn Код:
COMMAND:getinfo(playerid, params[])
{
new pname[MAX_PLAYER_NAME], string[256], pID;
new Float: pHealth;
new Float: pArmor;
GetPlayerName(pID, pname, sizeof(pname));
if(sscanf(params, "ui", pID)) return SendClientMessage(playerid, 0xFF0000AA, "[USAGE]/getinfo <playerid>.");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, 0xFF0000AA, "[ERROR]User is not connected.");
{
    GetPlayerName(pID, pname, sizeof(pname));
    format(string, sizeof(string), " ======= Gang War Elites - Player Information  ======= ");
    SendClientMessage(playerid, 0xADFF2FAA, string);
    format(string, sizeof(string), " =============== %s ===============", pname);
    SendClientMessage(playerid, 0xADFF2FAA, string);
    format(string, sizeof(string), " [Ping: %d] || [Money: %d] || [Player Interior %d] || [Player Virtual World: %d] ", GetPlayerPing(pID), GetPlayerMoney(pID), GetPlayerInterior(pID), GetPlayerVirtualWorld(pID));
    SendClientMessage(playerid, 0xFFFF00AA, string);
    format(string, sizeof(string), " [Health: %d] || [Armor %d] || [Kills %d] || [Deaths %d]", GetPlayerHealth(pID, pHealth), GetPlayerArmour(pID, pArmor), pInfo[playerid][Kills], pInfo[playerid][Deaths]);
    SendClientMessage(playerid, 0xFFFF00AA, string);
    }
return 1;
}
What is going on here? help pl0x.
Reply
#2

You enter a float in string with %f. Also you had a mistake in sscanf function.
pawn Код:
COMMAND:getinfo(playerid, params[])
{
new pname[MAX_PLAYER_NAME], string[256], pID;
new Float: pHealth;
new Float: pArmor;
GetPlayerName(pID, pname, sizeof(pname));
if(sscanf(params, "u", pID)) return SendClientMessage(playerid, 0xFF0000AA, "[USAGE]/getinfo <playerid>.");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, 0xFF0000AA, "[ERROR]User is not connected.");
    GetPlayerName(pID, pname, sizeof(pname));
    format(string, sizeof(string), " ======= Gang War Elites - Player Information  ======= ");
    SendClientMessage(playerid, 0xADFF2FAA, string);
    format(string, sizeof(string), " =============== %s ===============", pname);
    SendClientMessage(playerid, 0xADFF2FAA, string);
    format(string, sizeof(string), " [Ping: %d] || [Money: %d] || [Player Interior %d] || [Player Virtual World: %d] ", GetPlayerPing(pID), GetPlayerMoney(pID), GetPlayerInterior(pID), GetPlayerVirtualWorld(pID));
    SendClientMessage(playerid, 0xFFFF00AA, string);
    format(string, sizeof(string), " [Health: %f] || [Armor %f] || [Kills %d] || [Deaths %d]", GetPlayerHealth(pID, pHealth), GetPlayerArmour(pID, pArmor), pInfo[playerid][Kills], pInfo[playerid][Deaths]);
    SendClientMessage(playerid, 0xFFFF00AA, string);
 
return 1;
}
EDIT: You also don't need those curlies under if !isplayerconnected.

This is how I would write it:
pawn Код:
COMMAND:getinfo(playerid, params[])
{
    new pname[MAX_PLAYER_NAME], string[128], pID, Float: pHealth, Float: pArmor;
    if(!sscanf(params, "u", pID))
    {  
        if(IsPlayerConnected(pID))
        {
            GetPlayerName(pID, pname, sizeof(pname));
            format(string, sizeof(string), " ======= Gang War Elites - Player Information  ======= ");
            SendClientMessage(playerid, 0xADFF2FAA, string);
            format(string, sizeof(string), " =============== %s ===============", pname);
            SendClientMessage(playerid, 0xADFF2FAA, string);
            format(string, sizeof(string), " [Ping: %d] || [Money: %d] || [Player Interior %d] || [Player Virtual World: %d] ", GetPlayerPing(pID), GetPlayerMoney(pID), GetPlayerInterior(pID), GetPlayerVirtualWorld(pID));
            SendClientMessage(playerid, 0xFFFF00AA, string);
            format(string, sizeof(string), " [Health: %f] || [Armor %f] || [Kills %d] || [Deaths %d]", GetPlayerHealth(pID, pHealth), GetPlayerArmour(pID, pArmor), pInfo[playerid][Kills], pInfo[playerid][Deaths]);
            SendClientMessage(playerid, 0xFFFF00AA, string);
        }
        else SendClientMessage(playerid, 0xFF0000AA, "[ERROR]User is not connected.");
    }
    else SendClientMessage(playerid, 0xFF0000AA, "[USAGE]/getinfo <playerid>.");
    return 1;
}
Reply
#3

Код:
COMMAND:getinfo(playerid, params[])
{
new 
	Float: pHealth,
	Float: pArmor,
	pname[MAX_PLAYER_NAME], 
	string[256], 
	pID;
	
GetPlayerName(pID, pname, sizeof(pname));
if(sscanf(params, "u", pID)) return SendClientMessage(playerid, 0xFF0000AA, "[USAGE]/getinfo <playerid>.");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, 0xFF0000AA, "[ERROR]User is not connected.");
{
    format(string, sizeof(string), " ======= Gang War Elites - Player Information  ======= ");
    SendClientMessage(playerid, 0xADFF2FAA, string);
    format(string, sizeof(string), " =============== %s ===============", pname);
    SendClientMessage(playerid, 0xADFF2FAA, string);
    format(string, sizeof(string), " [Ping: %d] || [Money: %d] || [Player Interior %d] || [Player Virtual World: %d] ", GetPlayerPing(pID), GetPlayerMoney(pID), GetPlayerInterior(pID), GetPlayerVirtualWorld(pID));
    SendClientMessage(playerid, 0xFFFF00AA, string);
    format(string, sizeof(string), " [Health: %f] || [Armor %f] || [Kills %d] || [Deaths %d]", GetPlayerHealth(pID, pHealth), GetPlayerArmour(pID, pArmor), pInfo[playerid][Kills], pInfo[playerid][Deaths]);
    SendClientMessage(playerid, 0xFFFF00AA, string);
    }
return 1;
}
This guy.
Reply
#4

Yeah, i saw where was the problem. However, whenever i use /getinfo on me, my health and armor are still being shown with the value 0;

Quote:

[18:05:40] ======= Gang War Elites - Player Information =======

[18:05:40] =============== GwE_Niko ===============

[18:05:40] [Ping: 20] || [Money: 0] || [Player Interior 0] || [Player Virtual World: 0]

[18:05:40] [Health: 0.000000] || [Armor 0.000000] || [Kills 0] || [Deaths 0]

Reply
#5

https://sampwiki.blast.hk/wiki/Format
Reply
#6

This is the final.
pawn Код:
COMMAND:getinfo(playerid, params[])
{
    new pname[MAX_PLAYER_NAME], string[128], pID, Float: pHealth, Float: pArmor;
    if(!sscanf(params, "u", pID))
    {
        if(IsPlayerConnected(pID))
        {
            GetPlayerName(pID, pname, sizeof(pname));
            format(string, sizeof(string), " ======= Gang War Elites - Player Information  ======= ");
            SendClientMessage(playerid, 0xADFF2FAA, string);
            format(string, sizeof(string), " =============== %s ===============", pname);
            SendClientMessage(playerid, 0xADFF2FAA, string);
            format(string, sizeof(string), " [Ping: %d] || [Money: %d] || [Player Interior %d] || [Player Virtual World: %d] ", GetPlayerPing(pID), GetPlayerMoney(pID), GetPlayerInterior(pID), GetPlayerVirtualWorld(pID));
            SendClientMessage(playerid, 0xFFFF00AA, string);
            GetPlayerHealth(pID, pHealth);
            GetPlayerArmour(pID, pArmor);
            format(string, sizeof(string), " [Health: %f] || [Armor %f] || [Kills %d] || [Deaths %d]", pHealth, pArmor, pInfo[playerid][Kills], pInfo[playerid][Deaths]);
            SendClientMessage(playerid, 0xFFFF00AA, string);
        }
        else SendClientMessage(playerid, 0xFF0000AA, "[ERROR]User is not connected.");
    }
    else SendClientMessage(playerid, 0xFF0000AA, "[USAGE]/getinfo <playerid>.");
    return 1;
}
Reply
#7

Quote:
Originally Posted by HurtLocker
Посмотреть сообщение
This is the final.
pawn Код:
COMMAND:getinfo(playerid, params[])
{
    new pname[MAX_PLAYER_NAME], string[128], pID, Float: pHealth, Float: pArmor;
    if(!sscanf(params, "u", pID))
    {
        if(IsPlayerConnected(pID))
        {
            GetPlayerName(pID, pname, sizeof(pname));
            format(string, sizeof(string), " ======= Gang War Elites - Player Information  ======= ");
            SendClientMessage(playerid, 0xADFF2FAA, string);
            format(string, sizeof(string), " =============== %s ===============", pname);
            SendClientMessage(playerid, 0xADFF2FAA, string);
            format(string, sizeof(string), " [Ping: %d] || [Money: %d] || [Player Interior %d] || [Player Virtual World: %d] ", GetPlayerPing(pID), GetPlayerMoney(pID), GetPlayerInterior(pID), GetPlayerVirtualWorld(pID));
            SendClientMessage(playerid, 0xFFFF00AA, string);
[COLOR="Red"]            GetPlayerHealth(pID, pHealth);
            GetPlayerArmour(pID, pArmor);[/COLOR]
            format(string, sizeof(string), " [Health: %f] || [Armor %f] || [Kills %d] || [Deaths %d]", pHealth, pArmor, pInfo[playerid][Kills], pInfo[playerid][Deaths]);
            SendClientMessage(playerid, 0xFFFF00AA, string);
        }
        else SendClientMessage(playerid, 0xFF0000AA, "[ERROR]User is not connected.");
    }
    else SendClientMessage(playerid, 0xFF0000AA, "[USAGE]/getinfo <playerid>.");
    return 1;
}
Hmmm yeah, it fixed my issue, thank ya.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)