SA-MP Forums Archive
Invisible on radar not working anymore - 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: Invisible on radar not working anymore (/showthread.php?tid=74694)



Invisible on radar not working anymore - Robbin237 - 25.04.2009

I had it working but now it doesnt..

pawn Код:
stock ToggleBlipVisibilty(playerid, bool:visible)
{
    new tmpcolor = GetPlayerColor(playerid);
    if(visible == true) tmpcolor &= 0xFFFFFF00;
    else tmpcolor |= 0x000000FF;
    SetPlayerColor(playerid, tmpcolor);
}

dcmd_acvis(playerid, params[])
{
    #pragma unused params

    if(_LOGIN_Rank[playerid] > 1)
    {
        ToggleBlipVisibilty(playerid, true);
    }
    return 1;
}
This function used to get your player color, like green, then make you invisible, all it does is make your name black now. Unless i predefine the tmpcolor like tmpcolor = 0x9ACD32AA, then it works fine.

Does anybody know why?

Thnx!


Re: Invisible on radar not working anymore - Robbin237 - 27.04.2009

Bump!


Re: Invisible on radar not working anymore - maij - 27.04.2009

tmpcolor |= 0x000000FF; , tmpcolor &= 0xFFFFFF00;

valid codes?

dont bump please, if someone wants to help u, they will do it, bump is not needed.


Re: Invisible on radar not working anymore - CracK - 27.04.2009

https://sampwiki.blast.hk/wiki/GetPlayerColor
Quote:

Important note: GetPlayerColor will return nothing unless SetPlayerColor has been used!

So try this:
pawn Код:
//top of the script
new playerColors[] = {
0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,0xEE82EEFF,0xFFD720FF,
0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,
0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,
0x275222FF,0xF09F5BFF,0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,
0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,0x4B8987FF,
0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,
0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,
0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,
0x9F945CFF,0xDCDE3DFF,0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,
0x3FE65CFF
};

public OnPlayerConnect(playerid)
{
  SetPlayerColor(playerid,playerColors[playerid]);
}
And...I forgot, use this instead of your SetPlayerColor:
pawn Код:
stock ToggleBlipVisibilty(playerid, bool:visible)
{
  new tmpcolor = GetPlayerColor(playerid);
  if(visible == true) tmpcolor &= 0xFFFFFF00;
  else tmpcolor |= 0x000000FF;
  for ( new i; i < MAX_PLAYERS; i++ )
  {
    if ( i != playerid && IsPlayerConnected(i) )
      SetPlayerMarkerForPlayer( i, playerid, tmpcolor );
  }
}



Re: Invisible on radar not working anymore - Donny_k - 27.04.2009

There isn't two huindred colours in that array so you would need to add those as if you are playerid 187 for example then it will be an invalid index.


Re: Invisible on radar not working anymore - CracK - 27.04.2009

I doubt his server has more than 100 players at the same time...But anyway he can find another array of player colour or:
pawn Код:
public OnPlayerConnect(playerid)
{
  if(playerid < 100) SetPlayerColor(playerid,playerColors[playerid]);
  if(playerid > 99) SetPlayerColor(playerid,playerColors[playerid-100]);
}



Re: Invisible on radar not working anymore - Donny_k - 27.04.2009

Just because it may not happen doesn't mean it won't (chance is a mofo!!) and now I've pointed it out and you have given a solution the guy won't be back saying "this crashes my server" so all is good.


Re: Invisible on radar not working anymore - DracoBlue - 03.06.2009

I was searching for a gentle solution on that, ended up with this function:
http://dracoblue.net/dev/toggle-mapi...-a-player/138/

pawn Код:
stock togglePlayerMapIconVisibility(playerid,bool:visible){
SetPlayerColor(playerid, (GetPlayerColor(playerid) | 0xFF) - (visible ? 0x00 : 0xFF));
}
Does not need to store any colors, just does it's work by some bitwise-or .

- Draco