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?