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

Wysłany: 2016-03-18, 19:58


sasik12







Wiek: 27
Na forum: 3904 dni
Posty: 182

Piwa: 7

Respekt: 60

Witam mam problem z mechem :(
wyskakuj? errory :
SCRIPT ERROR: MechanikDoherty\naprawa_s.lua:286: '<eof>' expected nead'
ERROR: Loading script failed: MechanikDoherty\naprawa_s.lua:286: '<eof>' expected near 'end'

for i,v in pairs(strefyNapraw) do
  v.cs=createColCuboid(unpack(v.cuboid))
  css=createColCuboid( -2304.94, -124.98, 35.32, 10, 5, 4 )
  v.marker=createMarker(v.mpos[1], v.mpos[2], v.mpos[3], "cylinder", 1, 0,0,0,100)
  setElementData(v.marker,"cs",v.cs)
  setElementData(v.marker,"faction_id",v.faction_id)
  
end

--   triggerServerEvent("naprawaElementu", resourceRoot, naprawiany_pojazd, czesc, koszt)
addEvent("naprawaElementu", true)
addEventHandler("naprawaElementu", resourceRoot, function(pojazd, czesc, koszt)
  outputDebugString("Naprawa elementu " .. czesc .. " za " .. koszt)
  takePlayerMoney( client, koszt )
  if koszt>getPlayerMoney(client) then
    return
  end

  if (czesc==-1) then
--    setElementHealth(pojazd, 1000)

    local vps={}
    local vds={}
    local vls={}

    for i=0,6 do          vps[i]=getVehiclePanelState(pojazd,i)     end
    for i=0,3 do          vds[i]=getVehicleDoorState(pojazd,i) end
    for i=0,3 do          vls[i]=getVehicleLightState(pojazd,i) end

    fixVehicle(pojazd)

    for i=0,6 do      setVehiclePanelState(pojazd, i, vps[i])    end
    for i=0,3 do      setVehicleDoorState(pojazd, i, vds[i])    end
    for i=0,3 do      setVehicleLightState(pojazd, i, vls[i])    end

    triggerClientEvent(client, "refreshVehicleData", resourceRoot, pojazd)
  elseif czesc>=0 and czesc<=6 then
    setVehiclePanelState(pojazd, czesc, 0)
    triggerClientEvent(client, "refreshVehicleData", resourceRoot, pojazd)
  elseif czesc>=10 and czesc<20 then
    local drzwi=czesc-10
    setVehicleDoorState(pojazd, drzwi, 0)
    triggerClientEvent(client, "refreshVehicleData", resourceRoot, pojazd)
  elseif czesc>=20 then
    local swiatlo=czesc-20
    setVehicleLightState(pojazd, swiatlo, 0)
    triggerClientEvent(client, "refreshVehicleData", resourceRoot, pojazd)
  end
end)

local punkty_brania_kol={
 -- {-2042.60,162.87,28.84-0.9,1.5, faction_id=3}, --idlewood

}

local warsztatyid = {
    [3]=true,
}

for i,v in ipairs(punkty_brania_kol) do
  v.marker=createMarker(v[1],v[2],v[3],"cylinder", v[4], 0,0,0,100)
  setElementData(v.marker, "braniekola", true)
  setElementData(v.marker, "faction:id", v.faction_id)
end


local function czyPracownikWarsztatu(gracz)
  local lfid=getElementData(gracz,"faction:id") or -1
  if not warsztatyid[lfid] then return false end
  return true
end

local function najblizszeKolo(gracz,pojazd)
  -- easy peasy
  local xg,yg,zg=getElementPosition(gracz)
  local najblizszeKolo=nil
  local najblizszeDist=1000

  local x,y,z=getElementPosition(pojazd)
  local _,_,rz=getElementRotation(pojazd)

  for i=1,4 do
    local rrz=math.rad(rz+45+(i-1)*90)
    local x= x + (1 * math.sin(-rrz))
    local y= y + (1 * math.cos(-rrz))
    if not najblizszeKolo or getDistanceBetweenPoints2D(x,y,xg,yg)<najblizszeDist then
      najblizszeDist=getDistanceBetweenPoints2D(x,y,xg,yg)
      najblizszeKolo=i
    end
  end
  -- ugly
  if not najblizszeKolo then return nil end
  if najblizszeKolo==4 then return 3
  elseif najblizszeKolo==3 then return 4 end
  return najblizszeKolo
end

local function zalozKolo(plr)

  local x,y,z=getElementPosition(plr)
  local _,_,rz=getElementRotation(plr)

  local rrz=math.rad(rz)
  local x= x + (1.5 * math.sin(-rrz))
  local y= y + (1.5 * math.cos(-rrz))

  local cs=createColSphere(x,y,z,2.5)
  local pojazdy=getElementsWithinColShape(cs,"vehicle")
  destroyElement(cs)
  if (#pojazdy~=1) then
    return false
  end

  -- okreslamy, kolo ktorego kola jest gracz

  local k1,k2,k3,k4=getVehicleWheelStates(pojazdy[1])
  if (k1==0) and (k2==0) and (k3==0) and (k4==0) then return end
  local kolo=najblizszeKolo(plr,pojazdy[1])
  if not kolo then return end

  setPedAnimation(plr, "MISC", "pickup_box", 1, false, false, true, true)
  toggleControl(plr, "forward", false)
  setTimer(setPedAnimationProgress, 600, 1, plr, "pickup_box", 0.5)
  setElementData(plr, "blockSettingAnimation", true) --blokujemy ENTER
  if kolo==1 then
    k1=0
  elseif kolo==2 then
    k2=0
  elseif kolo==3 then
    k3=0
  elseif kolo==4 then
    k4=0
  end
  
  setTimer(setPedAnimation, 9000, 1, plr, "ped", "phone_in")
  setTimer(setPedAnimation, 9300, 1, plr)
  setTimer(setVehicleWheelStates, 9000, 1, pojazdy[1], k1, k2, k3, k4)
  setTimer(setElementData, 9000, 1, plr, "blockSettingAnimation", true)
  setTimer(toggleControl, 9000, 1, plr, "forward", true)
  zabierzKolo(plr,9000)
end

function zabierzKolo(el,delay)
  local niesionyObiekt=getElementData(el,"niesioneKolo")
  if niesionyObiekt then
    
    if isElement(niesionyObiekt) then
      if delay then
        setTimer(destroyElement, delay, 1, niesionyObiekt)
      else
        destroyElement(niesionyObiekt)
      end
    end

    removeElementData(el,"niesioneKolo")
    setPedWalkingStyle(el,0)
    unbindKey(el, "fire", "down", zalozKolo)
    return true
  end
  return false
end



addEventHandler("onMarkerHit", resourceRoot, function(el,md)
  if not md or getElementType(el)~="player" then return end
  if not czyPracownikWarsztatu(el) then return end
  if not getElementData(source, "braniekola") then return end
  if getElementData(source, "faction:id") ~= getElementData(el, "faction:id") then return end

  if zabierzKolo(el) then return end

  local kolo=createObject(1098,0,0,0)
  setObjectScale(kolo, 0.7)
  setElementData(el,"niesioneKolo", kolo,false)
--  attachElements(kolo, el, 0,0.4,-0.2,0,0,90)
  bindKey(el, "fire", "down", zalozKolo)
  exports["bone_attach"]:attachElementToBone(kolo, el, 11, 0.1,-0.1,0)
  setPedWalkingStyle(el,66)
end)


markery_praca_mech = {
{2162.27,-2146.83,13.55},
{2162.27,-2146.83,13.55},
}

for k,v in ipairs (markery_praca_mech) do
   wez_skina_mech = createPickup ( v[1] , v[2] , v[3] ,3, 1275, 0, 0)
end

function rozpocznij_prace_mecha (element)
            cywilt = getTeamFromName ( "CYWILE" )
            setPlayerTeam ( element, cywilt )
        if getAccountData ( getPlayerAccount ( element ), "stary:skin" ) then
            id = tonumber ( getAccountData ( getPlayerAccount ( element ), "stary:skin" ) )
            setElementModel ( element, id ) 
            setAccountData ( getPlayerAccount ( element ), "stary:skin", false )
        else
            skin = tonumber ( getElementModel ( element ) )
            setAccountData ( getPlayerAccount ( element ), "stary:skin", skin )
            setElementModel ( element, 50  )
end
end
end
addEventHandler ( "onPickupHit", wez_skina_mech, rozpocznij_prace_mecha )





markery_praca_mech1 = {
{-2041.57,159.64,28.84},
{-2041.57,159.64,28.84},
}

for k,v in ipairs (markery_praca_mech1) do
   wez_skina_mech = createPickup ( v[1] , v[2] , v[3] ,3, 1275, 0, 0)
end

function rozpocznij_prace_mecha1 (element)
    if isObjectInACLGroup ("user."..getAccountName ( getPlayerAccount ( element ) ), aclGetGroup ( "Mechanik" ) ) then
            cywilt = getTeamFromName ( "CYWILE" )
            setPlayerTeam ( element, cywilt )
        if getAccountData ( getPlayerAccount ( element ), "stary:skin" ) then
            id = tonumber ( getAccountData ( getPlayerAccount ( element ), "stary:skin" ) )
            setElementModel ( element, id ) 
            setAccountData ( getPlayerAccount ( element ), "stary:skin", false )
        else
            skin = tonumber ( getElementModel ( element ) )
            setAccountData ( getPlayerAccount ( element ), "stary:skin", skin )
            setElementModel ( element, 50  )
end
end
end
addEventHandler ( "onPickupHit", wez_skina_mech, rozpocznij_prace_mecha1 )

    

    --[[    
    
    myMarker3 = createMarker( -2039.64,174.76,28.84-0.9, 'cylinder', 1, 0, 0, 0)
    bra3 = createObject ( 11416, -2038.88,178.76,29.84, 0, 0, 0 )
function MarkerHit3  (hitPlayer, matchingDimension)
local playera = hitPlayer
local easing = "OutBounce"
local time = 5000
if getElementType( playera ) == "player" then
if isObjectInACLGroup( 'user.'..getAccountName( getPlayerAccount( playera ) ), aclGetGroup( "Mechanik" ) )  then  
moveObject ( bra3, time, -2038.88,178.76,29.84-5.5, 0, 0, 0, easing)
end
    end
        end


function MarkerLeave3 ()
local easing2 = "OutBounce"
local time = 5000
moveObject ( bra3, time, -2038.88,178.76,29.84, 0, 0, 0, easing2)
end
addEventHandler ( "onMarkerHit", myMarker3, MarkerHit3 )
addEventHandler ( "onMarkerLeave", myMarker3, MarkerLeave3 )
--]]










local pojazdyPubliczne = {
    {525, -2053.08,146.19,28.71,358.1,0.0,179.4},
    {525, -2047.16,146.22,28.72,358.2,360.0,180.0},    
}

for i,v in ipairs(pojazdyPubliczne) do
    local pojazd = createVehicle(v[1], v[2], v[3], v[4], v[5], v[6], v[7])
    setElementData(pojazd, "pojazd_opis", "Mech #"..i.."")
    setElementFrozen(pojazd, true)
    setElementData(pojazd, "pojazd_paliwo", 100)
end


addEventHandler("onVehicleStartEnter", resourceRoot, function(plr,seat)
if seat == 0 then
local accountName=getAccountName(getPlayerAccount(plr))
if isObjectInACLGroup("user."..accountName, aclGetGroup("Mechanik")) then return end
outputChatBox("* Nie jeste? pracownikiem.", plr, 255, 0, 0)
cancelEvent()
return
end
end)

addEventHandler("onVehicleEnter", resourceRoot, function(plr, seat)
    if seat == 0 then
        setElementFrozen(source, false)
        setElementData(source, "pojazd_paliwo", 100)
    end
end)

Za pomoc daje browara :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-18, 20:04


P.Wiśnia

Programista LUA






Wiek: 25
Na forum: 4186 dni
Posty: 568
Nick w MP: P.Wiśnia

Piwa: 378

Respekt: 100
Respekt: 100

error jest w 286 linijce sprawd? czy nie masz 1 end za du?o

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-18, 20:05


AteX







Wiek: 27
Na forum: 4156 dni
Posty: 925
Nick w MP: #AteX

Piwa: 8366

Respekt: 775,3
Respekt: 775,3Respekt: 775,3

Tutaj uci??o ci najprawdopodobniej isObjectInACLGroup i zosta? po nim end
function rozpocznij_prace_mecha (element)
            cywilt = getTeamFromName ( "CYWILE" )
            setPlayerTeam ( element, cywilt )
        if getAccountData ( getPlayerAccount ( element ), "stary:skin" ) then
            id = tonumber ( getAccountData ( getPlayerAccount ( element ), "stary:skin" ) )
            setElementModel ( element, id ) 
            setAccountData ( getPlayerAccount ( element ), "stary:skin", false )
        else
            skin = tonumber ( getElementModel ( element ) )
            setAccountData ( getPlayerAccount ( element ), "stary:skin", skin )
            setElementModel ( element, 50  )
end
end
end
addEventHandler ( "onPickupHit", wez_skina_mech, rozpocznij_prace_mecha )


Podpis
MultiTheftAuto++ dla MTA 1.5.7 już dostępne.
Postaw piwo autorowi tego posta
 

 
Tagi: mechanik
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