Wysłany: 2014-05-18, 13:30
pr0g1s
Wiek: 38 Na forum: 4532 dni Posty: 15
Piwa : 354
Siemka, robi? panel logowania, kt?ry mia? by? przeznaczony na serwer truck, ale nie wiem, jak to z tym jeszcze b?dzie, by? mo?e go opublikuje, aby kto? m?g? si? na tym wzorowa?, ale nie wa?ne to jest na t? chwil?.
Problem w tym, ?e chc? zrobi?, aby po zalogowaniu na dan? nazw? u?ytkowniku, zmienia?a si? na ni?. Obecnie wszystko dzia?a, ale np. kole? ma nick XYZ, login ABC, loguje si? jako ABC, a w grze obecny jest jako XYZ, a ja chc?, aby by? widoczny, jako ABC. Zastanawia mnie czy jest sens pobierania z bazy danych nicku po zalogowaniu, czy nie zrobi? tak, ?e pobiera go z tekstu.
Server:
addEvent ( "onLogin" , true )
addEventHandler ( "onLogin" , getRootElement (), function( log , pass )
if ( log and pass ) then
local md5pass = md5 ( pass ) -- zmienia pass na md5
local zap = mysql_query ( handler , "SELECT * FROM users WHERE login='" .. log .. "' AND haslo='" .. md5pass .. "'" ) -- sprawdza czy konto podane istnieje w bazie danych
if ( zap ) then
if mysql_num_rows ( zap ) == 1 then -- je ? eli tak
local git = { success = true }
triggerClientEvent ( "onLoginYES" , getRootElement (), git ) -
local lognick = log -- !!!! DO POPRAWKI !!!! ---
setPlayerName ( localPlayer , lognick ) -- !!!! DO POPRAWKI !!!! --
else -- gdy podane konto nie istenieje
local git2 = { success = true , komunikat = "Podano niepoprawne dane! Spr?buj jeszcze raz!" }
triggerClientEvent ( "onLoginNO" , getRootElement (), git2 ) -- wysy ?? info do klienta
end
end
end
end )
Wysłany: 2014-05-18, 14:16
Zgredek666
LUA
Wiek: 27 Na forum: 4722 dni Posty: 251
Nick w MP: Zgredek
Piwa : 442
Je?eli dobrze rozumiem to chodzi ci oto ?eby jego nazwa po zalogowaniu = jego login.
local nick = getPlayerFromName ( log )
Wysłany: 2014-05-18, 14:19
pr0g1s
Wiek: 38 Na forum: 4532 dni Posty: 15
Piwa : 354
No tak.
Jak zrobi? obiad to zobacz?, czy dzia?a.
Wysłany: 2014-05-18, 14:26
Zgredek666
LUA
Wiek: 27 Na forum: 4722 dni Posty: 251
Nick w MP: Zgredek
Piwa : 442
addEvent ( "onLogin" , true )
addEventHandler ( "onLogin" , getRootElement (), function( log , pass )
if ( log and pass ) then
local md5pass = md5 ( pass ) -- zmienia pass na md5
local zap = mysql_query ( handler , "SELECT * FROM users WHERE login='" .. log .. "' AND haslo='" .. md5pass .. "'" ) -- sprawdza czy konto podane istnieje w bazie danych
if ( zap ) then
if mysql_num_rows ( zap ) == 1 then -- je ? eli tak
local git = { success = true }
triggerClientEvent ( "onLoginYES" , getRootElement (), git ) -
local nick = getPlayerFromName ( log )
setPlayerName ( localPlayer , nick )
else -- gdy podane konto nie istenieje
local git2 = { success = true , komunikat = "Podano niepoprawne dane! Spr?buj jeszcze raz!" }
triggerClientEvent ( "onLoginNO" , getRootElement (), git2 ) -- wysy ?? info do klienta
end
end
end
end )
Wysłany: 2014-05-18, 14:35
Tey
Wiek: 31 Na forum: 4876 dni Posty: 155
Nick w MP: l0nger
Piwa : 280
skad masz tam localPlayer?
Wysłany: 2014-05-18, 16:03
pr0g1s
Wiek: 38 Na forum: 4532 dni Posty: 15
Piwa : 354
Wysłany: 2014-05-18, 16:09
Zgredek666
LUA
Wiek: 27 Na forum: 4722 dni Posty: 251
Nick w MP: Zgredek
Piwa : 442
Wysłany: 2014-05-18, 16:15
pr0g1s
Wiek: 38 Na forum: 4532 dni Posty: 15
Piwa : 354
Nadal nie dzia?a. Po zalogowaniu pozostaje nick wpisany w MTA.
Wysłany: 2014-05-18, 16:21
Zgredek666
LUA
Wiek: 27 Na forum: 4722 dni Posty: 251
Nick w MP: Zgredek
Piwa : 442
Wysłany: 2014-05-18, 16:27
pr0g1s
Wiek: 38 Na forum: 4532 dni Posty: 15
Piwa : 354
Kod: [2014-05-18 16:27] WARNING: [truck]/login/server.lua:50: Bad argument @ 'setPlayerName' [Expected element at argument 1, got boolean]
Wysłany: 2014-05-18, 16:29
Zgredek666
LUA
Wiek: 27 Na forum: 4722 dni Posty: 251
Nick w MP: Zgredek
Piwa : 442
addEvent ( "onLogin" , true )
addEventHandler ( "onLogin" , getRootElement (), function( log , pass , nick )
if ( log and pass ) then
local md5pass = md5 ( pass ) -- zmienia pass na md5
local zap = mysql_query ( handler , "SELECT * FROM users WHERE login='" .. log .. "' AND haslo='" .. md5pass .. "'" ) -- sprawdza czy konto podane istnieje w bazie danych
if ( zap ) then
if mysql_num_rows ( zap ) == 1 then -- je ? eli tak
local git = { success = true }
triggerClientEvent ( "onLoginYES" , getRootElement (), git )
local nick = getPlayerFromName ( log )
setPlayerName ( nick ) -
else -- gdy podane konto nie istenieje
local git2 = { success = true , komunikat = "Podano niepoprawne dane! Spr?buj jeszcze raz!" }
triggerClientEvent ( "onLoginNO" , getRootElement (), git2 ) -- wysy ?? info do klienta
end
end
end
end )
Wysłany: 2014-05-18, 16:47
pr0g1s
Wiek: 38 Na forum: 4532 dni Posty: 15
Piwa : 354
To samo... Kod: [2014-05-18 16:47] WARNING: [truck]/login/server.lua:50: Bad argument @ 'setPlayerName' [Expected element at argument 1, got boolean]
Wysłany: 2014-05-18, 17:32
Tey
Wiek: 31 Na forum: 4876 dni Posty: 155
Nick w MP: l0nger
Piwa : 280
W setPlayerName w pierwszym argumencie musi by? nick gracza.
Je?eli triggerujesz event do serwera to zwykle podajesz element gracza.
Tak wi?c, source b?dzie tutaj odpowiednikiem localPlayer.
Kod:
setPlayerName (source, nick)
Wysłany: 2014-05-18, 23:46
pr0g1s
Wiek: 38 Na forum: 4532 dni Posty: 15
Piwa : 354
Nadal nie zmienia nicku. Ju? nie wiem o co mo?e chodzi?.
Server:
addEvent ( "onLogin" , true )
addEventHandler ( "onLogin" , getRootElement (), function( log , pass )
if ( log and pass ) then
local md5pass = md5 ( pass ) -- zmienia pass na md5
local zap = mysql_query ( handler , "SELECT * FROM users WHERE login='" .. log .. "' AND haslo='" .. md5pass .. "'" ) -- sprawdza czy konto podane istnieje w bazie danych
if ( zap ) then
if mysql_num_rows ( zap ) == 1 then -- je ? eli tak
local git = { success = true }
triggerClientEvent ( "onLoginYES" , getRootElement (), git )
local nick = getPlayerFromName ( log )
setPlayerName ( source , nick )
else -- gdy podane konto nie istenieje
local git2 = { success = true , komunikat = "Podano niepoprawne dane! Spr?buj jeszcze raz!" }
triggerClientEvent ( "onLoginNO" , getRootElement (), git2 ) -- wysy ?? info do klienta
end
end
end
end )
To co ma pobra? po stronie clienta:
function onLogin () -- co wpisze przesy ? a do Servera --
local log = guiGetText ( loginbox )
local pass = guiGetText ( passbox )
triggerServerEvent ( "onLogin" , localPlayer , log , pass )
end
Wysłany: 2014-05-19, 14:42
Zgredek666
LUA
Wiek: 27 Na forum: 4722 dni Posty: 251
Nick w MP: Zgredek
Piwa : 442
Tagi: zmiana :: nicku
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: