Jump to content

McFree

Members
  • Posts

    26
  • Joined

  • Last visited

Everything posted by McFree

  1. есть еще вызов по горячей клавише, вот код: bindKey("o", "down", function() visibleLoginPanel(not guiGetVisible(BackShadow)) end) он работает
  2. НЕ могу понять почему не срабатывает Эвент function visibleLoginPanel(bool) showCursor(bool) guiSetVisible(BackShadow, bool) showPlayerHudComponent("all", not bool) showChat(not bool) if bool then startLoginAnimation(math.random(3)) else stopLoginAnimation() end end addEventHandler("onClientPlayerJoin", root, function() outputChatBox("* Зашел на сервер, панель появилась") visibleLoginPanel(not guiGetVisible(BackShadow)) --Открыть/закрыть логин панель в зависимости от её видимости - если её не видно, то открыть, иначе - закрыть end) Все работает кроме этого эвента. В чем может быть проблема? И да, это на стороне клиента
  3. Может кто подсказать как сделать подобную кастомизацию скинов? Или что-то похожее на данное видео.
  4. McFree

    Skins for Ped

    I want to change the Ped skins by pressing a button in the GUI but this feature does not react in any way. What to do? killPed(CPad) ThisSkin = ThisSkin-1 CPad = createPed( StartSkinsW[ThisSkin], 1339, -1817, 13.5 , 230) Where I made a mistake?
  5. McFree

    Skins for Ped

    I want to change the Ped skins by pressing a button in the GUI but this feature does not react in any way. What to do? killPed(CPad) ThisSkin = ThisSkin-1 CPad = createPed( StartSkinsW[ThisSkin], 1339, -1817, 13.5 , 230) Where I made a mistake?
  6. Как сменить педу скин? пробую так - без результатов killPed(CPad) ThisSkin = ThisSkin-1 CPad = createPed( StartSkinsW.ThisSkin, 1339, -1817, 14 , 230)
  7. Как сменить педу скин? пробую так - без результатов killPed(CPad) ThisSkin = ThisSkin-1 CPad = createPed( StartSkinsW.ThisSkin, 1339, -1817, 14 , 230)
  8. function loginHandler(username,password) if source then dbQuery( function(qh) -- результат в переменную result local result = dbPoll( qh, -1, true ) --если result имеет в себе что-то if result then --считать колонки for column, value in pairs ( result ) do DBInf.DBuser = value["Username"] DBInf.DBpass = value["Password"] DBInf.DBuserID = value["UserID"] end end -- проверяем username и password на правильность if (tostring(DBInf.DBuser) == tostring(username)) and (tostring(DBInf.DBpass) == tostring(password)) then -- игрок успешно залогинился, переходим к выбору персонажа triggerClientEvent("ChangeCharacters", getRootElement(), DBInf.DBuserID) else -- если username или password неправильны, выводим игроку соответствующее сообщение triggerClientEvent("AuthERROR", getRootElement(), "Не верный Username или Password @2" ) triggerClientEvent("AuthView", getRootElement() ) end end, SQL, "SELECT * FROM accounts WHERE Username= ? and Password = ?", username, password ) end end triggerClientEvent выводит всем игрокам на сервере. Как можно сделать так чтобы выводило лишь тому кто отправил запрос на функцию loginHandler?
  9. McFree

    GUI

    Проблема такова, если я хочу сделать GUI для одного игрока при входе то это GUI открывается у всех игроков, как сделать отправку триггера для игрока который отправил его? Можете скинуть примеры создания хэндлера и отправки триггера ?
  10. Нужна помощь, не могу понять как получить таблицу Characters. Клиентский скрипт: Characters = { ChName = {}, ChLvl = {}, ChSkin = {}, ChHealth = {}, ChArmor = {}, ChMoney = {}, ChBank = {}, ChWeapons = {}, ChCreated = {}, ChLastLogin = {}, ChDeathTime = {}, CharCount = 0 } Characters = triggerServerEvent("loadCharacters", getRootElement(), UserID) Серверный скрипт: Characters = { ChName = {}, ChLvl = {}, ChSkin = {}, ChHealth = {}, ChArmor = {}, ChMoney = {}, ChBank = {}, ChWeapons = {}, ChCreated = {}, ChLastLogin = {}, ChDeathTime = {}, CharCount = 0 } function loadCharacters(UserID) if (client) then dbQuery( function(qh) -- результат в переменную result local result = dbPoll( qh, -1, true ) --если result имеет в себе что-то if result then for _, row in ipairs ( result ) do for column, value in pairs ( result ) do Characters.CharCount = row Characters.ChName[row] = value["Name"] Characters.ChLvl[row] = value["Lvl"] Characters.ChSkin[row] = value["Skin"] Characters.ChHealth[row] = value["Health"] Characters.ChArmor[row] = value["Armor"] Characters.ChMoney[row] = value["Money"] Characters.ChBank[row] = value["Bank"] Characters.ChWeapons[row] = value["Weapons"] Characters.ChCreated[row] = value["Created"] Characters.ChLastLogin[row] = value["LastLogin"] Characters.ChDeathTime[row] = value["DeathTime"] end end end return Characters end, SQL, "SELECT * FROM characters WHERE UserID = ?", UserID ) end end addEvent( "loadCharacters", true ) addEventHandler( "loadCharacters", root, loadCharacters) Как организовать передачу полученной таблицы из MySQL на клиентскую таблицу?
  11. Опять беда, в чем проблема понять так же не могу, после проверки логина и пароля хочу эвент новый задействовать в ином скрипте рядом лежащем и в итоге он просто его не хавает function loginHandler(username,password) if client then dbQuery( function(qh) -- результат в переменную result local result = dbPoll( qh, -1, true ) --если result имеет в себе что-то if result then --считать колонки for column, value in pairs ( result ) do DBInf.DBuser = value["Username"] DBInf.DBpass = value["Password"] DBInf.DBuserID = value["UserID"] end end -- проверяем username и password на правильность if (tostring(DBInf.DBuser) == tostring(username)) and (tostring(DBInf.DBpass) == tostring(password)) then -- игрок успешно залогинился, переходим к выбору персонажа outputDebugString( "Авторизация прошла" ) triggerClientEvent( "ChangeCharacters", getRootElement(), DBInf.DBuserID ) -- не может перейти на этот эвент else -- если username или password неправильны, выводим игроку соответствующее сообщение triggerClientEvent( "AuthERROR", getRootElement(), "Не верный Username или Password @2" ) triggerClientEvent( "AuthView", getRootElement() ) end end, SQL, "SELECT * FROM accounts WHERE Username= ? and Password = ?", username, password ) end end
  12. Решил проверить код на ошибки и в итоге напоролся на это, проверка логина и пароля. В чем беда понять не могу по мануалу прошелся. Вроде сравнивание String значений может идти через == но не получается, собственно сам код: DBInf = { { DBpass = nil}, { DBuser = nil}, { DBuserID = nil} } function loginHandler(username,password) dbQuery( function(qh) -- результат в переменную result local result = dbPoll( qh, -1, true ) --если result имеет в себе что-то if result then --считать колонки outputDebugString( "Получение данных SQL" ) for column, value in pairs ( result ) do DBInf.DBuser = value["Username"] DBInf.DBpass = value["Password"] DBInf.DBuserID = value["UserID"] outputDebugString( "USER:" .. tostring(DBInf.DBuser) .. " PASS:" .. tostring(DBInf.DBpass) .. " UserID:" ..tostring(DBInf.DBuserID) ) end end end, SQL, "SELECT * FROM accounts WHERE Username= ? and Password = ?", username, password ) -- проверяем username и password на правильность outputDebugString( "Проверка данных" ) if DBInf.DBuser == username and DBInf.DBpass == password then -- В этой строке проблема outputDebugString( "Заход в игру" ) -- игрок успешно залогинился, так что спавним его if (client) then outputDebugString( "Авторизация прошла" ) --spawnPlayer(client, 1766, -1912, 14.5, 90) --fadeCamera(client, true) --setCameraTarget(client, client) outputDebugString( tostring(DBInf.DBuserID) ) triggerClientEvent("ChangeCharacters", getRootElement(), DBInf.DBuserID) --triggerEvent("ChangeCharacters", client, DBInf.DBuserID ) end else -- если username или password неправильны, выводим игроку соответствующее сообщение if client then triggerClientEvent ( client, "AuthERROR", client, "Не верный Username или Password @2" ) triggerClientEvent ( client, "AuthView", client ) end end end В GUI выдает ошибку: "Не верный Username или Password @2"
  13. Если передавать массив, то ключи 1-го уровня массива сохранятся?
  14. Как сделать отправку с массивом? Например с подобным двумерным массивом: Мои попытки свелись к этому: triggerServerEvent("GetCharacterGame", getRootElement(), Characters) И еще вопрос, есть ли возможность обращаться к массиву из одного клиентского скрипта другому? ( и аналогично с серверными)
  15. Сейчас проверим Выдало INFO: Call server->client true И сейчас магическим способом заработало За дебаг спасибо, буду пользоваться! )
  16. Она не возвращает, она дает значение UserID передает на Character.lua а он же обращается этой переменной к Мускулу и Передает все значения столбцов с этим ID, на втором коде как раз таки я хотел сделать вывод всех персонажей с данными в переменную-массив Characters
  17. В общем беда такая, после авторизации нужно создать эвент который будет ловиться скриптом characters_c.lua и при получении будет сразу отправлять эвент запроса в characters.lua (соответственно входящими данными будет ID аккаунта) И собственно вот что у меня: Сам вопрос. При подаче Эвента на создание GUI персонажей, Эвент пропадает куда-то и не ловится В чате пишет лишь "Работа Клиента !!!!". Как отправлять эти триггеры?
  18. Беда, скрипт не может получить данные через dbQuery
  19. Проблемка, при авторизации не проверяет логин и пароль при получении значений. На скрипте сервера такие строчки: Лог: Никак не могу понять как сделать проверку на имеющиеся значения ...
  20. Прошарил уйму ссылок в интернете на тему того как отправлять запросы MySQL и так и не понял как делать запросы для поиска значения, изменения значения и добавления строк в таблице Может кто скинуть примеры этих запросов для MySQL? (хочу доделать регистрацию на сервере) За помощь с проблемой буду ОЧЕНЬ благодарен!
  21. Столкнулся с серьезной для меня проблемы. Если кто знает мод Paradice RP то думаю сталкивались с проблемой моей. При смерти персонаж не спавнится ни в какую ... Все примеры для спавна в нулевой точке при смерти не работали в эвенте onClientPlayerWasted и onPlayerRespawn
×
×
  • Create New...