[Help] /find - 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)
+---- Forum: Help Archive (
https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: [Help] /find (
/showthread.php?tid=120670)
[Help] /find -
Oi! - 12.01.2010
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;
}
}
Re: [Help] /find -
Oi! - 12.01.2010
bump