FI
dúvida

Remove Item

Por fitaisolante, 13 de mar. de 2014 em Scripts

8
2k
fitaisolanteF
13 de março de 2014 às 21:56

Eu estou com um problema, o meu código não remove todas as pedras, podem me ajudar?

local _gnr = {
["Gerador Azul I"] = {{x = 613, y = 42, z = 7, stackpos = 1}, {x = 613, y = 41, z = 7, stackpos = 1}, {x = 613, y = 40, z = 7, stackpos = 1}, {x = 613, y = 43, z = 7, stackpos = 1}, {x = 613, y = 44, z = 7, stackpos = 1}},
["Gerador Azul II"] = {{x = 613, y = 42, z = 7, stackpos = 1}, {x = 613, y = 41, z = 7, stackpos = 1}, {x = 613, y = 40, z = 7, stackpos = 1}, {x = 613, y = 43, z = 7, stackpos = 1}, {x = 613, y = 44, z = 7, stackpos = 1}},
["Gerador Azul III"] = {{x = 613, y = 42, z = 7, stackpos = 1}, {x = 613, y = 41, z = 7, stackpos = 1}, {x = 613, y = 40, z = 7, stackpos = 1}, {x = 613, y = 43, z = 7, stackpos = 1}, {x = 613, y = 44, z = 7, stackpos = 1}},
["Gerador Vermelho I"] = {{x = 613, y = 42, z = 7, stackpos = 1}, {x = 613, y = 41, z = 7, stackpos = 1}, {x = 613, y = 40, z = 7, stackpos = 1}, {x = 613, y = 43, z = 7, stackpos = 1}, {x = 613, y = 44, z = 7, stackpos = 1}},
["Gerador Vermelho II"] = {{x = 613, y = 42, z = 7, stackpos = 1}, {x = 613, y = 41, z = 7, stackpos = 1}, {x = 613, y = 40, z = 7, stackpos = 1}, {x = 613, y = 43, z = 7, stackpos = 1}, {x = 613, y = 44, z = 7, stackpos = 1}},
["Gerador Vermelho III"] = {{x = 613, y = 42, z = 7, stackpos = 1}, {x = 613, y = 41, z = 7, stackpos = 1}, {x = 613, y = 40, z = 7, stackpos = 1}, {x = 613, y = 43, z = 7, stackpos = 1}, {x = 613, y = 44, z = 7, stackpos = 1}},
}

function onDeath(cid, corpse, killer) 
	if isMonster(cid) then 
  for name, position in pairs(_gnr) do
	  if ((getCreatureName(cid):lower()) == (name:lower())) then
	   doRemoveItem(getThingFromPos(position[1]).uid, 1)
   end
  end

se eu não boto [1] ele não remove nenhuma, se eu boto [1] ele remove uma..

13 de março de 2014 às 22:33

Então poe o 1 varias vezes ;o

fitaisolanteF
13 de março de 2014 às 23:22

Não irá funcionar amigo.. o [1] serve para chamar algum valor na tabela.. Exemplo:

 

b = {arroz, feijão}

 

b[1] = arroz

b[2] = feijão

14 de março de 2014 às 00:01

Keilost estou com o mesmo problema, mas no caso uso table.insert

akira021A
14 de março de 2014 às 00:13
Melhor resposta

Bom eu to vendo pelo celular, mas se eu entendi bem eh soh colocar outro for.

 

Ex: for i = 1, 3 do

 

b pois assim ele vai passar por todos

 

 

Se eu nao me engano da pra usar o for in pairs para rodar a tabela toda tipo a,b, nao sei explicar direito mas eu sei que da =s

 

Acho que eu nao ajudei muito mais fica ai a dica...

 

Acessar pelo cel eh foda >.<

1 mês depois...
fitaisolanteF
01 de abril de 2014 às 18:16

Obrigado, me ajudou muito... Eu esqueci de por o no position, eu já tinha tentado fazer isso só que não deu certo pois não puis rsrs..

 

Rep+

SlicerS
01 de abril de 2014 às 18:49

hã... pq exatamente tu uso FOR pra pegar o nome do monstro e ver se ele ta na tabela? o.O

 

o certo eh usar:

_gnr[getCreatureName(cid):lower()] 
02 de abril de 2014 às 22:44

Tópico movido para Pedidos e dúvidas resolvidos.