• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Pawn] help about GameTextForPlayer
#1
Sad 
Hello everybody! I'm new to Pawn scripting, and I would like to know if there is a way to break the line using "\n" in the GameTextForPlayer function. I tried, but the text remains on the same line, if it's possible, what did I do wrong? Below is the line of code I'm using, I would be very grateful if someone could answer my question.

PHP Code:
GameTextForPlayer(playerid"LINE ONE\nLINE TWO"60006); 


I searched the web, but I couldn't find anything similar, so I decided to ask here on the forum, sorry for the silly question.
  Reply
#2
GameTextForPlayer function does not support newline characters (\n) for creating multi-line texts. This is a limitation of the SA-MP text drawing functions. However, you can use the TextDraw system to achieve multi-line
Below is an example of how you can do this

PHP Code:
new Text:line1;
new 
Text:line2;

public 
OnGameModeInit() {
    line1 TextDrawCreate(320.0240.0"LINE ONE");
    TextDrawFont(line11);
    TextDrawLetterSize(line10.31.2);
    TextDrawColor(line10xFFFFFFFF);
    TextDrawSetOutline(line11);

    line2 TextDrawCreate(320.0255.0"LINE TWO");
    TextDrawFont(line21);
    TextDrawLetterSize(line20.31.2);
    TextDrawColor(line20xFFFFFFFF);
    TextDrawSetOutline(line21);
}

public 
OnPlayerConnect(playerid) {
    ShowPlayerGameText(playerid);
}

ShowPlayerGameText(playerid) {
    TextDrawShowForPlayer(playeridline1);
    TextDrawShowForPlayer(playeridline2);

  Reply
#3
(2024-06-07, 11:03 AM)N0FeaR Wrote: GameTextForPlayer function does not support newline characters (\n) for creating multi-line texts. This is a limitation of the SA-MP text drawing functions. However, you can use the TextDraw system to achieve multi-line
Below is an example of how you can do this

PHP Code:
new Text:line1;
new 
Text:line2;

public 
OnGameModeInit() {
    line1 TextDrawCreate(320.0240.0"LINE ONE");
    TextDrawFont(line11);
    TextDrawLetterSize(line10.31.2);
    TextDrawColor(line10xFFFFFFFF);
    TextDrawSetOutline(line11);

    line2 TextDrawCreate(320.0255.0"LINE TWO");
    TextDrawFont(line21);
    TextDrawLetterSize(line20.31.2);
    TextDrawColor(line20xFFFFFFFF);
    TextDrawSetOutline(line21);
}

public 
OnPlayerConnect(playerid) {
    ShowPlayerGameText(playerid);
}

ShowPlayerGameText(playerid) {
    TextDrawShowForPlayer(playeridline1);
    TextDrawShowForPlayer(playeridline2);


I found a solution, thanks for the answer.
I used it this way and it worked:

PHP Code:
GameTextForPlayer(playerid"LINE ONE ~n~ LINE TWO"30004); 
  Reply
#4
(2024-06-07, 11:03 AM)N0FeaR Wrote: GameTextForPlayer function does not support newline characters (\n) for creating multi-line texts. This is a limitation of the SA-MP text drawing functions. However, you can use the TextDraw system to achieve multi-line
Below is an example of how you can do this

PHP Code:
new Text:line1;
new 
Text:line2;

public 
OnGameModeInit() {
    line1 TextDrawCreate(320.0240.0"LINE ONE");
    TextDrawFont(line11);
    TextDrawLetterSize(line10.31.2);
    TextDrawColor(line10xFFFFFFFF);
    TextDrawSetOutline(line11);

    line2 TextDrawCreate(320.0255.0"LINE TWO");
    TextDrawFont(line21);
    TextDrawLetterSize(line20.31.2);
    TextDrawColor(line20xFFFFFFFF);
    TextDrawSetOutline(line21);
}

public 
OnPlayerConnect(playerid) {
    ShowPlayerGameText(playerid);
}

ShowPlayerGameText(playerid) {
    TextDrawShowForPlayer(playeridline1);
    TextDrawShowForPlayer(playeridline2);

This seriously looks like a chatgpt generated response. If you actually read the docs you would have known that
PHP Code:
~n
 means "new line".
  Reply


Forum Jump: