Диалог в 2 столбца
#1

Вообщем возник такой вопрос, как разделить текст в диалоге на 2 столбца, что бы второй столбец равномерно отображался, а именно что бы от начала каждой строки отсчитывать например символов 100 и начинать второй столбец.
Reply
#2

Например, табуляцией - \t.
Reply
#3

Как не крути табуляция будет прыгать и ровные столбцы не получатся или допустим вывод столбцов будет для каждого пользователя разным, зависит от разрешения экрана.
Reply
#4

Quote:
Originally Posted by Fill
Посмотреть сообщение
Как не крути табуляция будет прыгать и ровные столбцы не получатся или допустим вывод столбцов будет для каждого пользователя разным, зависит от разрешения экрана.
Считать символы, допиливать табуляции, это не сложно, и все будет ровно.
Reply
#5

Quote:
Originally Posted by eakwarp
Посмотреть сообщение
Считать символы, допиливать табуляции, это не сложно, и все будет ровно.
Если символы посчитать ещё реально. То как быть с учётом разрешения у игрока?
Reply
#6

Quote:
Originally Posted by AirKite
Посмотреть сообщение
Если символы посчитать ещё реально. То как быть с учётом разрешения у игрока?
А как с разрешением не крути, столбики-то будут ровными.
Reply
#7

Столбики будут кривыми 100%, т.к.
1. разные буквы имеют разную ширину. Т.е. 10 букв i и табуляция после них даст другой сдвиг, чем 10 букв w. Не веришь проверь.
Reply
#8

Quote:
Originally Posted by DANGER1979
View Post
Столбики будут кривыми 100%, т.к.
1. разные буквы имеют разную ширину. Т.е. 10 букв i и табуляция после них даст другой сдвиг, чем 10 букв w. Не веришь проверь.
Ширина символа не проблема. Ничего не мешает создать таблицу учёта ширины того или иного символа.

Говорят что табуляция так же влияет и на разрешение (в чём я немного сомневаюсь), и это уже действительно проблема.
Reply
#9

Первый таб как бы задаст правило для всех остальных, и если подсчитывать кол-во символов и правильно ставить количество табов, то они сами подстроятся под первый независимо от ширины букв.
Reply
#10

Quote:
Originally Posted by AirKite
View Post
Говорят что табуляция так же влияет и на разрешение (в чём я немного сомневаюсь), и это уже действительно проблема.
Ещё как влияет.
Reply
#11

Quote:
Originally Posted by Mance
View Post
Ещё как влияет.
Может все-таки разрешение влияет на табуляцию?))
Reply
#12

Quote:
Originally Posted by eakwarp
View Post
Может все-таки разрешение влияет на табуляцию?))
в точку
Reply
#13

да нифига не выход это.
подгонял все чтоб было идеально. потом увидел скрины с других игроков, и понял - нифига тут не выйдет.
сделали б они лучше поддержку таблиц - цены бы не было.
Reply
#14

Хз, шрифты в диалогах и 3d текстах вообще самповские...
Reply
#15

Quote:
Originally Posted by eakwarp
Посмотреть сообщение
Считать символы, допиливать табуляции, это не сложно, и все будет ровно.
Можно пример?
Reply
#16

Quote:
Originally Posted by Mass_Deboose
Посмотреть сообщение
Можно пример?
Да пример чего вам нужно? Расчёт ширины того или иного символа, подсчёт суммарно по циклу строки и вставки в нужных местах /t в эту самую строку? Расчёт ширины символов нужно делать через таблицу, которую скорее всего только самому составлять придётся.
Reply
#17

Quote:
Originally Posted by AirKite
Посмотреть сообщение
Да пример чего вам нужно? Расчёт ширины того или иного символа, подсчёт суммарно по циклу строки и вставки в нужных местах /t в эту самую строку? Расчёт ширины символов нужно делать через таблицу, которую скорее всего только самому составлять придётся.
Вот, писал в 1ом посте:
Quote:
Originally Posted by Mass_Deboose
Посмотреть сообщение
что бы от начала каждой строки отсчитывать например символов 100 и начинать второй столбец.
Reply
#18

Разрешение экрана не влияет на табуляцию в самп.
Reply
#19

Возможно: format(str, sizeof(str), "%24s\t%d", pname, phone);
Reply
#20

Quote:
Originally Posted by ope
View Post
Возможно: format(str, sizeof(str), "%24s\t%d", pname, phone);
тогда лучше так:
pawn Code:
format(str, sizeof(str), "%*s\t%s", MAX_PLAYER_NAME, pname, phone);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)