dcmd_goto
#1

So my code is working only on Playerid 0 :@

I have searched out whole code but i didnt found the problem..

Код:
dcmd_goto(playerid,params[])
{
	new pName[24], str[128];
	GetPlayerName(playerid, pName, sizeof(pName));
	format(str, sizeof(str),PlayerFile,pName);
	if(!(dini_Int(str, "AdminLevel") >= 1))
	{
		SendClientMessage(playerid, COLOR_RED, "Admins Only!");
		return 1;
	}

	new player, name[24];
	if(sscanf(params,"u",player))
	{
		SendClientMessage(playerid, COLOR_RED, "USAGE: /goto [playerid]");
	  return 1;
	}
	if(!IsPlayerConnected(player))
	{
  	SendClientMessage(playerid, COLOR_RED, "Invalid Player ID.");
    return 1;
	}
	if(dini_Int(str, "AdminLevel") >= 1)
	{
	  new Float:X,Float:Y,Float:Z,pint,name2[24],string[40],string2[39];
	  GetPlayerName(player,name2,sizeof(name2));
	  GetPlayerPos(player,X,Y,Z);
	  GetVehiclePos(player,X,Y,Z);
	  pint = GetPlayerInterior(player);
	  SetPlayerPos(playerid,X+1,Y,Z);
	  SetPlayerInterior(playerid,pint);
		format(string,sizeof(string),"You have teleported to %s",name2);
		format(string2,sizeof(string2),"%s has teleported to you",name);
		SendClientMessage(playerid,COLOR_RED,string);
		SendClientMessage(player,COLOR_RED,string2);
	}
	return 1;
}
Reply
#2

Try the Mine:
Код:
 dcmd_goto(playerid,params[]) {
  if (dUserINT(PlayerName(playerid)).("admin")>=1)
  {
	  if(!strlen(params)) return SendClientMessage(playerid,COLOR_ROJOCLARO,"USAGE: /goto <id>");
    new id;
    id = strval(params);

		if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) {
			new string[256],Name[24],ActionName[24],Float:X,Float:Y,Float:Z; GetPlayerName(playerid,Name,24); GetPlayerName(id,ActionName,24);
			new Interior = GetPlayerInterior(id); SetPlayerInterior(playerid,Interior); SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id)); GetPlayerPos(id,X,Y,Z); if(IsPlayerInAnyVehicle(playerid)) { SetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z); LinkVehicleToInterior(GetPlayerVehicleID(playerid),Interior); } else SetPlayerPos(playerid,X,Y,Z);
			format(string,256,"You have gone to %s",ActionName); return SendClientMessage(playerid,COLOR_ROJOCLARO,string);
 		} else return SendClientMessage(playerid,COLOR_ROJOCLARO,"You can't teleport to yourself or to a disconected user");
	}
	return 1;
}
Reply
#3

Quote:
Originally Posted by Fabio11
Try the Mine:
Код:
 dcmd_goto(playerid,params[]) {
  if (dUserINT(PlayerName(playerid)).("admin")>=1)
  {
	  if(!strlen(params)) return SendClientMessage(playerid,COLOR_ROJOCLARO,"USAGE: /goto <id>");
    new id;
    id = strval(params);

		if(IsPlayerConnected(id) && id != INVALID_PLAYER_ID && id != playerid) {
			new string[256],Name[24],ActionName[24],Float:X,Float:Y,Float:Z; GetPlayerName(playerid,Name,24); GetPlayerName(id,ActionName,24);
			new Interior = GetPlayerInterior(id); SetPlayerInterior(playerid,Interior); SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id)); GetPlayerPos(id,X,Y,Z); if(IsPlayerInAnyVehicle(playerid)) { SetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z); LinkVehicleToInterior(GetPlayerVehicleID(playerid),Interior); } else SetPlayerPos(playerid,X,Y,Z);
			format(string,256,"You have gone to %s",ActionName); return SendClientMessage(playerid,COLOR_ROJOCLARO,string);
 		} else return SendClientMessage(playerid,COLOR_ROJOCLARO,"You can't teleport to yourself or to a disconected user");
	}
	return 1;
}
Yours is great, but i want to get problem known..

Im learning while repairing..
Reply
#4

try strval instead of sscanf
Reply
#5

Quote:
Originally Posted by dice7
try strval instead of sscanf
That's not a replacement.
-------------------------------------
Код:
if(!(dini_Int(str, "AdminLevel") >= 1))
This doesn't do anything.
-------------------------------------
pawn Код:
dcmd_goto(playerid,params[])
{
  if(IsPlayerAdmin(playerid)) //your valid check
  {
    if(sscanf(params,"u",params[0])) SendClientMessage(playerid, COLOR_RED, "USAGE: /goto [playerid]");
    else if(params[0] == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_RED, "Invalid Player ID.");
    else
    {
      new Float:pos[3],pname[MAX_PLAYER_NAME],string[128]; GetPlayerPos(params[0],pos[0],pos[1],pos[2]); SetPlayerPos(playerid,pos[0]+2,pos[1]+2,pos[2]);
      GetPlayerName(playerid,pname,sizeof(pname); format(string,sizeof(string),"%s has teleported to you",pname); SendClientMessage(params[0],COLOR_RED,string);
      GetPlayerName(params[0],pname,sizeof(pname); format(string,sizeof(string),"You have teleported to %s",pname); SendClientMessage(playerid,COLOR_RED,string);
    }
  }
  else SendClientMessage(playerid, COLOR_RED, "Admins Only!");
  return 1;
}
And btw, start using zcmd.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)