Wysłany: 2014-03-10, 16:20
Novovix
xNinja powraca
Wiek: 26 Na forum: 4870 dni Posty: 240
Nick w MP: xNinja
Piwa : 452
Cze??! Jak zrobi? aby wy?wietla?o mi si? ID przy nikach graczy tak samo jak jest w mysql? Bo mam stworzone konto i jest ID do niego przypisane, wi?c jak zrobi? aby pod TAB te? to wy?wietla?o ?
Wysłany: 2014-03-10, 16:27
klisiu5
Wiek: 36 Na forum: 4494 dni Posty: 7
Nick w MP: klisiu6
Piwa : 1
Prosz? . piwko
Kod:
exports.scoreboard:scoreboardAddColumn ( "ID" )
setElementData ( player, "ID", id )
Wysłany: 2014-03-10, 16:29
Novovix
xNinja powraca
Wiek: 26 Na forum: 4870 dni Posty: 240
Nick w MP: xNinja
Piwa : 452
Piwko jest. Ale jak mam to doda? w skrypcie ? Funkcje jak mam stworzy? ?
[ Dodano : 2014-03-10, 16:37 ]
Widz?, ?e wklei?e? mi co? co kto? wcze?niej pisac temat o tym .. Tylko ja nie wiem jak tego u?y?.
[ Dodano : 2014-03-10, 16:48 ]
Zrobi?em tak po stronie serwera:
function tab ( player )
exports . scoreboard : scoreboardAddColumn ( "ID" )
setElementData ( player , "ID" , id )
end
addEventHandler ( "onResourceStart" , getRootElement (), tab )
Ale wywala mi b??d: Bad argument @ 'setElementData' [Expected element at argument 1, got resource-data]
Wysłany: 2014-03-17, 21:48
Vike4562
LUA <3
Wiek: 28 Na forum: 4937 dni Posty: 144
Nick w MP: Vike4562
Piwa : 32
nwm czy to jeszcze aktualny temat ale ja bym zrobi? to tak, zapewne wywali ci jeszcze 1 b??d bo nie wie sk?d wzi?? 'id'
Cytat: function tab ()
exports.scoreboard:scoreboardAddColumn ( "ID" )
setElementData(source, "ID", id )
end
addEventHandler ( "onResourceStart", getRootElement(), tab)
Wysłany: 2014-03-17, 21:50
Novovix
xNinja powraca
Wiek: 26 Na forum: 4870 dni Posty: 240
Nick w MP: xNinja
Piwa : 452
Dzieki, sprawdze jutro bo teraz juz nie wejde na pc
[ Dodano : 2014-03-17, 21:51 ]
A napisalbys mi to aby pokazywalo to id przy danym graczu pod tab?
Wysłany: 2014-03-17, 21:55
Vike4562
LUA <3
Wiek: 28 Na forum: 4937 dni Posty: 144
Nick w MP: Vike4562
Piwa : 32
Masz w MYSQL przy ka?dej tabeli ( np: z statystykami gracza ) jego przypisane ID?
Wysłany: 2014-03-17, 21:59
Novovix
xNinja powraca
Wiek: 26 Na forum: 4870 dni Posty: 240
Nick w MP: xNinja
Piwa : 452
Tak mam, od razu przy rejestracji dostaje sie wlasne unikalne id
Wysłany: 2014-03-17, 22:09
Vike4562
LUA <3
Wiek: 28 Na forum: 4937 dni Posty: 144
Nick w MP: Vike4562
Piwa : 32
No to zr?b funkcje na pobranie ID z tabeli (MYSQL) i dodaj linijke
Kod: setElementData(source,"ID", id)
Ale ?eby to zadzia?a?o to musi byc wcze?niej zrobiony na TAB "ID"
Je?eli tak zrobisz to nie dawaj ju? w tej @up funkcji "setElementData" bo ci bedzie wywala? b?ad
Wysłany: 2014-03-18, 15:32
Jacob
Głupiomądry
Wiek: 28 Na forum: 5502 dni Posty: 967
Nick w MP: Jacob
Piwa : 786
Ja bym zrobi? to tak
addEventHandler ( "onResourceStart" , resourceRoot ,
function ( )
exports . scoreboard : scoreboardAddColumn ( "ID" )
end
)
addEventHandler ( "onPlayerLogin" , root ,
function ( )
local accName = getAccountName ( getPlayerAccount ( source ) )
local id = dbPoll ( dbQuery ( handler , "SELECT * FROM accounts WHERE accountName=? LIMIT 1" , accName ), - 1 ). id
if ( id ) then
setElementData ( source , "ID" , id )
end
end
)
Nie wiem czy to b?dzie dzia?a? bo nietestowane i nie wiem jak? masz struktur? bazy MySQL, wi?c to jest tak na prawd? tylko przyk?ad.
Wysłany: 2014-03-18, 16:54
Novovix
xNinja powraca
Wiek: 26 Na forum: 4870 dni Posty: 240
Nick w MP: xNinja
Piwa : 452
Ca?y czas wywala b??dy, kod:
handler = mysql_connect ( "localhost" , "root" , "" , "mysqlrpg" )
addEventHandler ( "onResourceStart" , resourceRoot ,
function ( )
exports . scoreboard : scoreboardAddColumn ( "ID" )
end
)
addEventHandler ( "onPlayerLogin" , root ,
function ( )
local accName = getAccountName ( getPlayerAccount ( source ) )
local id = dbPoll ( dbQuery ( handler , "SELECT * FROM accounts WHERE username=? LIMIT 1" , accName ), - 1 ). id
if ( id ) then
setElementData ( source , "ID" , id )
end
end
)
Wywala te b??dy:
[2014-03-18 09:53] WARNING: id\server.lua:12: Bad argument @ 'dbQuery' [Expected db-connection at argument 1, got userdata]
[2014-03-18 09:53] WARNING: id\server.lua:12: Bad argument @ 'dbPoll' [Expected db-query at argument 1, got boolean]
[2014-03-18 09:53] ERROR: id\server.lua:12: attempt to index a boolean value
Wysłany: 2014-03-18, 17:29
Vike4562
LUA <3
Wiek: 28 Na forum: 4937 dni Posty: 144
Nick w MP: Vike4562
Piwa : 32
Funkcja z neta Uzupe?nisz co niekt?re dane i funkcja gotowa do u?ycia
Jak b?dziesz mia? jakie? pytania to pisz
Kod: function loadID()
for k, v in ipairs (getElementsByType("player")) do
local login = getAccountName(getPlayerAccount(v))
local mysql = mysql_connect("hostingMYSQL","uzytkownikMYSQL","hasloMYSQL","bazaMYSQL")
local result = mysql_query (mysql ,"SELECT * FROM `Konta` WHERE `login` = '"..tostring(login).."'")
if result then
local row = mysql_fetch_assoc(result)
if row then
setElementData(source,"ID", id)
end
mysql_close(mysql)
end
end
end
addEventHandler("onPlayerLogin", getRootElement(), loadID )
Wysłany: 2014-03-18, 17:47
Novovix
xNinja powraca
Wiek: 26 Na forum: 4870 dni Posty: 240
Nick w MP: xNinja
Piwa : 452
Nie wiem dlaczego ale nadal mi nie wyswietla ID gracza ...
Zostaje pusta kolumna pod TAB
Kod:
mysql = mysql_connect ( "localhost" , "root" , "" , "db123321" )
addEventHandler ( "onResourceStart" , resourceRoot ,
function ( )
exports . scoreboard : scoreboardAddColumn ( "ID" )
end
)
function loadID ()
for k , v in ipairs ( getElementsByType ( "player" )) do
local login = getAccountName ( getPlayerAccount ( v ))
local mysql = mysql_connect ( "localhost" , "root" , "" , "db123321" )
local result = mysql_query ( mysql , "SELECT * FROM `users` WHERE `username` = '" .. tostring ( login ).. "'" )
if result then
local row = mysql_fetch_assoc ( result )
if row then
setElementData ( source , "ID" , id )
end
mysql_close ( mysql )
end
end
end
addEventHandler ( "onPlayerLogin" , getRootElement (), loadID )
Co zrobi? ?
Wysłany: 2014-03-18, 17:58
Vike4562
LUA <3
Wiek: 28 Na forum: 4937 dni Posty: 144
Nick w MP: Vike4562
Piwa : 32
Sorry, ?le napisa?em setElementData
Ma by? tak
Kod: setElementData(source,"ID", row.id)
Jak dzia? to licz? na Piwko
Wysłany: 2014-03-18, 18:19
Jacob
Głupiomądry
Wiek: 28 Na forum: 5502 dni Posty: 967
Nick w MP: Jacob
Piwa : 786
Na pocz?tku wyrzu? stare tabele i wykonaj to w phpmyadmin
CREATE TABLE IF NOT EXISTS ` accounts ` (
` id ` int ( 11 ) NOT NULL AUTO_INCREMENT ,
` username ` varchar ( 255 ) NOT NULL ,
PRIMARY KEY (` id `)
) ENGINE = MyISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT = 1 ;
A teraz kod:
db_host = "localhost" -- host / ip bazy danych
db_name = "baza" -- nazwa bazy danych
db_username = "root" -- u ? ytkownik bazy danych
db_password = "" -- has ? o bazy danych
addEventHandler ( "onResourceStart" , resourceRoot ,
function ( )
handler = dbConnect ( "mysql" , "dbname=" .. db_name .. ";host=" .. db_host , db_username , db_password , "share=1" )
if ( handler ) then
exports . scoreboard : scoreboardAddColumn ( "ID" )
else
outputDebugString ( "Nieudano sie polaczyc: (" .. mysql_errno ( handler ) .. ") " .. mysql_error ( handler ) )
end
end
)
addEvent ( "onAccountCreate" , true )
addEventHandler ( "onAccountCreate" , root ,
function ( login , password )
if ( not login or not password ) then return end
local isAccount = getAccount ( login )
if ( not isAccount ) then
local addedAccount = addAccount ( login , password )
if ( addedAccount ) then
local result = dbExec ( handler , "INSERT INTO `accounts` SET `username`=?" , login )
if ( result ) then
ouputChatBox ( "Pomy?lnie zarejestrowano!" , source )
end
end
end
end
)
addEventHandler ( "onPlayerLogin" , root ,
function ( )
local accName = getAccountName ( getPlayerAccount ( source ) )
local result = dbQuery ( handler , "SELECT * FROM `accounts` WHERE `username`=? LIMIT 1" , accName )
if ( result ) then
local data = dbPoll ( result , - 1 )
if ( data ) then
local id = data . id
if ( id == "" or not id ) then return end
setElementData ( source , "ID" , id )
end
end
dbFree ( result )
end
)
Za?o?y?em, ?e rejestrujesz kogo? poprzez GUI wi?c ze strony clienta po rejestracji wykonaj
triggerServerEvent ( "onAccountCreate" , localPlayer , username , password )
Gdzie username to podany login, a password - has?o.
Nie wiem czy b?dzie dzia?a?, bo pisa?em na szybko. Mog? te? zdarzy? si? liter?wki. Jak nie dzia?a poka? b??dy z debugscript 3 i zrzut z ekranu tabeli w MySQL.
Wysłany: 2014-03-18, 19:41
Novovix
xNinja powraca
Wiek: 26 Na forum: 4870 dni Posty: 240
Nick w MP: xNinja
Piwa : 452
Ok uda?o si? dzi?ki zmianie na
setElementData ( source , "ID" , row . id )
Dostajecie Obaj Piwka
[ Dodano : 2014-03-18, 19:49 ]
Tylko teraz jak za?o?? sobie konto to zeby mi pokaza?o ID musze restartn?? skrypt ;/ Co zrobi? aby nie restartowac skryptu? Bo jak mi sie zrestartuje to od nowa Okno Logowania sie pokazuje.
[ Dodano : 2014-03-18, 19:54 ]
I trzeba sie zalogowac normalnie na serwerze i dopiero w tym panelu polaczonym z mysql aby pokazywalo ID ;/ Co zrobi? ?
Tagi: tabeli :: mysql
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: