Tio Gordo 8 #1 Postado 9 Agosto, 2007 Olá a todos, andei pensando esses dias e com a idéia de um amigo meu: Fernando (FOREVER), desenvolvi um código que é o seguinte: - Existem 3 coal basins. - Você tem que fazer a combinação dos itens, em cima dos coal basins. - Após fazer a combinação você sobe num piso, se estiver certa a combinação você é teletransportado, se não aparece uma mensagem, dizendo que você não matou a charada. Mas vamos parar de enrolação e vamos ao script, que é muito simples: function onStepIn(cid, item, frompos, item2, topos) piece1pos = {x=300, y=903, z=7, stackpos=1} piece2pos = {x=285, y=891, z=7, stackpos=1} piece3pos = {x=285, y=889, z=7, stackpos=1} novapos1 = {x=348, y=293, z=7} getpiece1 = getThingfromPos(piece1pos) getpiece2 = getThingfromPos(piece2pos) getpiece3 = getThingfromPos(piece3pos) if item.uid == 8769 and item.itemid == 473 and getpiece1.itemid == 2193 and getpiece2.itemid == 2193 and getpiece3.itemid == 2193 then doRemoveItem(getpiece1.uid,1) doRemoveItem(getpiece2.uid,1) doRemoveItem(getpiece3.uid,1) doTeleportThing(cid,novapos1) else doPlayerSendTextMessage(cid,22,"Voce nao descobriu a charada.") end return 1 end[/b] Vamos explicar agora: Em vermelho, é qual movement será utilizado no caso a função onStepIn, que é quando o player pisa no piso. Em azul, são as posições de cada coal basin, logo a posição de cada item. Em amarelo, é a posição em que o player será teletransportado para fazer a quest. Em negrito, é a parte da verificação da charada. Primeiro: O item.uid é o Unique ID do piso! O item.id é o ID do piso! E os getpiece1 , 2 e 3, são os ID's dos itens, resolvi colocar todos como 2193(Ankh), porém para a charada ficar mais dificil mude a seu gosto! Bem, esse arquivo você deve salvar como quest.lua, dentro da pasta data/movements/scripts do seu OT. Agora devemos configurar o movements para que esse movement funcione então: - Abra o arquivo movements.xml dentro da pasta data/movements de seu OT - Adicione a seguinte Tag (Lembrando que utilizei o Uniqueid = 8769, caso você mude esse número deverá mudar também no movements.xml!) : <movevent event="StepIn" uniqueid="8769" script="quest.lua" />[/b] Pronto está configurado, porém se você colocar no seu OT Server, e não funcionar modifique essa tag por isso: <movevent event="StepIn" itemid="473" script="quest.lua" />[/b] Lembrando que coloquei o piso id 473, se você modificar deve modificar tanto aqui nessa tag quanto no script! Agora, basta utilizar a criatividade e criar muitas outras quests desafiadoras! Abraços, Tio Gordo. Compartilhar este post Link para o post Compartilhar em outros sites
Kevox 0 #2 Postado 10 Agosto, 2007 Aprovado. Compartilhar este post Link para o post Compartilhar em outros sites
Dark Skyllen 7 #3 Postado 10 Agosto, 2007 #topic Muito bom! É muito legal este tipo de quest! Aprovadíssimo! Parabéns Nota: 10 Compartilhar este post Link para o post Compartilhar em outros sites
chisien2005 0 #4 Postado 10 Agosto, 2007 heeh gostou da minha ideia neh^^ entao soh falta arrumar pra q quando o monstro passa pelo piso nao acontecer nada.. vlw pelo credito xD Compartilhar este post Link para o post Compartilhar em outros sites
Muadogib 0 #5 Postado 10 Agosto, 2007 legal... parecido com o hota neh essas quest sao boas mesmo...melhor que mata um demon e pega uma mpa no chest >.< Compartilhar este post Link para o post Compartilhar em outros sites
Deviel 0 #6 Postado 13 Agosto, 2007 Outro script deste estilo que não funciona, estou pensando em desistir. Ja tentei 4 script e movements diferente e nenhum deu certo ainda =/ Olha como esta o arquivo.lua Ps: Eu fiz para 2 itens function onStepIn(cid, item, frompos, item2, topos) piece1pos = {x=396, y=126, z=6, stackpos=1} piece2pos = {x=397, y=126, z=6, stackpos=1} novapos1 = {x=491, y=148, z=6} getpiece1 = getThingfromPos(piece1pos) getpiece2 = getThingfromPos(piece2pos) if item.uid == 8769 and item.itemid == 473 and getpiece1.itemid == 6098 and getpiece2.itemid == 2455 then doRemoveItem(getpiece1.uid,1) doRemoveItem(getpiece2.uid,1) doTeleportThing(cid,novapos1) else doPlayerSendTextMessage(cid,22,"Voce nao descobriu a charada.") end return 1 end Compartilhar este post Link para o post Compartilhar em outros sites
Arch 0 #7 Postado 18 Agosto, 2007 isso parece ser ancient helm modificado mas eh uma otima ideiaa mto criativo ^^ Compartilhar este post Link para o post Compartilhar em outros sites
_RIBEIRO_ 0 #8 Postado 18 Agosto, 2007 Gostei muito ! ~~Aprovado~~ Compartilhar este post Link para o post Compartilhar em outros sites
Syodana 0 #9 Postado 21 Agosto, 2007 Ahhhhhh pergunta e Ot q nu tem a pasta "movements" :S grata, Syo~~ Compartilhar este post Link para o post Compartilhar em outros sites
Pedroddcunha 3 #10 Postado 26 Agosto, 2007 @Usurpador Alertado e suspenso por mass flood Compartilhar este post Link para o post Compartilhar em outros sites
541320 0 #11 Postado 1 Março, 2008 cara mas coloca o unique id no piso lah?? Compartilhar este post Link para o post Compartilhar em outros sites
Aioria 0 #12 Postado 1 Março, 2008 cara mto bom isso ::DDD VLw Compartilhar este post Link para o post Compartilhar em outros sites
Elys Zarox 0 #13 Postado 1 Março, 2008 Vlwwwwwwwwwwww cara presisava disso tbm hj eh meu dia de sorte xD Compartilhar este post Link para o post Compartilhar em outros sites
savity 1 #14 Postado 2 Março, 2008 Bom, pelo o que li eu gostei. Na pratica vamo ver se fica bom aprovado =D Compartilhar este post Link para o post Compartilhar em outros sites
Machine! 2 #15 Postado 2 Março, 2008 c realmente funcionar e uma boa ideia para server rpg e para naum rpgs ! vlw ai por postar e ajudar a otnet. aprovado ..... vo presisa de um script assim pra meu avatar project Compartilhar este post Link para o post Compartilhar em outros sites
goiabinha 0 #16 Postado 2 Março, 2008 VOU FALAR DNV ONDI EU COLOCO ESSA PORRA? EXPLICA TPW: Exemplo: VC VAI EM DATA/SCRIPT E CRIEI UM ARQUIVO LUA ABRA ELE E COLOQUE function onStepIn(cid, item, frompos, item2, topos) piece1pos = {x=300, y=903, z=7, stackpos=1} piece2pos = {x=285, y=891, z=7, stackpos=1} piece3pos = {x=285, y=889, z=7, stackpos=1} novapos1 = {x=348, y=293, z=7} getpiece1 = getThingfromPos(piece1pos) getpiece2 = getThingfromPos(piece2pos) getpiece3 = getThingfromPos(piece3pos) if item.uid == 8769 and item.itemid == 473 and getpiece1.itemid == 2193 and getpiece2.itemid == 2193 and getpiece3.itemid == 2193 then doRemoveItem(getpiece1.uid,1) doRemoveItem(getpiece2.uid,1) doRemoveItem(getpiece3.uid,1) doTeleportThing(cid,novapos1) else doPlayerSendTextMessage(cid,22,"Voce nao descobriu a charada.") end return 1 end[/b] ENTENDEU? COMO C QUEH INCINA ASSIm? agora c xega e fala bom citaçao coloque isso function onStepIn(cid, item, frompos, item2, topos) piece1pos = {x=300, y=903, z=7, stackpos=1} piece2pos = {x=285, y=891, z=7, stackpos=1} piece3pos = {x=285, y=889, z=7, stackpos=1} novapos1 = {x=348, y=293, z=7} getpiece1 = getThingfromPos(piece1pos) getpiece2 = getThingfromPos(piece2pos) getpiece3 = getThingfromPos(piece3pos) if item.uid == 8769 and item.itemid == 473 and getpiece1.itemid == 2193 and getpiece2.itemid == 2193 and getpiece3.itemid == 2193 then doRemoveItem(getpiece1.uid,1) doRemoveItem(getpiece2.uid,1) doRemoveItem(getpiece3.uid,1) doTeleportThing(cid,novapos1) else doPlayerSendTextMessage(cid,22,"Voce nao descobriu a charada.") end return 1 end[/b] ME ENCINA DIREITO.... [email protected] Compartilhar este post Link para o post Compartilhar em outros sites
Devorador de Corpos 0 #17 Postado 9 Março, 2008 o bem bolado gostei =) Compartilhar este post Link para o post Compartilhar em outros sites
Tio Gordo 8 #18 Postado 17 Abril, 2008 @goiabinha você deve colocar o arquivo dentro da pasta data/movements/scripts O unique ID será o do Piso. E depois você adiciona no movements.xml Compartilhar este post Link para o post Compartilhar em outros sites
celinhoxp 0 #19 Postado 17 Abril, 2008 Caraca mano! Muito bom! Criatividade pura! Vo testar ake e vê se deu certo ;] Obrigado (Y) Compartilhar este post Link para o post Compartilhar em outros sites
Kokins 0 #20 Postado 28 Maio, 2008 o cara plx velho to cum problema aqi tpw assim eh o bug da house meu ot eh map global dai tpw assim um cara ai la invita alguem na casa essa pessoa entra na casa e logo dps sai do char dai o cara q inv to tiro o nome dele dai quando ele entra caio o ot Compartilhar este post Link para o post Compartilhar em outros sites