30.03.2009, 16:26
Why are you guys using 999999 milliseconds? Shouldnt you use something that updates a little more?
Here is how you do it.
At the top of your script.
OnGameModeInit
OnPlayerConnect.
Add the callbacks.
In OnPlayerCommandText
Here is how you do it.
At the top of your script.
pawn Код:
new NameDisplay[MAX_PLAYERS];
new maxplayer;
new timer;
forward Timer();
forward NameOn(playerid);
forward NameOff(playerid);
pawn Код:
timer = SetTimer("Timer", 10000, true);
maxplayer = GetMaxPlayers();
pawn Код:
NameDisplay[playerid] = 1;
NameAlreadyOn = 0;
NameAlreadyOff = 0;
pawn Код:
public Timer()
{
for(new i=0; i<=maxplayer; i++)
{
if(NameDisplay[i] == 0 && NameAlreadyOff[i] == 0)
{
NameOff(i);
}
if(NameDisplay[i] == 1 && NameAlreadyOn[i] == 0;)
{
NameOn(i);
}
return 1;
}
public NameOff(playerid)
{
for(new i=0; i<=maxplayer; i++)
{
ShowPlayerNameTagForPlayer(i, playerid, 0);
NameAlreadyOff[playerid] = 1;
NameAlreadyOn[playerid] = 0;
}
return 1;
}
public NameOn(playerid)
{
for(new i=0; i<=maxplayer; i++)
{
ShowPlayerNameTagForPlayer(i, playerid, 1);
NameAlreadyOff[playerid] = 0;
NameAlreadyOn[playerid] = 1;
}
return 1;
}
pawn Код:
if(strcmp(cmdtext, "/name", true) == 0)
{
if(NameDisplay[playerid] == 0)
{
NameDisplay[playerid] = 1;
SendClientMessage(playerid, 0xffffffff, " >> Name Displaying turned on.");
return 1;
}
if(NameDisplay[playerid] == 1)
{
NameDisplay[playerid] = 0;
SendClientMessage(playerid, 0xffffffff, " >> Name Displaying turned off.");
return 1;
}
return 1;
}

