[Help]How to make /goto [playerid] command
#1

Help me
Reply
#2

PHP код:
CMD:goto(playeridparams[]) {
    new 
id;
    if(
sscanf(params"u"id)) return SendClientMessage(playerid, -1"/goto [id]");
    else if(!
IsPlayerConnected(id)) return SendClientMessage(playerid, -1"That player is not connected.");
    new 
Float:xFloat:yFloat:z;
    
GetPlayerPos(idxyz);
    
SetPlayerPos(playeridxyz);
    return 
1;

Anyone can use that.
You also need ZCMD: https://sampforum.blast.hk/showthread.php?tid=91354
And sscanf: https://sampforum.blast.hk/showthread.php?tid=602923
Reply
#3

Can a if(strcmp, "/goto" ? ??

Edit:Not working in CMD
Reply
#4

if(strcmp("/goto", cmdtext, true, 10) == 0)
{
SetPlayerPos(playerid,X,Y,Z);
return 1;
}
Reply
#5

Quote:
Originally Posted by Zeus666
Посмотреть сообщение
if(strcmp("/goto", cmdtext, true, 10) == 0)
{
SetPlayerPos(playerid,X,Y,Z);
return 1;
}
Can All Code ?
Reply
#6

Код:
OnPlayerCommandText
 if(!strcmp(cmdtext, "/goto", true, 10)) // 3 is the length of /me 
    { 
        if(IsPlayerConnected(playerid)) 
        { 
            new tmp[128]; 
            if(!strlen(tmp)) 
            { 
                SendClientMessage(playerid, COLOR_CMD, "{00E6FF}CMD:{FFFFFF} /goto [playerid/PartOfName]"); 
                return 1; 
            } 
            new Float:plocx,Float:plocy,Float:plocz; 
            new plo; 
            new playa; 
            if (IsPlayerConnected(plo)) 
            { 
                if(plo != INVALID_PLAYER_ID) 
                { 
                    if(IsPlayerAdmin(playerid)) 
                    { 
                        if(Spectate[playerid] != 255) 
                        { 
                            Spectate[playerid] = 256; 
                        } 
                        GetPlayerPos(plo, plocx, plocy, plocz); 
                        if (GetPlayerState(playerid) == 2) 
                        { 
                            new tmpcar = GetPlayerVehicleID(playerid); 
                            SetVehiclePos(tmpcar, plocx, plocy+4, plocz); 
                            TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0; 
                        } 
                        else 
                        { 
                            SetPlayerPos(playerid,plocx,plocy+2, plocz); 
                        } 
                        SendClientMessage(playerid, COLOR_CMD, "   {9D0000}*{F6C861}You have been teleported"); 
                        if(IsPlayerAdmin(playerid)) 
                        { 
                             GetPlayerName(playa, giveplayer, sizeof(giveplayer)); 
                            GetPlayerName(playerid, sendername, sizeof(sendername)); 

                        } 
                    } 
                    else 
                    { 
                        SendClientMessage(playerid, COLOR_CMD, "{09F7DF}DENITED: {ffffff}You are not ADMIN!"); 
                    } 
                } 
            } 
            else 
            { 
                format(string, sizeof(string), "   %d is not an active player.", plo); 
                SendClientMessage(playerid, COLOR_CMD, string); 
            } 
        } 
        return 1; 
    }
Reply
#7

error 017: undefined symbol "giveplayer"
error 017: undefined symbol "giveplayer"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line
Reply
#8

pawn Код:
if(!strcmp(cmd, "/goto", true))
{
    strcat(tmp, strtok(cmdtext, idx), 5);
    if(!tmp[0])
    {
        SendClientMessage(playerid, COLOR_CMD, "{00E6FF}CMD:{FFFFFF} /goto [playerid]");
        return 1;
    }
    new giveplayerid = strval(tmp);
    if(playerid == giveplayerid) SendClientMessage(playerid, -1, "{09F7DF}DENITED: {ffffff}You can't use your own id!");
    else if(!IsPlayerConnected(giveplayerid)) SendClientMessage(playerid, -1, "{09F7DF}DENITED: {ffffff}Player is not connected!");
    else
    {
        new Float:X, Float:Y, Float:Z;
        if(GetPlayerVehicleID(giveplayerid)) GetVehiclePos(GetPlayerVehicleID(giveplayerid), X, Y, Z);
        else GetPlayerPos(giveplayerid, X, Y, Z);

        if(GetPlayerState(playerid) == 2) SetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z + 2.0);
        else SetPlayerPos(playerid, X, Y, Z + 1.2);

        SendClientMessage(playerid, -1, "   {9D0000}*{F6C861}You have been teleported");
    }
    return 1;
}
Reply
#9

Код:
error 017: undefined symbol "tmp"
error 017: undefined symbol "tmp"
warning 215: expression has no effect
error 001: expected token: ";", but found "]"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line
Reply
#10

it needs ZCMD and sscanf
Код:
COMMAND:goto(playerid, params[])
{
	new Target;
	if(!sscanf(params, "i", Target))
	{
		if(Target == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "This player is not connected!");
		if(IsPlayerInAnyVehicle(playerid))
		{
			new Float:pos[3];
			GetVehiclePos(GetPlayerVehicleID(Target), pos[0], pos[1], pos[2]);
			SetVehiclePos(GetPlayerVehicleID(playerid), pos[0], pos[1], pos[2]);
		} else {
			new Float:pos[3];
			GetPlayerPos(Target, pos[0], pos[1], pos[2]);
			SetPlayerPos(playerid, pos[0], pos[1], pos[2]);
		}
	} else return SendClientMessage(playerid, -1, "Usage: /goto [playerid]");
	return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)