DuuhCarvalho 327 Postado Fevereiro 28, 2014 Autor Share Postado Fevereiro 28, 2014 Amigos o OTScritp Live! é muito ultrapassado... Sugiro fortemente que usem esse (é o mesmo que uso) http://www.xtibia.com/forum/topic/226388-scripting-otm-ot-manager/ Ele não é completamente atualizado e faltam algumas funções, mas já ajuda muito. Muito Foda ! .. Link para o comentário https://xtibia.com/forum/topic/228757-tutorial-b%C3%A1sico-movements/page/2/#findComment-1617652 Compartilhar em outros sites More sharing options...
pprgfpedro 1 Postado Março 17, 2014 Share Postado Março 17, 2014 muito bom so explica algo tipo essa parte do piso bom si tive um negoco asim se pisa em um piso aparece um monstro de cada vez ele mata o monstro ai pisa denovo aparece ai quando pisa 30 veses ele sair e i pro templo como fasso isso ? Link para o comentário https://xtibia.com/forum/topic/228757-tutorial-b%C3%A1sico-movements/page/2/#findComment-1624561 Compartilhar em outros sites More sharing options...
DuuhCarvalho 327 Postado Março 17, 2014 Autor Share Postado Março 17, 2014 muito bom so explica algo tipo essa parte do piso bom si tive um negoco asim se pisa em um piso aparece um monstro de cada vez ele mata o monstro ai pisa denovo aparece ai quando pisa 30 veses ele sair e i pro templo como fasso isso ? não entendi . se isso é um pedido use a área de pedidos e duvidas de scripting . Link para o comentário https://xtibia.com/forum/topic/228757-tutorial-b%C3%A1sico-movements/page/2/#findComment-1624575 Compartilhar em outros sites More sharing options...
DuuhCarvalho 327 Postado Fevereiro 14, 2017 Autor Share Postado Fevereiro 14, 2017 # Editei a estrutura deste tópico e dei um up, é um tutorial bem básico, mas que pode ajudar quem está iniciando. Link para o comentário https://xtibia.com/forum/topic/228757-tutorial-b%C3%A1sico-movements/page/2/#findComment-1712207 Compartilhar em outros sites More sharing options...
Everson Miranda 2 Postado Abril 26, 2017 Share Postado Abril 26, 2017 (editado) Em 17/03/2014 at 12:23, pprgfpedro disse: muito bom so explica algo tipo essa parte do piso bom si tive um negoco asim se pisa em um piso aparece um monstro de cada vez ele mata o monstro ai pisa denovo aparece ai quando pisa 30 veses ele sair e i pro templo como fasso isso ? eu entendi.. eu nao entendo muito de lua.. mas no C++ se usa o return e uma variavel de verificação em cima ex: function onStepIn(cid, item, pos)if isPlayer(cid) then if getPlayerStorageValue(cid, 54321) <= 30 then doPlayerAddItem(cid, 2160, 100)elseif getPlayerStorageValue(cid, 54321) == 30 then doPlayerTeleport (x, y , z) elseif getPlayerStorageValue(cid, 54321) == 31 then doPlayerSendCancel(cid, "Você já fez essa quest!") endendreturn trueend Nao sei se esta correto porem essa é +- a ideia dele, so que ao inves de grana ele quer que apareça monstros... tipo task.. Editado Abril 26, 2017 por Everson Miranda Link para o comentário https://xtibia.com/forum/topic/228757-tutorial-b%C3%A1sico-movements/page/2/#findComment-1716715 Compartilhar em outros sites More sharing options...
CalistoKing 17 Postado Abril 26, 2017 Share Postado Abril 26, 2017 Belo tutorial eu entendi basicamente tudo, só que quando fui tentar fazer o script não entendi por que o storage não funcionou quando pisava no tile Como era para funcionar Você pisa em um X Tile oque acontece : Você recebe um x storage, recebe uma mensagem e o monstro nasce em x localização. Você tenta pisar novamente oque acontece : Você recebe a mensagem que não pode mais respawnar o monstro. Script function onStepIn(cid, item, pos) if getPlayerStorageValue(cid, 4445) then doPlayerSendTextMessage(cid, 25, "Você já summonou o Frenzy Boar!") end if isPlayer(cid) then if getTileThingByPos(cid, {x=1111,y=1030,z=7}) then doCreateMonster("Frenzy Boar", {x=1111,y=1031,z=7}) setPlayerStorageValue(cid, 4445) doPlayerSendTextMessage(cid, 25, "Você summonou um Frenzy Boar!") end end return true end No movements.xml <movevent type="StepIn" uniqueid="15667" event="script" value="piso.lua"/> Oque acontece O script funciona pra summonar o monstro e receber a mensagem que nasceu, mas na parte da storage que era para verificar não sei oque está acontecendo que continua a summonar. Oque a de errado no script? Link para o comentário https://xtibia.com/forum/topic/228757-tutorial-b%C3%A1sico-movements/page/2/#findComment-1716719 Compartilhar em outros sites More sharing options...
DuuhCarvalho 327 Postado Abril 26, 2017 Autor Share Postado Abril 26, 2017 (editado) Spoiler 33 minutos atrás, CalistoKing disse: Belo tutorial eu entendi basicamente tudo, só que quando fui tentar fazer o script não entendi por que o storage não funcionou quando pisava no tile Como era para funcionar Ocultar conteúdo Você pisa em um X Tile oque acontece : Você recebe um x storage, recebe uma mensagem e o monstro nasce em x localização. Você tenta pisar novamente oque acontece : Você recebe a mensagem que não pode mais respawnar o monstro. Script Ocultar conteúdo function onStepIn(cid, item, pos) if getPlayerStorageValue(cid, 4445) then doPlayerSendTextMessage(cid, 25, "Você já summonou o Frenzy Boar!") end if isPlayer(cid) then if getTileThingByPos(cid, {x=1111,y=1030,z=7}) then doCreateMonster("Frenzy Boar", {x=1111,y=1031,z=7}) setPlayerStorageValue(cid, 4445) doPlayerSendTextMessage(cid, 25, "Você summonou um Frenzy Boar!") end end return true end No movements.xml Mostrar conteúdo oculto <movevent type="StepIn" uniqueid="15667" event="script" value="piso.lua"/> Oque acontece O script funciona pra summonar o monstro e receber a mensagem que nasceu, mas na parte da storage que era para verificar não sei oque está acontecendo que continua a summonar. Oque a de errado no script? Muito bom, a questão da storage é que você esqueceu 2 coisinhas: 1º na parte: setPlayerStorageValue(cid, 4445) você esqueceu o param de valor, ou seja, o valor que vai ser atribuído a storage 4445. Exemplo: setPlayerStorageValue(cid, 4445, 1) -- nesse caso foi setado o valor 1 na storage 4445. 2º na checagem: if getPlayerStorageValue(cid, 4445) then doPlayerSendTextMessage(cid, 25, "Você já summonou o Frenzy Boar!")end já que eu setei a storage para 1 conforme expliquei acima, eu tenho que checar se o valor da storage é igual a 1. Exemplo: if getPlayerStorageValue(cid, 4445) == 1 then -- nesse caso se a storage 4445 tiver o valor 1, vai entrar no if. detalhe para que ele não entre nesse if e depois entre no outro if, utilize um return, exemplo: if getPlayerStorageValue(cid, 4445) == 1 then return doPlayerSendTextMessage(cid, 25, "Você já summonou o Frenzy Boar!")end existe também outro possibilidade, que eu prefiro, estude o código abaixo: Spoiler function onStepIn(cid, item, pos) if isPlayer(cid) then if getPlayerStorageValue(cid, 4445) ~= 1 then if getTileThingByPos(cid, {x=1111,y=1030,z=7}) then doCreateMonster("Frenzy Boar", {x=1111,y=1031,z=7}) setPlayerStorageValue(cid, 4445, 1) doPlayerSendTextMessage(cid, 25, "Você summonou um Frenzy Boar!") end else doPlayerSendTextMessage(cid, 25, "Você já summonou o Frenzy Boar!") end endreturn trueend lendo o código.. se é player(cid) então se a storage 4445 do player(cid) é diferente de 1 então ... senão --(else) mandar msg Você já summonou o Frenzy Boar fimfim : D Editado Abril 26, 2017 por Ed'Specter Link para o comentário https://xtibia.com/forum/topic/228757-tutorial-b%C3%A1sico-movements/page/2/#findComment-1716721 Compartilhar em outros sites More sharing options...
CalistoKing 17 Postado Abril 26, 2017 Share Postado Abril 26, 2017 (editado) 29 minutos atrás, Ed'Specter disse: Ocultar conteúdo function onStepIn(cid, item, pos) if isPlayer(cid) then if getPlayerStorageValue(cid, 4445) ~= 1 then if getTileThingByPos(cid, {x=1111,y=1030,z=7}) then doCreateMonster("Frenzy Boar", {x=1111,y=1031,z=7}) setPlayerStorageValue(cid, 4445, 1) doPlayerSendTextMessage(cid, 25, "Você summonou um Frenzy Boar!") end else doPlayerSendTextMessage(cid, 25, "Você já summonou o Frenzy Boar!") end endreturn trueend lendo o código.. se é player(cid) então se a storage 4445 do player(cid) é diferente de 1 então ... senão --(else) mandar msg Você já summonou o Frenzy Boar fimfim Nossa que brilhante, eu sou iniciante e fiquei um pouco confuso mas entendi que quando colocou o param ele serviu para identificar se o player tinha ou não a storage para setar (4445, 1) e summonar o monstro ou não que no caso seria o else(se já tivesse 4445, 1). Obrigado, abriu minha mente para diversas coisas, apesar de ser um iniciante e quero trazer bons conteúdo para o fórum, abraço. Editado Abril 26, 2017 por CalistoKing Link para o comentário https://xtibia.com/forum/topic/228757-tutorial-b%C3%A1sico-movements/page/2/#findComment-1716723 Compartilhar em outros sites More sharing options...
Posts Recomendados