Adicione essa função:
CitardoRemoveItem(itens.uid)
Dentro desse bloco condicional:
Citarif itens.uid then
--aqui fica a função
end
Por wevertonvrb, 17 de abr. de 2017 em Resolvidos
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Adicione essa função:
CitardoRemoveItem(itens.uid)
Dentro desse bloco condicional:
Citarif itens.uid then
--aqui fica a função
end
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

Em 17/04/2017 at 09:10, Poccnn disse:Adicione essa função:
Dentro desse bloco condicional:
continua o mesmo erro
ERRO
[Error - Action Interface]
[18/04/2017 21:00:11] data/actions/scripts/Autoloot.lua:onUse
[18/04/2017 21:00:11] Description:
[18/04/2017 21:00:11] (luaDoRemoveItem) Item not found
[18/04/2017 21:00:11] [Error - Action Interface]
[18/04/2017 21:00:11] data/actions/scripts/Autoloot.lua:onUse
[18/04/2017 21:00:11] Description:
[18/04/2017 21:00:11] (luaDoPlayerAddItem) Item not found
[18/04/2017 21:00:11] [Error - Action Interface]
[18/04/2017 21:00:11] data/actions/scripts/Autoloot.lua:onUse
[18/04/2017 21:00:11] Description:
[18/04/2017 21:00:11] data/lib/050-function.lua:227: attempt to index a boolean value
[18/04/2017 21:00:11] stack traceback:
[18/04/2017 21:00:11] data/lib/050-function.lua:227: in function 'getItemNameById'
[18/04/2017 21:00:11] data/actions/scripts/Autoloot.lua:17: in function <data/actions/scripts/Autoloot.lua:1>
deixei o script assim
function onUse(cid, item, frompos, item2, topos)
if getItemAttribute(item.uid, "corpseowner") ~= cid then
doPlayerSendCancel(cid, "You're not the owner.")
return true
end
local items = {}
for x=0, (getContainerSize(item.uid)) do
local itens = getContainerItem(item.uid, ![]()
table.insert(items, {i=itens.itemid, q=itens.type})
if itens.uid then
doRemoveItem(itens.uid)
end
end
for y=1, #items do
doPlayerAddItemStacking(cid, items[y].i, items[y].q)
doPlayerSendTextMessage(cid, 20, "Looted "..items[y].q.."x "..getItemNameById(items[y].i)..".")
end
if #items > 0 then
return true
else
return false
end
end
mesmo com o erro o script continua funcionando
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Substitui o a condição do if por este:
itens.uid > 1000
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

11 horas atrás, Poccnn disse:Substitui o a condição do if por este:
itens.uid > 1000
continua ao mesmo erro
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Seleciona a pasta do seu servidor, clica em ctrl + delete. Pronto, resolvido seu problema.
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

9 horas atrás, Poccnn disse:Seleciona a pasta do seu servidor, clica em ctrl + delete. Pronto, resolvido seu problema.
engraçado vc.
9 horas atrás, Poccnn disse:Seleciona a pasta do seu servidor, clica em ctrl + delete. Pronto, resolvido seu problema.
uehauehauhe
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

Em 19/04/2017 at 09:47, Poccnn disse:Substitui o a condição do if por este:
itens.uid > 1000
consegui resolver e foi mt facil rsrsrsrs apenas mudei o
x=0 para x=1
se eu criar outro topco voce pode me ajudar fazer esse script ficar automatico?
eu gostaria que ele funcionasse em todos os items que tenha o atributo (containerSize) que tenha o no nome a palavra(fainted)
do jeito que esta eu tenho que adicionar todos os itens no actions.xml e são mais de 500 items
Editado Abril 20 por wevertonvrb
info
Grupo: Infante
Registrado: 22/12/12
Posts: 2k
Reputação: +736
Gênero: Masculino
Char no Tibia: Marley

13 horas atrás, Poccnn disse:Seleciona a pasta do seu servidor, clica em ctrl + delete. Pronto, resolvido seu problema.
wtf?
3 horas atrás, kaleudd disse:uehauehauhe
Evite comentários que não agregam nada à comunidade.
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Pokelixo é sempre uma bosta.
@wevertonvrb faz o seguinte: adicione isso abaixo da variavel de mesmo nome.
print(itens.uid)
11 horas atrás, wevertonvrb disse:consegui resolver e foi mt facil rsrsrsrs apenas mudei o
x=0 para x=1
se eu criar outro topco voce pode me ajudar fazer esse script ficar automatico?
eu gostaria que ele funcionasse em todos os items que tenha o atributo (containerSize) que tenha o no nome a palavra(fainted)
do jeito que esta eu tenho que adicionar todos os itens no actions.xml e são mais de 500 items
Parabéns, mas o conselho para resolver seus problemas ainda está de pé.
E qual é o problema desse script?
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

12 horas atrás, Poccnn disse:Pokelixo é sempre uma bosta.
@wevertonvrb faz o seguinte: adicione isso abaixo da variavel de mesmo nome.
print(itens.uid)
Parabéns, mas o conselho para resolver seus problemas ainda está de pé.
E qual é o problema desse script?
agora ele esta 100% funcionando sem erro
porem ele esta por action e para que ele funcione eu preciso adicionar todos os ids dos corpos no actions.xml e são muito + de 500 itens
ficando mais ou menos assim
<action itemid="11826-11837;11737-11748;10975-10977;12621-12623;12826-12831;12861-13781;13797-13823;13836-13861;13902-13904;13919-13930;13933-13935;13937-13939;14020-14022;14015-14017;14033-14035;14038-14040;14043-14045;14141-14143;14157-14159;14163-14165;14173-14175;14081-14083;14190-14192;14178-14180;14193-14195;14086-14088;14091-14093;14096-14098;14121-14123;14131-14133;14136-14138;14200-14202;14206-14208;14210-14212;14106-14108;14111-14113;14116-14118;14234-14248;14076-14078;14066-14068;14061-14063;14056-14058;14071-14073;14168-14170;14101-14103;14285-14305;14310-14318;14343-14402;14617-14925;14927-14935;14942-14944;15000-15128;15224-15232;15508-15525;2260-2280" event="script" value="goback.lua"/>
eu gostaria de saber se tem como adicionar algo no script para que ele funcione em todos os itens que tenha o atributo conteinerSize e a palavra fainted no nome para q eu n tenha que adicionar tantos itens no actions.xml
exemplo
<item id="14144" article="a" name="fainted absol"> --- palavra fainted
<attribute key="containerSize" value="10" /> ----atributo conteinerSize
<attribute key="decayTo" value="0" />
<attribute key="duration" value="55" />
</item>
Editado Abril 21 por wevertonvrb
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

getItemAttribute(item.uid, "name"):find("fainted absol")
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25

2 horas atrás, Poccnn disse:getItemAttribute(item.uid, "name"):find("fainted absol")
ok mas como eu aplico isso em uma action se tenho que registrar o id do item em actions.xml para que o script seja ativada?
isso faria o script funcionar apenas nos itens que tenha o nome no id do item já pre registrado no action.xml eu gostaria de n precisar registar nenhum id no action.xml
queria que esse script foce automatico
talvez creaturescript n sei.
isso talvez sirva se em action.xml eu registrar de uma forma que pegue todos os itens existentes algo mais ou menos assim
<action itemid="100-19563" event="script" value="autoloot.lua"/>
acredito que talvez ate possa funcionar pois essa condição que voce passou faria ao script executar apenas nos itens que tenha a condição fainted no nome
mas tb acredito que geraria vários erros de duplicate pois varios itens entre o primeiro e o ultimo tem seus ids registrados para outras actions
Editado Abril 21 por wevertonvrb
info
Grupo: Visconde
Registrado: 21/05/13
Posts: 303
Reputação: +25
boa noite gente eu estou com um script de autoloot e vou posta-lo
primeiramente ele esta funcionando 100% o unico problema é que mesmo funcionando gera erro e quero remover esse erro e peço a ajuda de vocês com esse erro
ERRO
Error - Action Interface]
[17/04/2017 01:38:58] data/actions/scripts/Autoloot.lua:onUse
[17/04/2017 01:38:58] Description:
[17/04/2017 01:38:58] (luaDoRemoveItem) Item not found
[17/04/2017 01:38:58] [Error - Action Interface]
[17/04/2017 01:38:58] data/actions/scripts/Autoloot.lua:onUse
[17/04/2017 01:38:58] Description:
[17/04/2017 01:38:58] (luaDoPlayerAddItem) Item not found
[17/04/2017 01:38:58] [Error - Action Interface]
[17/04/2017 01:38:58] data/actions/scripts/Autoloot.lua:onUse
[17/04/2017 01:38:58] Description:
[17/04/2017 01:38:58] data/lib/050-function.lua:227: attempt to index a boolean value
[17/04/2017 01:38:58] stack traceback:
[17/04/2017 01:38:58] data/lib/050-function.lua:227: in function 'getItemNameById'
[17/04/2017 01:38:58] data/actions/scripts/Autoloot.lua:14: in function <data/actions/scripts/Autoloot.lua:1>
Autoloot.lua
function onUse(cid, item, frompos, item2, topos)
if getItemAttribute(item.uid, "corpseowner") ~= cid then
doPlayerSendCancel(cid, "You're not the owner.")
return true
end
local items = {}
for x=0, (getContainerSize(item.uid)) do
local itens = getContainerItem(item.uid,
table.insert(items, {i=itens.itemid, q=itens.type})
doRemoveItem(itens.uid)
end
for y=1, #items do
doPlayerAddItemStacking(cid, items[y].i, items[y].q)
doPlayerSendTextMessage(cid, 20, "Looted "..items[y].q.."x "..getItemNameById(items[y].i)..".")
end
if #items > 0 then
return true
else
return false
end
end
050-function.lua
function getItemNameById(itemid)
return getItemDescriptionsById(itemid).name ---essa é a linha citada no erro
end
Editado Maio 5 por wevertonvrb