Ziomek11, w jednym pliku po??czy?em si? z MySQL i przekaza?em to po??czenie do funkcji wy?ej za pomoc? funkcja(MySQLConnect, player). Dalszy ci?g funkcji jest na stron? clienta do panelu, po czym wraca na stron? serwera by sprawdzi? co? w MySQL. I tu powstaje problem. Funkcja z po??czeniem MySQL jest w jednej funkcji, a ja chce to u?y? w drugiej, dlatego chce to po??czenie wyci?gn?? z funkcji.
Je?li u?ywasz mysql w r??nych zasobach - musisz ??czy? si? osobno w ka?dym z nich, je?li u?ywasz mysql w jednym zasobie wystarczy po??czy? si? jeden raz.
local hostname = get("hostname") or "maxrate.pl"
local username = get("username") or "rg2_s4971"
local password = get("password") or "******"
local database = get("database") or "rg2_s4971"
local port = tonumber(get("port")) or 3306
MySQLConnect = nil -- Zmieni?em na globaln? ;p
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()),
function(res)
MySQLConnect = mysql_connect(hostname, username, password, database, port)
setTimer(
function()
if (mysql_ping(MySQLConnect)==false) then
mysql_close(MySQLConnect)
MySQLConnect = mysql_connect(hostname, username, password, database, port)
end
end,
1000, 0)
if (not MySQLConnect) then
if (res == getThisResource()) then
cancelEvent(true, "Nieuda?o si? po??czy? z baz? danych")
end
return nil
end
return nil
end
)
addEventHandler("onResourceStop", getResourceRootElement(getThisResource()),
function ()
if (not MySQLConnect) then
return nil
end
mysql_close(MySQLConnect)
return nil
end
)
Drugi plik(cz??ciowo)
addEvent("onGraczStworzPostac", true)
addEventHandler("onGraczStworzPostac", getRootElement(),
function(player, creImie, creNazwisko, creWiek, creSkin, MySQLConnect)
jesttakapostac = mysql_query(MySQLConnect, "SELECT * FROM Postac WHERE Imie='"..creImie.."' and Nazwisko='"..creNazwisko.."'")
if mysql_num_rows(jesttakapostac) > 0 then
triggerClientEvent(player, "creJestTakaPostac", getRootElement())
else
if (creSkin == getElementsByType("skin")) then
idgracza = getElementData(plater, "Zalogowany")
dodajPostac = mysql_query(MySQLConnect, "INSERT INTO Postac(kontoid, ID, Imie, Nazwisko, Wiek, Kasa, Skin) VALUES ('"..idgracza.."', 'NIL', '"..creImie.."', '"..creNazwisko.."', '"..creWiek.."', '500', '"..creSkin.."')")
else
triggerServerEvent(player, "creZleIDSkina", getRootElement())
end
end
end
)
Tak Ziomek11, u?ywam to w jednym skrypcie
Ostatnio zmieniony przez vipSEBOvip 2013-04-13, 12:56, w całości zmieniany 1 raz
Spr?buj da? to zamiast nil - testowa?em, i jak by?o nil wyskakiwa? b??d a jak by?o tak to dzia?a?o.
Timer to z?y pomys?, jeszcze po stronie servera - wola?bym zrobi? skrypt, do kt?rego wysy?am potrzebne dane i z niego ?le do MySQL - tam te? sprawdza czy po??czenie jest aktualne.
PS. Nast?pnym razem nie dawaj has?a do swojej bazy
Dzi?ki za upomnienie. Gdybym teraz has?a nie zmieni?, to kto? by m?g? siedzie? w bazie danych.
[ Dodano: 2013-04-13, 13:07 ]
Wywali?o mi na konsoli co? takiego:
[2013-04-13 13:06] ERROR: Unable to connect to mysql: (1045) Access denied for user 'rg2_s4971'@'petandjoy01.customers.sprintdatacenter.pl' (using password: YES)
[2013-04-13 13:06] Start up of resource BRP-Konto cancelled by script
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