Jump to content

[AJUDA] Adicionar valor em setElementData


Recommended Posts

Iae rapaziada, seguinte. Eu to fazendo um script que é divido em três partes a parte 1 (Carregamento),  parte 2 (Entrega do produto) e parte 3 (Revenda ao consumidor final)  o meu plano final é fazer trabalhos interligados! Porém no momento estou fazendo tudo junto o Entregador faz o carregamento e entrega ( a parte de revenda ainda não desenvolvi!).

O meu problema esta sendo na hora de colocar o produto no caminhão em setElementData(CamiNaMarker, "Caminhao:ProntoPcarregar", DataCaminhao + 1) ( linha 77). O máximo são 20 produtos que o Entregador pode colocar dentro do caminhão então sendo assim eu queria que cada vez que ele colocasse o produto no caminhão seria adicionado +1 no elementData até chegar aos 20! Após isso ele poderia retirar o caminhão da marker e fazer sua entrega!

Erro no debugscript:  

Trabalho-CarregadorACPT\server.Lua:111: attempt to perform arithmetic on upvalue 'DataCaminhao' (a userdata value)

Segue abaixo o script:

MarkerCaminhao = createMarker(-486.762, -4996.24, 1.478 -1, "cylinder", 3.0, 210, 10, 10, 100)

IniJob = createMarker(-476.458, -5001.667, 1.47 -1, "cylinder", 2.0, 3, 120, 210, 210)


--EntJob = createMarker(-485.388, -4982.361, 1.478 -1, "cylinder", 2.0, 210, 120, 3, 210)


local rad = math.random(13, 45)

function CarregadorPegar (Jog)
    local fX, fY, fZ = getElementPosition( Jog ); 
    if isElementWithinMarker(Jog, IniJob) then
        setPedAnimation( Jog, "CARRY", "liftup", 1.0, false );
        setTimer(function()
            --caixa = createObject(2912, 0, 0, 0)
            setPedAnimation( Jog, nil );
            setPedAnimation( Jog, "CARRY", "crry_prtial", 4.1, true, true, true );

            toggleControl(Jog,"jump", false)
            toggleControl(Jog,"fire", false)
            
            caixa = createObject( 2912, fX, fY, fZ );
						
            exports.bone_attach:attachElementToBone( caixa, Jog, 4, 0, 0.4, - 0.6, -90, 0, 0 );

            setElementData(Jog, "Pegou:Caixa.Crgador", caixa)

        end, 1000, 1)
    end
end
addCommandHandler("pegar", CarregadorPegar)

function PorCaminhao (cami)
    local CamiNaMarker = getVehicleInMarker( MarkerCaminhao )
    outputChatBox("01")
    if (CamiNaMarker) and getElementModel(CamiNaMarker) == 499 then
        outputChatBox("02")
            setElementData(CamiNaMarker, "Caminhao:ProntoPcarregar", CamiNaMarker)
            outputChatBox("03")
            local x, y, z = getElementPosition(CamiNaMarker)
            outputChatBox("04")
            m1 = createMarker(x, y, z -1, "cylinder", 2.0, 0, 255, 255, 255)
            outputChatBox("05")
            attachElements(m1, CamiNaMarker, 0, - 4.2, - 1)
            outputChatBox("06")
            setElementFrozen(CamiNaMarker, true)
            outputChatBox("07")
        --end
    else
        outputChatBox("Este veiculo não pertence ao trabalho de entregador!")
    end
end
addCommandHandler("carregar", PorCaminhao)

function CarregadorEntregar ( Jog)
    if getElementType( Jog ) == "player" and getElementData( Jog, "Pegou:Caixa.Crgador" ) then
        --if isElementWithinMarker(Jog, m1) then
        outputChatBox("01")
            local CamiNaMarker = getVehicleInMarker( MarkerCaminhao )
            outputChatBox("02")
                local DataCaminhao = getElementData(CamiNaMarker, "Caminhao:ProntoPcarregar")
                outputChatBox("02")
                    if (CamiNaMarker) then
                    outputChatBox("03")
                        if ( DataCaminhao ) then
                        outputChatBox("04")
                            setPedAnimation( Jog, "CARRY", "putdwn", 1.0, false, false, false, true );
                            outputChatBox("05")
                            setTimer(function()
                                if ( DataCaminhao ) == 20 then
                                    outputChatBox("caminhão cheio")
                                else
                                outputChatBox("06")
                                DeleteBox( Jog );	
                                outputChatBox("07")			
                                setElementData(CamiNaMarker, "Caminhao:ProntoPcarregar", DataCaminhao + 1)	
                                outputChatBox("08")	
                    --givePlayerMoney( Jog, rad);
                    --outputChatBox("Você ganhou R$"..rad,Jog)
                                setPedAnimation( Jog, "CARRY", "liftup", 0.0, false, false, false, false );
                                outputChatBox("09")
                                toggleControl(Jog,"jump", true)
                                toggleControl(Jog,"fire", true)
                            end
                        end, 1000, 1)
                    else
                        outputChatBox("Estacione o Caminhão Primeiro!")
                    end
            end
        --end
    end
end
addCommandHandler("por", CarregadorEntregar)

function TirarCaminhao (cami)
    local CamiNaMarker = getVehicleInMarker( MarkerCaminhao )
    outputChatBox("01")
    if (CamiNaMarker) and getElementModel(CamiNaMarker) == 499 then
        outputChatBox("02")
        if getElementData(CamiNaMarker, "Caminhao:ProntoPcarregar") == 20 then
            outputChatBox("03")
            setElementData(CamiNaMarker, "Caminhao:Carregado", 20)
            outputChatBox("04")
            detachElements(m1, CamiNaMarker)
            outputChatBox("05")
            destroyElement(m1)
            outputChatBox("06")
            setElementFrozen(CamiNaMarker, false)
            outputChatBox("07")
        end
    end
end
addCommandHandler("carregado", TirarCaminhao)

 

Edited by Eder
Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...