Jump to content

Search the Community

Showing results for tags 'movements'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • A Cidade OTBR
    • OTServ Brasil
    • Atendimento
    • Taverna
  • OpenTibia
    • Notícias e Discussões
    • Suporte - Dúvidas, Bugs, Erros
    • Downloads
    • Tutoriais
    • Show-Off
    • Divulgação de Servidores
    • Projetos e Formações de Equipes
  • Outros
    • Design

Found 4 results

  1. Scripting Sala de Boss

    Antes de fazer a sua pergunta, tenha certeza de ter lido as regras da seção e o guia abaixo: [Hidden Content] [Hidden Content] Descreva em algumas palavras a base utilizada. (Nome do servidor / Nome do cliente / Nome do website / etc.). Ex: The Forgotten Server 1.3, Versão: 10.98. Base: OTServBR-Global, Versão: 12.00. Qual é a sua pergunta? Pessoal tenho esse código que achei por ai na net ( mas como é antigo resolvi criar um novo post para ver se soluciona ): Ele vai na pasta Movements, e serve para criar uma Boss Room onde só entra 1 pessoa por vez. Enfim, ela faz quase tudo que está escrita pra fazer ( spawna o boss, seta o tempo para kickar o jogador ), porém não está limpando a sala e nem deixando o mesmo jogador repetir o boss. Coloquei ai no script para o boss poder ser feito de 1 em 1 minuto, porém ele não deixa o personagem fazer mais de 1 vez. Criei um item para dar ao personagem o Storage 9000, esse item qdo usado some e o personagem ganha o storage, então ele consegue entrar no TP. Acontece que depois que ele sai ele não consegue entrar mais, como se o storage tivesse sido removido, mas no banco de dados do PHPMYADMIN fica 9000 lá em players_storage. Ps: Se usar novamente o item de storage ele acaba conseguindo ir de novo no boss porém, somente +1 vez (???) Agradeço desde já ^^. Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo: Você tem alguma imagem que possa auxiliar no problema? Se sim, anexe-a dentro do spoiler abaixo:
  2. Flexas saindo da Parede.

    Nome: Flexas. Autor: Neon. Versão Testada: Cliente 8.54 - Servidor TFS 0.3.6 Bom vim aqui no Otnet postar um script que tenho em meu Servidor e acho legal para mapas que têem um grande numero de RPG. O que vou mostrar hoje se resume na imagem abaixo. Primeiro passo: -Vá na pasta Movements de seu servidor e crie um arquivo lua com o seguinte código, e salve com o seguinte nome: arrow.lua function onStepIn(cid, item, topos) frompos = {x=52, y=177, z=9} topos = getPlayerPosition(cid) rand = math.random(10,18) rand2 = math.random(1,7) if (isPlayer(cid)) == 1 and rand2 > 2 then doSendDistanceShoot(frompos, topos, CONST_ANI_ARROW) doTargetCombatHealth(0, cid, COMBAT_PHYSICALDAMAGE, -70, -10, CONST_ME_HITAREA) doSendMagicEffect(topos,0) doSendAnimatedText(topos,rand,180) doCreateItem(2019,2,topos) elseif (isPlayer(cid)) == 1 and rand2 == 1 then doSendDistanceShoot(frompos, topos, CONST_ANI_ARROW) doTargetCombatHealth(0, cid, COMBAT_PHYSICALDAMAGE, -70, -10, CONST_ME_HITAREA) doSendMagicEffect(topos,2) else doSendDistanceShoot(frompos, topos, CONST_ANI_ARROW) doTargetCombatHealth(0, cid, COMBAT_PHYSICALDAMAGE, -70, -10, CONST_ME_HITAREA) doSendMagicEffect(topos,3) end return 1 end Segundo passo: - Agora va em Movements.xml e adicione a seguinte tag. <movevent type="StepIn" uniqueid="24241" event="script" value="arrow.lua" /> Terceiro passo: -Adicionar o UniqueId no piso onde voce quer que quando o player passe leve uma flexada. ..:: Configurando ::.. Na seguinte linha, voce coloca o local de onde saira a flexa. X - Y - Z. frompos = {x=[b][i][color=Blue]52[/color][/i][/b], y=[b][i][color=Green]177[/color][/i][/b], z=[b][i][color=Red]9[/color][/i][/b]} Ja nessa linha, voce configura o tanto de Damage que voce quer que o player leve ao pisar no tile. Voce pode variar, como mostra o script. Ali esta para variar os danos entre '70' e '10'. Configure do seu jeito. doTargetCombatHealth(0, cid, COMBAT_PHYSICALDAMAGE, -[b][i][color=Red]70[/color][/i][/b], -[b][i][color=Red]10[/color][/i][/b], CONST_ME_HITAREA) E no Movements.xml voce Coloca o Id que ira no UniqueId em seu MapEditor. <movevent type="StepIn" uniqueid="[b][i][color=Red]24241[/color][/i][/b]" event="script" value="arrow.lua" />
  3. Aula de Movements

    Hello~ eu fiz a Aula de talkactions, agora vo fazer uma de movements =D onStepIn => é quando a pessoa passar por cima do tile(chão), e acontece a açao especificada onStepOut => é usado geralmente em scripts de Dp(Depot), quando a pessoa sai de cima do tile(chão), a ação q foi indicada no para,onStepIn,volta ao normal//a pos é pra onde vc saiu(despisou) e frompos é de onde vc veio antes de sair.(Nord q pediu tbm) cid => é a pessoa q passou por cima (Creature) item => é o item ou chao que o player passou por cima pos => No onStepIn a pos é onde vc pisou e frompos é de onde vc veio antes de pisar. No onStepOut a pos é pra onde vc saiu (despisou) e frompos é de onde vc veio antes de sair. Explicaçao: Geralmente todos os scripts de movements começam assim, ou do modo abaixo \/ onEquip => usado para itens, ao equipar o item acontecera a açao determinada. Exemplo: boh cid => a pessoa q usou (Creature) item => o item q está sendo usado slot => so funciona ao colocar no lugar dos equipes.Exemplo: boh, so serve ao colocar no slot de boots Exemplo.1: Explicação: quando o player passa no chão,com a actionid 9992, ele será teletransportado para a posiçao especificada(pos), receberá uma mensagem(msg). no movements.xml adicionará isso: Exemplo.2: Explicação: Quando o player passa por cima da bola ela vai andar 1 sqm a sua frente.E vai manda um animated text em cima escrito “GOOOOOOLLLL” Isso ficaria no movements.xml Exemplo.3: Esse é o script do Dp(Depot) Explicação: quando o player pisar no tile(chão) com id 101,vai checar uns comandos de action q n vou explicar(onStepIn),e vai aparecer uma mensagem dizendo quantos itens vc tem (“Your depot contains 1 item.”) e quando vc sair o tile voltará ao normal e seu depot vai “fexar”(onStepOut). O tutorial fica por aki,Espero ter ajudado vcs Flw’s ai Credits: 98% by me 2% pro evolutions pelo script de footbal.
  4. [N:Fácil] Tutorial sobre Movements

    Se já existe um tutorial sobre isso, então peço que aceitem minhas desculpas >.< .: Tutorial sobre Movements :. by: [ B a l i l l o ] 1º - Vamos intender sobre as tags em movements.xml. Ex.: <?xml version="1.0"?> <movements> <movevent event="[color=red]AAA[/color]" itemid="[color=darkorange]BBB[/color]" script="[color=sienna]CCC[/color].lua" /> </movements> AAA - Ai vai a ação que vai ser usada no script que foi posto em CCC. Vou postar aqui varias tags que são utilizadas: StepIn Função: é usado quando o player se move para alguma coisa. Ex.: <movevent event="StepIn" itemid="BBB" script="CCC.lua" /> StepOut Função: é usado quando o player se move para fora de algum item/tile. Ex.: <movevent event="StepOut" itemid="BBB" script="CCC.lua" /> Equip Função: é usado quando o player colocar algum equip no corpo. CUIDADO: é no corpo e não em sua backpack. Ex.: <movevent event="Equip" itemid="BBB" slot="SSS" script="CCC.lua" /> OBS: SSS é o slot que o item vai estar, aqui vai a lista: head ~ cabeça necklace ~ colar backpack ~ slot da backpack armor ~ armadura right-hand ~> mão direita left-hand ~ mão esquerda legs ~> calça feet ~ pé ring ~ anéis DeEquip Função: é usado quando o player RETIRAR algum item do CORPO. Ex.: <movevent event="DeEquip" itemid="BBB" slot="SSS" script="CCC.lua" /> OBS: SSS vale para a mesma lista usada no item Equip. AddItem Função: é usado quando o player adicionar um item em algum tile. Ex.: <movevent event="AddItem" tileitem="SSS" itemid="BBB" script="CCC.lua" /> OBS: SSS pode ser 0(desativado) ou 1(ativado). Se for 0, o script é executado assim que você move ou cria o item no chão ou se for 1, o script só é adicionado quando você taca outro item em cima do item/tile. RemoveItem Função: é usado quando o player remover um item em algum tile. Ex.: <movevent event="RemoveItem" tileitem="SSS" itemid="BBB" script="CCC.lua" /> OBS: SSS pode ser 0(desativado) ou 1(ativado). Se for 0, o script é executado assim que você move ou cria o item no chão ou se for 1, o script só é adicionado quando você taca outro item em cima do item/tile. Pronto, citei os básicos, agora vou explicar o BBB (Não, não é Big Brother Brasil ). BBB - Nesta tag vc poem o ID/UniqueID ou ActionID do item que vai ser utilizado ou do item que tem UniqueID/ActionID tal. Ex.: Se for itemid="...", vc colocar apenas o ID do item que precisa para o script tal funcionar. Se for actionid="..." vc poem apenas o actionID que vc colocar em tal item em seu MapEditor, por exemplo, vc colocou uma magic sword (ID: 2400) com actionID 5000, então a tag actionID="..." ficará actionid="5000". Se for uniqueid="..." vc poem apenas o uniqueID que vc colocar em tal item em seu MapEditor, por exemplo, vc colocou um chest com uniqueID 5020, então a tag uniqueID="..." ficará uniqueid="5000". Um exemplo de uma tag completa: <movevent event="AAA" itemid="446" script="CCC.lua" /> PS: o 446 é um item qualquer que eu citei de exemplo. <movevent event="AAA" actionid="5000" script="CCC.lua" /> PS: o 5000 é uma actionID qualquer que eu citei de exemplo. <movevent event="AAA" uniqueid="5020" script="CCC.lua" /> PS: o 5020 é uma uniqueID qualquer que eu citei de exemplo. Pronto, o nosso BBB está explicado! Agora vou explicar o CCC, o mais fácil! CCC - Nada mais é que o script que vc criou que vai ser executado com o item que vc escolheu em BBB. Ex.: <movevent event="AAA" itemid="BBB" script="script.lua" /> A tag acima vai fazer que com o event selecionado para o item BBB executara o script que está em script.lua. Pronto, expliquei o movements.xml! Agora vou dar algum exemplo básico de scripts do movements. function [color=red]onEquip[/color](cid, item, [color=blue]slot[/color]) if [color=blue]slot[/color] [color=seagreen]~=[/color] [color=blue]8[/color] then doPlayerSendTextMessage(cid, 25, "[color=orange]They work better at feet[/color]") end end function [color=red]onDeEquip[/color](cid, item, slot) local [color=darkorchid]pos = {x = 65535} [/color] doSendMagicEffect([color=darkorchid]pos[/color], 14) end Explicando: Em 1º lugar, esse script está relacionado a BOH (boots of haste) que vem de padrão em varios ots. Em vermelho, o onEquip está dando ao inicio do script a função basica de que o que virá após ele será sobre algum EQUIP que está entrando dentro do CORPO, aonde vai os itens e etc. Em azul ele esta fazendo uma comparação, se o slot for DIFERENTE (~=) de 8, ele enviará a mensagem que está em laranja. (Tradução: Eles/elas trabalham melhor no pé). Em vermelho, novamente, a função onDeEquip está relacionada ao fato de o player RETIRAR o item de seu CORPO, aonde vai os itens e etc. Em roxo, vc pode até se assustar com tal posição, mas a posição 65535 é sua backpack, isso mesmo, aqueles slotzinhos dentro da backpack! Dai vem o pos, q quer dizer que se o player pegar a BOH e colocar na BP ela fazerá o efeito 14 (não me pergunte cual é, não sei de cor ). Galera, cuidado, pois cada função de AAA tem o seu (), vou citar de todas que eu falei: function [u]onStepIn[/u][color=black]([color=red]cid[/color], [color=green]item[/color], [color=blue]pos[/color])[/color] [color=red]cid[/color] - o UID do player que andou em cima de [color=green]item[/color]; [color=green]item[/color] - o item que o player [color=red]cid[/color] pisou. Possui: item.uid, item.itemid, item.type, item.actionid; [color=blue]pos[/color] - a posição do [color=green]item[/color] que o player [color=red]cid[/color] pisou. function [u]onStepOut[/u]([color=red]cid[/color], [color=green]item[/color], [color=blue]pos[/color]) [color=red]cid[/color] - o UID do player que saiu de cima de [color=green]item[/color]; [color=green]item[/color] - o item que o player [color=red]cid[/color] saiu. Possui: item.uid, item.itemid, item.type, item.actionid; [color=blue]pos[/color] - a posição do [color=green]item[/color] que o player [color=red]cid[/color] saiu. function [u]onEquip[/u]([color=red]cid[/color], [color=green]item[/color], [color=blue]slot[/color]) [color=red]cid[/color] - o UID do player que "vestiu" o [color=green]item[/color]; [color=green]item[/color] - o item que o player [color=red]cid[/color] "vestiu". Possui: item.uid, item.itemid, item.type, item.actionid; [color=blue]slot[/color] - o lugar do corpo que o [color=green]item[/color] foi colocado. Pode ser: 1 ~ cabeça; 2 ~ colar; 3 ~ slot da backpack; 4 ~ armadura; 5 ~ mão direita; 6 ~ mão esquerda; 7 ~ calça; 8 ~ pé; 9 ~ anel. function [u]onDeEquip[/u]([color=red]cid[/color], [color=green]item[/color], [color=blue]slot[/color]) [color=red]cid[/color] - o UID do player que tirou o [color=green]item[/color] do corpo; [color=green]item[/color] - o item que o player [color=red]cid[/color] tirou do corpo. Possui: item.uid, item.itemid, item.type, item.actionid [color=blue]slot[/color] - o lugar do corpo que o [color=green]item[/color] foi retirado. Pode ser: 1 ~ cabeça; 2 ~ colar; 3 ~ slot da backpack; 4 ~ armadura; 5 ~ mão direita; 6 ~ mão esquerda; 7 ~ calça; 8 ~ pé; 9 ~ anel. function [u]onAddItem[/u]([color=red]moveitem[/color], [color=green]tileitem[/color], [color=blue]pos[/color]) [color=red]moveitem[/color] - O item que está sendo movido. Tem os seguintes atributos: moveitem.uid, moveitem.itemid, moveitem.type, moveitem.actionid. OBSERVAÇÃO: se você marcou tileitem="1" o item que está no xml não vai ser [color=red]moveitem[/color] e sim [color=green]tileitem[/color]. [color=red]Moveitem[/color] será o item que você arrastou em cima do item que está no xml! [color=green]tileitem[/color] - você irá usar isso apenas se marcou tileitem="1" no xml. tileitem é o item que você colocou no xml, o item que os players irão mover outros items em cima (se precisar dêem outra olhada no xml do event AddItem na parte do tileitem para intenderem melhor. Se precisar olhem os exemplos mais em baixo). OBSERVAÇÃO: Por mais que esteja escrito tileitem, o tileitem não precisa ser necessáriamente um tile =) pode ser qualquer item que você possa mover coisas em cima dele; [color=blue]pos[/color] - a posição que o o [color=red]moveitem[/color] foi movido/criado. (posição depois de mover). function [u]onRemoveItem[/u]([color=red]moveitem[/color], [color=green]tileitem[/color], [color=blue]pos[/color]) [color=red]moveitem[/color] - O item que está sendo movido. Tem os seguintes atributos: moveitem.uid, moveitem.itemid, moveitem.type, moveitem.actionid. OBSERVAÇÃO: se você marcou tileitem="1" o item que está no xml não vai ser [color=red]moveitem[/color] e sim [color=green]tileitem[/color]. [color=red]Moveitem[/color] será o item que você arrastou de cima do item que está no xml! [color=green]tileitem[/color] - Você irá usar isso apenas se marcou tileitem="1" no xml. tileitem é o item que você colocou no xml, o item que os players irão mover outros items em cima (se precisar dêem outra olhada no xml do event AddItem na parte do tileitem para intenderem melhor. Se precisar olhem os exemplos mais em baixo). OBSERVAÇÃO: Por mais que esteja escrito tileitem, o tileitem não precisa ser necessáriamente um tile =) pode ser qualquer item que você possa mover coisas em cima dele. [color=blue]pos[/color] - a posição que o o [color=red]moveitem[/color] foi removido (posição antes de mover). OBS: Essa parte da explicação das funções () eu retirei de outro forum e dei uma editada e arrumada, intao 30% de creditos (APENAS NA PARTE DE FUNÇÕES () ) para mim e 70% para The Sharpest Horn. Bom galera, é isso se vcs tiverem alguma duvida podem postar que eu tentarei ajudar ao maximo! Atenciosamente, [ B a l i l l o ].
×