KA

[Script] StorageValue

Por KarlKalvin, 23 de ago. de 2016 em Scripts

storage
collect
profissao
pxg
46
5.5k
23 de agosto de 2016 às 18:36
58 minutos atrás, KarlKalvin disse:

 

Já não faço minima ideia de como faça isso!

 

Apaga tudo dps do if name:find e adiciona isso:

	if name:find("fainted") and item2.aid ~= 4432 then                    if math.random(1,100) >= chance then						doSetItemActionId(aid, 4432)                        doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)                        item = doCreateItemEx(premio, math.random(2,5))                        doItemSetAttribute(item, "unique", getCreatureName(cid))                        doPlayerAddItemEx(cid, item)                        addEvent(doCreatureSetNoMove, cid, false)                        addEvent(doPlayerSendTextMessage, cid, 22, "Você coletou informações e ganhou pontos.")    else						doSetItemActionId(aid, 4432)                        doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)                        addEvent(doCreatureSetNoMove, cid, false)                        addEvent(doPlayerSendTextMessage, cid,22,"Você não conseguiu coletar.")                	end	end    return trueend

 

KarlKalvinK
23 de agosto de 2016 às 19:33

 

1 hora atrás, Gabriel Netto disse:

 

Apaga tudo dps do if name:find e adiciona isso:

	if name:find("fainted") and item2.aid ~= 4432 then                    if math.random(1,100) >= chance then						doSetItemActionId(aid, 4432)                        doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)                        item = doCreateItemEx(premio, math.random(2,5))                        doItemSetAttribute(item, "unique", getCreatureName(cid))                        doPlayerAddItemEx(cid, item)                        addEvent(doCreatureSetNoMove, cid, false)                        addEvent(doPlayerSendTextMessage, cid, 22, "Você coletou informações e ganhou pontos.")    else						doSetItemActionId(aid, 4432)                        doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)                        addEvent(doCreatureSetNoMove, cid, false)                        addEvent(doPlayerSendTextMessage, cid,22,"Você não conseguiu coletar.")                	end	end    return trueend

 

Eu quero que o item seja unico, viu que no script tem essa função? e eu vi que o cara falou que da pra trocar o aid por uid

 

EDIT: NÃO FUNCIONOU! que actionid é esse que no meu actions.xml não tem entendi nada ai..

Editado Agosto 23 por KarlKalvin

23 de agosto de 2016 às 19:54
15 minutos atrás, KarlKalvin disse:

 

 

Eu quero que o item seja unico, viu que no script tem essa função? e eu vi que o cara falou que da pra trocar o aid por uid

 

EDIT: NÃO FUNCIONOU! que actionid é esse que no meu actions.xml não tem entendi nada ai..

 

Nunca usei aid nesses casos, mas tenta assim (se der erro, tenta registrar esse aid no xml):

if name:find("fainted") and item2.aid ~= 4432 then                    if math.random(1,100) >= chance then						doSetItemActionId(item2.uid, 4432)                        doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)                        item = doCreateItemEx(premio, math.random(2,5))                        doItemSetAttribute(item, "unique", getCreatureName(cid))                        doPlayerAddItemEx(cid, item)                        addEvent(doCreatureSetNoMove, cid, false)                        addEvent(doPlayerSendTextMessage, cid, 22, "Você coletou informações e ganhou pontos.")    else						doSetItemActionId(item2.uid, 4432)                        doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)                        addEvent(doCreatureSetNoMove, cid, false)                        addEvent(doPlayerSendTextMessage, cid,22,"Você não conseguiu coletar.")                	end	end    return trueend

 

KarlKalvinK
23 de agosto de 2016 às 19:56

Eu registro par qual arquivo? o.O

23 de agosto de 2016 às 19:59
2 minutos atrás, KarlKalvin disse:

Eu registro par qual arquivo? o.O

no actions.xml, registra como se tu fosse registrar uma action normal.

KarlKalvinK
23 de agosto de 2016 às 20:00
Agora, Gabriel Netto disse:

no actions.xml, registra como se tu fosse registrar uma action normal.

 

Preciso setar o ID para um arquivo, e qual arquivo seria?

23 de agosto de 2016 às 20:04
Agora, KarlKalvin disse:

 

Preciso setar o ID para um arquivo, e qual arquivo seria?

<action itemid="4432" event="script" value="diretoriodoarquivo.lua"/>

 

Luga03L
23 de agosto de 2016 às 22:04
2 horas atrás, Gabriel Netto disse:

 

Nunca usei aid nesses casos, mas tenta assim (se der erro, tenta registrar esse aid no xml):

if name:find("fainted") and item2.aid ~= 4432 then                    if math.random(1,100) >= chance then						doSetItemActionId(item2.uid, 4432)                        doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)                        item = doCreateItemEx(premio, math.random(2,5))                        doItemSetAttribute(item, "unique", getCreatureName(cid))                        doPlayerAddItemEx(cid, item)                        addEvent(doCreatureSetNoMove, cid, false)                        addEvent(doPlayerSendTextMessage, cid, 22, "Você coletou informações e ganhou pontos.")    else						doSetItemActionId(item2.uid, 4432)                        doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)                        addEvent(doCreatureSetNoMove, cid, false)                        addEvent(doPlayerSendTextMessage, cid,22,"Você não conseguiu coletar.")                	end	end    return trueend

 

Tem uns errinhos aí kk, no addEvent você não colocou o tempo, apenas a função e os parâmetros... Vou refazer e mandar aqui:

 

	tempo = 5 -- Segundos em que "paralisia" fica no player 	if name:find("fainted") and item2.aid ~= 4432 then		if math.random(1,100) >= chance then			doSetItemActionId(item2.uid, 4432)			doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)			item = doCreateItemEx(premio, math.random(2,5))			doItemSetAttribute(item, "unique", getCreatureName(cid))			doPlayerAddItemEx(cid, item)			doCreatureSetNoMove(cid, false)			doPlayerSendTextMessage(cid, 22, "Você coletou informações e ganhou pontos.")		else			doSetItemActionId(item2.uid, 4432)			doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)			addEvent(function()				doCreatureSetNoMove(cid, false)				doPlayerSendTextMessag(cid,22,"Você não conseguiu coletar.")					end, time * 1000)		end	end    return trueend

Ah, faça a mesma coisa que o carinha falou só que ao invés de usar o code q ele postou use esse acima!

23 de agosto de 2016 às 22:08
Agora, Drazyn disse:

Tem uns errinhos aí kk, no addEvent você não colocou o tempo, apenas a função e os parâmetros... Vou refazer e mandar aqui:

 

	tempo = 5 -- Segundos em que "paralisia" fica no player 	if name:find("fainted") and item2.aid ~= 4432 then		if math.random(1,100) >= chance then			doSetItemActionId(item2.uid, 4432)			doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)			item = doCreateItemEx(premio, math.random(2,5))			doItemSetAttribute(item, "unique", getCreatureName(cid))			doPlayerAddItemEx(cid, item)			doCreatureSetNoMove(cid, false)			doPlayerSendTextMessage(cid, 22, "Você coletou informações e ganhou pontos.")		else			doSetItemActionId(item2.uid, 4432)			doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)			addEvent(function()				doCreatureSetNoMove(cid, false)				doPlayerSendTextMessag(cid,22,"Você não conseguiu coletar.")					end, time * 1000)		end	end    return trueend

Ah, faça a mesma coisa que o carinha falou só que ao invés de usar o code q ele postou use esse acima!

Grande Drazyn heahau, nem tinha percebido. Aliás, tenho dúvidas pra kct com esse addEvent.

Ele é nativo do lua? E as funções criadas nele, são locais, né? 

KarlKalvinK
23 de agosto de 2016 às 22:46

Tá dando pra escanar várias vezes ainda o mesmo corpo!!

23 de agosto de 2016 às 22:47
Agora, KarlKalvin disse:

Tá dando pra escanar várias vezes ainda o mesmo corpo!!

Sem erros na distro?

KarlKalvinK
23 de agosto de 2016 às 22:48
Agora, Gabriel Netto disse:

Sem erros na distro?

[23/08/2016 21:45:49] [Error - Action Interface] 

[23/08/2016 21:45:49] In a timer event called from: 

[23/08/2016 21:45:49] data/actions/scripts/profi.lua:onUse

[23/08/2016 21:45:49] Description: 

[23/08/2016 21:45:49] data/actions/scripts/profi.lua:62: attempt to call global 'doPlayerSendTextMessag' (a nil value)

[23/08/2016 21:45:49] stack traceback:

[23/08/2016 21:45:49]     data/actions/scripts/profi.lua:62: in function <data/actions/scripts/profi.lua:60>

 

Deu isso aqui mas não tem anda haver! tá funcionando "normal" porém coletando sempre várias vezes.

 

Acho melhor trabalhar mesmo com o atributo, mas se for usar o atributo de name irá alterar na config de catch então não daria certo...

Editado Agosto 23 por KarlKalvin

23 de agosto de 2016 às 22:51
Agora, KarlKalvin disse:

[23/08/2016 21:45:49] [Error - Action Interface] 

[23/08/2016 21:45:49] In a timer event called from: 

[23/08/2016 21:45:49] data/actions/scripts/profi.lua:onUse

[23/08/2016 21:45:49] Description: 

[23/08/2016 21:45:49] data/actions/scripts/profi.lua:62: attempt to call global 'doPlayerSendTextMessag' (a nil value)

[23/08/2016 21:45:49] stack traceback:

[23/08/2016 21:45:49]     data/actions/scripts/profi.lua:62: in function <data/actions/scripts/profi.lua:60>

 

Deu isso aqui mas não tem anda haver! tá funcionando "normal" porém coletando sempre várias vezes.

O Gabriel apagou o Message sem querer ;p

 

Tenta assim:

	tempo = 5 -- Segundos em que "paralisia" fica no player 	if name:find("fainted") and item2.aid ~= 4432 then		if math.random(1,100) >= chance then			doSetItemActionId(item2.itemid, 4432)			doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)			item = doCreateItemEx(premio, math.random(2,5))			doItemSetAttribute(item, "unique", getCreatureName(cid))			doPlayerAddItemEx(cid, item)			doCreatureSetNoMove(cid, false)			doPlayerSendTextMessage(cid, 22, "Você coletou informações e ganhou pontos.")		else			doSetItemActionId(item2.itemid, 4432)			doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)			addEvent(function()				doCreatureSetNoMove(cid, false)				doPlayerSendTextMessage(cid,22,"Você não conseguiu coletar.")					end, time * 1000)		end	end    return trueend

 

KarlKalvinK
23 de agosto de 2016 às 22:54
1 minuto atrás, Gabriel Netto disse:

O Gabriel apagou o Message sem querer ;p

 

Tenta assim:

	tempo = 5 -- Segundos em que "paralisia" fica no player 	if name:find("fainted") and item2.aid ~= 4432 then		if math.random(1,100) >= chance then			doSetItemActionId(item2.itemid, 4432)			doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)			item = doCreateItemEx(premio, math.random(2,5))			doItemSetAttribute(item, "unique", getCreatureName(cid))			doPlayerAddItemEx(cid, item)			doCreatureSetNoMove(cid, false)			doPlayerSendTextMessage(cid, 22, "Você coletou informações e ganhou pontos.")		else			doSetItemActionId(item2.itemid, 4432)			doSendAnimatedText(topos, ""..randoms.."", TEXTCOLOR_GREEN)			addEvent(function()				doCreatureSetNoMove(cid, false)				doPlayerSendTextMessage(cid,22,"Você não conseguiu coletar.")					end, time * 1000)		end	end    return trueend

 

 

Funcionando "normalmente" porém ainda escaneando o mesmo corpo várias vezes

 

 

 

 

[23/08/2016 21:53:02] [Error - Action Interface] 

[23/08/2016 21:53:02] data/actions/scripts/profi.lua:onUse

[23/08/2016 21:53:02] Description: 

[23/08/2016 21:53:02] (luaDoItemSetAttribute) Item not found

 

 

Erro de configuração básico

23 de agosto de 2016 às 23:17
21 minutos atrás, KarlKalvin disse:

 

Funcionando "normalmente" porém ainda escaneando o mesmo corpo várias vezes

 

 

 

Erro de configuração básico

Esse erro aí não é do actionId, já que tá falando de setAttribute...

Não sei qual pode ser o problema de lógica, se algum scripter mais experiente quiser intervir please