Форум Pawn.Wiki - Воплоти мечту в реальность!: Перенос текста написанного в чат на другую строку. - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ All ]
Перенос текста написанного в чат на другую строку.
Оценка: ***** 3 Голосов

#1
Пользователь офлайн   Romzes 

  • ( ^_^ )
  • Вставить ник
  • Раскрыть информацию
Все сталкивались с тем, что сообщение в чате не влезает на экран полностью. Данное решение поможет справиться с этой проблемой, путем переноса текста на другую строку. Решение идет с готовым видом чата, так что при желании можете настроить его под себя.

Вариант первый:

Как это выглядит:
Изображение

В public OnPlayerText:
new pName[24];//если нету
GetPlayerName(playerid,pName,24);
if(strlen(text) >= 80)//если набранный текст больше 80, то
{
           new string[128];//переменная для хранения перенесенного текста
           new mess[128];//переменная для форматирования и отправки п.т
           strmid(string,text,64,128,128);//запишем текст для переноса в переменную
           strdel(text,64,128);//удалим из переменной для записи текста половину текста
           format(text, 104, "%s(%d): {FFFFFF}%s", pName, playerid, text);//форматнем для отправки в первое сообщение
           SendClientMessageToAll(GetPlayerColor(playerid), text);//отправим первую половину текста
           format(mess, 88, "%s(%d): {FFFFFF}%s", pName, playerid, string);//форматнем для отправки во второе сообщение
           SendClientMessageToAll(GetPlayerColor(playerid), mess);//отправим второю половину текста
	   return 0;
}
else//а если не больше, то
{
           format(text, 104, "%s(%d): {FFFFFF}%s", pName, playerid, text);
           SendClientMessageToAll(GetPlayerColor(playerid), text);
	   return 0;
}


Вариант второй:

Как это выглядит:
Изображение

new pName[24];//если нету
GetPlayerName(playerid,pName,24);
if(strlen(text) >= 80)//если набранный текст больше 80, то
{
           new string[128];//переменная для хранения перенесенного текста
           new mess[128];//переменная для форматирования и отправки п.т
           strmid(string,text,64,128,128);//запишем текст для переноса в переменную
           strdel(text,64,128);//удалим из переменной для записи текста половину текста
           format(text, 104, "%s(%d): {FFFFFF}%s", pName, playerid, text);//форматнем для отправки в первое сообщение
           SendClientMessageToAll(GetPlayerColor(playerid), text);//отправим первую половину текста
           format(mess, 88, "{FFFFFF}%s",string);//форматнем для отправки во второе сообщение
           SendClientMessageToAll(GetPlayerColor(playerid), mess);//отправим второю половину текста
	   return 0;
}
else//а если не больше, то
{
           format(text, 104, "%s(%d): {FFFFFF}%s", pName, playerid, text);
           SendClientMessageToAll(GetPlayerColor(playerid), text);
	   return 0;
}


Автор: Netflashman
5

#2
Пользователь офлайн   Mike 

  • Профессионал
  • Вставить ник
  • Раскрыть информацию
Отличная вещь!
0

#3
Пользователь офлайн   SwipoStyle 

  • Благодетель
  • Вставить ник
  • Раскрыть информацию
Romzes'у +100500 за это, я сам уже хотел делать, но вот хороший ты выложил :)
0

#4
Пользователь офлайн   Cris_Pro 

  • Хочу создать серверок..
  • Вставить ник
  • Раскрыть информацию
Да особенно для дм класно будет..
0

#5
Пользователь офлайн   SwipoStyle 

  • Благодетель
  • Вставить ник
  • Раскрыть информацию
Опытные люди смогут использовать такую систему не только для общего чата, но и для текстов от команды, типо /pm id text
0

#6
Пользователь офлайн   Эдик 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
годно!
0

#7
Пользователь офлайн   Ukrainian 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
Круть!
0

#8
Пользователь офлайн   Pyxamov 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Все сталкивались с тем, что сообщение в чате не влезает на экран полностью. Данное решение поможет справиться с этой проблемой, путем переноса текста на другую строку. Решение идет с готовым видом чата, так что при желании можете настроить его под себя.

Вариант второй:

Как это выглядит:
Изображение

new pName[24];//если нету
GetPlayerName(playerid,pName,24);
if(strlen(text) >= 80)//если набранный текст больше 80, то
{
           new string[128];//переменная для хранения перенесенного текста
           new mess[128];//переменная для форматирования и отправки п.т
           strmid(string,text,64,128,128);//запишем текст для переноса в переменную
           strdel(text,64,128);//удалим из переменной для записи текста половину текста
           format(text, 104, "%s(%d): {FFFFFF}%s", pName, playerid, text);//форматнем для отправки в первое сообщение
           SendClientMessageToAll(GetPlayerColor(playerid), text);//отправим первую половину текста
           format(mess, 88, "{FFFFFF}%s",string);//форматнем для отправки во второе сообщение
           SendClientMessageToAll(GetPlayerColor(playerid), mess);//отправим второю половину текста
	   return 0;
}
else//а если не больше, то
{
           format(text, 104, "%s(%d): {FFFFFF}%s", pName, playerid, text);
           SendClientMessageToAll(GetPlayerColor(playerid), text);
	   return 0;
}


Хоть этой теме и 6 лет... Но я на неё наткнулся и требуется помощь..
Кто поможет эту систему - совместить с моей..

    new message[256];
    regex_replace_exid(text, antiReklama, REPLACE_TEXT, message);
    new string[256];
    if(PGang[playerid] > 0)
    {
    GetPlayerColor(playerid);
    format(string, sizeof(string), "%s|%s(ID:%d): {FFFFFF}%s", GName[PGang[playerid]], PlayerName(playerid), playerid, text);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    return 0;
    }
    switch(pStats[playerid][ChatColor])
    {
    case 0:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFA4A4}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 1:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFC0A8}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 2:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFD3A8}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 3:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFECC4}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 4:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFF5C1}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 5:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFFFBF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 6:
    {
    format(string, sizeof(string), "%s(ID:%d): {F5FFC1}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 7:
    {
    format(string, sizeof(string), "%s(ID:%d): {E9FFBF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 8:
    {
    format(string, sizeof(string), "%s(ID:%d): {D2FFBF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 9:
    {
    format(string, sizeof(string), "%s(ID:%d): {BFFFE2}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 10:
    {
    format(string, sizeof(string), "%s(ID:%d): {BFFFF1}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 11:
    {
    format(string, sizeof(string), "%s(ID:%d): {BFFCFF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 12:
    {
    format(string, sizeof(string), "%s(ID:%d): {C4F4FF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 13:
    {
    format(string, sizeof(string), "%s(ID:%d): {C1EAFF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 14:
    {
    format(string, sizeof(string), "%s(ID:%d): {C1DDFF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 15:
    {
    format(string, sizeof(string), "%s(ID:%d): {CAC6FF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 16:
    {
    format(string, sizeof(string), "%s(ID:%d): {DCC0FE}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 17:
    {
    format(string, sizeof(string), "%s(ID:%d): {E7C1FF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 18:
    {
    format(string, sizeof(string), "%s(ID:%d): {EFBFFF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 19:
    {
    format(string, sizeof(string), "%s(ID:%d): {FBBFFF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 20:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFBFE9}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 21:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFC1CE}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 22:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFC1C1}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 23:
    {
    format(string, sizeof(string), "%s(ID:%d): {DFDFDF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 24:
    {
    format(string, sizeof(string), "%s(ID:%d): {D3EBDE}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 25:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFCCFF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 26:
    {
    format(string, sizeof(string), "%s(ID:%d): {CAFFD8}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 27:
    {
    format(string, sizeof(string), "%s(ID:%d): {CECEFF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 28:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFFFD7}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 29:
    {
    format(string, sizeof(string), "%s(ID:%d): {CCFFFF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 30:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFE0C1}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 31:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFCAFF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 32:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFDDDD}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 33:
    {
    format(string, sizeof(string), "%s(ID:%d): {EBD7FF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 34:
    {
    format(string, sizeof(string), "%s(ID:%d): {F8F4D6}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 35:
    {
    format(string, sizeof(string), "%s(ID:%d): {E9E9D6}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 36:
    {
    format(string, sizeof(string), "%s(ID:%d): {F0FFD7}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 37:
    {
    format(string, sizeof(string), "%s(ID:%d): {EBD6D6}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 38:
    {
    format(string, sizeof(string), "%s(ID:%d): {ECD9E2}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    case 39:
    {
    format(string, sizeof(string), "%s(ID:%d): {FFDFDF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    }
    }
    /*format(string, sizeof(string), "%s(ID:%d): {FFFFFF}%s", PlayerEx[playerid][pNameEx], playerid, message);
    SendClientMessageToAll(GetPlayerColor(playerid), string);*/
    return 0;
}

Сообщение отредактировал Pyxamov: 09 марта 2018 - 20:29

0

#9
Пользователь офлайн   Jackson2008 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияPyxamov (09 марта 2018 - 20:26) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]

Такое обычно спрашивают в вопросах по скриптингу. Мне было нехер делать и я решил помочь тебе:
public OnPlayerText(playerid, text[]) {
    new message[256], playerColor = GetPlayerColor(playerid);
    static const mColor[40] = {
        0xFFA4A4, 0xFFC0A8, 0xFFD3A8, 0xFFECC4, 0xFFF5C1,
        0xFFFFBF, 0xF5FFC1, 0xE9FFBF, 0xD2FFBF, 0xBFFFE2,
        0xBFFFF1, 0xBFFCFF, 0xC4F4FF, 0xC1EAFF, 0xC1DDFF,
        0xCAC6FF, 0xDCC0FE, 0xE7C1FF, 0xEFBFFF, 0xFBBFFF,
        0xFFBFE9, 0xFFC1CE, 0xFFC1C1, 0xDFDFDF, 0xD3EBDE,
        0xFFCCFF, 0xCAFFD8, 0xCECEFF, 0xFFFFD7, 0xCCFFFF,
        0xFFE0C1, 0xFFCAFF, 0xFFDDDD, 0xEBD7FF, 0xF8F4D6,
        0xE9E9D6, 0xF0FFD7, 0xEBD6D6, 0xECD9E2, 0xFFDFDF
    };
    regex_replace_exid(text, antiReklama, REPLACE_TEXT, message);
    if(strlen(message) >= 80) {
 	new string[128], mess[128];
     	strmid(string, message, 64, 128, 128);
      	strdel(message, 64, 128);
      	if(PGang[playerid] > 0) {
            format(message, 104, "%s|%s(ID:%d): {FFFFFF}%s", GName[PGang[playerid]], PlayerName(playerid), playerid, message);
            format(mess, 88, "{FFFFFF}%s", string);
 	}
	else if(pStats[playerid][ChatColor] >= 0 && pStats[playerid][ChatColor] < 40) {
            format(message, 104, "%s(ID:%d): {%x}%s", PlayerEx[playerid][pNameEx], playerid, mColor[pStats[playerid][ChatColor]], message);
            format(mess, 88, "{%x}%s", mColor[pStats[playerid][ChatColor]], string);
	}
    	SendClientMessageToAll(playerColor, message);
    	SendClientMessageToAll(playerColor, mess);
	return false;
    }
    else {
        if(PGang[playerid] > 0)
            format(message, sizeof(message), "%s|%s(ID:%d): {FFFFFF}%s", GName[PGang[playerid]], PlayerName(playerid), playerid, message);
	else if(pStats[playerid][ChatColor] >= 0 && pStats[playerid][ChatColor] < 40)
            format(message, sizeof(message), "%s(ID:%d): {%x}%s", PlayerEx[playerid][pNameEx], playerid, mColor[pStats[playerid][ChatColor]], message);
	SendClientMessageToAll(playerColor, message);
	return false;
    }
    return false;
}

Код тестил очень бегло, так что если что, создавай тему в вышеуказанном мною разделе

Сообщение отредактировал Jackson2008: 10 марта 2018 - 00:43

1

#10
Пользователь офлайн   Pyxamov 

  • Новичок
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияJackson2008 (10 марта 2018 - 00:19) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


Не нужно открывать. Накидал чётко. Всё работает без нареканий. Благодарственную спасибо тебе в ум :laugh: (+ поставил-бы, но увы, система репутаций тут тяжеловатая :dry:)

Сообщение отредактировал Pyxamov: 10 марта 2018 - 00:59

1

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика