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

Wysłany: 2014-11-02, 19:55


Dixers

No-Life






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

Piwa: 412

Respekt: 56,8

Witam serdecznie. Mam taki sobie system pojazd?w, oczywi?cie s-side. No i problem polega na tym, ?e nie dzia?a /save, oraz nie nie pojawia si? pickup, kt?ry sprawia?, ?e ukazywa?o si? gui. Podaje ca?y kod, bo przeszuka?em ca?y kod i nie wiem ju? co gdzie i jak jest ?le....Prosz? was o pomoc. Daje :piwo: :piwo: :piwo: oraz reputacje R*


cars={}
buycarpickup={}
maxcars = 0

addEventHandler ( "onResourceStart", getResourceRootElement(),
function ()
  local root = xmlLoadFile ("cars.xml")
  local houseroot = xmlFindChild (root,"cars",0)
  if (houseroot) then
    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), 0, 0, tonumber(a) )
      setElementInterior ( cars[i], 0 )
      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", i )
      setVehicleColor ( cars[i], tonumber(color1), tonumber(color2), 0, 0 )
      if(lock == 1) then
        setVehicleLocked ( car, true )
      end
      if getElementData ( cars[i], "owner" ) == "Nobody" then
        buycarpickup[i] = createPickup ( x,  y, z, 3, 1274 )
        attachElements ( buycarpickup[i], cars[i], 0, 0, 1.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 (houseroot) then
        for i,v in ipairs (xmlNodeGetChildren(houseroot)) do
         local color1, color2, color3, color4 = getVehicleColor ( 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") )
        end
        xmlSaveFile(root)
    end
end

function adminCreateVehicle ( source, cmd )
    local accName = getAccountName ( getPlayerAccount ( source ) )
    if isObjectInACLGroup ( "user." .. accName, aclGetGroup ( "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 x, y, z = getElementPosition ( source )
      local xa,ya,a = getElementRotation ( source )
      xmlNodeSetAttribute ( createdcar, "x", x )
      xmlNodeSetAttribute ( createdcar, "y", y )
      xmlNodeSetAttribute ( createdcar, "z", z )
      xmlNodeSetAttribute ( createdcar, "a", 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,a )
      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.",source, 255,255,127 )
    end
end

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

function getCar ( car )
    return cars[car]
end

function enterVehicle ( source, seat, jacked )
    local playercar = getPedOccupiedVehicle ( source )
    if(seat == 0) then
        if (getElementData ( playercar, "owner" )) then
            if(getElementData ( playercar, "owner" ) ~= "Nobody" ) then
                if(getElementData ( playercar, "owner" ) == getPlayerName ( source )) then
                    outputChatBox ("Witaj w swoim samochodzie!",source, 255,255,127 )
                else
                    outputChatBox ("Ten pojazd nalezy do gracza: "..getElementData ( playercar, "owner" ).."",source, 255,255,127 )
                end
            else
                local price = getElementData ( playercar, "price" )
                triggerClientEvent ( source, "showBuyCar", source, price)
                toggleAllControls ( source, false, true, false )
                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 ( source, tonumber(getElementData ( playercar, "price" )))
            toggleAllControls ( source, true )
            outputChatBox ("Kupiles pojazd!", source, 243,149,72 )
            destroyElement(buycarpickup[getElementData(playercar,"num")])
            saveCars ()
        else
        outputChatBox ("Nie masz tyle pieni?dzy.", source, 243,149,72 )
            setControlState ( source, "enter_exit", true )
        end
    end
end
addEvent("acceptBuyCar",true)
addEventHandler("acceptBuyCar",root,AcceptToBuyCar)

function playerCarLock ( source, cmd)
    for i,v in ipairs (cars) do
        if(getElementData ( cars[i], "owner" ) == getPlayerName ( source )) then
            setVehicleLocked ( cars[i], true )
            setElementData (cars[i],"lock", 1)
            outputChatBox ("Pojazd zamniety",source, 243,149,72 )
            saveCars()
        end
    end
end

addCommandHandler ("zamknij",playerCarLock)


function playerCarUnLock ( source, cmd)
    for i,v in ipairs (cars) do
        if(getElementData ( cars[i], "owner" ) == getPlayerName ( source )) then
            setVehicleLocked ( cars[i], false )
            setElementData (cars[i],"lock", 0)
            outputChatBox ("Otworzono pojazd",source, 243,149,72 )
            saveCars()
        end
    end
end

addCommandHandler ("otworz",playerCarUnLock)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-11-03, 19:23


luki123luki123

Place Game






Wiek: 28
Na forum: 5416 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6103

Respekt: 611
Respekt: 611Respekt: 611

Dixers, jest tu kilka b??d?w jak widz? w funkcji saveCars
function saveCars ()
    local root = xmlLoadFile ("cars.xml")
    if (root) then
    local houseroot = xmlFindChild (root,"cars",0)
         local color1, color2, color3, color4 = getVehicleColor ( cars[i:16] )
          xmlNodeSetAttribute ( houseroot, "model", getElementModel(cars[i:17]) )
          xmlNodeSetAttribute ( houseroot, "x", getElementData(cars[i:18], "xpos") )
          xmlNodeSetAttribute ( houseroot, "y", getElementData(cars[i:19], "ypos") )
          xmlNodeSetAttribute ( houseroot, "z", getElementData(cars[i:20], "zpos") )
          xmlNodeSetAttribute ( houseroot, "a", getElementData(cars[i:21], "angle") )
          xmlNodeSetAttribute ( houseroot, "color1", color1 )
          xmlNodeSetAttribute ( houseroot, "color2", color2 )
          xmlNodeSetAttribute ( houseroot, "owner", getElementData(cars[i:22], "owner") )
          xmlNodeSetAttribute ( houseroot, "price", getElementData(cars[i:23], "price") )
          xmlNodeSetAttribute ( houseroot, "lock", getElementData(cars[i:24], "lock") )
        end
        xmlSaveFile(root)
    end
end

Nie wiem do czego jest car[i] ale co tam sprawdzaj i m?w.

[ Dodano: 2014-11-03, 19:26 ]
Dixers, masz saveCars na mnie ?le po.1 u?ywasz z tabeli ?le nie mo?na tak u?ywa? tego nalepiej to pobierz wszytkie auta na serwerze sprawdz czy maja rejestracje je?eli tak to zapisuj pokoleji ale przed tym usuwaj wiersze w xml.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-11-03, 21:09


Dixers

No-Life






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

Piwa: 412

Respekt: 56,8

Jejku, czyli masa pracy tak? A pom?g?by? mi z tym kodem? Ci?gle si? ucz? i nie znam wszystkich funkcji i nie kt?rych zastosowa? funkcji.

Postaw piwo autorowi tego posta
 

 
Tagi: system :: pojazdów.
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