textdraw that showing settimer
#1

i tried to do a textdraw that showing the settimer that i put in command.
but it is not working.
i did like that:

PHP код:
forward sd();
new 
rd;
new 
Text:Textdraw8;
forward bomber1();
public 
OnGameModeInit()
{
SetTimer("bomber1",1000,1);
Textdraw8 TextDrawCreate(255,23"Time till carrier will bomb: --");
}
command(platebombplayeridparams[])
{
if(
gTeam[playerid] == Allied)
{
if( 
PlayerToPoint10playerid2619.00000000,442.39999390,12.00000000 ) )
{
    new 
pname[128];
    
GetPlayerName(playeridpnamesizeof(pname));
    new 
string[128];
    
format(stringsizeof(string), "%s(%d) has plated bomb on russian carrier."pnameplayerid);
    
SendClientMessageToAll(Yellowstring);
    
rd SetTimer("sd"300000false);
    new 
newtext[41];
    
format(newtextsizeof(newtext), "Time till carrier will bomb: %d"rd);
    
TextDrawSetString(Textdraw8newtext);
    
TextDrawShowForAll(Textdraw8);
}
}
return 
1;
}
public 
sd()
{
// this i will update later.
    
return 1;
}
public 
bomber1()
{
    new 
newtext[41];
    
format(newtextsizeof(newtext), "Time till carrier will bomb: %d"rd);
    
TextDrawSetString(Textdraw8newtext);
    
TextDrawShowForAll(Textdraw8);
    return 
1;

Reply
#2

SetTimer doesn't returns the amount of time left, but it returns the ID of the timer.
what about a variable like 'new timeleft;', @ platebomb, timeleft = 300; then @ bomber1 timer, above the format, timeleft--; and instead of rd in the format, using timeleft.
so it's looking like this

pawn Код:
forward sd();
new rd;
new timeleft;
new Text:Textdraw8;
forward bomber1();

public OnGameModeInit()
{
SetTimer("bomber1",1000,1);
Textdraw8 = TextDrawCreate(255,23, "Time till carrier will bomb: --");
}


command(platebomb, playerid, params[])
{
if(gTeam[playerid] == Allied)
{
if( PlayerToPoint( 10, playerid, 2619.00000000,442.39999390,12.00000000 ) )
{
    new pname[128];
    GetPlayerName(playerid, pname, sizeof(pname));
    new string[128];
    format(string, sizeof(string), "%s(%d) has plated bomb on russian carrier.", pname, playerid);
    SendClientMessageToAll(Yellow, string);
    rd = SetTimer("sd", 300000, false);
    timeleft = 300;
    new newtext[41];
    format(newtext, sizeof(newtext), "Time till carrier will bomb: %d", timeleft);
    TextDrawSetString(Textdraw8, newtext);
    TextDrawShowForAll(Textdraw8);
}
}
return 1;
}



public sd()
{
// this i will update later.
    return 1;
}
public bomber1()
{
    new newtext[41];
    timeleft--;
    format(newtext, sizeof(newtext), "Time till carrier will bomb: %d", timeleft);
    TextDrawSetString(Textdraw8, newtext);
    TextDrawShowForAll(Textdraw8);
    return 1;
}
rep++ if helped.
Reply
#3

tnx man
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)