Создание пользовательских текстур, КАК ???
#1

Добрый вечер, собственно вопрос такой:

Я создаю TXD-библиотеку c текстурами в TXD Workshop и кидаю получившийся файл my_texture.txd в папку SAMP в директории игры.
Внутри TXD-библиоткеки у меня несколько текстур с именами ico_001 и ico_002

Там же лежит библиотека samaps.txd и ее клиент видит. Вот такой код работает правильно:
PHP код:
new Text:Map TextDrawCreate(25.0323.0"samaps:map"); // Библиотека:текстура
TextDrawFont(Map4);
TextDrawTextSize(Map120.0100.0);
// ShowForPlayer 
Я переписал так:
PHP код:
new Text:Map TextDrawCreate(25.0323.0"my_texture:ico_001"); 
Но нихрена не работает, клиент не видит мою библиотеку =(

Также я упаковывал свою библиотеку в custom.img через IMG Tools, но клиент все-равно не видит ее. Пробовал искать - думал что samaps.txd где-то прописана, но ничего не обнаружил. Поиск по официальному форуму дает сомнительные результаты...

Собственно вопрос такой:
Как создавать собственные паки текстур так чтобы клиент мог с ними работать по описанной выше схеме?
Reply
#2

Пока загрузка текстур для показа допускается из файла samaps.txd и находящихся в директории игры. Попробуй засунуть текстуру в samaps.txd или в одну из игровых текстурных библиотек.
Я полагал, что в custom.img будет работать, но, как выяснилось, не работает.
Reply
#3

А где это вы нашли информацию о том что появилась подгрузка ваших текстур? Клиент должен скачать ваш пак и только тогда у него что-то появится.
Reply
#4

А никто и не говорит об автоматической подгрузке. Степаш, у тебя галлюцинации
Reply
#5

txd файлы нужно класть в \models\txd\
Текущий самп ищет только samaps.txd в директории сампа, остальные текстуры по пути, указанному мной выше.
Reply
#6

Спасибо, сейчас попробую скопировать в \models\txd\
Reply
#7

Ура, заработало! Спасибо!

Но есть еще один вопрос:

Как сделать квадратный текстдрав-спрайт?

PHP код:
TextDrawTextSize(TDSprite25.025.0); 
- нифига не квадрат (монитор в разрешении 1280х1024)

ок, подумал я:
Если по X имеется 640 i (условные единицы), а по Y имется 480 i,
то при разрешении экрана 1280х1024
в одном i по X будет 2 px (реальных пикселя), а в одном i по Y будет 2.1333 px
и тогда надо это учитывать задавая размер
PHP код:
TextDrawTextSize(TDSprite[i], 25.025.0*(2.0000/2.1333));
// или, чтобы исключить ошибку в арифметике pawn:
TextDrawTextSize(TDSprite[i], 25.023.44); 
Но спрайт все-равно не квадратный =(
в mspaint измеряю - по оси X честно отложилось 50 px, а по оси Y - 54 px
Пэинт исключает кривизну геометрии монитора, он показывает реальные пиксели

Что я делаю не так ? оО
Reply
#8

Вы забываете о физиологических особенностях человека, например о том, что у нас у всех по 2 глаза. Следовательно картинка для человека, всегда растягивается по горизонтали.
Reply
#9

Quote:
Originally Posted by OFFREAL
Посмотреть сообщение
Как сделать квадратный текстдрав-спрайт?
Для начала прошу обратить внимание на то, что радар далеко не на всех разрешениях круглый

А так, с текущим апи этого не сделать.
Reply
#10

Кстати да, недавно Full HD монитор приобрел и заметил что радар расплющило и HUD тоже...
Вот бы функцию типа:
PHP код:
native GetClientDisplayResolution(playerid, &w, &h); 
было бы вообще замечательно)
- - - -
Ок понял, пока забью на эту идею. Будут прямоугольники))
Всем спасибо
Reply
#11

Подбирай коэффициент вручную... А чтобы не плющило - отключи/включи широкий экран в настройках игры. И разрешение поквадратней выбери.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)