Flaker Posted January 3, 2012 Share Posted January 3, 2012 Доброго времени суток всем. Я новичок в скриптинге. Прочитал MTA LUA WIKI и начал пытаться делать скрипты. Довольно много вопросов возникает, помогите разобраться. Вопрос: Хочу сделать скрипт что бы при наборе в консоле определенной команды, открывалось окно с выбором оружия. У меня есть GUI окно выбора команды, которое загружается при входе на сервер. function createLoginWindow() wdwLogin = guiCreateWindow(0.375, 0.375, 0.25, 0.25, "Choose Team", true) btnDE = guiCreateButton(0.275, 0.75, 0.5, 0.25, "Desert Eagle", true, wdwLogin) btnCLO = guiCreateButton(0.275, 0.35, 0.5, 0.25, "CLO organization", true, wdwLogin) guiSetVisible(wdwLogin, false) end Вот собственно код окна, которое должно загружаться при вводе команды в консоль: function createWepsWindow() wdwWeps = guiCreateWindow(382,300,257,128,"Choose weapon", false) btnA = guiCreateButton(11,40,114,46,"AK-47", false,wdwWeps) btnM = guiCreateButton(136,41,106,45,"M4A1", false,wdwWeps) end Вот код который вызывает открытие окна (Клиентский файл): function greetingHandler ( message ) outputChatBox ( "" .. message ) guiSetVisible(wdwWeps, true) end addEvent( "onGreeting", true ) addEventHandler( "onGreeting", getRootElement(), greetingHandler ) Тоесть я ввожу в консоль команду "greet" и у меня должно выскакивать GUI окно. Но если я в "guiSetVisible(wdwWeps, true)" поставлю "(wdwWeps, true)" у меня ничего не выскакивает, а если ставлю "(wdwLogin, true)" то выскакивает окно выбора команды (Не то которое надо). 1) Почему так, ведь коды одинаковые? (не совсем конечно, но все же) 2) Как это исправить? (Сделать что бы при вводе команды greet выскакивало окно с выбором оружия, а не с выбором команды) P.S. Я пробовал изменить false на true и место коодрдинат 382,300,257,128, делал 0.382, 0.300, 0.257, 0.128, но все это ни к чему не привело. Помогите разобраться пожалуста. Link to comment
MX_Master Posted January 4, 2012 Share Posted January 4, 2012 function greetingHandler() guiSetVisible(wdwWeps, true) end addCommandHandler( "greet", greetingHandler ) Link to comment
Flaker Posted January 4, 2012 Author Share Posted January 4, 2012 Нет это не работает. Я пробовал вставить в серверный скрипт, и клиентский скрипт но не открывает он это окно. Если выполняется из серверного скрипта, в консоле сервера выдает ошибку: ERROR: myserver\script.lua:36: attempt to call global 'guiSetVisible' У меня есть код для открытие окна: function greetingCommand ( playerSource, commandName ) triggerClientEvent ( "onGreeting", getRootElement(), "Open window..." ) end addCommandHandler ( "greet", greetingCommand ) Он вроде нормально работает, но только с окном выбора команды, а не оружия. Link to comment
MX_Master Posted January 4, 2012 Share Posted January 4, 2012 Подучите-ка сначала скриптинг, пока что не хватает даже для понимания советов. И в сервер он совал его и в клиент (: никуда не влезает Link to comment
Flaker Posted January 5, 2012 Author Share Posted January 5, 2012 Я вот учу, что не понимаю пытаюсь узнать на форуме. Ахах) Не влезает Link to comment
Flaker Posted January 7, 2012 Author Share Posted January 7, 2012 Вобщем, разобрался. Основная проблемма в том что я пытался координаты из GUIEDITORа запихать в код. Editor подругому координаты считает. Тоесть если у меня в окне выбора команды коордитаны меньше единицы. (0.232 etc...) то, если я пытаюсь сделать окно в GUIEDITORe он мне предлает координаты вида: 232,123,231,123. В общем все запутнно. Если знаете подскажите: Как настроить EDITOR, на выдачу координат оконо и кнопок в таком виде: 0.1231? Link to comment
MX_Master Posted January 7, 2012 Share Posted January 7, 2012 Этот вид ( 0.хххх ) называется - относительный (: А целые числа - абсолютный вид координат. Почти в любой функции для создания GUI элемента есть параметр "relative" (почитай вики), если указать его как false, то твои "232,123,231,123" будут работать как положено. А если параметр "relative" указать как true, то нужно использовать координаты вида 0.xxxx Link to comment
Vladimir5 Posted January 7, 2012 Share Posted January 7, 2012 МХ_Мастер,как всегда в точку (: Link to comment
Flaker Posted January 7, 2012 Author Share Posted January 7, 2012 Спасибо) Все получилось. Я не дочитал WIKI на Английском, а на русском вобще про это не было( 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