SA-MP Forums Archive
Color name Faction - 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: Color name Faction (/showthread.php?tid=171439)



Color name Faction - Chinuc - 26.08.2010

Hy all i need some help
I wanna make some color at name
If the player is in Police department the name color to be blue like the picture


If the player is in Yakuza to be green etc..

I running The Godfather

Sorry for my bad english i'm romanian


Re: Color name Faction - Chinuc - 26.08.2010

i think is not that simple somebody told me is something with proxdetector ...

and please if you reply put all code... :P


Re: Color name Faction - AndriusZ* - 26.08.2010

ProxDetector:
Top of your script:
Quote:

forward ProxDetector(Float:radi, playerid, str[],col6,col7,col3,col4,col5);

and anywhere:
Quote:

public ProxDetector(Float:radi, playerid, str[],col6,col7,col3,col4,col5)
{
if(IsPlayerConnected(playerid))
{
new Float:posx, Float:posy, Float:posz;
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
//radi = 2.0; //Trigger Radius
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{

GetPlayerPos(i, posx, posy, posz);
tempposx = (oldposx -posx);
tempposy = (oldposy -posy);
tempposz = (oldposz -posz);
//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
{
SendClientMessage(i, col6, str);
}
else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
{
SendClientMessage(i, col7, str);
}
else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
{
SendClientMessage(i, col3, str);
}
else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
{
SendClientMessage(i, col4, str);
}
else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
SendClientMessage(i, col5, str);
}
}
}
}//not connected
return 1;
}

if you need setplayercolor:
If(COP . . . . )
{
SetPlayerColor(playreid, COLOR);} << put that onplayerconnect, or onplayerspawn.


Re: Color name Faction - Chinuc - 26.08.2010

like that ?

if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
SetPlayerColor(playerid, COLOR_1BLUE);
}
if (PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
{
SetPlayerColor(playerid, COLOR_1BLUE);
}



or

if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
SetPlayerColor(playerid, COLOR_1BLUE);
ProxDetector(.............
}


Re: Color name Faction - AndriusZ* - 26.08.2010

Yup...

P.S: You can delete this:
|| PlayerInfo[playerid][pLeader] == 1
|| PlayerInfo[playerid][pLeader] == 2

with proxdetector - idk..


Re: Color name Faction - Voldemort - 26.08.2010

SetPlayerColor and

OnPlayerText

ProxDetector(Float:radi, playerid, str[],col6,col7,col3,col4,col5);

And remeber to put return 0; under it, in OnPlayerText use only return 0; never use return 1;


Re: Color name Faction - Chinuc - 27.08.2010

I put what he says andriusz but don't work voldemort what can i add to onplayertext ?

P.S I NEVER use proxdetector so i am newbie in this topic... please explain everythink


Re: Color name Faction - Voldemort - 27.08.2010

example:

pawn Код:
forward SendFactionMessage(faction, color, string[]);

public SendFactionMessage(faction, color, string[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(faction == Pinfo[i][Faction])  // Or your type of script
            {
                SendClientMessage(i, color, string);
            }
        }
    }
}

public OnPlayerText(playerid,text[])
{
    if(Pinfo[playerid][Faction] > 0)
    {
        SendFactionMessage(Pinfo[playerid][Faction], 0xFFFFFFFF,text);
        return 0;
    }
}
But now I start to think that you need to use some cmd like /faction [text] to send Msg only to your faction


Re: Color name Faction - Chinuc - 27.08.2010

Voldemort i don't need that .... i say if somebody speak something and he is in police department he's nickname to be blue in chat
example:
I am in police department i press T and i write something , in chat my nickname i wanna be blue like in the picture


Re: Color name Faction - AndriusZ* - 27.08.2010

try put that onplayertext:
if(playercop la la la bum bum << type ur script here.
{
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);} color_p change to COLOR_ . . . . . .

non tested, so idk nothing.