Postado Fevereiro 23, 2019 6 anos 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 AbaixoFacebookYoutubeDiscord Tutoriais / ConteúdosClique Aqui
Postado Fevereiro 23, 2019 6 anos @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 Fevereiro 23, 2019 6 anos por JoviM (veja o histórico de edições)
Postado Fevereiro 23, 2019 6 anos 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 AbaixoFacebookYoutubeDiscord Tutoriais / ConteúdosClique Aqui
Postado Fevereiro 23, 2019 6 anos @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 Fevereiro 23, 2019 6 anos por JoviM (veja o histórico de edições)
Postado Fevereiro 23, 2019 6 anos 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 AbaixoFacebookYoutubeDiscord Tutoriais / ConteúdosClique 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.