<TextDraw Update>
#1

Just made a textdraw, which shows score. I got put it as string, but needs to update.It just shows as "Score : 0"
Код:
public OnPlayerSpawn(playerid)
{
	
     
	new string[46];
	format(string,sizeof(string),"Score : %d", GetPlayerScore(playerid));
    TextDrawSetString(Text:Textdraw1, string);
    TextDrawHideForPlayer(playerid, Text:Textdraw1);
    TextDrawShowForPlayer(playerid, Text:Textdraw1);
    return 1;
}
Does someone how to make it updates? cause I just know how to do it with normal score :S.
Reply
#2

Quote:
Originally Posted by xfelipex
Посмотреть сообщение
Just made a textdraw, which shows score. I got put it as string, but needs to update.It just shows as "Score : 0"
Код:
public OnPlayerSpawn(playerid)
{
	
     
	new string[46];
	format(string,sizeof(string),"Score : %d", GetPlayerScore(playerid));
    TextDrawSetString(Text:Textdraw1, string);
    TextDrawHideForPlayer(playerid, Text:Textdraw1);
    TextDrawShowForPlayer(playerid, Text:Textdraw1);
    return 1;
}
Does someone how to make it updates? cause I just know how to do it with normal score :S.
Just set a timer; Going off maybe every 1.5 seconds or so.
Reply
#3

Quote:
Originally Posted by xfelipex
Посмотреть сообщение
Just made a textdraw, which shows score. I got put it as string, but needs to update.It just shows as "Score : 0"
Код:
public OnPlayerSpawn(playerid)
{
	
     
	new string[46];
	format(string,sizeof(string),"Score : %d", GetPlayerScore(playerid));
    TextDrawSetString(Text:Textdraw1, string);
    TextDrawHideForPlayer(playerid, Text:Textdraw1);
    TextDrawShowForPlayer(playerid, Text:Textdraw1);
    return 1;
}
Does someone how to make it updates? cause I just know how to do it with normal score :S.
On the top:

pawn Код:
new SpawnedOnce[MAX_PLAYERS] = 0;
forward UpdateTD(playerid);
OnPlayerSpawn:

pawn Код:
public OnPlayerSpawn(playerid)
{
     if(SpawnedOnce[playerid] == 0)
{
     new string[46];
     format(string,sizeof(string),"Score : %d", GetPlayerScore(playerid));
     TextDrawSetString(Text:Textdraw1, string);
     TextDrawHideForPlayer(playerid, Text:Textdraw1);
     TextDrawShowForPlayer(playerid, Text:Textdraw1);
     SpawnedOnce[playerid] = 1;
     return 1;
}
else
{
//your other non-textdraw related code.
}
}
Somewhere else:

pawn Код:
public UpdateTD(playerid)
{
TextDrawHideForPlayer(playerid, Text:Textdraw1);
new string[46];
     format(string,sizeof(string),"Score : %d", GetPlayerScore(playerid));
     TextDrawSetString(Text:Textdraw1, string);
     TextDrawShowForPlayer(playerid, Text:Textdraw1);
return 1;
}
Should work, I'm not positive, though.
Reply
#4

Dude, how to do it please? cause SetPlayerScore is different from a string from textdraw, and Idk how to do with textdraw
Reply
#5

Sorry, need to waits 120 sec. Worked, but had to add new SpawnedOnce[MAX_PLAYERS]; and a settimer ; Thanks.
Reply
#6

Quote:
Originally Posted by xfelipex
Посмотреть сообщение
Dude, how to do it please? cause SetPlayerScore is different from a string from textdraw, and Idk how to do with textdraw
pawn Код:
forward UpdateTD();
pawn Код:
public UpdateTD()
{
new str[128];
format(str, sizeof(str), "Score: %d", GetPlayerScore(playerid));
TextDrawSetString(TextdrawID, str);
return 1;
}
OnPlayerSpawn, just add TextDrawShowForPlayer.

and under OnGameModeInIt
pawn Код:
SetTimer("UpdateTD", 1500, 1);
Hope that helped
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)