Jump to content

Mickey2

Members
  • Posts

    6
  • Joined

  • Last visited

About Mickey2

  • Birthday 26/09/2003

Mickey2's Achievements

Vic

Vic (3/54)

0

Reputation

  1. na função você pede dois argumentos, number e amount, dentro do local receiver você coloca um argumento chamado id, este argumento é global ou você esqueceu de informar?
  2. Muito bem consegui, minha solução: addEventHandler('onPlayerQuit', root, function() local account = getPlayerAccount(source) if not isGuestAccount(account) then for i, vehicl in pairs(getElementsByType('vehicle')) do if getElementData(vehicl, "ownercar") == getAccountName(getPlayerAccount(source)) or getElementData(vehicl, "Owner") == source then setAccountData(account, 'vehitem', toJSON(getElementData(vehicl, 'armasG'))) -- setAccountData(account, 'vehitem', weap) break end end end end) esta é a primeira parte, aqui está a segunda: local accsalvo = getPlayerAccount(source) if getAccountData(accsalvo, 'vehitem') then exports._infobox:addNotification(source, 'funcionou finalmente caralhoo', 'warning') setElementData(vehicle, 'armasG', fromJSON(getAccountData(accsalvo, 'vehitem'))) else exports._infobox:addNotification(source, 'não tá funcionando maaano', 'warning') end solução: retirei o ipairs da primeira parte e coloquei pairs, depois eu testei assim: addEventHandler('onPlayerQuit', root, function() local account = getPlayerAccount(source) if not isGuestAccount(account) then for i, vehicle in pairs(getElementsByType('vehicle')) do if getElementData(vehicle, "armasG") then iprint(getElementData(vehicle, 'armasG')) -- setAccountData(account, 'vehitem', weap) break end end end end) funcionou é claro, porém não era meu objetivo, e sim fazer uma verificação se o carro achado pelo getElements, é do usuário que saiu do servidor, então eu dei uma olhada no outro script de quando o usuário espawna o veículo e estava assim: -- parte do script que importa -- setElementData(vehicle, "ownercar", getAccountName(getPlayerAccount(source))) setElementData(vehicle, "Owner", source) Então eu testei desta forma: addEventHandler('onPlayerQuit', root, function() local account = getPlayerAccount(source) if not isGuestAccount(account) then for i, vehicl in pairs(getElementsByType('vehicle')) do if getElementData(vehicl, "ownercar") == getAccountName(getPlayerAccount(source)) or getElementData(vehicl, "Owner") == source then setAccountData(account, 'vehitem', toJSON(getElementData(vehicl, 'armasG'))) -- setAccountData(account, 'vehitem', weap) break end end end end) (é claro que eu podia ter escolhido entre 'ownercar' e 'owner', mas só por segurança usei os dois) e como resultado não funcionou, por que? eu não sei, porém.. Quando eu fui olhar o script da concessionaria novamente, percebi que a minha parte da verificação: local accsalvo = getPlayerAccount(source) if getAccountData(accsalvo, 'vehitem') then exports._infobox:addNotification(source, 'funcionou finalmente caralhoo', 'warning') setElementData(vehicle, 'armasG', getAccountData(accsalvo, 'vehitem')) else exports._infobox:addNotification(source, 'não tá funcionando maaano', 'warning') end ela estava quase no começo da função de espawnar o veículo, então eu mudei a posição dela e coloquei no final da função, fui testar novamente, e funcionou, mas não entendi o por que de não ter funcionado com ela no começo da função, mas o importante é que está funcionando agora, e o resultado está nos 2 primeiros codes, vou salvar este script e tentar descobrir a fundo por que não estava funcionando, muito obrigado a todos vcs! (um simples erro de lógica que meu um baita trabalho!)
  3. Bom na verdade não daria para ver o debugscript, pois esta função só é chamada quando o usuário sai do servidor, já tentei usar o outputConsole mas foi como se tivesse ignorado o código, mas enfim, mesmo assim iria dar erro, pois o getElementData está me retornando uma tabela de armas guardadas no veículo, e não dá pra armazenar tabelas em setAccountData certo? eu descobri isso ontem, então eu tentei ao invés de setar uma tabela na conta do usuário, simplesmente colocar uma string qualquer, e mesmo assim não funcionou, como se não estivesse armazenando nada na conta do usuário quando o mesmo quitasse, deixando de lado o meu erro de tentar armazenar uma tabela na conta do usuário, o foco aqui é descobrir o motivo deste setAccountData não estar armazenando nada na conta do usuário.. O meu objetivo neste script é que: Quando o usuário desconectar, o script irá verificar se o mesmo tem um veículo comprado na concessionaria, se houver (e se o carro estiver espawnado), seria guardado as armas do veículo do usuário com o setAccountData na conta do usuário, pra quando logar novamente as armas do carro guardado estarem lá, e quando ele spawnar o veículo, o segundo script iria fazer a verificação, se ele tem ou não armas guardadas na conta, se caso houver, iria setar as armas no carro pra quando o usuário abrir o carro as armas estiverem lá, a parte de guardar as armas na conta do usuário é o meu próximo passo, mas antes tenho que descobrir por que o setAccountData não está funcionando..
  4. Testei com string 'true' e com número 1, mesmo assim não funcionou, não sei o por que.. vou continuar tentando, os dois codes, o primeiro do setAccount e o segundo do getAccount são de scripts diferentes, isso não muda nada né? creio que não. aqui está o code: addEventHandler('onPlayerQuit', root, function() local account = getPlayerAccount(source) if not isGuestAccount(account) then for i, vehicle in ipairs(getElementsByType('vehicle')) do if getElementData(vehicle, 'Owner') == source then weap = getElementData(vehicle, 'armasG') setAccountData(account, 'vehitem', weap) break end end end end) 2 parte do outro script: local accsalvo = getPlayerAccount(source) if getAccountData(accsalvo, 'vehitem') then exports._infobox:addNotification(source, 'funcionou finalmente caralhoo', 'warning') itemsalvos = getAccountData(accsalvo, 'vehitem') setElementData(vehicle, 'armasG', itemsalvos) else exports._infobox:addNotification(source, 'não tá funcionando maaano', 'warning') end
  5. Quando o usuário se desconectar eu quero que isto seja feito. addEventHandler('onPlayerQuit', root, function() local account = getPlayerAccount(source) setAccountData(account, 'vehitem', true) end) isso para quando o usuário logar novamente e fazer uma ação em específico essa verificação funcionar: local accsalvo = getPlayerAccount(source) if getAccountData(accsalvo, 'vehitem') then exports._infobox:addNotification(source, 'funcionou', 'warning') else exports._infobox:addNotification(source, 'não funcionou', 'warning') end só que ela sempre retorna false, como se o setAccountData fosse ignorado, e agora?
×
×
  • Create New...