Jump to content

Бинд на клавишу вывода GUI окна.


Recommended Posts

Привет!

Так как я практически не знаком с GUI и времени его изучать нет, прошу помощи у вас!

Создал GUI окно помощи в GUI Editor, и сейчас нужно сделать так, чтобы игроку, при нажатии на определённую клавишу выводилось окно с помощью. Так же требуется автоматическое изменение окна под разрешение экрана или что-то типа того, думаю вы поняли о чём я.

Собственно само окно:

  
  
GUIEditor = { 
    tab = {}, 
    window = {}, 
    tabpanel = {}, 
    memo = {} 
} 
addEventHandler("onClientResourceStart", resourceRoot, 
    function GUIHelpMenu() 
        GUIEditor.window[1] = guiCreateWindow(356, 189, 639, 412, "Помощь. Открыть/Закрыть окно - F5.", false) 
        guiWindowSetSizable(GUIEditor.window[1], false) 
        guiSetAlpha(GUIEditor.window[1], 1.00) 
  
        GUIEditor.tabpanel[1] = guiCreateTabPanel(25, 27, 591, 372, false, GUIEditor.window[1]) 
  
        GUIEditor.tab[1] = guiCreateTab("Правила сервера", GUIEditor.tabpanel[1]) 
  
        GUIEditor.memo[1] = guiCreateMemo(5, 4, 581, 336, "текст", false, GUIEditor.tab[1]) 
        guiMemoSetReadOnly(GUIEditor.memo[1], true) 
  
        GUIEditor.tab[2] = guiCreateTab("Команды сервера", GUIEditor.tabpanel[1]) 
  
        GUIEditor.memo[2] = guiCreateMemo(5, 4, 581, 336, "текст", false, GUIEditor.tab[2]) 
        guiMemoSetReadOnly(GUIEditor.memo[2], true) 
  
        GUIEditor.tab[3] = guiCreateTab("Другая полезная информация", GUIEditor.tabpanel[1]) 
  
        GUIEditor.memo[3] = guiCreateMemo(5, 4, 581, 336, "текст", false, GUIEditor.tab[3]) 
        guiMemoSetReadOnly(GUIEditor.memo[3], true) 
  
        GUIEditor.tab[4] = guiCreateTab("Слова от администрации", GUIEditor.tabpanel[1]) 
  
        GUIEditor.memo[4] = guiCreateMemo(5, 4, 581, 336, "текст", false, GUIEditor.tab[4]) 
        guiMemoSetReadOnly(GUIEditor.memo[4], true) 
    end 
) 

PS. Если кто то сделает, пожалуйста, объясните как, дабы в следующий раз не спрашивать.

Link to comment

Ты собираешся все делать в клиенте? Если нужно будет выполнить серверную функцию,понадобится

triggerServerEvent 

Судя по твоему варианту,достаточно все в клиент

Выполнять все следует с эвентом

onClientGUIClick 

Если тебе нужно сделать бинд на

GUIEditor.window[1] 

дабы оно открывалось и закрывалось- допиши

bindKey ("f5","down",GUIHelpMenu) 

и удали

addEventHandler("onClientResourceStart", resourceRoot, 

(9 строка) -т.к. при старте ресурса у всех будет высвечиватся это окошко,а кому это надо?

Напиши что именно тебе надо? У тебя нет кнопок,и я не могу понять,что за "окно с помощью"? Если ты хочешь,что бы при нажатии в GUI окне какой нибудь кнопки,тебе надо:

addEventHandler("OnClientGUIClick",кнопка,которую нажать,функция) 

Пример:

function ClickForSomething () 
---Делай тут что -то 
outputChatBox ("Что-то,только не source,ведь это кнопка,которая была нажата",getRootElement()) 
end 
addEventHandler("OnClientGUIClick",GUIEditor.tab[4],ClickForSomething) 

Edited by Guest
Link to comment

Ну-с, help меню же знаешь что такое? Вот у меня точно такой же, но немного изменённый.

Из кнопок там только переключение в табе и скроллинг, больше ничего нет. Нужно сделать максимально просто и понятное меню, я выполнил его.

За то что объяснил - спасибо, потом попробую доделать - отпишу.

Link to comment

Нету такого события OnClientGUIClick, есть onClientGUIClick ! В мта все названия функций и событий начинаются с малой буквы.

Второй аргумент у функции outputChatBox это первый цвет ( дальше идут остальные ) в формате rgb, а у вас это элемент.

Перед тем как помогать кому-то нужно самому знать, иначе человек вас поймёт, но неверно.

Link to comment
Нету такого события OnClientGUIClick, есть onClientGUIClick ! В мта все названия функций и событий начинаются с малой буквы.

Второй аргумент у функции outputChatBox это первый цвет ( дальше идут остальные ) в формате rgb, а у вас это элемент.

Перед тем как помогать кому-то нужно самому знать, иначе человек вас поймёт, но неверно.

Долбанная привычка с большой писать,спасибо,уже поправил.

А насчет outputChatBox,в нем 2 аргумент это кому видел текст,посмотрите внимательнее,я только что перепроверил.

Link to comment

А насчет outputChatBox,в нем 2 аргумент это кому видел текст,посмотрите внимательнее,я только что перепроверил.

Ты не то посмотрел. Второй аргумент outputChatBox - первый из трех цветов. Это же клиент, а на стороне клиента нельзя отправить сообщения другим игрокам, следовательно нет смысла показывать кто увидит сообщение.

Link to comment

А насчет outputChatBox,в нем 2 аргумент это кому видел текст,посмотрите внимательнее,я только что перепроверил.

Ты не то посмотрел. Второй аргумент outputChatBox - первый из трех цветов. Это же клиент, а на стороне клиента нельзя отправить сообщения другим игрокам, следовательно нет смысла показывать кто увидит сообщение.

А действительно...приношу извинение всем,кому доставил неудобства,я сегодня на понтах,весь в сервере своем :D

Каждый день по 5-6 часов дорабатываю сервер.

Еще раз извините

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...