SA-MP Forums Archive
[Help]How to make /goto [playerid] command - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: [Help]How to make /goto [playerid] command (/showthread.php?tid=611229)



[Help]How to make /goto [playerid] command - alekschowee - 03.07.2016

Help me


Re: [Help]How to make /goto [playerid] command - J0sh... - 03.07.2016

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


Re: [Help]How to make /goto [playerid] command - alekschowee - 03.07.2016

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

Edit:Not working in CMD


Re: [Help]How to make /goto [playerid] command - Zeus666 - 03.07.2016

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


Re: [Help]How to make /goto [playerid] command - alekschowee - 03.07.2016

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


Re: [Help]How to make /goto [playerid] command - Zeus666 - 03.07.2016

Код:
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; 
    }



Re: [Help]How to make /goto [playerid] command - alekschowee - 03.07.2016

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


Re: [Help]How to make /goto [playerid] command - Jefff - 03.07.2016

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;
}



Re: [Help]How to make /goto [playerid] command - alekschowee - 03.07.2016

Код:
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



Re: [Help]How to make /goto [playerid] command - FuNkYTheGreat - 03.07.2016

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;
}