adrianokk 1 Postado Abril 21, 2020 Share Postado Abril 21, 2020 (editado) Esta é uma parte do Script que transforma um item em outro. O jogador aperta no item e ele se transforma em outro.. mas quero deixar assim. Ex: Jogador depois que aperta no item, o item depois de (5 Segundos) se transforma no outros. ja esta setado um item como (ItemQuebrado), apenas quero Add um tempo antes dele se transformar Editado Abril 23, 2020 por adrianokk Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Abril 23, 2020 Share Postado Abril 23, 2020 Em 21/04/2020 em 11:40, adrianokk disse: Versão do Servidor: TFS - 0.3.5 Tipo de Script: actions Código: Ocultar conteúdo local old_id, old_pos = itemEx.itemid, getThingPos(itemEx.uid) doTransformItem(itemEx.uid, ItemQuebrado) addEvent(function() local stump = getTileItemById(old_pos, ItemQuebrado) if stump.uid then doTransformItem(stump.uid, old_id) Esta é uma parte do Script que transforma um item em outro. O jogador aperta no item e ele se transforma em outro.. mas quero deixar assim. Ex: Jogador depois que aperta no item, o item depois de (5 Segundos) se transforma no outros. ja esta setado um item como (ItemQuebrado), apenas quero Add um tempo antes dele se transformar Seria melhor postar o script todo para entender melhor. Só para entender, esse addEvent você colocou na tentativa de tentar criar os 5 segundos para transformar no item? Link para o comentário Compartilhar em outros sites More sharing options...
0 adrianokk 1 Postado Abril 23, 2020 Autor Share Postado Abril 23, 2020 Pronto coloquei ele todo. só faltava o tempo que ele demora para voltar ao item anteiros. Deixa eu ver se consigo explicar. Quando o jogador aperta (Exemplo: Em uma parede deitada --- id: 17256), a parede vira outro item (EX: Parede virada | id: 17257 ) e depois do time * 60000) (Time esta em 5 = 5 minutos) Apos esses 5 minutos a parede volta para o ID: 17256. o problema é que quanto o jogador aperta na parede 17256, ela se transforma na parede 17257 instantaneamente. eu quero colocar um CD de ex:5 segundos. para que quando o jogador aperta na parede 17256 demore 5 segundos para ela virar a parede 17257 Link para o comentário Compartilhar em outros sites More sharing options...
0 wevertonvrb 25 Postado Abril 24, 2020 Share Postado Abril 24, 2020 (editado) 4 horas atrás, adrianokk disse: Pronto coloquei ele todo. só faltava o tempo que ele demora para voltar ao item anteiros. Deixa eu ver se consigo explicar. Quando o jogador aperta (Exemplo: Em uma parede deitada --- id: 17256), a parede vira outro item (EX: Parede virada | id: 17257 ) e depois do time * 60000) (Time esta em 5 = 5 minutos) Apos esses 5 minutos a parede volta para o ID: 17256. o problema é que quanto o jogador aperta na parede 17256, ela se transforma na parede 17257 instantaneamente. eu quero colocar um CD de ex:5 segundos. para que quando o jogador aperta na parede 17256 demore 5 segundos para ela virar a parede 17257 vai la no actions/scripts e cria um arquivo.lua e cola isso dentro Spoiler function onUse(cid, item) doTransformItem(item.uid,?????) ----- nas interrogação coloca o id da parede 2 no caso parede virada doDecayItem(item.uid) return true end no item.xml procura a parede 2 e coloca esses atributos no item <attribute key="decayTo" value="??????"/> nas interrogação coloca o id da parede 1 <attribute key="duration" value="?????"/> nas interrogação vc coloca o tempo acredito que conte em segundos n esquece de registrar no actions.xml <action actionid="5555" event="script" value="NOMEDOSCRIPT.lua"/> pra fazer funcionar em apenas 1 parede determinada no local x,y,z recomendo registrar usando uma actionid EU BOTEI ALI 5555 é so registrar ela na parede pelo map editor não esquesse de editar o NOMEDOSCRIPT caso seja uma arvore espalhada pelo mapa ou varias paredes espalhadas por exemplo vc pode trocar o action id por itemid e colocar o id da parede 1 que todas elas vai funcionar Editado Abril 24, 2020 por wevertonvrb Link para o comentário Compartilhar em outros sites More sharing options...
1 Yan Oliveira 211 Postado Abril 24, 2020 Share Postado Abril 24, 2020 (editado) 9 horas atrás, adrianokk disse: Pronto coloquei ele todo. só faltava o tempo que ele demora para voltar ao item anteiros. Deixa eu ver se consigo explicar. Quando o jogador aperta (Exemplo: Em uma parede deitada --- id: 17256), a parede vira outro item (EX: Parede virada | id: 17257 ) e depois do time * 60000) (Time esta em 5 = 5 minutos) Apos esses 5 minutos a parede volta para o ID: 17256. o problema é que quanto o jogador aperta na parede 17256, ela se transforma na parede 17257 instantaneamente. eu quero colocar um CD de ex:5 segundos. para que quando o jogador aperta na parede 17256 demore 5 segundos para ela virar a parede 17257 Entendi, antes de function onUse adicione essa função: ---- FUNÇÃO QUE VOLTA O ITEM APÓS X SEGUNDOS ---- function contagemSegundosItem(cid, old_item, new_item, segundos) local item_antigo = old_item.itemid local old_position = getThingPos(old_item.uid) doTransformItem(old_item.uid, new_item.itemid) local item_tile = getTileItemById(old_position, new_item) if item_tile.uid then if segundos > 0 then addEvent(contagemSegundosItem, 60000, cid, old_item, new_item, segundos-1) else doTransformItem(item_tile.uid, item_antigo) end end end E na parte do function onUse onde estava seu código antigo, apague aquele bloco e chame a função: contagemSegundosItem(cid, itemEx, ItemQuebrado, 5) -- CID, ITEM QUE VAI SER TRANSFORMADO, NOVO ITEM, E OS SEGUNDOS Testa e me fala se der problema. Editado Abril 24, 2020 por Yan18 adrianokk reagiu a isso 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 adrianokk 1 Postado Abril 24, 2020 Autor Share Postado Abril 24, 2020 ty man Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Abril 24, 2020 Share Postado Abril 24, 2020 13 minutos atrás, adrianokk disse: ty man Funcionou certinho? 16 horas atrás, wevertonvrb disse: vai la no actions/scripts e cria um arquivo.lua e cola isso dentro Mostrar conteúdo oculto function onUse(cid, item) doTransformItem(item.uid,?????) ----- nas interrogação coloca o id da parede 2 no caso parede virada doDecayItem(item.uid) return true end no item.xml procura a parede 2 e coloca esses atributos no item <attribute key="decayTo" value="??????"/> nas interrogação coloca o id da parede 1 <attribute key="duration" value="?????"/> nas interrogação vc coloca o tempo acredito que conte em segundos n esquece de registrar no actions.xml <action actionid="5555" event="script" value="NOMEDOSCRIPT.lua"/> pra fazer funcionar em apenas 1 parede determinada no local x,y,z recomendo registrar usando uma actionid EU BOTEI ALI 5555 é so registrar ela na parede pelo map editor não esquesse de editar o NOMEDOSCRIPT caso seja uma arvore espalhada pelo mapa ou varias paredes espalhadas por exemplo vc pode trocar o action id por itemid e colocar o id da parede 1 que todas elas vai funcionar Seu script não sentido, ele queria apenas que colocasse um tempo para que transformasse o item novamente, já estava funcionando a transformação, só precisava do tempo. Já o seu script usa a função Decay que seria "apodrecer" o item, que é usado mais para árvores, bush ou buracos (mais coisas que envolvem natureza ou ambiente, e tendo definido para o item "novo" no items.xml). Mas não é o caso do pedido do colega. E no seu script não tem um tempo definido para transformar o item. Link para o comentário Compartilhar em outros sites More sharing options...
0 adrianokk 1 Postado Abril 24, 2020 Autor Share Postado Abril 24, 2020 tinha dado um erro mas foi só um nome que coloquei errado na função, troquei e foi você acredita que meu pc acabou de queimar a fonte ?? sorte que tenho um notebook reservar ¬¬'' Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Abril 24, 2020 Share Postado Abril 24, 2020 (editado) 1 hora atrás, adrianokk disse: tinha dado um erro mas foi só um nome que coloquei errado na função, troquei e foi você acredita que meu pc acabou de queimar a fonte ?? sorte que tenho um notebook reservar ¬¬'' Sobre o post, que bom que funcionou ?. Haha é assim mesmo, um nome errado, qualquer caractere errado já buga tudo, Sobre seu pc, que chato cara, mas pelo menos foi só a fonte, semana retrasada perdi meu HD, tinha feito várias coisas em várias bases, tinha migrado uma base mysql para sqlite e perdi. Mas fonte é só comprar outra, se fosse HD ai seria complicado, perder suas coisas pessoal. Mas não esquece também de trocar a pasta térmica do processador para não correr risco de perder haha, ainda mais se mora em uma região quente. Coloque por gentileza a resposta com o código como a melhor resposta, para caso outra pessoa queira ela encontre, e também como resolvido o tópico ?. Abraços. Editado Abril 24, 2020 por Yan18 Link para o comentário Compartilhar em outros sites More sharing options...
0 adrianokk 1 Postado Abril 24, 2020 Autor Share Postado Abril 24, 2020 onde bota como melhor tópico e como resolvido ? xD Link para o comentário Compartilhar em outros sites More sharing options...
0 Yan Oliveira 211 Postado Abril 30, 2020 Share Postado Abril 30, 2020 Em 24/04/2020 em 16:42, adrianokk disse: onde bota como melhor tópico e como resolvido ? xD Haha, faz muitos anos que eu não crio um post, mas acho que é clicando no troféu. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
adrianokk 1
Esta é uma parte do Script que transforma um item em outro.
O jogador aperta no item e ele se transforma em outro..
mas quero deixar assim.
Ex: Jogador depois que aperta no item, o item depois de (5 Segundos) se transforma no outros.
ja esta setado um item como (ItemQuebrado), apenas quero Add um tempo antes dele se transformar
Editado por adrianokkLink para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados