SA-MP Forums Archive
Creating new line on textdraw - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: Creating new line on textdraw (/showthread.php?tid=158409)



Creating new line on textdraw - [L3th4l] - 09.07.2010

I got some commands that will show A Message As A Textdraw, That works good.

Ok, so my question is , for example i type /New Hi This Is The new Message < That will create the message on the desired position i created the textdraws, right... Ok that works goood...


NOW, how would i make it so the line "Hi This Is...." appears below a new one?

Ok, so confusing xD........

KK, so I type
/New Hi This Is new message < That line will be the first one

THEN

/new Hi This would be ontop of Hi This Is New Message < That NEW line will be ontop of the old one

So if yall do understand, there will be a total of 5 lines <

.newest line < 1 msg
.old line < etc....
.old line
.old line
.old line < after it gets here, this line will be removed to make space for the newest line, and so and sooo



ROFL, hope yall undestand.


Re: Creating new line on textdraw - Kar - 09.07.2010

~n~? <.<


Re: Creating new line on textdraw - [L3th4l] - 09.07.2010

That will work, but if you read my post good, i don't want the last line to be erased


Re: Creating new line on textdraw - Mauzen - 09.07.2010

I think i got you

You would have to have a variable, that counts the currently shown lines, each time a line is added, it increases by one (linecount)

then pack the textdraw strings into an 2d array, size should be the max number of lines.

new tdraw[5][128 (Max string length]

If a new line is added, you move the old ones on step down in the array and delete the last one like this:

tdraw[4] = tdraw[3]; //The last string is gonna fall out
tdraw[3] = tdraw[2];
...
linecount -= 1;

format all those in one string, divide the strings with ~n~

pawn Код:
new string[512];
for(new i = 0; i < linecount; i ++) {
    format(string,512, "%s~n~%s, string, tdraw[i]);
}
then set this as string for one textdraw, it shows all lines in an order.


Re: Creating new line on textdraw - [L3th4l] - 09.07.2010

meeh, i don't really like to deal with arrays that much

But here is what i got

Код:
	    new Texts[5];
	    new linecount;
	    new String[128];
		if(sscanf(params,"s",Texts)) return SendClientMessage(playerid,0xBFC0C2FF,"USAGE: /Setnews < News >");
		for(new i = 0; i < linecount; i ++)
		{
		    Texts[5] = Texts[4];
		    Texts[4] = Texts[3];
		    Texts[3] = Texts[2];
		    Texts[2] = Texts[1];
		    Texts[1] = Texts[5];
		    linecount = 1;
		    format(String,sizeof(String),"%s~n~%s",String,Texts[i]);
			TextDrawSetString(NewsText,String);
		}
I get two out of bound index erros

Lines 1st error - Texts[5] = Texts[4];
2nd error - Texts[1] = Texts[5];


Re: Creating new line on textdraw - [L3th4l] - 10.07.2010

Bumpy Bump Bump


Re: Creating new line on textdraw - [HUN]Jaki - 11.07.2010

I think you should use

Код:
format(Texts[5], sizeof(Texts[5]), "%s", Texts[4]);
format(Texts[4], sizeof(Texts[5]), "%s", Texts[3]);
format(Texts[3], sizeof(Texts[5]), "%s", Texts[2]);
format(Texts[2], sizeof(Texts[5]), "%s", Texts[1]);
format(Texts[1], sizeof(Texts[5]), "%s", Texts[5]);
instead of
Код:
   Texts[5] = Texts[4];
   Texts[4] = Texts[3];
   Texts[3] = Texts[2];
   Texts[2] = Texts[1];
   Texts[1] = Texts[5];
.
(I don't know if it works or not, I didn't try it.)


Re: Creating new line on textdraw - hab2ever - 11.07.2010

You mean? ~n~ or \n?