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

Wysłany: 2014-11-05, 18:21


Dixers

No-Life






Wiek: 26
Na forum: 4313 dni
Posty: 549
Nick w MP: Dixers

Piwa: 412

Respekt: 56,8

Witam serdecznie. Nie dzia?a mi save pojazd?w do XML w tym o to skrypcie. Poka?? tak?e, jak zrobi?em XML, oraz meta, bo mo?e to tam jest b??d:

Skrypt:

cars={}
buycarpickup={}
maxcars 0

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 lock xmlNodeGetAttribute (v,"lock")
      local a xmlNodeGetAttribute (v,"a")
      cars[i] = createVehicle tonumber(carmodel),tonumber(x),tonumber(y),tonumber(z), 00tonumber(a) )
      setElementInterior cars)
      setElementData (cars,"xpos",tonumber(x))
      setElementData (cars,"ypos",tonumber(y))
      setElementData (cars,"zpos",tonumber(z))
      setElementData (cars,"angle",tonumber(a))
      setElementData (cars,"owner",owner)
      setElementData (cars,"price",tonumber(price))
      setElementData (cars,"lock",tonumber(lock))
      setElementData (cars"num")
      setVehicleColor carstonumber(color1), tonumber(color2), 0)
      if(lock == 1then
      setVehicleLocked carstrue )
      end
      if getElementData cars"owner" ) == "Nobody" then
        buycarpickup createPickup x,  yz31274 )
        attachElements buycarpickupcars001.9 )
      end
      maxcars maxcars+1
    end
    outputDebugString ("Pojazdy zosta?y wczytane!")
  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 )
          xmlNodeSetAttribute v"model"getElementModel(cars) )
          xmlNodeSetAttribute v"x"getElementData(cars"xpos") )
          xmlNodeSetAttribute v"y"getElementData(cars"ypos") )
          xmlNodeSetAttribute v"z"getElementData(cars"zpos") )
          xmlNodeSetAttribute v"a"getElementData(cars"angle") )
          xmlNodeSetAttribute v"color1"color1 )
          xmlNodeSetAttribute v"color2"color2 )
          xmlNodeSetAttribute v"owner"getElementData(cars"owner") )
          xmlNodeSetAttribute v"price"getElementData(cars"price") )
          xmlNodeSetAttribute v"lock"getElementData(cars"lock") )
        end
        xmlSaveFile(root)
    end
end

function adminCreateVehicle sourcecmd )
    local accName getAccountName getPlayerAccount source ) )
    if isObjectInACLGroup "user." .. accNameaclGetGroup "RCON" ) ) then
      local root xmlLoadFile ("cars.xml")
      local houseroot xmlFindChild (root,"cars",0)
      local createdcar xmlCreateChild houseroot"vehicle" )
      local carmodel xmlNodeSetAttribute createdcar"model""451" )
      local xygetElementPosition source )
      local xa,ya,getElementRotation source )
      xmlNodeSetAttribute createdcar"x")
      xmlNodeSetAttribute createdcar"y")
      xmlNodeSetAttribute createdcar"z")
      xmlNodeSetAttribute createdcar"a")
      xmlNodeSetAttribute createdcar"color1""0" )
      xmlNodeSetAttribute createdcar"color2""0" )
      xmlNodeSetAttribute createdcar"owner""Nobody" )
      xmlNodeSetAttribute createdcar"price""0" )
      xmlNodeSetAttribute createdcar"lock""0" )
      cars[maxcars+1] = createVehicle 451,x,y,z,0,0,)
      setElementData (cars[maxcars+1],"xpos",x)
      setElementData (cars[maxcars+1],"ypos",y)
      setElementData (cars[maxcars+1],"zpos",z)
      setElementData (cars[maxcars+1],"angle"a)
      setElementData (cars[maxcars+1],"owner","Nobody")
      setElementData (cars[maxcars+1],"price",0)
      setElementData (cars[maxcars+1],"lock",0)
      xmlSaveFile(root)
      maxcars maxcars+1
    else
    outputChatBox ("Nie masz praw do tej komendy.",source255,255,127 )
    end
end

addCommandHandler ("create"adminCreateVehicle)
addCommandHandler ("save"saveCars)

function getCar car )
    return cars[car]
end

function enterVehicle sourceseatjacked )
    local playercar getPedOccupiedVehicle source )
    if(seat == 0then
        if (getElementData playercar"owner" )) then
            if(getElementData playercar"owner" ) ~= "Nobody" then
                if(getElementData playercar"owner" ) == getPlayerName source )) then
                    outputChatBox ("Witaj w swoim samochodzie!",source255,255,127 )
                else
                    outputChatBox ("Ten pojazd nalezy do gracza: "..getElementData playercar"owner" ).."",source255,255,127 )
                end
            else
                local price getElementData playercar"price" )
                triggerClientEvent source"showBuyCar"sourceprice)
                toggleAllControls sourcefalsetruefalse )
                return true
            end
        end
    end
end

addEventHandler "onVehicleEnter"getRootElement(), enterVehicle )

function AcceptToBuyCar ( )
    local playercar getPedOccupiedVehicle source )
    if(getElementData playercar"owner" ) == "Nobody"then
        if(getPlayerMoney source ) > tonumber(getElementData playercar"price"))) then
            setElementData playercar"owner"getPlayerName source ))
            takePlayerMoney sourcetonumber(getElementData playercar"price" )))
            toggleAllControls sourcetrue )
            outputChatBox ("Kupile? pojazd!"source243,149,72 )
            destroyElement(buycarpickup[getElementData(playercar,"num")])
            saveCars ()
        else
        outputChatBox ("Nie masz tyle pini?dzy."source243,149,72 )
            setControlState source"enter_exit"true )
        end
    end
end
addEvent("acceptBuyCar",true)
addEventHandler("acceptBuyCar",root,AcceptToBuyCar)


function playerCarLock sourcecmd)
    for i,v in ipairs (cars) do
        if(getElementData cars"owner" ) == getPlayerName source )) then
        setVehicleLocked carstrue )
            setElementData (cars,"lock"1)
            outputChatBox ("Pojazd zamniety",source243,149,72 )
            saveCars()
        end
    end
end

addCommandHandler ("zamknij",playerCarLock)


function playerCarUnLock sourcecmd)
    for i,v in ipairs (cars) do
        if(getElementData cars"owner" ) == getPlayerName source )) then
            setVehicleLocked carsfalse )
            setElementData (cars,"lock"0)
            outputChatBox ("Otworzono pojazd",source243,149,72 )
            saveCars()
        end
    end
end

addCommandHandler ("otworz",playerCarUnLock)



cars.xml
Kod:


<car>
<cars>
</cars>
</car>


meta.xml
Kod:


<meta>
<script src="cars_main.lua" />
<script src="cars_client.lua" type="client" />
<script src="cars_commands.lua" />
<export function="saveCars" />
<file src="cars.xml" />
</meta>



Za pomoc stawiam piwka i reputacje +5 :) :piwo:

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-11-05, 19:42


Maximerr

Programmer PHP, LUA






Wiek: 25
Na forum: 4427 dni
Posty: 548

Piwa: 1051

Respekt: 365,3
Respekt: 365,3Respekt: 365,3Respekt: 365,3Respekt: 365,3

Jakie? db3?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-11-05, 19:50


Dixers

No-Life






Wiek: 26
Na forum: 4313 dni
Posty: 549
Nick w MP: Dixers

Piwa: 412

Respekt: 56,8

Maximerr, jest w linijce 137 jak kupuje pojazd:

Bad Argument @ "destroy element" [Expected function at argument 1, got nil]

Postaw piwo autorowi tego posta
 

 
Tagi: savepojazdów :: 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 » SavePojazdów XML 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