RusRambo Posted September 8, 2011 Share Posted September 8, 2011 Хочу кое-что спросить. local screenWidth, screenHeight = guiGetScreenSize() local screenHeightPod = screenHeight / 3.6 local screenHeightPod2 = screenHeight / 3.65 local screenHeightPodd = screenHeight / 22.5 local screenHeightPodd2 = screenHeight / 24 LOSY = getLocalPlayer() function showText( ) local playerX, playerY, playerZ = getElementPosition( LOSY ) local playerZoneName = getZoneName( playerX, playerY, playerZ, false ) dxDrawText( playerZoneName, 44, screenHeight-screenHeightPodd2, screenWidth, screenHeight, tocolor ( 0, 0, 0, 255 ), 1.02, "pricedown" ) dxDrawText( playerZoneName, 44, screenHeight-screenHeightPodd, screenWidth, screenHeight, tocolor ( 255, 255, 255, 255 ), 1, "pricedown" ) end addEventHandler("onClientRender", getRootElement(), showText) Вот самый простенький клиентсайд-скрипт, который показывает в углу названия локаций. А как можно сделать так, чтобы он показывал: а) по-русски их; б) примерно тем же шрифтом? Заранее спасибо. --- МХ_Master: юзайте ББ код [lua] вместо Link to comment
StUNt71 Posted September 8, 2011 Share Posted September 8, 2011 playerZoneName - текст на англ. Тебе нужно массив наверное с координатами и наванием зоны. А мб можно как-нибудь и на русский её переключить. ----- 1 вариант тут только подойдёт. getZoneName возвращает только зону на англ. языке. Link to comment
RusRambo Posted September 8, 2011 Author Share Posted September 8, 2011 Ну хорошо. Получу я текст на англ. языке в виде "Garcia". Можно сделать проверку типа "если переменная1 = Garcia, тогда переменная2 = Гарсия" и вывести текст в переменной2 на экран? Ну... Типа изменить более грубым и трудоёмким способом названия. Их там не так много, как кажется, этих названий зон. Да и они давным-давно всем известны чуть ли не наизусть. Link to comment
MX_Master Posted September 8, 2011 Share Posted September 8, 2011 русские названия нужно сделать самому, нужно иметь список названий на английском, перевести их и создать таблицу, где ключами будут английские названия, а значениями - русские значения. Таблица будет иметь вид local zNames_rus = { ['Grove Street'] = 'Улица Грув', -- и так далее ['Англ. название'] = 'Русское название' } названия можно взять здесь Link to comment
StUNt71 Posted September 8, 2011 Share Posted September 8, 2011 Можешь и так сделать. Но зон вроде около 70. Link to comment
RusRambo Posted September 8, 2011 Author Share Posted September 8, 2011 Можешь и так сделать. Но зон вроде около 70. Что есть семьдесят зон пред Великим и Могучим? Перевести не проблема... Там и переводить то нечего. Хм... а как это оформить то в коде? --------------------------------------------- local screenWidth, screenHeight = guiGetScreenSize() local screenHeights = { screenHeight-screenHeight / 24; screenHeight-screenHeight / 22.5; } local player = getLocalPlayer() local zoneNames = { ['Bayside Marina']='Причал Бэйсайд' } function showText( ) local x, y, z = getElementPosition( player ) local zoneName = zoneNames[getZoneName(x, y, z, false)] dxDrawText( zoneName, 44, screenHeights[1], screenWidth, screenHeight, tocolor ( 0, 0, 0, 255 ), 1.02, "pricedown" ) dxDrawText( zoneName, 44, screenHeights[2], screenWidth, screenHeight, tocolor ( 255, 255, 255, 255 ), 1, "pricedown" ) end addEventHandler("onClientRender", getRootElement(), showText) Вот короче более-менее рабочий вариант. Только ругается на UTF-8 и не воспроизводит шрифтом Pricedown. В итоге убогий другой шрифт юзает. НО пишет по-русски... --- MX_Master: юзайте ББ код [lua] вместо Link to comment
MX_Master Posted September 8, 2011 Share Posted September 8, 2011 найдите русский вариант этого шрифта и добавьте его с помощью dxCreateFont Link to comment
RusRambo Posted September 8, 2011 Author Share Posted September 8, 2011 Спасибо. Кстати, сам себе создал головную боль: как перевести, скажем, Mulholland Intersection? В голову лезет только "Развязка Малхолланд". А Verdant Bluffs? "Зеленеющие Утёсы"? Это уже какой-то World of Warcraft получается с его "Запредельями" и "Красногорьями"... А хотелось как лучше. З.Ы.: Так и тянет обозвать Juneper Hill "Русским Холмом", Ganton "Комптоном", а Los Santos "Лос-Анджелесом". Но нельзя Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now