Ir para conteúdo

Featured Replies

Postado

Salve galera bom conseguimos resolver o problema com a info da quantidade coletada de madeira com ajuda do @JoviM mas ainda o bug de remover o toco de madeira persiste então estou atualizando o tópico com o script atualizado

 

Script atualizado

Spoiler

 


function onUse(cid, item, frompos, item2, topos)
local chance = 70 -- chance de cortar
local madeiras = {5941, 5901} -- item que o player irá ganhar
local premio = madeiras[math.random(1, #madeiras)]
local transformItem = 8786
local texts = {"Tuc", "Toc", "Trec"}
local random = texts[math.random(1,#texts)]
local time = 1 -- Minutos para crescer novamente
local outfit = 1248 -- ID da Outfit Male.
local outfit2 = 1249 -- ID da Outfit Female.
local lenha = math.random(3, 7)

if getPlayerSex(cid) == 1 then
doSetCreatureOutfit(cid, {lookType = outfit}, 500) -- Tempo em que a outfit estará trocada.
else
doSetCreatureOutfit(cid, {lookType = outfit2}, 500) -- Tempo em que a outfit estará trocada.
end
doCreatureSetNoMove(cid, true)
addEvent(function()
if not isPlayer(cid) then return true end
doCreatureSetNoMove(cid, false)
end, 500)

                           if item2.itemid == 2702 or item2.itemid == 2703 or item2.itemid == 2704 or item2.itemid == 2705 or item2.itemid == 2706 then
                                        if math.random(1,100) >= chance then
												 doPlayerAddItem(cid, premio, lenha)
                                                 doTransformItem(item2.uid, transformItem)
                                                 doSendMagicEffect(topos, 584)
												 doSendMagicEffect(frompos, 621)
												 doSendAnimatedText(frompos, "Sucess", TEXTCOLOR_WHITE)
												 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Voce coletou " .. lenha ..  " "..getItemNameById(premio)..".")
                                                 doSendAnimatedText(topos, ""..random.."", TEXTCOLOR_WHITE)
                                                 doDecayItem(item2.uid)
                                                 addEvent(doCreateItem, time*60*1000, item2.itemid, 1, getThingPos(item2.uid))
         else
                                                 doSendAnimatedText(topos, ""..random.."", TEXTCOLOR_WHITE)
												 doSendMagicEffect(topos, 584)
												 doSendAnimatedText(frompos, "Fail", TEXTCOLOR_WHITE)
                                        end
                           end
         return true
end

 

 

 

 

 

Bom o problema do script ainda é a remoção do toco de madeira no caso o transformItem = 8786, já tentamos usar doCreateItem/doRemoveitem para remover a arvore e criar o toco e não deu certo

 

Tentando deixar o toco com DecayTo/Duration e não funcionou

Tentei usar o doTransformItem e também não funcionou se alguém tiver alguma ideia de como fazer pro toco ser removido após a arvore ser criada novamente será bem vindo ^^ 

 

obs: o intuito do script após de pronto é reverter o resultado aqui para a comunidade

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

  • Respostas 12
  • Visualizações 650
  • Created
  • Última resposta

Top Posters In This Topic

Postado

@Brunds Cria uma variável para armazenar a quantidade de madeira, e depois só chama ela na mensagem.

 

Assim:

local lenha = math.random(3, 7)
doPlayerAddItem(cid, madeiras, lenha)
doPlayerSendTextMessage(cid, 27, "Voce coletou "..lenha.." "..getItemNameById(premio)..".")

Ai o nome do item chama pela variável premio que você criou.

 

Sobre o toco cara, ficou meio confuso suas palavras e o script. No script você está transformando a árvore em toco,  decaindo ele, e por fim criando a árvore encima do toco. Nesse caso você só precisaria colocar pra ele decair pelo xml, e depois de x tempo (com base no tempo do xml) criar a árvore novamente.

Editado por JoviM (veja o histórico de edições)

Postado
  • Autor

@JoviM sim eu tentei deixar o toco com decayTo = 0 e duration = 60 mas ele não transforma a arvore para toco quando deixo dessa forma

 

obs: e para colocar para a toco voltar a ser uma arvore ficaria ruim porque coloquei pro script usar mais de uma arvore

@JoviM tentei dessa forma

 

    <item id="8786" article="a" name="toco da arvore">
            <attribute key="duration" value="60" />
        <attribute key="decayTo" value="0" />
        </item>

mas ai quando executa a função o toco não aparece e da esse erro

 

[23/02/2019 15:11:28] [Error - Action Interface] 
[23/02/2019 15:11:28] data/actions/scripts/lenhar.lua:onUse
[23/02/2019 15:11:28] Description: 
[23/02/2019 15:11:28] (luaGetThingPosition) Thing not found

[23/02/2019 15:12:28] [Error - Action Interface] 
[23/02/2019 15:12:28] In a timer event called from: 
[23/02/2019 15:12:28] data/actions/scripts/lenhar.lua:onUse
[23/02/2019 15:12:28] Description: 
[23/02/2019 15:12:28] (luaDoCreateItem) Tile not found


 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Postado

@Brunds Tenta com isso:

 

addEvent(doRemoveItem(item2.uid, 1), time*1000)

Caso remova antes de criar a árvore é só fazer time + 1 * 1000.

 

EDIT: Então cara, é por que o item estava sendo removido antes de ser criado a árvore, entende? A árvore está sendo criada na posição do toco, caso você remova ele vai dar erro. Por isso que tem que remover ele no mesmo tempo em que cria a árvore(ficou meio estranho mas é isso UAHSUASH).

Editado por JoviM (veja o histórico de edições)

Postado
  • Autor

@JoviM [23/02/2019 15:20:09] [Error - LuaScriptInterface::loadFile] data/actions/scripts/lenhar.lua:35: ')' expected (to close '(' at line 34) near 'addEvent'
[23/02/2019 15:20:09] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/lenhar.lua)
[23/02/2019 15:20:09] data/actions/scripts/lenhar.lua:35: ')' expected (to close '(' at line 34) near 'addEvent'

 

da esse erro tentei editar aqui colocar em outro lugar trocar por virgula e continua dando o mesmo erro

addEvent(doRemoveItem, time*1000, item2.uid, 1) tentei assim

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo