Ksantus12 Posted December 14, 2013 Share Posted December 14, 2013 Witam, viewtopic.php?f=108&t=52786 Chciałem przetestować ten skrypt na swoim serwerze, ale jest pewien problem. Po restarcie skryptu wszystko znika, czy jest możliwość, aby niezabardzo doświadczona osoba (czytaj, ja...) zrobiła system zapisywania przedmiotów ? Raczej pokroju .xml, bo baza danych MysQl mnie przeraża. Chyba, że ona jest tym łatwiejszym rozwiązaniem. Z góry dziękuje. Link to comment
Ksantus12 Posted December 14, 2013 Author Share Posted December 14, 2013 Hmm, teraz się tak przyjżałem i wydaje mi się, że to ma wbudowany system zapisywania... ale nie wiem... Byłbym wdzięczny jakby ktoś się temu przyjżał. Link to comment
dzek (varez) Posted December 14, 2013 Share Posted December 14, 2013 Do bazy będzie prościej niż do XML, ale nie zrobisz tego w 20 minut, ani w 2 dni, nie mając doświadczenia w tym. Potrzebujesz zapisać wartość w element data playera o nazwie "inventory_items", być może do samego zasobu też trzeba będzie dopisać jakąś funkcję (nie przyglądałem mu się czy odczytuje przy każdym pokazaniu GUI te przedmioty z element data czy z jakiegoś "cache" (ale w sumie raczej z element data)). niej na uwadze to, że `inventory_items` to jest tablica. ps. przyjRZyj się też słownikowi Link to comment
Ksantus12 Posted December 14, 2013 Author Share Posted December 14, 2013 Męcze się z tym na podstawie innego systemu, ale jak widze jakieś klucze, floaty, primary keye, NULLe , nie wiadomo co i wiem, że tego nie rozumiem... to się odechciewa kombinowania... Tutaj jest jakiś inny kod, próbowałem na jego podstawie, ale wyszła jakaś totalna masakra pewnie... : database = mysql_connect( "127.0.0.1", "root", "", "mtadb" ) -- connectDB if database then outputDebugString ('Connect') else outputDebugString ("Trouble") end function saveAccounts () -- Save in the database local serial = getPlayerSerial ( source ) local x,y,z = getElementPosition( source ) local i = getElementInterior( source ) local d = getElementDimension( source ) local skin = getPedSkin ( source ) local money = getPlayerMoney ( source ) local health = getElementHealth ( source ) local armor = getPedArmor ( source ) local wanted = getPlayerWantedLevel ( source ) local inventory = getPlayerItemAmount ( source ) local q = mysql_query(database,"SELECT * FROM `accounts` WHERE `serial` = '".. serial .."'") if(mysql_num_rows(q) == 0) then mysql_query( database, "INSERT INTO accounts ( `serial` , x, y, z, intterior, demension, skin, money, health, armor, wanted, inventory ) VALUES ( '" .. serial .. "', " .. x .. ", " .. y .. ", " .. z .. "," .. i .. ", " .. d .. "," .. skin .. "," .. money .. ", ".. health ..", ".. armor ..", " .. wanted .. ", "..inventory.." )" ) else res = mysql_query ( database, "UPDATE `accounts` SET x = ".. x ..", y = ".. y ..", z = ".. z ..", intterior = ".. i ..", demension = ".. d ..", skin = ".. skin ..", money = ".. money ..", health = ".. health ..", armor = ".. armor ..", wanted = ".. wanted ..", inventory = ".. inventory .." WHERE `serial` = '"..serial.."'") end end function loadAccounts () -- Loading from the database local serial = getPlayerSerial ( source ) local result = mysql_query ( database ,"SELECT * FROM `accounts` WHERE `serial` = '"..serial.."'") if result then while true do local row = mysql_fetch_assoc(result) if not row then break end setElementPosition ( source, row.x, row.y, row.z) setElementInterior ( source, row.intterior ) setElementDimension ( source, row.demension ) setPedSkin ( source, row.skin ) setPlayerMoney ( source, row.money ) setElementHealth ( source, row.health) setPedArmor ( source, row.armor ) setPlayerWantedLevel ( source, row.wanted ) getPlayerItemAmount ( source, row.inventory ) -- outputChatBox ('You were warped at latest position',source,255,255,255,true) break end end end addEventHandler ( "onPlayerJoin", getRootElement(), loadAccounts ) addEventHandler ( "onPlayerQuit", getRootElement(), saveAccounts ) Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now