Чтобы вручную не высчитывать позицию для каждого элемента (текстуры, текста), то можно воспользоваться этим скриптом. Не знаю как там с 0.0.4 (что-то там подъехало в плане этого, но это не точно), но для dev 8 это еще актуально. Кидаете этот скрипт в самое начало файла клиентских скриптов, и потом такой метод - берете свой PPI (просто выведете переменную ppi в print при запуске клиентских скриптов), затем когда снимите позицию и размер для нужной текстуры - делите каждое значение на свой PPI, и в скриптах уже умножайте на PPI (знаю, звучит идиотски, но сейчас станет понятно). PPI - Pixels Per Inch - Пикселей на Дюйм - количество пикселей на дюйм для конкретного разрешения экрана. Офк, для каждого оно разное. Поэтому, чтобы подстроится под каждый возможный PPI, мы вставляем этот скрипт, который высчитывает PPI для текущего разрешения экрана игрока:
Затем, когда вы снимите позицию и размер для текстуры (скажем, каждое значение равно 1000), делим их на ваш PPI (у меня это 98).
Получится что-то вроде:
После этого, умножаем их на PPI (не на наш, а на высчитанную для каждого игрока).
И можете идти чекать - все работает на любом разрешении экрана. Единственная проблема - на разрешении 800х600 все будет не очень круто с текстом, ибо размер шрифтов то меняется. Такие дела. Если есть вопросы - пишите, когда-нибудь чекну.
Code:
local res = getResolution();
local a = res.width;
local b = res.height;
local pix = 37.79527559055;
local inc = 0.39;
local dia = sqrt(a*a + b*b);
local dia_to_sm = (dia/pix);
local sm_to_inc = (dia_to_sm.tointeger() * inc);
local ppi = dia/sm_to_inc;
Затем, когда вы снимите позицию и размер для текстуры (скажем, каждое значение равно 1000), делим их на ваш PPI (у меня это 98).
Получится что-то вроде:
Code:
createTexture(10,20408163265306,10,20408163265306,10,20408163265306,10,20408163265306,"LOG_PAPER.TGA");
После этого, умножаем их на PPI (не на наш, а на высчитанную для каждого игрока).
Code:
createTexture(10,20408163265306 * ppi,10,20408163265306 * ppi,10,20408163265306 * ppi,10,20408163265306 * ppi,"LOG_PAPER.TGA");
И можете идти чекать - все работает на любом разрешении экрана. Единственная проблема - на разрешении 800х600 все будет не очень круто с текстом, ибо размер шрифтов то меняется. Такие дела. Если есть вопросы - пишите, когда-нибудь чекну.