Kenix Posted April 11, 2012 Share Posted April 11, 2012 https://wiki.multitheftauto.com/wiki/OnClientMarkerHit https://wiki.multitheftauto.com/wiki/OnMarkerHit viewtopic.php?f=141&t=32458 Link to comment
562141 Posted April 12, 2012 Share Posted April 12, 2012 Kenix Большое спасибо хоть за это !!!! попробую чтонибуть сделать Link to comment
562141 Posted April 12, 2012 Share Posted April 12, 2012 Чтото не получается!!! Я Наверно нетак делаю! local myMarker = createMarker(-1651.8, -163.1, 12.9, 'cylinder', 5.0, 0, 255, 0, 150) function Countdown ( source, hitElement ) guiSetVisible ( imagecount, false ) imagecount = guiCreateStaticImage (305,119,250,190,"images/3.png",false) setTimer ( Countdown2, 1000, 1 ) end function Countdown2 ( source ) guiSetVisible ( imagecount, false ) imagecount = guiCreateStaticImage(305,119,250,190,"images/2.png",false) setTimer ( Countdown1, 1000, 1 ) end function Countdown1 ( source ) guiSetVisible ( imagecount, false ) imagecount = guiCreateStaticImage(305,119,250,190,"images/1.png",false) setTimer ( Countdown0, 1000, 1 ) end function Countdown0 ( source ) guiSetVisible ( imagecount, false ) imagecount = guiCreateStaticImage(305,119,320,81,"images/go.png",false) setTimer ( CountdownEnd, 3000, 1 ) end function CountdownEnd ( source ) guiSetVisible ( imagecount, false ) end addCommandHandler ( "countdown", Countdown ) addEventHandler( "onMarkerHit", myMarker, Countdown ) Link to comment
Kenix Posted April 12, 2012 Share Posted April 12, 2012 Короче, если у тебя клиентский скрипт, то тебе нужно юзать и клиентское событие соответственно т.к серверное событие на клиенте не будет срабатывать. P.S На вики написано на какой стороне( клиент/сервер ) событие. Link to comment
562141 Posted April 12, 2012 Share Posted April 12, 2012 это то я знаю что на вики пишет!! пожалуйста помогииии очень надо Link to comment
Kenix Posted April 12, 2012 Share Posted April 12, 2012 Короче, если у тебя клиентский скрипт, то тебе нужно юзать и клиентское событие соответственно т.к серверное событие на клиенте не будет срабатывать.P.S На вики написано на какой стороне( клиент/сервер ) событие. Это клиентский скрипт верно? Тебе нужно юзать клиентское событие onClientMarkerHit. В предыдущем посте я сказал уже об этом. P.S Никто не будет писать код за тебя. Link to comment
562141 Posted April 12, 2012 Share Posted April 12, 2012 Спасибо сейчас ты лудше обьяснил !!! А то что некто за меня код писать не будет, я же и некого не прошу ! Link to comment
Flaker Posted April 12, 2012 Share Posted April 12, 2012 Народ, кто копался когда-нибудь в speedo_gfx, или просто знает, подскажите, как вывести стрелку спидометра на 1 план? Стрелка спидометра создана таким образом: needle = dxDrawImage(x, y, g_ImageW, g_ImageH, "test_needle.png", vehSpeed, 0, 0, white, true) Я пробовал guiMoveToFront (needle), добавил последний параметр к dxDrawImage -> (postGUI = true). Но все равно, не получается вывести на передний план эту стрелочку.( Link to comment
Kenix Posted April 12, 2012 Share Posted April 12, 2012 Рендер: Рисуем картинку спидометра Рисуем стрелку. В этом порядке делай всё. Вообще легче свой спидометр сделать. Там ничего сложного нет. Link to comment
Flaker Posted April 12, 2012 Share Posted April 12, 2012 Вобще я вот хочу сделать, но у меня самая большая проблемма, это с расчетами координат спидометра на экране. Что б всегда в углу был (при любом разрешении). Я просто даже не понимаю как координаты жти расчитывать. Link to comment
Flaker Posted April 12, 2012 Share Posted April 12, 2012 А если картинка спидометра это: guiCreateStaticImage, то тоже в рэндере? Link to comment
Scripting Moderators Sarrum Posted April 12, 2012 Scripting Moderators Share Posted April 12, 2012 А если картинка спидометра это: guiCreateStaticImage, то тоже в рэндере? Нет. Link to comment
Kenix Posted April 12, 2012 Share Posted April 12, 2012 Гуишки прорисовываются самыми последними. https://wiki.multitheftauto.com/wiki/Gam ... sing_Order Памоему координаты это самое лёгкое. По х: ~ 0.9 По y: ~ 0.9 x - горизонталь y - вертикаль Link to comment
Flaker Posted April 12, 2012 Share Posted April 12, 2012 По х: ~ 0.9 По y: ~ 0.9 Это относительные координаты так? А нельзя же использовать относительные и абсолютные сразу, следовательно для ширины и высоты придется использовать тоже относительные, а значит если экран 22 дюйма и тд... то очень большим будет спидометр. Так? Или я не знаю что-то? Link to comment
Kenix Posted April 12, 2012 Share Posted April 12, 2012 В гуишках уже встроен аргумент relative. Значит в дх нужно будет выкручиваться самому ( ибо в том же dxDrawImage нужна абсолютная позиция, а не относителньая ) => относительные координаты умножаешь на ( ширину, высоту ) экрана. Пример local nScreenX, nScreenY = guiGetScreenSize( ) -- Получаем ширину, высоту экрана. local nX, nY = 0.9 * nScreenX, 0.9 * nScreenY Координаты будут абсолютными, но точными на любых разрешениях. Link to comment
Flaker Posted April 12, 2012 Share Posted April 12, 2012 Вот написал немного. Стрелка появляется под диском спидометра, что тут надо изменить что-бы появлялась сверху? local Screen_Width, Screen_High = guiGetScreenSize( ) -- Получаем ширину, высоту экрана. function show_spedo_disc() disc = guiCreateStaticImage(Screen_Width/1.27,Screen_High/1.4, 212, 212, "disc.png", false) Disk_pos_X, Disk_pos_Y = guiGetPosition(disc, false) end function Player_Render() needle = dxDrawImage(Disk_pos_X, Disk_pos_Y, 212, 212, "needle.png", 1, 0, 0, white, true) end addEventHandler("onClientVehicleEnter", getRootElement(), function(thePlayer) if thePlayer == getLocalPlayer() then show_spedo_disc() addEventHandler("onClientRender", getRootElement(), Player_Render) end end ) Link to comment
Aibo Posted April 12, 2012 Share Posted April 12, 2012 postGUI должно быть true. хотя оно и так тру, дожно быть сверху, хз. вообще имхо легче стрелку и диск рисовать dxDrawImage. Link to comment
Flaker Posted April 12, 2012 Share Posted April 12, 2012 Все разобрался...) С цветом не то было Link to comment
562141 Posted April 13, 2012 Share Posted April 13, 2012 У меня есть вапрос !!! Как создать гуи окто с таб понелью и чтоб в меме писало по русски и название таб панельки? Link to comment
Flaker Posted April 13, 2012 Share Posted April 13, 2012 Ну для того что бы писало по русски надо сохранить .lua файл в кодировке UTF8 без BOM Link to comment
562141 Posted April 13, 2012 Share Posted April 13, 2012 А как это сделать подскажеш? Link to comment
Flaker Posted April 13, 2012 Share Posted April 13, 2012 GUIEditor_Window = {} GUIEditor_TabPanel = {} GUIEditor_Tab = {} GUIEditor_Memo = {} GUIEditor_Window[1] = guiCreateWindow(221,190,568,422,"GUI OKNO",false) GUIEditor_TabPanel[1] = guiCreateTabPanel(12,32,531,366,false,GUIEditor_Window[1]) GUIEditor_Tab[1] = guiCreateTab("Tab Pannelka (TAB1)",GUIEditor_TabPanel[1]) GUIEditor_Memo[1] = guiCreateMemo(91,43,362,261,"Это мемо",false,GUIEditor_Tab[1]) GUIEditor_Tab[2] = guiCreateTab("Tab Pannelka (TAB2)",GUIEditor_TabPanel[1]) https://community.multitheftauto.com/index.php?p=resources&s=details&id=141 Link to comment
562141 Posted April 13, 2012 Share Posted April 13, 2012 Спасибо уже не надо!!! я нашол как ! Щас проверим )))) Link to comment
562141 Posted April 13, 2012 Share Posted April 13, 2012 Спасибо за помощ друг !!!! Кстати твой спидак COOL Можно я его использую чтобы сделать свой ? 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