if(newkeys == 8192 && (GetTickCount() - lol[playerid]) > 2100) { SetPlayerColor(playerid,0xFF0080AA); new string[STR], tmpcolour; switch(Player[playerid][pTeam]) { case T_REF: tmpcolour = 0x000000; case T_DEF: tmpcolour = 0x000000; case T_ATT: tmpcolour = 0x000000; default: { SendClientMessage(playerid, 0x000000, " чёчё "); return 0; } } format(string,STR,"> %s: ыть", Playername(playerid)); for(new i; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(Player[playerid][pTeam] == Player[i][pTeam]) { SendClientMessage(i, tmpcolour, string); } } } lol[playerid] = GetTickCount(); }
SetPlayerColor(playerid,0xFF0080AA);
#define RELEASED(%0) \
(((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
#define COLOR_TIME 5 //время на которое выдяется цвет, в секундах
new ChangeColor[MAX_PLAYERS],OldColor[MAX_PLAYERS];//массивы для хранения времени и старого цвета.
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (RELEASED(KEY_ANALOG_UP))//при отпускании клавиши NUM_8
{
OldColor[playerid] = GetPlayerColor(playerid);//записываем цвет в массив, не забываем что не работает если не задать цвет при коннекте!
SetPlayerColor(playerid,0xffffffff);//меняем цвет на нужный, в данном примере белый
ChangeColor[playerid] = gettime()+COLOR_TIME;//устанавливаем метку времени
}
return 1;
}
public OnPlayerUpdate(playerid)
{
if(0 < ChangeColor[playerid] <= gettime())//проверяем метку времени
{
SetPlayerColor(playerid,OldColor[playerid]);//меняем цвет на старый
ChangeColor[playerid] = 0;//удаляем метку времени
}
return 1;
}
public OnPlayerUpdate(playerid)
{
new Keys,ud,lr;
GetPlayerKeys(playerid,Keys,ud,lr);
#pragma unused ud
#pragma unused lr
if(Keys == КАКАЯ ТАМ КНОПКА && GetPVarInt(playerid, "player_color_change") != 1)
{
SetPVarInt(playerid, "player_color_change", 1);
SetPVarInt(playerid, "old_color", GetPlayerColor(playerid));
SetPVarInt(playerid, "cur_timestamp", gettime());
SetPlayerColor(playerid, ЦВЕТ НА КОТОРЫЙ НУЖНО ИЗМЕНИТЬ);
}
if(GetPVarInt(playerid, "player_color_change") == 1 && (gettime() - GetPVarInt(playerid, "cur_timestamp") == 5) // 5 кол-во секунд
{
SetPlayerColor(GetPVarInt(playerid, "old_color");
SetPVarInt(playerid, "player_color_change", 0);
}
}
это интерпретация стандартной функции С, чего вам в ней не понравилось?
|
This callback is called very frequently per second per player, only use it when you know what it's meant for. |