SA-MP Forums Archive
[NEED HELP]Random Color - 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: [NEED HELP]Random Color (/showthread.php?tid=185559)



[NEED HELP]Random Color - [WSF]ThA_Devil - 25.10.2010

How can i make somethink like this: when player does /acc it starts changing player color every second.....
when player do /acc again it turns off....
Help me
Thanx anyway


Re: [NEED HELP]Random Color - Agent* - 25.10.2010

Try this bro'

On top:
pawn Код:
new _changecolor, _returncolor, returncolor[MAX_PLAYERS];
forward changecolor(playerid);
forward returncolor(playerid);
Command:
pawn Код:
if(strcmp(cmdtext, "/acc", true) == 0)
{
    switch(GetPVarInt(playerid, "highlightcolor")
    {
        case 0:
        {
           
            returncolor[playerid] = GetPlayerColor(playerid);
            _changecolor = SetTimerEx("changecolor", 1000, true, "d", playerid);
            _returncolor = SetTimerEx("returncolor", 1000*2, true, "d", playerid);
            SetPVarInt(playerid, "highlightcolor", 1);
        }
        case 1:
        {
            KillTimer(_changecolor);
            KillTimer(_returncolor);
            SetPVarInt(playerid, "highlightcolor", 0);
        }
    }
    return 1;
}
Public functions:
pawn Код:
public changecolor(playerid)
{
    SetPlayerColor(playerid, [new color here]);
    return 1;
}

public returncolor(playerid)
{
    return SetPlayerColor(playerid, returncolor[playerid]);
}



Re: [NEED HELP]Random Color - Voldemort - 25.10.2010

pawn Код:
forward ChangeColor(playerid);
new Changing[MAX_PLAYERS];
new CTimer[MAX_PLAYERS];
/acc
if(Changing[playerid] == 0)
{
CTimer[playerid] = SetTimerEx("ChangeColor",.....
}
else
{
KillTimer(CTimer[playerid]);
}
public ChangeColor(playerid)
{
SetPlayerColor(playerid,Your colors);
}



Re: [NEED HELP]Random Color - [WSF]ThA_Devil - 25.10.2010

i mean multiple colors.... like 1 time red.... yellow..... green..... pink..... and others


Re: [NEED HELP]Random Color - [WSF]ThA_Devil - 25.10.2010

do i have use something like this:
pawn Код:
new rand = random(sizeof(randcolor));
SetPlayerColor(playerid,randcolor[rand][0], randcolor[rand][1], randcolor[rand][2]);



Re: [NEED HELP]Random Color - Jochemd - 25.10.2010

pawn Код:
//Top:
new AccTurn[MAX_PLAYERS];
forward OnPlayerColorChange(playerid);

new ColorRandom[][] =
{
    0x0087FFFF, // color 1 (blue)
    0xB9FF00FF // color 2, etc (yellow)
};

public OnPlayerCommandText(playerid,cmdtext[])
{
    if(strcmp(cmdtext,"/acc",true) == 0)
    {
        if(AccTurn[playerid] == 0)
        {
            SetTimerEx("OnPlayerColorChange",1000,true,"i",playerid);
            AccTurn[playerid] = 1;
            SendClientMessage(playerid,0x0087FFFF,"Color change has been enabled!");
        }
        else if(AccTurn[playerid] == 1)
        {
            KillTimer(ColorChangeTimer[playerid]);
            AccTurn[playerid] = 0;
            SendClientMessage(playerid,0x0087FFFF,"Color change has been disabled!");
        }
        return 1;
    }
    return 0;
}

public OnPlayerColorChange(playerid)
{
    new rand = random(sizeof(ColorRandom));
    SetPlayerColor(playerid,ColorRandom[rand]);
    return 1;
}
Untested but supposed to work... Add as much colors as you want


Re: [NEED HELP]Random Color - [WSF]ThA_Devil - 25.10.2010

thannx for help


Re: [NEED HELP]Random Color - [WSF]ThA_Devil - 25.10.2010

almost worked but i got few errors
Код:
 (766) : error 017: undefined symbol "ColorChangeTimer"
(766) : warning 215: expression has no effect
(766) : error 029: invalid expression, assumed zero
(766) : fatal error 107: too many error messages on one line
pawn Код:
if(strcmp(cmdtext,"/acc",true) == 0)
    {
        if(AccTurn[playerid] == 0)
        {
            SetTimerEx("OnPlayerColorChange",1000,true,"i",playerid);
            AccTurn[playerid] = 1;
            SendClientMessage(playerid,0x0087FFFF,"Color change has been enabled!");
        }
        else if(AccTurn[playerid] == 1)
        {
            KillTimer(ColorChangeTimer[playerid]); // this is line 766
            AccTurn[playerid] = 0;
            SendClientMessage(playerid,0x0087FFFF,"Color change has been disabled!");
        }
        return 1;
        }



Re: [NEED HELP]Random Color - RenisiL - 25.10.2010

Top:
Код:
new Timer[MAX_PLAYERS];
Код:
if(strcmp(cmdtext,"/acc",true) == 0)
    {
        if(AccTurn[playerid] == 0)
        {
            Timer[playerid] = SetTimerEx("OnPlayerColorChange",1000,true,"i",playerid);
            AccTurn[playerid] = 1;
            SendClientMessage(playerid,0x0087FFFF,"Color change has been enabled!");
        }
        else if(AccTurn[playerid] == 1)
        {
            KillTimer(Timer[playerid]);
            AccTurn[playerid] = 0;
            SendClientMessage(playerid,0x0087FFFF,"Color change has been disabled!");
        }
        return 1;
        }