Ir para conteúdo

Featured Replies

Postado
  • Autor

Me diz o nome dos monstros que o loot falha que eu posso simular e estudar o problema.

 

Até onde eu vi, todos, rotworms, rats

Você já atingiu seu limite de reputações positivas para hoje

 

Amanha mando mais

  • Respostas 8
  • Visualizações 638
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • function autoloot(cid, position, corpseID) if not isPlayer(cid) then return end local corpse = getTileItemById(position, corpseID) if corpse and isContainer(corpse.uid) then local gold = 0

  • Me diz o nome dos monstros que o loot falha que eu posso simular e estudar o problema.

  • Não se incomode com reputação, não preciso disso.   Então, quando falha, dá algum erro no console? Todos os testes que fiz, matando vários Rat, ele foi normal.

Postado

Até onde eu vi, todos, rotworms, rats

Você já atingiu seu limite de reputações positivas para hoje

 

Amanha mando mais

 

Não se incomode com reputação, não preciso disso.

 

Então, quando falha, dá algum erro no console? Todos os testes que fiz, matando vários Rat, ele foi normal.

Postado
  • Autor

Não se incomode com reputação, não preciso disso.

 

Então, quando falha, dá algum erro no console? Todos os testes que fiz, matando vários Rat, ele foi normal.

 

Desculpe a demora eu estava tentando arrumar e testando

 

Aqui é tipo mata 20 monstros erra 1 loot, o gold fica dentro do bixo ;s

Não sei o porque..

Postado
  • Solução

Como eu testo meus scripts em localhost, não há influência de possíveis gargalos na conexão.

 

Tente com o script abaixo, alterei apenas o tempo do addEvent para um intervalo maior.

function autoloot(cid, position, corpseID)
	if not isPlayer(cid) then
		return
	end
	
	local corpse = getTileItemById(position, corpseID)
	if corpse and isContainer(corpse.uid) then
		local gold = 0
		for slot = 1, getContainerSize(corpse.uid) do
			local item = getContainerItem(corpse.uid, slot)
			local amount = (item.itemid == 2148 and item.type or (item.itemid == 2152 and item.type * 100 or (item.itemid == 2160 and item.type * 10000)) or 0)
			
			if item.uid > 0 then
				if amount > 0 then
					gold = gold + amount
					doRemoveItem(item.uid)
				end
			else
				break
			end
		end
		
		doPlayerAddMoney(cid, gold)
	end
end

function onKill(cid, target)
	if isPlayer(target) then
		return true
	end
	
	local position = getCreaturePosition(target)
	
	local info = getMonsterInfo(getCreatureName(target))
	addEvent(autoloot, 100, cid, position, info.lookCorpse)
	return true
end

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo