PashaBiceps Posted April 16, 2019 Posted April 16, 2019 O meu script está a dar um erro na seguinte linha, como posso resolver? local distance = getDistanceBetweenPoints3D ( ePos[1], ePos[2], ePos[3], pPos[1], pPos[2], pPos[3] ); attempt to index local 'ePos' (a number value) Obrigado desde já addEvent ( "onClientRequestRepair", true ); addEventHandler ( "onClientRequestRepair", root, function ( element ) local ePos = getElementPosition ( element ); local pPos = getElementPosition ( source ); local distance = getDistanceBetweenPoints3D ( ePos[1], ePos[2], ePos[3], pPos[1], pPos[2], pPos[3] ); if not isObjectInACLGroup ("user."..accName,aclGetGroup("Mecanico")) then return addNotification(source, "Não percebes nada disso, deixa com os especialistas!", "error") end if ( distance > 3 ) then if not (playerReparando[source]) then if (getElementData(source,"pecas.mecanico") == 7) then if (getElementModel(source, 50)) then setPedAnimation(source, "BOMBER", "bom_plant", -1, true, false); triggerClientEvent(source, "mecanico:reparando", source, config.timeToWait); playerReparando[source] = true; playerReparandoTimer[source] = setTimer( function(source) playerReparando[source] = nil; setPedAnimation(source, nil); fixVehicle ( element ); end, config.timeToWait * 60000, 1, source) else addNotification(source, "Não podes reparar um carro assim com essa roupinha nova, vais-te sujar todo!", "warning") end else addNotification(source, "Não tens peças suficientes para reparar o veículo!", "error") end else addNotification(source, "Já estás a reparar um veículo!", "warning") end else addNotification(source, "Não tem nenhum veículo nas proximidades!", "warning") end end )
main Posted April 16, 2019 Posted April 16, 2019 Tente isto: addEvent ( "onClientRequestRepair", true ); addEventHandler ( "onClientRequestRepair", root, function ( element ) local ePos = { getElementPosition ( element ) }; local pPos = { getElementPosition ( source ) }; local distance = getDistanceBetweenPoints3D ( ePos[1], ePos[2], ePos[3], pPos[1], pPos[2], pPos[3] ); if not isObjectInACLGroup ("user."..accName,aclGetGroup("Mecanico")) then return addNotification(source, "Não percebes nada disso, deixa com os especialistas!", "error") end if ( distance > 3 ) then if not (playerReparando[source]) then if (getElementData(source,"pecas.mecanico") == 7) then if (getElementModel(source, 50)) then setPedAnimation(source, "BOMBER", "bom_plant", -1, true, false); triggerClientEvent(source, "mecanico:reparando", source, config.timeToWait); playerReparando[source] = true; playerReparandoTimer[source] = setTimer( function(source) playerReparando[source] = nil; setPedAnimation(source, nil); fixVehicle ( element ); end, config.timeToWait * 60000, 1, source) else addNotification(source, "Não podes reparar um carro assim com essa roupinha nova, vais-te sujar todo!", "warning") end else addNotification(source, "Não tens peças suficientes para reparar o veículo!", "error") end else addNotification(source, "Já estás a reparar um veículo!", "warning") end else addNotification(source, "Não tem nenhum veículo nas proximidades!", "warning") end end ) 1
PashaBiceps Posted April 16, 2019 Author Posted April 16, 2019 11 minutes ago, MainSCR said: Tente isto: addEvent ( "onClientRequestRepair", true ); addEventHandler ( "onClientRequestRepair", root, function ( element ) local ePos = { getElementPosition ( element ) }; local pPos = { getElementPosition ( source ) }; local distance = getDistanceBetweenPoints3D ( ePos[1], ePos[2], ePos[3], pPos[1], pPos[2], pPos[3] ); if not isObjectInACLGroup ("user."..accName,aclGetGroup("Mecanico")) then return addNotification(source, "Não percebes nada disso, deixa com os especialistas!", "error") end if ( distance > 3 ) then if not (playerReparando[source]) then if (getElementData(source,"pecas.mecanico") == 7) then if (getElementModel(source, 50)) then setPedAnimation(source, "BOMBER", "bom_plant", -1, true, false); triggerClientEvent(source, "mecanico:reparando", source, config.timeToWait); playerReparando[source] = true; playerReparandoTimer[source] = setTimer( function(source) playerReparando[source] = nil; setPedAnimation(source, nil); fixVehicle ( element ); end, config.timeToWait * 60000, 1, source) else addNotification(source, "Não podes reparar um carro assim com essa roupinha nova, vais-te sujar todo!", "warning") end else addNotification(source, "Não tens peças suficientes para reparar o veículo!", "error") end else addNotification(source, "Já estás a reparar um veículo!", "warning") end else addNotification(source, "Não tem nenhum veículo nas proximidades!", "warning") end end ) Erro sumiu agora estou recebendo um outro nessa linha if (getElementData(source,"pecas.mecanico") == 7) then attempt to compare number with boolean
main Posted April 16, 2019 Posted April 16, 2019 Substitua isso: if (getElementData(source,"pecas.mecanico") == 7) then Por isso: local dataParts = getElementData(source, "pecas.mecanico") if (dataParts and dataParts == 7) then 1
Moderators Lord Henry Posted April 16, 2019 Moderators Posted April 16, 2019 Tá muito bonito vc resolvendo os problemas pra ele, mas seria interessante vc também explicar o motivo do erro. Senão ele só vai copiar e n vai entender o que estava errado. 1 Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment Discord Oficial do MTA: https://mtasa.com/discord Blacklist e Whitelist de Scripters: Planilha Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.
main Posted April 17, 2019 Posted April 17, 2019 5 hours ago, Lord Henry said: Tá muito bonito vc resolvendo os problemas pra ele, mas seria interessante vc também explicar o motivo do erro. Senão ele só vai copiar e n vai entender o que estava errado. @Lord Henry desculpe, acabei me esquecendo disso, realmente você tem razão. 1
PashaBiceps Posted April 17, 2019 Author Posted April 17, 2019 12 hours ago, Lord Henry said: Tá muito bonito vc resolvendo os problemas pra ele, mas seria interessante vc também explicar o motivo do erro. Senão ele só vai copiar e n vai entender o que estava errado. Eu entendi claramente, tento sempre aprender com cada erro que me deparo, nunca posto problemas com o mesmo erro que já resolvi antes, aprendo a resolve-los, e não, não estou copiando e colando porque não é só esse erro, eu apenas coloco uma base pois tinha mais 30 erros iguais. Todos resolvidos. Obrigado @MainSCR Obrigado @Lord Henry 1
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now