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

Wysłany: 2015-08-27, 18:26


flimbo123







Wiek: 33
Na forum: 5776 dni
Posty: 93
Nick w MP: Flimbo

Piwa: 190

Respekt: 60


addEventHandler "onResourceStart"getResourceRootElement(),
function ()
  local root xmlLoadFile ("cars.xml")
  local houseroot xmlFindChild (root,"cars",0)
  if (houserootthen
    for i,v in ipairs (xmlNodeGetChildren(houseroot)) do
      local carmodel xmlNodeGetAttribute (v,"model")
      local x xmlNodeGetAttribute (v,"x")
      local y xmlNodeGetAttribute (v,"y")
      local z xmlNodeGetAttribute (v,"z")
      local color1 xmlNodeGetAttribute (v,"color1")
      local color2 xmlNodeGetAttribute (v,"color2")
      local owner xmlNodeGetAttribute (v,"owner")
      local price xmlNodeGetAttribute (v,"price")
      local tune xmlNodeGetAttribute (v,"tune")
      local lock xmlNodeGetAttribute (v,"lock")
      local a xmlNodeGetAttribute (v,"a")
      cars[i] = createVehicle tonumber(carmodel),tonumber(x),tonumber(y),tonumber(z), 00tonumber(a) )
      setElementInterior cars[i], )
      setElementData (cars[i],"xpos",tonumber(x))
      setElementData (cars[i],"ypos",tonumber(y))
      setElementData (cars[i],"zpos",tonumber(z))
      setElementData (cars[i],"angle",tonumber(a))
      setElementData (cars[i],"owner",owner)
      setElementData (cars[i],"price",tonumber(price))
      setElementData (cars[i],"lock",tonumber(lock))
      setElementData (cars[i], "num")
      setVehicleColor cars[i], tonumber(color1), tonumber(color2), 0)
      AddVehicleUpgrade cars[i], tonumber(tune))
      if(lock == 1then
          setVehicleLocked cartrue )
      end
      if getElementData cars[i], "owner" ) == "Nobody" then
        buycarpickup[i] = createPickup x,  yz31274 )
          attachElements buycarpickup[i], cars[i], 001.9 )
      end
      maxcars maxcars+1
    end
    outputDebugString ("System aut: Zaladowano")
  end
end
)

function saveCars ()
    local root xmlLoadFile ("cars.xml")
    local houseroot xmlFindChild (root,"cars",0)
        if (houserootthen
        for i,v in ipairs (xmlNodeGetChildren(houseroot)) do
         local color1color2color3color4 getVehicleColor cars[i] )
         local tune getVehicleUpgrades cars[i] )
          xmlNodeSetAttribute v"model"getElementModel(cars[i]) )
          xmlNodeSetAttribute v"x"getElementData(cars[i], "xpos") )
          xmlNodeSetAttribute v"y"getElementData(cars[i], "ypos") )
          xmlNodeSetAttribute v"z"getElementData(cars[i], "zpos") )
          xmlNodeSetAttribute v"a"getElementData(cars[i], "angle") )
          xmlNodeSetAttribute v"color1"color1 )
          xmlNodeSetAttribute v"color2"color2 )
          xmlNodeSetAttribute v"owner"getElementData(cars[i], "owner") )
          xmlNodeSetAttribute v"price"getElementData(cars[i], "price") )
          xmlNodeSetAttribute v"lock"getElementData(cars[i], "lock") )
          xmlNodeSetAttribute v"tune"getElementData(cars[i], "tune") )
        end
        xmlSaveFile(root)
    end
end



s?k w tym, ?e nie zapisuje ani nie odczytuje tuningu oznaczonego tu jako "tune" :>

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-27, 18:53


Tostuch







Wiek: 27
Na forum: 4931 dni
Posty: 483
Nick w MP: Tost

Piwa: 137

Respekt: 110
Respekt: 110

getElementData(cars[i], "tune")
Jak wygl?da zapisana warto???

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-27, 20:47


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Nie polecam XML, buguje si? cz?sto, spr?buj zrobi? pod SQL i zobacz efekt :)

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-27, 21:00


flimbo123







Wiek: 33
Na forum: 5776 dni
Posty: 93
Nick w MP: Flimbo

Piwa: 190

Respekt: 60

Tostuch, d??e do tego, aby zapisan? warto?ci? by?o ID cz??ci tuningowej.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-28, 13:34


Tostuch







Wiek: 27
Na forum: 4931 dni
Posty: 483
Nick w MP: Tost

Piwa: 137

Respekt: 110
Respekt: 110

flimbo123, stawiam ?e jest to pobrana warto?? z getVehicleUpgrades, dlatego ci nie wrzuca tuningu. Musisz stworzy kolejne tabelki i wpisac do nich odpowiednie rekordy. Ja mam to zrobione na MySQL i u mnie to wygl?da tak:
exports.hl_core:zapytanie("INSERT INTO hl_pojazdy (model, wlasciciel, rejestracja, r, g, b, x, y, z, rx, ry, rz, paintjob, hood, wheels, nitro, frontbump, rearbump, vent, spoiler, lights, roof, hydraulika, stereo, exhaust) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"getElementModel(veh), getElementData(veh"owner"), rejestracjargbxyzrxryrzpaintjobgetVehicleUpgradeOnSlot(veh0) or 0getVehicleUpgradeOnSlot(veh12) or 0getVehicleUpgradeOnSlot(veh8) or 0getVehicleUpgradeOnSlot(veh14) or 0getVehicleUpgradeOnSlot(veh15) or 0getVehicleUpgradeOnSlot(veh1) or 0getVehicleUpgradeOnSlot(veh2) or 0getVehicleUpgradeOnSlot(veh6) or 0getVehicleUpgradeOnSlot(veh7) or 0getVehicleUpgradeOnSlot(veh9) or 0getVehicleUpgradeOnSlot(veh10) or 0getVehicleUpgradeOnSlot(veh13) or 0)


Pobieram ka?dy zainstalowany komponent i zapisuje go jako ID dodatku lub 0. P??niej wszystko zczytuj? tak:

if v["hood"] ~= 0 then addVehicleUpgrade(vehv["hood"]) end
        if v["vent"] ~= 0 then addVehicleUpgrade(vehv["vent"]) end
        if v["wheels"] ~= 0 then addVehicleUpgrade(vehv["wheels"]) end
        if v["nitro"] ~= 0 then addVehicleUpgrade(vehv["nitro"]) end
        if v["hydraulika"] ~= 0 then addVehicleUpgrade(vehv["hydraulika"]) end
        if v["frontbump"] ~= 0 then addVehicleUpgrade(vehv["frontbump"]) end
        if v["rearbump"] ~= 0 then addVehicleUpgrade(vehv["rearbump"]) end
        if v["spoiler"] ~= 0 then addVehicleUpgrade(vehv["spoiler"]) end
        if v["lights"] ~= 0 then addVehicleUpgrade(vehv["lights"]) end
        if v["roof"] ~= 0 then addVehicleUpgrade(vehv["roof"]) end
        if v["stereo"] ~= 0 then addVehicleUpgrade(vehv["stereo"]) end
        if v["exhaust"] ~= 0 then addVehicleUpgrade(vehv["exhaust"]) end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-28, 19:41


flimbo123







Wiek: 33
Na forum: 5776 dni
Posty: 93
Nick w MP: Flimbo

Piwa: 190

Respekt: 60

Tostuch, Pomys? jest faktycznie sensowny, jednak kompletnie nie znam si? na MySQL. Wygl?da na do?? skomplikowany system. No trudno, trzeba b?dzie w ko?cu wyj?? z zbugowanego XML'a :>

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-28, 20:08


KukiX







Wiek: 34
Na forum: 6718 dni
Posty: 567

Piwa: 17560

Respekt: 160
Respekt: 160Respekt: 160

"flimbo123" napisał/a:

Tostuch, Pomys? jest faktycznie sensowny, jednak kompletnie nie znam si? na MySQL. Wygl?da na do?? skomplikowany system. No trudno, trzeba b?dzie w ko?cu wyj?? z zbugowanego XML'a :>


XML nie jest zbugowane.
Nie nadaje si? po prostu do zapisu du?ej ilo?ci danych po stronie serwera.

SQL Lite wcale nie jest trudne.
Polecam skorzysta? z tego zasobu https://github.com/lpiob/MTA-XyzzyRP/tree/master/resources/%5BXyzzyRP%5D/DB2
Dzi?ki niemu b?dzie Ci ?atwiej.

Przyk?ad jak korzysta? z zasobu DB2:
Kod:

local dbmanager=exports["DB2"]

-- wysylanie zapytania do serwera mysql
dbmanager:zapytanie("UPDATE tabela SET cos=? WHERE id=?", "wynikcos", 1)

-- pobieranie jednego rekordu
local data=dbmanager:pobierzWyniki("SELECT cos FROM tabela WHERE id=? LIMIT 1;", 1)
outputDebugString(data.cos) -- wyswietlenie zawartosci kolumny 'cos'

-- pobieranie wiecej niz jednego rekordu
local data=dbmanager:pobierzTabeleWynikow("SELECT cos FROM tabela")
for i,v in pairs(data) do
outputDebugString(v.cos) -- wyswietlenie zawartosci kolumny 'cos'
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-29, 03:08


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Je?eli o SQL chodzi - polecam skorzysta? z mojego systemu pojazd?w, kt?ry zaprezentowa?em w tym filmie:
https://www.youtube.com/watch?v=Erj1DDCZywM

Jest on oparty oczywi?cie na SQLite.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-29, 19:07


flimbo123







Wiek: 33
Na forum: 5776 dni
Posty: 93
Nick w MP: Flimbo

Piwa: 190

Respekt: 60

B?d? eksperymentowa? z SQL, dzi?ki wam :-) a wracaj?c do skryptu:

W systemie pojazd?w kt?re na ten moment posiadam w XML jest oko?o 50 pozycji, to nie jest a? tak duzo aby go wysypa? :> wracaj?c do tego co mam, zapisuje kolor pozycje co do milimetra a chcialbym aby ten nieszcz?sny tuning sie zapisywa?, jakie? rady co do tego? Chc? aby w pozycji "tune" je?li nie ma wcale tuningu by?o pusto a je?li jest jaki?, albo wiele by?yby tam wymienione.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-30, 02:08


Tostuch







Wiek: 27
Na forum: 4931 dni
Posty: 483
Nick w MP: Tost

Piwa: 137

Respekt: 110
Respekt: 110

Ja dla Twojego dobra, poleca?bym Ci taki "skomplikowany" zapis, ze wzgl?du na ?atwo?? jego za?adowania. Babraj?c si? ze wszystkim w jednej zmiennej b?dzie Ci cholernie trudno j? wczyta?; rozprzecinkowanie, wrzucenie odpowiednich apgrejdow - mord?ga, nie polecam. Lepiej si? te kilka minut wi?cej przebole? i dopisa? te rekordy i pobiera? je odpowiednio funkcj? getVehicleUpgradeOnSlot() ni? babra? si? z ca?? tablic? getVehicleUpgrades.

Postaw piwo autorowi tego posta
 

 
Tagi: tuning :: pojazdu :: nie :: zapisuje :: ani :: nie :: odczytuje :: xml
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA 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