
McFree
Members-
Posts
26 -
Joined
-
Last visited
Everything posted by McFree
-
есть еще вызов по горячей клавише, вот код: bindKey("o", "down", function() visibleLoginPanel(not guiGetVisible(BackShadow)) end) он работает
-
НЕ могу понять почему не срабатывает Эвент 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) Все работает кроме этого эвента. В чем может быть проблема? И да, это на стороне клиента
-
Может кто подсказать как сделать подобную кастомизацию скинов? Или что-то похожее на данное видео.
-
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?
-
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?
-
Туплю, что такое валидность?
-
Туплю, что такое валидность?
-
Как сменить педу скин? пробую так - без результатов killPed(CPad) ThisSkin = ThisSkin-1 CPad = createPed( StartSkinsW.ThisSkin, 1339, -1817, 14 , 230)
-
Как сменить педу скин? пробую так - без результатов killPed(CPad) ThisSkin = ThisSkin-1 CPad = createPed( StartSkinsW.ThisSkin, 1339, -1817, 14 , 230)
-
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?
-
Нужна помощь, не могу понять как получить таблицу 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 на клиентскую таблицу?
-
Опять беда, в чем проблема понять так же не могу, после проверки логина и пароля хочу эвент новый задействовать в ином скрипте рядом лежащем и в итоге он просто его не хавает 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
-
Решил проверить код на ошибки и в итоге напоролся на это, проверка логина и пароля. В чем беда понять не могу по мануалу прошелся. Вроде сравнивание 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"
-
Как сделать отправку с массивом? Например с подобным двумерным массивом: Мои попытки свелись к этому: triggerServerEvent("GetCharacterGame", getRootElement(), Characters) И еще вопрос, есть ли возможность обращаться к массиву из одного клиентского скрипта другому? ( и аналогично с серверными)
-
Сейчас проверим Выдало INFO: Call server->client true И сейчас магическим способом заработало За дебаг спасибо, буду пользоваться! )
-
Она не возвращает, она дает значение UserID передает на Character.lua а он же обращается этой переменной к Мускулу и Передает все значения столбцов с этим ID, на втором коде как раз таки я хотел сделать вывод всех персонажей с данными в переменную-массив Characters
-
В общем беда такая, после авторизации нужно создать эвент который будет ловиться скриптом characters_c.lua и при получении будет сразу отправлять эвент запроса в characters.lua (соответственно входящими данными будет ID аккаунта) И собственно вот что у меня: Сам вопрос. При подаче Эвента на создание GUI персонажей, Эвент пропадает куда-то и не ловится В чате пишет лишь "Работа Клиента !!!!". Как отправлять эти триггеры?
-
Беда, скрипт не может получить данные через dbQuery
-
Проблемка, при авторизации не проверяет логин и пароль при получении значений. На скрипте сервера такие строчки: Лог: Никак не могу понять как сделать проверку на имеющиеся значения ...
-
Прошарил уйму ссылок в интернете на тему того как отправлять запросы MySQL и так и не понял как делать запросы для поиска значения, изменения значения и добавления строк в таблице Может кто скинуть примеры этих запросов для MySQL? (хочу доделать регистрацию на сервере) За помощь с проблемой буду ОЧЕНЬ благодарен!
-
Столкнулся с серьезной для меня проблемы. Если кто знает мод Paradice RP то думаю сталкивались с проблемой моей. При смерти персонаж не спавнится ни в какую ... Все примеры для спавна в нулевой точке при смерти не работали в эвенте onClientPlayerWasted и onPlayerRespawn