Posts: 543
Threads: 4
Joined: Jul 2015
Reputation:
0
Format the desired message, you should make a countdown also.
Posts: 357
Threads: 6
Joined: Feb 2018
Код:
new RESPAWN_COUNT[MAX_PLAYERS] = 0;
public OnPlayerConnect(playerid)
{
RESPAWN_COUNT[playerid] = 0; // reseting variable.
if(RESPAWN_COUNT[playerid] == 0)
{
RESPAWN_COUNT[playerid] = 10; // setting respawn count to 10 seconds
playertimer[playerid] = SetTimerEx("RespawnCount", 1000, true, "i", playerid);
}
return 1;
}
public RespawnCount(playerid)
{
RESPAWN_COUNT[playerid] --; //decreases the count every 1 secoond. (10, 9, 8...,0)
if(RESPAWN_COUNT[playerid] == 0)
{
KillTimer(playertimer[playerid]);
}
else
{
new str[32];
format(str, sizeof(str), "RESPAWN IN %d", RESPAWN_COUNT[playerid]);
TextDrawSetString(TDEditor_TD[1],str);
}
return 1;
}
Something like this!
Posts: 357
Threads: 6
Joined: Feb 2018
Quote:
Originally Posted by Zeus666
What if I want to show countdown to already existing timer ?
PHP код:
timer RespawnGeneral[1800000]()
{
DayZSA_RespawnItems();
return 1;
}
eg. if timer is at 20:53 and player enters in game it will show 20:53 not 30:00
|
oh,
I saw the replies and your issue, you have show the textdraw first in OnPlayerConnect and then you have to use TextDrawSetString.
Try this
Код:
Remove 10 from the TextDrawCreate code.
TDEditor_TD[1] = TextDrawCreate(27.000020, 423.540802, "RESPAWN IN:");
public OnPlayerConnect(playerid)
{
TextDrawShowForPlayer(playerid, TDEditor_TD[1]);
format(respawnupdate,sizeof(respawnupdate),"RESPAWN IN: %d",TimeConvert(RespawnGeneral()));
TextDrawSetString(TDEditor_TD[1], respawnupdate);
return 1;
}