[help] /find
#1

Okay guys so basically what I'm making is a /find command so that if the player is a passenger then the driver and other passengers can see the red marker. I just need a little bit of help doing so. Here's what I have.

Код:
  if(strcmp(cmd, "/find", true) == 0)
	{
	  if(IsPlayerConnected(playerid))
	  {
		  if(PlayerInfo[playerid][pJob] != 1)
		  {
				SendClientMessage(playerid, COLOR_GREY, "  You are not a mercenary !");
				return 1;
		  }
			if(UsedFind[playerid] != 0 && PlayerInfo[playerid][pDetSkill] < 401)
			{
			  SendClientMessage(playerid, COLOR_GREY, "  You've already searched for someone, please wait for your time to reload!");
			  return 1;
			}
		  tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /find [playerid/PartOfName]");
				return 1;
			}
			giveplayerid = ReturnUser(tmp);
			if(IsPlayerConnected(giveplayerid))
			{
			  if(giveplayerid != INVALID_PLAYER_ID)
			  {
			    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You cannot Find yourself!"); return 1; }
			    new points;
			    new level = PlayerInfo[playerid][pDetSkill];
					if(level >= 0 && level <= 50)
					{
						points = 4;
					}
					else if(level >= 51 && level <= 100)
					{
						points = 6;
					}
					else if(level >= 101 && level <= 200)
					{
						points = 8;
					}
					else if(level >= 201 && level <= 400)
					{
						points = 10;
					}
					else if(level >= 401)
					{
						points = 12;
					}
					GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
					GetPlayerColor(giveplayerid);
  				SetPlayerMarkerForPlayer(playerid,giveplayerid,0xFF6347AA);
					FindTime[playerid] = 1;
					FindTimePoints[playerid] = points;
					PlayerInfo[playerid][pDetSkill] ++;
					UsedFind[playerid] = 1;
					if(PlayerInfo[playerid][pDetSkill] == 50)
					{ SendClientMessage(playerid, COLOR_YELLOW, "* Your Mercenary Skill is now Level 2, you now have more time to find people."); }
					else if(PlayerInfo[playerid][pDetSkill] == 100)
					{ SendClientMessage(playerid, COLOR_YELLOW, "* Your Mercenary Skill is now Level 3, you now have more time to find people."); }
					else if(PlayerInfo[playerid][pDetSkill] == 200)
					{ SendClientMessage(playerid, COLOR_YELLOW, "* Your Mercenary Skill is now Level 4, you now have more time to find people."); }
					else if(PlayerInfo[playerid][pDetSkill] == 400)
					{ SendClientMessage(playerid, COLOR_YELLOW, "* Your Mercenary Skill is now Level 5, you now have more time to find people."); }
				}
			}
			else
			{
			  SendClientMessage(playerid, COLOR_GREY, "  Invalid Name/ID !");
			}
		}
	  return 1;
	}
Reply
#2

Use a loop get the players in the vehicle.
SetMarkerForPlayer(i,0xFF6347AA);
Reply
#3

Like he said;

Код:
for(new i; i<MAX_PLAYERS; i++)
   if(IsPlayerInVehicle(i)) SetMarkerForPlayer(i, 0xFF6347AA);
Reply
#4

Quote:
Originally Posted by » RэРиR «
Like he said;

Код:
for(new i; i<MAX_PLAYERS; i++)
  if(IsPlayerInVehicle(i)) SetMarkerForPlayer(i, 0xFF6347AA);
When I put that in it gives me any error saying that "SetMarkerForPlayer" is an invaild name or something like that. Are you sure it isn't "SetPlayerMarkerForPlayer"?
Reply
#5

Use this http://forum.sa-mp.com/index.php?topic=69459.0

And change SetMarkerForPlayer to CreateCheckpoint(i, Float:cpX, Float:cpY, Float:cpZ, Float:cpS, Float:viewdiss);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)