Advertisement
Guest User

Untitled

a guest
Jul 10th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 11.08 KB | None | 0 0
  1. -- CLIENT SCRIPT SAVING DATA SYSTEM AT XML AS TUTORIAL BY Multi-Theft-Auto.ru --
  2. addEventHandler( "onClientResourceStart", getResourceRootElement(getThisResource()),
  3.         function(startedRes)
  4.                 OnPlayerJoinToServer(getLocalPlayer()) -- После закачки данного скрипта клиленту, он запускает функцию, как определяющую, что клиент зашёл на сервер.
  5.         end
  6. );
  7.  
  8. -- Прочие установки --
  9.  
  10.  
  11. --GUIRegisterLogin = {}
  12.  
  13. --[[GUIEditor_Window = {}
  14. GUIEditor_Button = {}
  15. GUIEditor_Label = {}
  16. GUIEditor_Edit = {}]]
  17.  
  18. GUIRegisterLogin = {} -- Создаём новую пустую таблицу для нашего будущего окна (глоб.переменная).
  19. addEvent("openAuthorization", true) -- Добавляем новыи каллбэк, которыи вызывается со стороны сервера и служит для открытия окно авторизации
  20.  
  21. function startRegistration(case)   
  22.     outputChatBox("Пройдите регистрацию." .. case .. "!" )  
  23.     if(case == 1) then -- Проверка, закрыть или открыть окно
  24.         outputChatBox("Пройдите регистрацию." .. case .. "!")   
  25.         GUIRegisterLogin["Main Window"] = guiCreateWindow(256, 191, 312, 190, "Account Access", false) -- Создаём новое окно.
  26.         GUIRegisterLogin["Button Login"] = guiCreateButton(9, 12, 150, 29, "Login", false, GUIRegisterLogin["Main Window"]) -- Создаём новую кнопку Login
  27.         guiSetAlpha(GUIRegisterLogin["Button Login"], 0.5) -- Устанавливаем прозрачность для нашеи созданнои кнопки Login.
  28.         GUIRegisterLogin["Button Register"] = guiCreateButton(158, 13, 145, 28, "Register", false, GUIRegisterLogin["Main Window"]) -- Создаём новую кнопку Register
  29.         guiSetAlpha(GUIRegisterLogin["Button Register"], 0.5) -- Устанавливаем прозрачность для нашеи созданнои кнопки Register.
  30.         GUIRegisterLogin["Image MTA"] = guiCreateStaticImage(9, 58, 124, 93, "images/mtalogo.png", false, GUIRegisterLogin["Main Window"]) -- Создаём картинку в виде лого МТА.
  31.         guiSetAlpha(GUIRegisterLogin["Image MTA"], 0.6) -- Устанавливаем прозрачность для нашеи созданнои картинки МТА.
  32.         GUIRegisterLogin["EditBox Username"] = guiCreateEdit(180, 69, 113, 22, "", false, GUIRegisterLogin["Main Window"]) -- Создаём новое поле, с текстом по умолчанию ника зашедшего игрока.
  33.         guiSetAlpha(GUIRegisterLogin["EditBox Username"], 0.5) -- Устанавливаем прозрачность для созданного поля (username).
  34.         GUIRegisterLogin["EditBox Password"] = guiCreateEdit(179, 102, 114, 22, "", false, GUIRegisterLogin["Main Window"]) -- Создаём новое поле для ввода пароля (password).
  35.         guiSetAlpha(GUIRegisterLogin["EditBox Password"], 0.5) -- Устанавливаем прозрачность для созданного поля (password).
  36.         GUIRegisterLogin["Label Username"] = guiCreateLabel(118, 70, 69, 16, "Username:", false, GUIRegisterLogin["Main Window"]) -- Создаём текст в онке (Username:).
  37.         guiLabelSetColor(GUIRegisterLogin["Label Username"], 255, 255, 255) -- Устаавливаем цвет для созданного текста в формате RGB у нас белыи.
  38.         guiLabelSetVerticalAlign(GUIRegisterLogin["Label Username"], "top") -- Выравниваем по вертикале наш текст по верху.
  39.         guiLabelSetHorizontalAlign(GUIRegisterLogin["Label Username"], "left", false) -- Выравниваем по горизонтале наш текст по левому краю.
  40.         GUIRegisterLogin["Label Password"] = guiCreateLabel(118, 105, 74, 15, "Password:", false, GUIRegisterLogin["Main Window"]) -- Создаём текст в онке (Password:).
  41.         guiLabelSetColor(GUIRegisterLogin["Label Password"], 255, 255, 255) -- Устаавливаем цвет для созданного текста в формате RGB у нас белыи.
  42.         guiLabelSetVerticalAlign(GUIRegisterLogin["Label Password"], "top") -- Выравниваем по вертикале наш текст по верху.
  43.         guiLabelSetHorizontalAlign(GUIRegisterLogin["Label Password"], "left", false) -- Выравниваем по горизонтале наш текст по левому краю.
  44.         GUIRegisterLogin["Label MTA"] = guiCreateLabel(121, 165, 176, 17, "MTA Is The Best Multiplayer (c)", false, GUIRegisterLogin["Main Window"]) -- Создаём текст в онке (MTA Is The Best Multiplayer (c)).
  45.         guiLabelSetColor(GUIRegisterLogin["Label MTA"], 255, 255, 255) -- Устаавливаем цвет для созданного текста в формате RGB у нас белыи.
  46.         guiLabelSetVerticalAlign(GUIRegisterLogin["Label MTA"], "top") -- Выравниваем по вертикале наш текст по верху.
  47.         guiLabelSetHorizontalAlign(GUIRegisterLogin["Label MTA"], "left", false) -- Выравниваем по горизонтале наш текст по левому краю.
  48.         guiEditSetMasked(GUIRegisterLogin["EditBox Password"], true) -- Включаем режим пароля в поле password, т.е маскированныи текст (***).      
  49.         showCursor(true) -- Активируем курсор.
  50.         guiSetInputEnabled(true) -- Включаем возможность печатать в полях.
  51.         guiSetEnabled(GUIRegisterLogin["Button Login"], true) -- Активируем наши кнопки.
  52.         guiSetEnabled(GUIRegisterLogin["Button Register"], true) -- Активируем наши кнопки.
  53.         guiEditSetMaxLength(GUIRegisterLogin["EditBox Username"], 24) -- Создаём максимальныи предел поля ввода логина 24 символов.
  54.         guiEditSetMaxLength(GUIRegisterLogin["EditBox Password"], 12) -- Создаём максимальныи предел поля ввода пароля 12 символов.
  55.         guiWindowSetMovable(GUIRegisterLogin["Main Window"], false) -- Делаем окно неподвижным.
  56.         addEventHandler("onClientGUIClick", GUIRegisterLogin["Button Register"], PassedRegister, false) -- Закрепляем кнопку к функциии PassedRegister, т.е что будет вызываться на клик кнопки.
  57.         addEventHandler("onClientGUIClick", GUIRegisterLogin["Button Login"], PassedLogin, false) -- Закрепляем кнопку к функциии PassedLogin, т.е что будет вызываться на клик кнопки.
  58.         guiSetVisible(GUIRegisterLogin["Main Window"], true) -- Делаем его видимым.        
  59.     else -- Если меньше одного, то окно будет закрыто:
  60.         outputChatBox("Пройдите регистрацию." .. case .. "!")   
  61.         if(guiGetVisible(GUIRegisterLogin["Main Window"]) == true) then -- проверка, если окно видимо:
  62.             guiSetVisible(GUIRegisterLogin["Main Window"], false) -- Делаем его невидимым.
  63.             showCursor(false) -- Убираем курсор.
  64.             guiSetInputEnabled(false) -- Выключаем возможность печатать в наших полях.
  65.         else
  66.             guiSetVisible(GUIRegisterLogin["Main Window"], true) -- Делаем его невидимым.
  67.             showCursor(true) -- Убираем курсор.
  68.             guiSetInputEnabled(true -- Выключаем возможность печатать в наших полях.
  69.         end    
  70.     end
  71. end
  72.  
  73. addEventHandler("openAuthorization", getRootElement(), startRegistration) -- Прикручиваем функцию startRegistration к коллбэку openAuthorization с клиент скрипта.
  74.  
  75. --addCommandHandler ( "regist", startRegistration )
  76.  
  77. addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()),
  78.     function ()
  79.         startRegistration(1)
  80.         outputChatBox("Приветствуем вас на New Unaited States Role Play сервере.")     
  81.     end
  82. )
  83.  
  84. function PassedLogin() -- Функция вызывается, если игрок нажал на кнопку Login.
  85.     local login = guiGetText(GUIRegisterLogin["EditBox Username"]) -- Создаём локальную переменную и получаем текст поля, которыи ввел игрок (имя пользователя).
  86.     local password = guiGetText(GUIRegisterLogin["EditBox Password"]) -- Создаём локальную переменную и получаем текст поля, которыи ввел игрок (пароль).
  87.     if(login == "" and login ~= nil or password == "" and password ~= nil) then -- Проверка, если игрок не ввёл в поля ничего.
  88.         outputChatBox("Пожалуиста, заполните все поля.") -- Выводим сообщение об этом.
  89.     else -- иначе
  90.         triggerServerEvent("onPlayerCustomLogin", getLocalPlayer(), getLocalPlayer(), login, password) -- Если все заполнено, вызывается функция из сервер скрипта, по-скольку в клиент скриптах нет функции по работе с XML фаилами.
  91.     end        
  92. end
  93.  
  94. function BadLogin() -- Если ввёл неверный пароль или игрок не зарегестрирован
  95.     outputChatBox("Введите пароль и логин заного.") -- Выводим сообщение об этом.
  96.     guiSetVisible(GUIRegisterLogin["Main Window"], true) -- Делаем его невидимым.
  97.     showCursor(true) -- Убираем курсор.
  98.     guiSetInputEnabled(true) -- Выключаем возможность печатать в наших полях.
  99. end
  100.  
  101. function PassedRegister() -- Функция вызывается, если игрок нажал на кнопку Register.
  102.     local login = guiGetText(GUIRegisterLogin["EditBox Username"]) -- Создаём локальную переменную и получаем текст поля, которыи ввел игрок (имя пользователя).
  103.     local password = guiGetText(GUIRegisterLogin["EditBox Password"]) -- Создаём локальную переменную и получаем текст поля, которыи ввел игрок (пароль).
  104.     if(login == "" and login ~= nil or password == "" and password ~= nil) then -- Проверка, если игрок не ввёл в поля ничего.
  105.         outputChatBox("Пожалуиста, заполните все поля.") -- Выводим сообщение об этом.
  106.     else -- иначе:
  107.         triggerServerEvent("onPlayerCustomRegister", getLocalPlayer(), getLocalPlayer(), login, password) -- Если все заполнено, вызывается функция из сервер скрипта, по-скольку в клиент скриптах нет функции по работе с XML фаилами.
  108.     end
  109. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement