IsPlayerConnected don't work
#1

Hey,

Since yesterday i had a bug with IsPlayerConnected.
When i use it, it returns everytime 0.
Example: /givegun

Код:
dcmd_givegun(playerid,params[])
{
	if(IsPlayerSAdmin(playerid,2))
	{
		new pID, weap,mun;
		if(sscanf(params, "uii",pID,weap,mun)) {
			return SendClientMessage(playerid,COLOR_RED,"Verwende: /givegun [playerid] [Waffenid (Maximal 46)] [Munition]");
		}
		if(weap > 46) { return SendClientMessage(playerid,COLOR_RED,"Die WaffenID darf hцchstens 46 sein!"); }
		if(!IsPlayerConnected(pID)) {
		    return SendClientMessage(playerid,COLOR_RED,"Kein Spieler mit angegebener ID Online");
		}
		GivePlayerWeapon(pID,weap,mun);
		new str[128];
		format(str,128,"%s hat dir die Waffe %d mit %d Schuss gegeben.",SpielerInfo[playerid][pName],weap,mun);
		SendClientMessage(pID,COLOR_GREEN,str);
		format(str,128,"Du hast %s die Waffe %d mit %d Schuss gegeben.",SpielerInfo[pID][pName],weap,mun);
		SendClientMessage(playerid,COLOR_GREEN,str);
	}
	return 1;
}
at
Код:
		if(!IsPlayerConnected(pID)) {
		    return SendClientMessage(playerid,COLOR_RED,"Kein Spieler mit angegebener ID Online");
		}
it says, everytime i'm not at the server.

I don't do anything at this code, i write it before 4 months.
That problem is at all commands with IsPlayer Connected.
I use SA-MP 0.3c.

MfG
Reply
#2

Try this
pawn Код:
dcmd_givegun(playerid,params[])
{
    if(IsPlayerSAdmin(playerid,2))
    {
        new pID, weap,mun;
        if(sscanf(params, "uii",pID,weap,mun)) {
            return SendClientMessage(playerid,COLOR_RED,"Verwende: /givegun [playerid] [Waffenid (Maximal 46)] [Munition]");
        }
        if(weap > 46) { return SendClientMessage(playerid,COLOR_RED,"Die WaffenID darf hцchstens 46 sein!"); }
        if(IsPlayerConnected(pID))
        {
            GivePlayerWeapon(pID,weap,mun);
            new str[128];
            format(str,128,"%s hat dir die Waffe %d mit %d Schuss gegeben.",SpielerInfo[playerid][pName],weap,mun);
            SendClientMessage(pID,COLOR_GREEN,str);
            format(str,128,"Du hast %s die Waffe %d mit %d Schuss gegeben.",SpielerInfo[pID][pName],weap,mun);
            SendClientMessage(playerid,COLOR_GREEN,str);
        }
        else return SendClientMessage(playerid,COLOR_RED,"Kein Spieler mit angegebener ID Online");
    }
    return 1;
}
Reply
#3

I use 0.3c and works fine.
Also, you have this with pID inside.
pawn Код:
if(!IsPlayerConnected(pID))
Try this.
pawn Код:
dcmd_givegun(playerid,params[])
{
    if(IsPlayerSAdmin(playerid,2))
    {
        new pID, weap,mun;
        if(sscanf(params, "uii",pID,weap,mun)) return SendClientMessage(playerid,COLOR_RED,"Verwende: /givegun [playerid] [Waffenid (Maximal 46)] [Munition]");
        else if(weap > 46) { return SendClientMessage(playerid,COLOR_RED,"Die WaffenID darf hцchstens 46 sein!"); }
        else if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,COLOR_RED,"Kein Spieler mit angegebener ID Online");
        GivePlayerWeapon(pID,weap,mun);
        new str[128];
        format(str,128,"%s hat dir die Waffe %d mit %d Schuss gegeben.",SpielerInfo[playerid][pName],weap,mun);
        SendClientMessage(pID,COLOR_GREEN,str);
        format(str,128,"Du hast %s die Waffe %d mit %d Schuss gegeben.",SpielerInfo[pID][pName],weap,mun);
        SendClientMessage(playerid,COLOR_GREEN,str);
    }
    return 1;
}
Reply
#4

That's because you haven't set pID correctly.

Try using your command while only specifying the ID, rather than the player's name.
Reply
#5

dont you see i use sscanf?

a week ago it works fine, and i dont change anything
Reply
#6

Did you changed server version to 0.3d?
Reply
#7

No. 0.3c, said already in first post.
Reply
#8

Works now. I download the new Version from sscanf.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)