Jump to content

Проблемма с открытием GUI окна


Recommended Posts

Доброго времени суток всем. Я новичок в скриптинге. Прочитал 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

Нет это не работает.

Я пробовал вставить в серверный скрипт, и клиентский скрипт но не открывает он это окно.

Если выполняется из серверного скрипта, в консоле сервера выдает ошибку:

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

Вобщем, разобрался.

Основная проблемма в том что я пытался координаты из GUIEDITORа запихать в код.

Editor подругому координаты считает. Тоесть если у меня в окне выбора команды коордитаны меньше единицы. (0.232 etc...) то, если я пытаюсь сделать окно в GUIEDITORe он мне предлает координаты вида: 232,123,231,123. В общем все запутнно.

Если знаете подскажите:

Как настроить EDITOR, на выдачу координат оконо и кнопок в таком виде: 0.1231?

Link to comment

Этот вид ( 0.хххх ) называется - относительный (: А целые числа - абсолютный вид координат. Почти в любой функции для создания GUI элемента есть параметр "relative" (почитай вики), если указать его как false, то твои "232,123,231,123" будут работать как положено. А если параметр "relative" указать как true, то нужно использовать координаты вида 0.xxxx

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...