Ir para conteúdo

[OtClient] Auto-Loot


Gengo

Posts Recomendados

23 horas atrás, Step Records disse:

Eu tenho um problema, eu recebo este erro, você poderia me ajudar?

Mylogin.lua


 

 

Seu erro acontece pq vc provavelmente não tem um autoloot.xml na pasta mods do seu servidor, esse info é de uma storage que faz o uso nesse autoloot.xml.

18 horas atrás, boxxer321 disse:

o auto loot não está pegando os itens

Troque por um autoloot que funciona no seu servidor, o modulo do OTC não depende do autoloot na parte do servidor, logo qualquer autoloot que possa funcionar no seu servidor vc pode colocar e fazendo alterações minimas que não requer nenhum conhecimento médio ou avançado.

Link para o comentário
Compartilhar em outros sites

59 minutos atrás, Step Records disse:

Eu tenho um autoloot.xml no servidor: c

Coloque isso na 050-function

info = {
	AutomaticDeposit = true,
	BlockMonsters = {},
	BlockItemsList = {2123,2515},
	Max_Slots = {free = 3, premium = 5},
	Storages = {27000,28001,28002}
}

Pode ser que o serv nao enxerga essa parte la no xml como variáveis global

Link para o comentário
Compartilhar em outros sites

  • 3 months later...
11 horas atrás, robinpah disse:

pra mim esta dando erro, ele nao pega o loot

image.png.0212eab9664da76b58d985843289359c.png

 

Não foi eu que fiz a parte do autoloot na parte do servidor, veja os créditos de quem fez e veja com eles o erro que você está tendo, agora se você está tendo problemas com o módulo eu posso te ajudar.

Link para o comentário
Compartilhar em outros sites

meu fica dando esse erro!

 

Estou usando base revolution 0.3.6

 

 

 


 

Spoiler


/game_autoloot/loot.lua:185: attempt to call method 'getName' (a nil value)
stack traceback:
    [C]: in function 'getName'
    /game_autoloot/loot.lua:185: in function </game_autoloot/loot.lua:164>

 

Link para o comentário
Compartilhar em outros sites

29 minutos atrás, Poke X Ice disse:

meu fica dando esse erro!

 

Estou usando base revolution 0.3.6

 

 

 


 

  Ocultar conteúdo


/game_autoloot/loot.lua:185: attempt to call method 'getName' (a nil value)
stack traceback:
    [C]: in function 'getName'
    /game_autoloot/loot.lua:185: in function </game_autoloot/loot.lua:164>

 

Tenha a certeza que você seguiu o tutorial corretamente, favor refazer o tutorial.

Eu lhe garanto que módulo não tem esse tipo de erro que você apresentou.
O módulo é independente de qualquer versão de servidor, portanto não faz sentido você postar a base que está utilizando.
Qualquer erro de script da parte do servidor que você esteja tendo problemas, favor contatar a pessoa que fez o script, deixei os créditos deles no final do tutorial.

Link para o comentário
Compartilhar em outros sites

Boa Tarde,Gengo!

 

Eu fiz o tutorial corretamente como está no post.

 

 

Única parte que esta tendo problema é no modulo.

 

Por isso eu vim pedir ajudar nesse tópico..

 

Se não quiser ajudar a resolver problema do modulo "ok"

 

Vou na Área de suporte....

 

adeus.

 

Spoiler

/game_autoloot/loot.lua:185: attempt to call method 'getName' (a nil value)
stack traceback:
    [C]: in function 'getName'
    /game_autoloot/loot.lua:185: in function </game_autoloot/loot.lua:164>

 

 

 

Link para o comentário
Compartilhar em outros sites

28 minutos atrás, Poke X Ice disse:

Boa Tarde,Gengo!

 

Eu fiz o tutorial corretamente como está no post.

 

 

Única parte que esta tendo problema é no modulo.

 

Por isso eu vim pedir ajudar nesse tópico..

 

Se não quiser ajudar a resolver problema do modulo "ok"

 

Vou na Área de suporte....

 

adeus.

 

  Mostrar conteúdo oculto

/game_autoloot/loot.lua:185: attempt to call method 'getName' (a nil value)
stack traceback:
    [C]: in function 'getName'
    /game_autoloot/loot.lua:185: in function </game_autoloot/loot.lua:164>

 

 

 

Não é que eu não queira resolver ou não o problema, a questão é que se não seguir direto o tutorial, vai ocorrer esses erro mesmo.

O erro dá no getName linha 185, se você não seguir o passo 1 e 2 do tutorial apresentado que é para carregar os items, esse metodo do getName do item realmente não vai funcionar e retornara como nulo conforme descrito no erro que você apresentou.

 

Você pode criar outro tópico de suporte apresentando o erro, porem alguem que também entenda de OTC vai dizer que o getName dos items ele retornará nulo, ao menos que vc altere nas sources ou você carregue os itens com g_things.loadOtb e g_things.loadXml

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

É possivel fazer funcionar esse módule sem opcodes? Consegui fazer funcionar o módule porem ele não salva as os item que o player add na interface, funciona perfeitamente, adaptei ele para meu autoloot, porem só isso que faz não usa-lo.

Link para o comentário
Compartilhar em outros sites

16 horas atrás, S4kegari disse:

É possivel fazer funcionar esse módule sem opcodes? Consegui fazer funcionar o módule porem ele não salva as os item que o player add na interface, funciona perfeitamente, adaptei ele para meu autoloot, porem só isso que faz não usa-lo.

É possível sim fazer sem opcodes, então vamos fazer umas pequenas alterações para que seja possível.
Acrescente as seguintes funções no arquivo do modulo:
Obs: Atente-se ao comentário feito.

connect(g_game, { onTextMessage = onTextMessage }) -- Utilize dentro da função init
disconnect(g_game, { onTextMessage = onTextMessage }) -- Utilize dentro da função terminate

 

Debaixo da função init coloque a seguinte função:
 

function onTextMessage(mode, text)
	if not g_game.isOnline() then return end
	if mode == MessageModes.Failure then 
		if string.find(text, 'AutoLoot>') then
			createListLoot(text:explode('>')[2])
		end
	end
end

Agora para enviar para o otclient utilize o mesmo conceito apresentado no tutorial, porem com uma alteração minima, em vez de utilizar doSendPlayerExtendedOpcode, utilizamos a função doPlayerSendCancel, ficando assim:
 

doPlayerSendCancel(cid, "AutoLoot>"..loot)

 

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Gengo disse:

É possível sim fazer sem opcodes, então vamos fazer umas pequenas alterações para que seja possível.
Acrescente as seguintes funções no arquivo do modulo:
Obs: Atente-se ao comentário feito.


connect(g_game, { onTextMessage = onTextMessage }) -- Utilize dentro da função init
disconnect(g_game, { onTextMessage = onTextMessage }) -- Utilize dentro da função terminate

 

Debaixo da função init coloque a seguinte função:
 


function onTextMessage(mode, text)
	if not g_game.isOnline() then return end
	if mode == MessageModes.Failure then 
		if string.find(text, 'AutoLoot>') then
			createListLoot(text:explode('>')[2])
		end
	end
end

Agora para enviar para o otclient utilize o mesmo conceito apresentado no tutorial, porem com uma alteração minima, em vez de utilizar doSendPlayerExtendedOpcode, utilizamos a função doPlayerSendCancel, ficando assim:
 


doPlayerSendCancel(cid, "AutoLoot>"..loot)

 

Muito obrigado pela assistência meu amigo, seus módulos são épicos! 

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
10 horas atrás, robinpah disse:

eu estou tentando colocar esse autoloot no otx 2.9 mais ta dando este erro.. estou usando sem site para testar...
 

data/creaturescripts/scripts/login.lua:onLogin

Description: 
data/creaturescripts/scripts/login.lua:54: attempt to call global 'doSendPlayerExtendedOpcode' (a nil value)
stack traceback:
 data/creaturescripts/scripts/login.lua:54: in function <data/creaturescripts/scripts/login.lua:6>
sqlite3_prepare_v2(): SQLITE ERROR: near "LIMIT": syntax error (UPDATE "players" SET "broadcasting" = 0, "viewers" = 0 WHERE "id" = 2 LIMIT 1)
Pegas has logged out.

O erro diz que seu servidor não tem a função doSendPlayerExtendedOpcode.

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

para adicionar a função doSendPlayerExtendedOpcode tem que adicionar na source é? poderia fazer um sistema igual do otp? tipo quando abre o loot e clica no item ele é movido para a bag!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...