[Help] /find
#1

Okay for some reason every time I find some-one the marker doesn't go away, I see why but I don't get how it would work or how I can fix it, so maybe you guys can help me do that.

Something to do with: SetPlayerMarkerForPlayer(playerid,giveplayerid,0xF F6347AA); I guess.

Код:
  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(PlayerInfo[playerid][pFindTimer] > 0)
			{
 				format(string, sizeof(string), "You have %d more seconds before you can find someone again!", PlayerInfo[playerid][pFindTimer]);
				SendClientMessage(playerid, COLOR_GREY, string);
			  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)
					{
						PlayerInfo[playerid][pFindTimer] = 120;
						points = 4;
					}
					else if(level >= 51 && level <= 100)
					{
						PlayerInfo[playerid][pFindTimer] = 90;
						points = 6;
					}
					else if(level >= 101 && level <= 200)
					{
						PlayerInfo[playerid][pFindTimer] = 60;
						points = 8;
					}
					else if(level >= 201 && level <= 400)
					{
						PlayerInfo[playerid][pFindTimer] = 30;
						points = 10;
					}
					else if(level >= 401)
					{
						PlayerInfo[playerid][pFindTimer] = 15;
						points = 12;
					}
					GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
					SetPlayerMarkerForPlayer(playerid,giveplayerid,0xFF6347AA);
					FindTime[playerid] = 1;
					FindTimePoints[playerid] = points;
					PlayerInfo[playerid][pDetSkill] ++;
					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;
	}
Код:
			if(FindTime[i] > 0)
			{
				if(FindTime[i] == FindTimePoints[i])
				{
					FindTime[i] = 0;
					FindTimePoints[i] = 0;
					PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
					GameTextForPlayer(i, "~r~RedMarker gone", 2500, 1);
					SetPlayerToTeamColor(i);
				}
	  			else
  			{
			  	format(string, sizeof(string), "%d", FindTimePoints[i] - FindTime[i]);
					GameTextForPlayer(i, string, 1500, 6);
					FindTime[i] += 1;
				}
			}
Reply
#2

bump
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)