Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-03-10, 16:20


Novovix

xNinja powraca






Wiek: 26
Na forum: 5011 dni
Posty: 240
Nick w MP: xNinja

Piwa: 453

Respekt: 80,5

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 ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-10, 16:27


klisiu5







Wiek: 36
Na forum: 4636 dni
Posty: 7
Nick w MP: klisiu6

Piwa: 1

Respekt: 50

Prosz? . piwko :)
Kod:


exports.scoreboard:scoreboardAddColumn ( "ID" )
setElementData ( player, "ID", id )


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-10, 16:29


Novovix

xNinja powraca






Wiek: 26
Na forum: 5011 dni
Posty: 240
Nick w MP: xNinja

Piwa: 453

Respekt: 80,5

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]

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-17, 21:48


Vike4562

LUA <3






Wiek: 28
Na forum: 5079 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

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)


Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-17, 21:50


Novovix

xNinja powraca






Wiek: 26
Na forum: 5011 dni
Posty: 240
Nick w MP: xNinja

Piwa: 453

Respekt: 80,5

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?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-17, 21:55


Vike4562

LUA <3






Wiek: 28
Na forum: 5079 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

Masz w MYSQL przy ka?dej tabeli ( np: z statystykami gracza ) jego przypisane ID?

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-17, 21:59


Novovix

xNinja powraca






Wiek: 26
Na forum: 5011 dni
Posty: 240
Nick w MP: xNinja

Piwa: 453

Respekt: 80,5

Tak mam, od razu przy rejestracji dostaje sie wlasne unikalne id

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-17, 22:09


Vike4562

LUA <3






Wiek: 28
Na forum: 5079 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

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

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-18, 15:32


Jacob

Głupiomądry






Wiek: 28
Na forum: 5644 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-18, 16:54


Novovix

xNinja powraca






Wiek: 26
Na forum: 5011 dni
Posty: 240
Nick w MP: xNinja

Piwa: 453

Respekt: 80,5

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


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-18, 17:29


Vike4562

LUA <3






Wiek: 28
Na forum: 5079 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

Funkcja z neta :P 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 )


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-18, 17:47


Novovix

xNinja powraca






Wiek: 26
Na forum: 5011 dni
Posty: 240
Nick w MP: xNinja

Piwa: 453

Respekt: 80,5

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? ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-18, 17:58


Vike4562

LUA <3






Wiek: 28
Na forum: 5079 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

Sorry, ?le napisa?em setElementData

Ma by? tak :)
Kod:

setElementData(source,"ID", row.id)


Jak dzia? to licz? na Piwko :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-18, 18:19


Jacob

Głupiomądry






Wiek: 28
Na forum: 5644 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-18, 19:41


Novovix

xNinja powraca






Wiek: 26
Na forum: 5011 dni
Posty: 240
Nick w MP: xNinja

Piwa: 453

Respekt: 80,5

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? ?

Postaw piwo autorowi tego posta
 

 
Tagi: tabeli :: mysql
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » ID z tabeli w mysql Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku