AnnaBelle Posted September 6, 2017 Share Posted September 6, 2017 addCommandHandler("bau", function(thePlayer) local x,y,z = getElementPosition(thePlayer) local xr,yr,zr = getElementRotation(thePlayer) px,py,pz = getElementPosition(thePlayer) prot = getPedRotation(thePlayer) local offsetRot = math.rad(prot+90) local vx = px+1.5*math.cos(offsetRot) local vy = py+1.5*math.sin(offsetRot) local vz = pz+2 local vrot = prot+180 tent = createObject(964,vx,vy,z-1,0,0,vrot) setObjectScale(tent,1.0) tentCol = createColSphere(x,y,z,4) attachElements(tentCol,tent,0,0,0) setElementData(tentCol,"parent",tent) setElementData(tent,"parent",tentCol) setElementData(tentCol,"tent",true) setElementData(tentCol,"vehicle",true) item = tendaItens[math.random(#tendaItens)] aa,bb = item[1],item[2] setElementData(tentCol,aa,bb) end) tendaItens = { ["kitSniper"] = { {"M107",10}, }, ["kitRifler"] = { {"M4A1 CCO",20}, }, } como vocês pode ver acima /\ eu to tentando fazer varias classe de itens em um bau ,mas nessas classe os item vai ser diferente so que não conseguindo concluir isso Link to comment
OrbTanT Posted September 6, 2017 Share Posted September 6, 2017 como assim diferente? mais de 1 item por classe? Link to comment
DNL291 Posted September 6, 2017 Share Posted September 6, 2017 Chegou a ver se o debug mostra algum erro? A tabela 'tendaItens' não tem índice numérico então a linha 20 do seu código não vai funcionar. Link to comment
AnnaBelle Posted September 8, 2017 Author Share Posted September 8, 2017 aparece erro na linha 20, mas se deixo o codigo spawnar item assim ele n da erro tendaItens = { {"M107",10}, {"M4A1 CCO",20}, } On 9/6/2017 at 20:22, Shinigami said: como assim diferente? mais de 1 item por classe? só tem 1 item por classe porque to testando Link to comment
DNL291 Posted September 9, 2017 Share Posted September 9, 2017 (edited) Isso mesmo, nesse caso a tabela deve ter a sua estrutura utilizando números nos índices pra funcionar. Você pode adicionar mais itens em cada categoria assim: tendaItens = { { {"M107",10}, {"arma",123}, {"arma",123} }, { {"M4A1 CCO",20}, {"arma",123}, {"arma",123} } } Não é obrigatório fazer desse jeito, mas vai ficar mais fácil. Se quiser usar uma string para o índice, como no código do 1º post, você pode fazer assim para obter uma categoria aleatória da tabela: local cats = { "first", "sec" } -- tabela com as categorias local categoria_aleatoria = tendaItens[ cats[ math.random(#cats) ] ] --[[ math.random(#cats) : Retorna um índice aleatório da tabela (nesse caso deve ser 1 ou 2) cats[ math.random(#cats) ] : É o mesmo que cats[1] ou cats[2], retorna uma das strings da tabela ]] On 08/09/2017 at 00:47, AnnaBelle said: tendaItens = { {"M107",10}, {"M4A1 CCO",20}, } Lembrando que a tabela dessa forma, sem criar a chave ou índice manualmente, é o mesmo que isto: tendaItens = { [1] = {"M107",10}, [2] = {"M4A1 CCO",20}, } Edited September 9, 2017 by DNL291 Link to comment
AnnaBelle Posted September 12, 2017 Author Share Posted September 12, 2017 Entendi agora, mas não to conseguindo fazer o setElementData funcionar, não aparece erro no debugscript e nem no console Link to comment
DNL291 Posted September 12, 2017 Share Posted September 12, 2017 Como não conheço muito bem como o gamemode DayZ funciona, não sei como essa parte do setElementData deve funcionar. De qualquer forma, mostre o código aqui se puder. Link to comment
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