Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''moveevent''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • xTibia - Notícias e Suporte
    • Regras
    • Noticias
    • Soluções
    • Projetos Patrocinados
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Downloads
    • Recursos
    • Suporte
    • Pedidos
    • Show-Off
    • Tutoriais
  • OFF-Topic
    • Barzinho do Éks
    • Design
    • Informática

Encontrar resultados em...

Encontrar resultados que contenham...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Sou

  1. Preciso de um script de quantidade de item por tile, pois no meu ot estão nukando com Anti-Push , então queria botar um limite certo de items no chão de 100 items por tile ! Valendo REP+ Alguem ?
  2. Esse script é um tile que quando pisa ele faz vários efeitos e varias mensagens animadas, os efeitos e as mensagens, como também suas cores (da mensagem), são escolhidas de acordo com seu gosto. Imagem: Vídeo: Em movements.xml adicione: Em data/movements/scripts crie um arquivo.lua nomeie para supertile e adicione: Editando: -Laranja: Efeitos que vão aparecer onde o player pisar (no tile com o action id) -Verde: Efeitos que aparecerão nas posições declaradas -Vermelho: Mensagem que irá aparecer nas posições declaradas -Marrom: Cor das mensagens (/y) Para ver as cores digite com o GOD /y Pode varias de 1 até 256. Ex: /y 1 /y 2 E por ai vai. -Roxo: Creio que seja a parte mais complicada Aqui vai um tutorial: Todas as funções expressas na cor roxa possuem uma base assim: pos5 = {x=ppos.x, y=ppos.y, z=ppos.z} Essa base deve permanecer inalterada, porem primeiro vamos compreende-la: Considere que tile preto localizado no centro da imagem seja o tile com o action id do script. Para que um efeito e uma fala aconteça nesse tile você deve declarar a posição assim: Efeito: doSendMagicEffect(getThingPos(cid), 30) Mensagem: doSendAnimatedText(ppos,"Lordfire", math.random(150,150)) Para todo efeito e mensagem que for declarado para esse tile se usa a parte em roxo, que é a posição que o player pisou, logo depois editando o efeito (em azul), a mensagem (em vermelho) e a cor (em verde). Efeito e mensagem fora da posição do tile, segue aquela base apresentada: pos5 = {x=ppos.x, y=ppos.y, z=ppos.z} Entendendo ela, observe a imagem: Como pôde observar o eixo das ordenadas (y), faz uma contrariedade com o eixo cartesiano matemático, é assim mesmo, o Tibia é especial :-). Não sabe sobre o sistema cartesiano (caso saiba salte esse passo, se não entender volte a ele)? Editando: pos5 = {x=ppos.x, y=ppos.y, z=ppos.z}, caso queira adicionar um efeito no local -3 a esquerda, no eixo das abcissas (x) declare o seguinte: pos5 = {x=ppos.x-3, y=ppos.y, z=ppos.z} -Vermelho: Veja que foi adicionado o valor -3 (a posição de exemplo) -Azul: Observe que foi declarado em x, não em y) -Verde: Note que y não foi alterado Outro exemplo: pos5 = {x=ppos.x, y=ppos.y+5, z=ppos.z} -Vermelho: Veja que foi adicionado o valor -3 (a posição de exemplo) -Azul: Observe que foi declarado em x, não em y) -Verde: Note que y não foi alterado Qual seria a posição do efeito nesse caso? (x+0 e y+5) Adicionando posições em que x e y não se equivalem a zero: Segue a mesma logica que o anterior, observe a imagem: O quadrado expresso em verde se localiza em que posição? Obviamente x = +2 e y = -1, agora basta apenas declarar: pos5 = {x=ppos.x+2, y=ppos.y-1, z=ppos.z} Entendeu? Caso tenha alguma duvida é só perguntar. E o Z? O Z não altere, ele é o "andar". Como adicionar novas posições, efeitos e mensagens? Script original: Copie as partes em verde e adicione logo embaixo, exemplo: -Vermelho: Parte duplicada Agora edite as posições para uma que não exista ainda: -Laranja: Posição editada Obs: Os números variam até infinito, porem por uma questão de organização siga o exemplo das posições, pos1, pos2, pos3, pos4...Na sequencia. Removendo posições: Segue o mesmo pensamento, porem de ordem contraria a adição, qualquer duvida poste. Duvidas que poder vir a surgir: Oque é esse math.random(30,30))? Esse math.random é para as cores variarem, como o nome diz Random, ou seja aleatório, varia as cores, se quiser por exemplo que venha aleatoriamente todas as cores entre os números 14 e 200 ponha math.random(14,200)) Como faço para colocar que só venha uma cor? math.random(30,30)), repita os números, no caso só vai vir palavras de cores /y 30. Créditos: Newtonnotwen, pelo script, tutorial e ideia. Por favor comente, e lembrando qualquer duvida poste!
  3. Wooky

    Combo

    Olá, queria saber o combo do Dragonite, ele tem esses moves: Headbutt - m1 Aqua Tail - m2 Thunder Ware - m3 Thunder Punch - m4 Fire Punch - m5 Dragon Claw - m6 Dragon Breath - m7 Twister - m8 Wing Attack - m9 Hyper Beam - m10 Obrigado, se souberem agradeço. ^^ 0 Se não for essa a categoria por favor me digam qual é, no antigo me falando que era em MOVEREM mais não achei
  4. GALERA, O O SEGUINTE O SCRIPT JA TA PREMIUM ELE MUNTA NO FLY E TALS E NAO DA PRA DAR H1 NEM H2 MAIS EU QUERO QUE ELE NAO MUNTE NO FLY. QUE CANCELE ANTES DE MONTAR. SCRIPT: local del = {'460', '1022', '1023', '1024'} function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) position.stackpos = 0 if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV if not isPremium(cid) then doTeleportThing(cid, fromPosition, false) doRemoveItem(getTileThingByPos(position).uid, 1) doPlayerSendCancel(cid, "You can't fly.") return true end doAreaCombatHealth(cid, FLYSYSTEMDAMAGE, getThingPos(cid), splash, 0, 0, 255) local pos = getThingPos(cid) if pos.z == 7 then return true end pos.z = pos.z + 1 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, 3) or hasProperty(tile.uid, 7) or tile.itemid == 919 then doTransformItem(item.uid, 11677) end end end return true end function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor) if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV local effect = 2 if toPosition.z == fromPosition.z and getCreatureOutfit(cid).lookType ~= 316 and getCreatureOutfit(cid).lookType ~= 648 then doSendMagicEffect(fromPosition, effect) end local oldtpos = fromPosition oldtpos.stackpos = STACKPOS_GROUND if getTileThingByPos(oldtpos).itemid >= 1 then doRemoveItem(getTileThingByPos(oldtpos).uid, 1) end return true end
  5. Ola pessoal, venho trazer esse script muito facil para vocês, Bem, ele funciona da seguinte maneira, quando o jogador andar para cima do teleport o script ira escolher um lugar e enviar o player - Para que isso serve? Seilá, usa a imaginação, talvez uma sala de teleport, para você nao precisar adicionar 3 teleport de dragon lord, crie só 1 e use esse script. Primeiramente, você deve criar um teleport no map editor, e botar o actionid 7001, e NÂO adicionar a posição. Depois é facil. tprandom.lua movements.xml Um simples script, que evita muitas coisas. Abraços. .
  6. @@@ Sistema de Dança @@@ Video sobre o Script: http://www.youtube.com/watch?v=oMfPYLT829I Bom, então vamos ao script. Vá na pasta data/talkactions/talkactions.xml e adicione isso: Vá até pasta data/lib/function.lua e adicione isso: Vá a pasta data/talkactions/scripts e crie um arquivo .lua e coloque o nome de dancing.lua e coloque isto la dentro : local conf = {} -- // config // --- conf.danceTexts = {"GO GO DANCE!", "DANCE NOW!", "DANCE IS FUNY!"} conf.textSpeed = 1500 -- how fast animated texts is sending? conf.danceSpeed = 100 -- dance speed conf.outfitSpeed = 250 -- outfit changer speed conf.outfitMale = {128, 129, 130, 131, 132, 133, 134, 143, 144, 145, 146, 151, 152, 153, 154, 251, 268, 273, 278, 289, 325} -- all male outfits conf.outfitFemale = {136, 137, 138, 139, 140, 141, 142, 147, 148, 149, 150, 155, 156, 157, 158, 252, 269, 270, 279, 288, 324} -- all female outfits -- // end // -- function dancer(tab) if isPlayer(tab[1]) then local dirs = {[0] = {1,3},[1] = {0,2},[2] = {1,3},[3] = {0,2}} local look = dirs[getCreatureLookDirection(tab[1])] doCreatureSetLookDir(tab[1], look[math.random(1,2)]) tab[2].dancer = addEvent(dancer,conf.danceSpeed, {tab[1], tab[2]}) end end function messager(tab) if isPlayer(tab[1]) then doCreatureSay(tab[1], conf.danceTexts[math.random(1, #conf.danceTexts)], TALKTYPE_ORANGE_2) tab[2].messager = addEvent(messager,conf.textSpeed, tab) end end function outfitChanger(tab) if isPlayer(tab[1]) then if getPlayerSex(tab[1]) == PLAYERSEX_FEMALE then outs = conf.outfitFemale else outs = conf.outfitMale end local outfit = { lookType = outs[math.random(1, #outs)], lookHead = math.random(1,133), lookBody = math.random(1,133), lookLegs = math.random(1,133), lookFeet = math.random(1,133), lookTypeEx = math.random(1,133), lookAddons = math.random(0,3)} doCreatureChangeOutfit(tab[1], outfit) tab[2].outfitChanger = addEvent(outfitChanger,conf.outfitSpeed, tab) end end backOutfit = {} local backOutfit = {} function onSay(cid, words, param, channel) local pid = getPlayerGUID(cid) if type(events[pid]) ~= "table" then events[pid] = {} end if string.lower(param) == "start" and not(events[pid].dancer) then outBack = getCreatureOutfit(cid) backOutfit[pid] = outBack backOutfit[pid].lookType = outBack.lookType backOutfit[pid].lookAddons = outBack.lookAddons dancer({cid, events[pid]}) messager({cid, events[pid]}) outfitChanger({cid, events[pid]}) elseif string.lower(param) == "stop" and events[pid].dancer then stopEvent(events[pid].dancer) stopEvent(events[pid].messager) stopEvent(events[pid].outfitChanger) events[pid] = {} doCreatureChangeOutfit(cid, backOutfit[pid]) end return TRUE end Pronto! !dance start e vai começar a dançar.. você poderar andar com o dance ativo, o seu character irar andar mudando de ropa, se você parar ele vai ficar fazendo a dance noob! Para dar STOP na dance system fale !dance stop PS: Esse script não tem importancia para um servidor de tibia, unica coisa é a diversão é a criatividade que contém no script, muitos brasileiros em tibia global fica fazendo essa dancinha então bom uso! Caso post em outro lugar colocar os créditos em cima do topico Obrigado! (: - Queria que todos soubessem que eu trago conteudo de outros forúns ao xtibia, pelo unico motivo de que muitos players só conhecem ou só frequentam o forúm do X-Tibia, então eu busco conteúdos de outros forúns com intenção de ajudar todos esses x-tibianos (: Att. Guilhermee56 ( Zakk )
  7. Ola pessoal, venho trazer aqui pra vocês outro script simples, - Para que server? Simples, quando a pessoal quer sair, ela pisa encima do tile e perde o pz, aconselho botar no temple, ou em lugares no-pvp Ela serve tambem para aqueles players que querem sair mais nao gostam de esperar o pz, ai apertam o exit... - Como posso 'instalar' um script desse em meu OTserver? Adicionar o actionID 7003 no tile que você quiser pelo map editor e ir em data\movements\scripts e depois movements.xml tilepz.lua movements.xml <movevent type="StepIn" actionid="7003" event="script" value="tilepz.lua"/> Abraços. Creditos ! Kimoszin
  8. Olá xtibianos ! A partir de agora, aproveitando que o xtibia está de volta com tudo, estarei postando alguns scripts interessantes que achei em outros forúms, e também tentarei aprender um pouco de script, quando eu aprender, começarei postando meus próprios scripts OBS: não sei se tenho a permissão, mais só postarei scripts de tópicos, que nao dizem nada enquanto postar em outros forúms, de qualquer forma colocarei os créditos. vamos começar: data/movements/scripts adcione um arquivo .lua renomeie para tilepz e cole dentro: function onStepIn(cid, item, frompos, topos) pos = getCreaturePosition(cid) if getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then doRemoveCondition(cid, CONDITION_INFIGHT) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Seu battle foi removido.") doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você nao esta em battle.") doSendMagicEffect(pos, CONST_ME_POFF) end agora vá em data/movements/movements.xml e adcione a tag: <movevent type="StepIn" actionid="7003" event="script" value="tilepz.lua"/> só isso mais nada. aproveite o script se gostar, de +REP Créditos ao membro Kimoszin membro de outro fórum.
  9. Olá pessoal, venho trazer esse script bem facil tambem, mais que serve para varias coisas, eu gosto de script faceis e grande utilidade *-* - Para que serve? Talvez para você botar na area vip, para nao repetir a mesma mensagem sempre.. use a imaginação - Como faço para adicionar em meu servidor? Simples, abra o map editor e bota no tile/piso que você quiser o actionId 7002, e adiciones os arquivos em data\movements\script e movements.xml data/movements/scripts/infos.lua data/movements/movements.xml <movevent type="StepIn" actionid="7002" event="script" value="infos.lua"/> Obs: Para você adicionar novos textos adicione o index [Numero] = "Texto" se for o ultimo nao precisa botar virgula, se não for, precisa. Um script simples, mais de grande utilidades, Abraços.
  10. Descrição: "Quando você equipar este anel, seu personagem vai se tornar super poderoso e sua aparência vai mudar!" Como isso funciona? Literalmente, um pouco como quando "Sonic" vai para "Super Forma" em "Sonic Adventure 2 (Dreamcast) * Primeiro você precisa ter moedas de ouro suficiente para desencadear a transformação (padrão: 100) * Se você tem o suficiente, as habilidades de seu personagem irá aumentar em 120 cada (incluindo pesca), mana e hitpoints max max vai aumentar em 80% * A cada segundo que você está transformado você irá perder uma moeda de ouro (Sonic perde um anel) "Em outras palavras: Ele transforma suas moedas em poder!" E tem uma seção de configuração para que você possa modificá-lo. Crie um script na pasta movements\scripts chamado "chaosbangle.lua" e coloque isso dentro: -- >> Config -- local outfit = { -- Girls { lookType = 12, lookHead = 19, lookBody = 53, lookLegs = 92, lookFeet = 79, lookAddons = 0 }, -- Boys { lookType = 12, lookHead = 19, lookBody = 79, lookLegs = 3, lookFeet = 81, lookAddons = 0 } } local coinID = ITEM_GOLD_COIN local wastingInterval = 1000 local wastingQuantity = 1 local triggerQuantity = 100 local warnOnLowSupply = TRUE local lowSupplyMargin = 200 local storage = 50780 -- Config << -- local condition1 = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition1, CONDITION_PARAM_TICKS, -1) setConditionParam(condition1, CONDITION_PARAM_SKILL_FIST, 120) setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 120) setConditionParam(condition1, CONDITION_PARAM_SKILL_CLUB, 120) setConditionParam(condition1, CONDITION_PARAM_SKILL_SWORD, 120) setConditionParam(condition1, CONDITION_PARAM_SKILL_AXE, 120) setConditionParam(condition1, CONDITION_PARAM_SKILL_DISTANCE, 120) setConditionParam(condition1, CONDITION_PARAM_SKILL_SHIELD, 120) setConditionParam(condition1, CONDITION_PARAM_SKILL_FISHING, 120) setConditionParam(condition1, CONDITION_PARAM_STAT_MAGICPOINTS, 120) setConditionParam(condition1, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 180) setConditionParam(condition1, CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 180) local condition2 = createConditionObject(CONDITION_HASTE) setConditionParam(condition2, CONDITION_PARAM_TICKS, -1) setConditionFormula(condition2, 2.5, 0, 3.0, 0) local area = createCombatArea({ {0, 0, 0, 1, 0, 0, 0}, {0, 1, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 2, 0, 0, 1}, {0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 1, 0}, {0, 0, 0, 1, 0, 0, 0} }) local animCombat = { createCombatObject(), createCombatObject() } local sexyEffect = { CONST_ME_FIREWORK_RED, CONST_ME_FIREWORK_YELLOW, CONST_ME_MAGIC_RED, CONST_ME_MAGIC_GREEN } setCombatParam(animCombat[2], COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA) setCombatParam(animCombat[2], COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY) setCombatParam(animCombat[1], COMBAT_PARAM_EFFECT, CONST_ME_FIREWORK_RED) setCombatParam(animCombat[1], COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) setCombatArea(animCombat[2], area) setCombatArea(animCombat[1], area) local function StopSuperForm(cid) if (getPlayerStorageValue(cid, storage) == 1) then setPlayerStorageValue(cid, storage, 0) doRemoveCondition(cid, CONDITION_OUTFIT) doRemoveCondition(cid, CONDITION_ATTRIBUTES) doRemoveCondition(cid, CONDITION_HASTE) end return TRUE end local function SuperForm(cid, sexIndex) if (isCreature(cid)) then if (getPlayerStorageValue(cid, storage) == 1) then local goldLeft = getPlayerItemCount(cid, coinID) if (goldLeft >= wastingQuantity) then local position = getCreaturePosition(cid) doPlayerRemoveItem(cid, coinID, wastingQuantity) doSendMagicEffect(position, sexyEffect[sexIndex + 2]) doSendMagicEffect(position, sexyEffect[sexIndex]) if (goldLeft <= lowSupplyMargin and warnOnLowSupply == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Coins left: " ..(goldLeft - wastingQuantity) .. "!") end addEvent(SuperForm, wastingInterval, cid, sexIndex) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Your bangle has been destroyed!") doPlayerRemoveItem(cid, 2127, 1) return StopSuperForm(cid) end end end end function onEquip(cid, item, slot) if (getPlayerItemCount(cid, coinID) > triggerQuantity and getPlayerStorageValue(cid, storage) ~= 1) then local sexIndex = getPlayerSex(cid) + 1 doCombat(cid, animCombat[sexIndex], numberToVariant(cid)) doSetCreatureOutfit(cid, outfit[sexIndex], -1) setPlayerStorageValue(cid, storage, 1) doAddCondition(cid, condition1) doAddCondition(cid, condition2) doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid)) doPlayerAddMana(cid, getPlayerMaxMana(cid) - getPlayerMana(cid)) doPlayerRemoveItem(cid, coinID, triggerQuantity) SuperForm(cid, sexIndex) elseif (getPlayerStorageValue(cid, storage) == 1) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You cannot equip this now!") else doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You do not have enough coins!") end return TRUE end function onDeEquip(cid, item, slot) return StopSuperForm(cid) end Agora coloque isso no movements.xml: <movevent type="Equip" itemid="2127" slot="ring" event="script" value="chaosbangle.lua"/> <movevent type="DeEquip" itemid="2127" slot="ring" event="script" value="chaosbangle.lua"/> Meninas: Animação Fire ( Burning Blaze ) Antes: Depois: Meninos: Animação da Energia ( Super Sonic ) Antes: Depois: Creditos: Admin Jontz (de outro forum) Eu somente traduzi e trouxe pra cá.
  11. em meu Ot de tibia Os chars andam normal nos pisos, mas na grama, Neve, Areia ETc, anda devagar com velocidade reduzida a +- 40, como eu retiro isso? quero deixar rapido em qualquer lugar. Ot 8.52
  12. Olá pessoal, de novo hoje criei esse tópico para ajudar os ADMS e CMS a pararem de dar kit, para os novos players, voce tambem pode editar no script da quest do chest do pokemon, más tambem pdc akio XD Vam lá XD: Crie qualquer arquivo.lua renomeie para kitfloor.lua apague tudo o que tem dentro e adicione isso aki xD: Feche e salve Agora abra o movements.XML e coloque isso dentro: <movevent event="StepIn" actionid="13654" script="kitfloor.lua" /> :warn: Lembresse de colocar aqui os ID's dos itens que quer que de o 1 vermelho STONEID a stone etc, más lembre, se voce quizer cololocar que de mais de 1 stone adiciona isso aqui alí e assim vai..... :warn: e as balls, é so colocar o ID da ball ué XD VLWS ae gente, flws XD, espero ter ajudado, Ajudei REP+ :button_ok:
  13. Olá pessoal do XTibia! Venho aqui, mais uma vez, apresentar um script desenvolvido por min e pelo Vodkart. O script consiste em um sistema de tiles (pisos) com action ids onde eles adicionam uma porcentagem de vida e mana para o jogador, e ainda pode ser usado como armadilha, podendo ser usado em diversas quests. Segue o script e a explicação deste: Como não havia as funções necessárias para o desenvolvimento do script, estas foram criadas no próprio e estão funcionando perfeitamente. Para adicionar o script, vá em data/movements/scripts, crie um arquivo .lua e cole isto dentro dele: No script acima, você irá escolher dois action id, um para o script de cura, e outro para as armadilhas. No caso, eu escolhi o action id 60160 para a cura, e o action id 60161 para as armadilhas. Azul: Action id usado nos tiles, lembrando que o action id do tile de cura, e o action id do tile de armadilha deve ser diferente. Vermelho: Tempo que vai ficar adicionando/removendo vida e mana do jogador. Verde: Quanto que vai ser adicionado de vida e mana ao jogador em porcentagem, ou seja, vai adicionar tanto por cento da vida máxima do jogador. 1/10 = 10% 2/10 = 20% 3/10 = 30% 4/10 = 40% 5/10 = 50% 6/10 = 60% 7/10 = 70% 8/10 = 80% 9/10 = 90% 1 = 100% Laranja: Quanto que vai remover de vida e mana do jogador (desta vez, não em porcentagem!). Marrom: Este é o tempo necessário para o jogador poder usar o tile e recuperar vida; pode ser configurado com a seguinte conta: Numero_de_Segundos Multiplicado_por Tantas_Vezes Exemplo: 3600*24 -- No caso, são 3600 segundo, o equivalente a uma hora, multiplicado por 24, resultando em um dia. Se você esta por dentro das novidades do forum, certamente já adicionou o script do Vodkart, que se encontra neste link: Script do Vodkart Se já adicionou e seguiu todos os passos exatamente como esta dito lá, o script se torna menor, menos complexo e mais configurável, então pode usar, ao invés do script acima, este outro: A unica diferença é que se você já adicionou as funções do Vodkart, poderá contar com elas e usar o script acima, porém, os dois estão funcionando igualmente. Após ter adicionado um dos scripts, vá em data/movements, abra o arquivo movements.xml e cole esta tag em algum lugar dele: Azul: Action ids usados nos tiles. Cinza: Nome do arquivo .lua criado para adicionar um dos scripts acima. Espero que gostem, e comentem, até a próxima!
  14. Ola amigos, trago mais um script inutil. É um trono exclusivo para GOD ScreenShoots: Script: V0.1 Script: V0.2 Oque tem de Diferente? Na V0.1 o GOD nao é teleportado Na V0.2 o GOD é teleportado
  15. A unica função é teleportar o player para seu templo, se for free vai pra cidade principal. va na pasta Movements/scripts crie um arquivo lua com nome de tiletown.lua e adicione isso: Va no seu map editor, e adicione essa ActionId no seu teleport: 2005 agora e em movements.xml adicione isso: flw
  16. Oque Ele Faz: Quando vc botar o spellbook na mao. Ele vai te dar uma quantidade X de Mana ou Health. ~Começando~ Nesse Exemplo eu Utilizei o SpellBook da Inquisition [ [iD: 8918] ] Entao vc devera escolher o Item que vc quer usar para dar health ou mana. Pronto Escolheu ? Agora guarde o ID desse item ~Configurando~ Va Para \data\movements\scripts crie um arquivo lua chamado spellbook. Cole isso Dentro function onEquip(cid, item, slot) setPlayerStorageValue(cid, 19853, -1) doHealPlayer(cid) return TRUE end function doHealPlayer(cid) local delay = 5 -- if getPlayerStorageValue(cid, 19853) == -1 then doCreatureAddHeatlh(cid, 100) addEvent(doHealPlayer, delay*1000, cid) end return TRUE end function onDeEquip(cid, item, slot) setPlayerStorageValue(cid, 19853, 1) return TRUE end Aqui vc Escolhera: doCreatureAddHeatlh(cid, 100) - o Quanto De Health , Se quiser que heale mana: doCreatureAddMana(cid, 100) local delay = 5 o tempo em segundos. Salve e Feche! Adicione isso em movements.xml <movevent type="Equip" itemid="8918" slot="shield" event="script" value="spellbook.lua"/> <movevent type="DeEquip" itemid="8918" slot="shield" event="script" value="spellbook.lua"/> slot="shield": Aqui sera para onde o item sera movido, nesse exemplo Shield value="spellbook.lua"/>: Nome do Arquivo Lua que Vc Crio. itemid="8918": ID do seu Item Abraços Se Gostaram ou Ajudei +REP
  17. Estou aqui hoje para postar um novo anel , que quando usado , o player vira um dragão! entre em data/movements e adicione este tag Depois vá em data/movements/scripts crie um arquivo chamado anel.lua e coloque isto : Agora você está com aparência de dragon e com a velocidade aumentada. Opa , esqueci de dizer , depois disto , vá em itens.xml Procure o Golden ring e substitua por isso :
  18. Fala Galera, venho trazer mais um script pra voces, um script simples, mais que ajuda seu server a nao ficar non-sense. O script funciona dessa maneira, ao pisar no tile da agua é exibido o effect 2, é como se representasse passos em uma agua rasa ou um lago, alem disso o script faz voce andar lentamente te dando uma paralyze fraca. Vamos ao script. em movements crie um arquivo com o nome stepwater.lua local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 1100) setConditionFormula(condition, -0.2, 0, -0.1, 0) function onStepIn(cid, item, position, fromPosition) doSendMagicEffect(getThingPos(cid), 1) if isPlayer(cid) == TRUE then doAddCondition(cid, condition) end end no movements.xml adicione a seguinte TAG: <movevent type="StepIn" itemid="11027;11417" event="script" value="waterstep.lua"/> Video: OBS: se voce estiver usando o WE DO Server os ID's da agua são diferentes, intao procure no seu map editor e edite la na TAG.
  19. ------------------------------- Nome: FireWalker Boots Quest Versão: 8.4x Tipo do script: Moviments,Creaturescripts Servidor Testado: The Forgotten Server 0.3.4 (Crying Damson) Patch Level 2 Autor: Land Creditos: Ta4e(uma parte do script foi tirada de um outro dele) ------------------------------- TUDO QUE ESTIVER EM VERMELHO SAUM IMPORTANTE PARA O SCRIPT E É AONDE TERAUM QUE MUDAR DE ACORDO COM SEU MAP. ROSA SAUM AS ACTIONID. Configurando Moviments CRIE UM ARQUIVO .LUA EM "data\movements\scripts\" Nome = the_pythius_rotten_portal AGORA EM "data\movements\scripts\the_pythius_rotten_portal.lua": movements.xml: NO PORTAL PARA ENTRA NA SALA DA QUEST COLOQUE ESSE ACTIONID,9021: STARTING,ENDING:SAUM AS COORNADAS PARA QUE O SCRIPT CHECK SE TEM ALGUEM NA SALA OU ALGUM BIXO PORTAL_IN_POS:É A COORDENADA DA ONDE O PORTAL DA SAIDA ESTARA,SERVE PARA Q QUANDO ALGUEM TERMINE A QUEST APOS ENTRA NO PORTAL PARA SAI DA QUEST ELE REMOVE O PORTAL PLAYER_POS_ENTRADA:É A COORDENADA DA ONDE O PLAYER SERA TELEPORTADO APOS ENTRA NA SALA PLAYER_POS_SAIDA:É A COORDENADA DA SALA DA RECOMPENSA BOSS_POS:É A ONDE O BOSS SERA SUMONADO Configurando Creaturescripts CRIE UM ARQUIVO .LUA EM "data\creaturescripts\scripts\" Nome = pythius_the_rotten AGORA EM "data\creaturescripts\scripts\pythius_the_rotten.lua": PORTAL_IN_POS:É A COORDENADA DA ONDE O PORTAL SERA CRIADO APOS MATA O BOSS AGORA EM "data\creaturescripts\scripts\login.lua" REGISTRE UM EVENTO: NO FINAL, ANTES DE "RETURN TRUE" ADICIONE: creaturescripts.xml: Configurando Creature: PRA QUEM JA TIVER A CREATURA: DEPOIS DE "/FLAGS" ADICIONE: PRA QUEM NAO TIVER A CREATURA:
  20. eu pedi pra reabrirem ele mas ngm me ouviu... isso é uma falta de consideração só estou querendo ajudar.. mas se n derem ouvidos.. exclui... Olá! Eu novamente trazendo novidades pro xtibia! Queria logo avisar.. q essa action ja deve ter sido inventada, pois eu vi ela em outro servidor, gostei e tudo, n consegui falar com o host que criou nem nada (isso faz um ano mais ou menos), ai eu tive a ideia de montar ela pra ve se conseguia =D, e deu certo... Começando: Primeiramente vá em movements/scripts, copie qualquer arquivo e renomeie para treino.lua abra ele e add.. --Script by Skyblade function onStepIn(cid, item, position, fromPosition) local parametro = {cid=cid} voc = getPlayerVocation(cid) p = getPlayerPosition(cid) doTransformItem(item.uid,item.itemid-1) if voc == 0 then doPlayerSendTextMessage(cid,25,"Somente players com vocação podem treinar!") elseif voc == 1 or voc == 2 or voc == 5 or voc == 6 then --pode ser editada mageevent = addEvent(mage,3000,parametro) doSendMagicEffect(p,3) doPlayerSendTextMessage(cid,25,"Seu Treinamento começa em instantes!") elseif voc == 3 or voc == 7 then --pode ser editada archerevent = addEvent(arch,3000,parametro) doPlayerSendTextMessage(cid,25,"Seu Treinamento começa em instantes!") doSendMagicEffect(p,3) elseif voc == 4 or voc == 8 then --pode ser editada knightevent = addEvent(kina,3000,parametro) doPlayerSendTextMessage(cid,25,"Seu Treinamento começa em instantes!") doSendMagicEffect(p,3) end setPlayerStorageValue(cid,1881,p.x) setPlayerStorageValue(cid,1882,p.y) return TRUE end function mage(parametro) cid = parametro.cid parametro = {cid=cid} p = getPlayerPosition(cid) xiz = getPlayerStorageValue(cid,1881) yps = getPlayerStorageValue(cid,1882) inip = {x=xiz,y=yps,z=7,stackpos=253} ini = getThingfromPos(inip) if ini.uid == cid then doPlayerAddSkillTry(cid,5,5) doPlayerAddSpentMana(cid,100) mageevent = addEvent(mage,1000,parametro) doSendMagicEffect(p,12) ip = getPlayerIp(cid) if ip == 0 then stopEvent(mageevent) end end end function kina(parametro) cid = parametro.cid parametro = {cid=cid} p = getPlayerPosition(cid) ip = getPlayerIp(cid) if ip == 0 then stopEvent(knightevent) end xiz = getPlayerStorageValue(cid,1881) yps = getPlayerStorageValue(cid,1882) inip = {x=xiz,y=yps,z=7,stackpos=253} ini = getThingfromPos(inip) if ini.uid == cid then knightevent = addEvent(kina,1000,parametro) doSendMagicEffect(p,12) club = getPlayerSkill(cid,1) sword = getPlayerSkill(cid,2) axe = getPlayerSkill(cid,3) doPlayerAddSkillTry(cid,3,5) if (club > axe) and (club > sword) then doPlayerAddSkillTry(cid,1,5) elseif (axe > club) and (axe > sword) then doPlayerAddSkillTry(cid,3,5) elseif (sword > axe) and (sword > club) then doPlayerAddSkillTry(cid,2,5) end doPlayerAddSkillTry(cid,5,5) doPlayerAddSpentMana(cid,100) end end function arch(parametro) cid = parametro.cid parametro = {cid=cid} p = getPlayerPosition(cid) ip = getPlayerIp(cid) if ip == 0 then stopEvent(archevent) end xiz = getPlayerStorageValue(cid,1881) yps = getPlayerStorageValue(cid,1882) inip = {x=xiz,y=yps,z=7,stackpos=253} ini = getThingfromPos(inip) if ini.uid == cid then archerevent = addEvent(arch,1000,parametro) doSendMagicEffect(p,12) doPlayerAddSkillTry(cid,4,5) doPlayerAddSkillTry(cid,5,5) doPlayerAddSpentMana(cid,100) end end function onStepOut(cid, item, position, fromPosition) doTransformItem(item.uid,item.itemid+1) local parametro = {cid=cid} voc = getPlayerVocation(cid) p = getPlayerPosition(cid) setPlayerStorageValue(cid,9444, 0) if voc == 1 then stopEvent(mageevent) elseif voc == 2 then stopEvent(archerevent) elseif voc == 3 then stopEvent(knightevent) end end Vá em movements.xml e add essa tag: <movevent type="StepIn" actionid="5555" event="script" value="treino.lua"/> <movevent type="StepOut" actionid="5555" event="script" value="treino.lua"/> Agora em seu ot crie uma area tipo treiners... só que sem eles =D... bote um tile "diferenciado" (sugiro o ID 426) e bote a actionid 5555.. Pronto =) Como Funciona: Seguinte.. quando o player pisa o script verifica a vocaçao e começa o treino (arch,mage,kina) ai ele fica "adicionando" skills (poucas) no player... até ele sair. Créditos: Não posso colocar créditos para a pessoa q inventou mais posso agradecer pela ótima idéia. e Créditos a mim que consegui colocar funfa uma coisa q eu só tinha visto =D desculpe pela má formatação do texto é q to com um poco de preguiça Cyaa!
  21. Nome: Wandering Boots Versão testada: 0.3.6pl1 Explicação: Bota que adiciona o addon da mochila do citizen. Créditos: jestemPolakiem data/movements/movements.xml <movevent itemid="7457" slot="feet" override="yes" type="Equip" event="buffer" value="return doPlayerAddOutfit(cid, 136, 1) and doPlayerAddOutfit(cid, 128, 1) and doPlayerSendOutfitWindow(cid)"/> <movevent itemid="7457" slot="feet" override="yes" type="DeEquip" event="buffer" value="return doPlayerRemOutfit(cid, 136, 1) and doPlayerRemOutfit(cid, 128, 1) and doPlayerSendOutfitWindow(cid)"/> data/items/items.xml <item id="7457" override="yes" article="a" name="wandering boots"> <attribute key="description" value="Wandering shoes you add a new addition to the outfit as well as the speed."/> <attribute key="speed" value="40"/> <attribute key="weight" value="800"/> <attribute key="armor" value="2"/> <attribute key="slotType" value="feet"/> </item> Preview Enjoy =)
  22. Perfect Treiner System Utilidade: Voce pisa no tile e o treiner aparece, diferente dos outros sistemas esse e muito mais pratico. Bom esse e meu primeiro script, eu tava dando uma olhada aqui so que nao achei nenhum script igual os que eu achei erao muito complicados, por isso resolvi postar o meu. Bom chega de conversa, Mao na massa. Fassa uma area igual essa e ponha as mesmas ActionsId: Explicando: ActionsIds. 9000 = Norte 9001 = Sul 9002 = Esquerda 9003 = Direita Bom removi as 2 outras verções que tinha pq não havia necessidade, pois essa vai ser a melhor. Agradeço ao kydrai por me da a luz de como faser o script. Versão Fixa: Explicando: Vermelho = Sao as ActionsIds dos tiles que no caso no meu e 9000,9001,9002 e 9003. Laranja = Nome dos Treiners, que no caso o meu chama Training Monk, se o seu for outro nome mude-o. Bom ta ai, desculpem os erros de portugues e que eu to com um pouco com sono amanha eu dou uma editada, qualquer duvida e so posta. Ah so pra falar os acentos do meu teclado nao estao funcionado por isso a falta de acentuaçao. Script testado em TFS 3.4 mas deve funcionar no 3.5 tambem. Por favor peço a todos que usarem os scripts para nao retirarem os creditos que sao 100% meus. Comenta ae!! Att,Leleo.
  23. Agora estarei lhes mostrando este post , com uma função apenas de trocar de outfit. Para fazer isto , coloque o actionid no "piso" que você queira fazer o efeito. Créditos 50 % a mim , 50 % Dreamer , um grande amigo meu que me ajudou . Abra a pasta data\movements\scripts e crie um arquivo chamado spiao.lua , dentro dele coloque isto : local outfit = {lookType = 58, lookHead = 79, lookBody = 91, lookLegs = 91, lookFeet = 91, lookTypeEx = 0, lookAddons = 3} local outfiti = {lookType = 9, lookHead = 86, lookBody = 86, lookLegs = 86, lookFeet = 86, lookTypeEx = 0, lookAddons = 3} function onStepIn(cid, item, pos) if isPlayer(cid) == TRUE and getPlayerSex(cid) == 0 then doCreatureChangeOutfit(cid, outfit) doSendMagicEffect(getThingPos(cid), 61) doSendAnimatedText(getPlayerPosition(cid),"Cuidado , agora você é uma espiã!", math.random(01,255)) else if isPlayer(cid) == TRUE and getPlayerSex(cid) > 0 then doCreatureChangeOutfit(cid, outfiti) doSendMagicEffect(getThingPos(cid), 61) doSendAnimatedText(getPlayerPosition(cid),"Cuidado , agora você é um espião!", math.random(01,255)) end end return TRUE end depois abra o arquivo movements.xml e adicione isto : <movevent type="StepIn" actionid="30000" event="script" value="spiao.lua"/> (30000 é o ID em que você irá colocar o piso em que a pessoa deverá pisar para trocar de outft automaticamente ) Obrigado , espero que gostem.
  24. Bom decidi criar um estilo de treiner diferente. Ele é basicamente dividido em 3 partes: Knights, Paladins e Mages. Vamos começar! 1° Vá a pasta \data\actions\scripts\ copie e cole 3 arquivos. 2° Renomeie os arquivos para paladindoor.lua, magedoor.lua e knightdoor.lua 3° Vá a pasta \data\actions\ abra o arquivo actions.xml e adicione as seguintes linhas: <!-- Training Room --> <action actionid="2500" script="paladindoor.lua"/> <action actionid="2501" script="magedoor.lua"/> <action actionid="2502" script="knightdoor.lua"/> 4° Abra a pasta \data\actions\scripts\ abra o arquivo paladindoor.lua apague tudo oque tiver dentro e adicione as seguintes linhas: -- Paladin Training Room -- -- Criado por Sukx -- function onUse(cid, item, frompos, item2, topos) reqvoc = getPlayerVocation(cid) pos = getPlayerPosition(cid) if item.actionid == [b][color="#FF8C00"]2500[/color][/b] then if reqvoc == [color="#0000FF"][b]3[/b][/color] or reqvoc == [color="#0000FF"][b]7[/b][/color] then if pos.x == topos.x then if pos.y < topos.y then pos.y = topos.y else pos.y = topos.y end elseif pos.y == topos.y then if pos.x < topos.x then pos.x = topos.x else pos.x = topos.x end else doPlayerSendTextMessage(cid,22,'Fique de frente para a porta.') return 1 end doTransformItem(item.uid,item.itemid+1) doTeleportThing(cid,pos) else doPlayerSendTextMessage(cid,22,'Somente Paladins entram aqui.') end return 1 else return 0 end end Explicando: Laranja: Coloque aqui o número da actionid que você colocou no arquivo \data\actions\actions.xml Azul: Coloque aqui os ids das vocações que poderão passar pela porta, no meu caso 3= Paladin 7= Royal Paladin 5° Após isso salve e feche o arquivo. Abra o magedoor.lua apague tudo oque tiver dentro e adicione as seguintes linhas: -- Mages Training Room -- -- Criado por Sukx -- function onUse(cid, item, frompos, item2, topos) reqvoc = getPlayerVocation(cid) pos = getPlayerPosition(cid) if item.actionid == [color="#FF8C00"][b]2501[/b][/color] then if reqvoc == [color="#0000FF"][b]1[/b][/color] or reqvoc == [color="#0000FF"][b]2[/b][/color] or reqvoc == [color="#0000FF"][b]5[/b][/color] or reqvoc == [color="#0000FF"][b]6[/b][/color] then if pos.x == topos.x then if pos.y < topos.y then pos.y = topos.y else pos.y = topos.y end elseif pos.y == topos.y then if pos.x < topos.x then pos.x = topos.x else pos.x = topos.x end else doPlayerSendTextMessage(cid,22,'Fique de frente para a porta.') return 1 end doTransformItem(item.uid,item.itemid+1) doTeleportThing(cid,pos) else doPlayerSendTextMessage(cid,22,'Somente Mages entram aqui.') end return 1 else return 0 end end Explicando: Laranja: Coloque aqui o número da actionid que você colocou no arquivo \data\actions\actions.xml Azul: Coloque aqui os ids das vocações que poderão passar pela porta, no meu caso 1= Sorcerer, 2= Druid, 5= Master Sorcerer, 6= Elder Druid 6° Após isso salve e feche o arquivo. Abra o knightdoor.lua apague tudo oque tiver dentro e adicione as seguintes linhas: -- Knight Training Room -- -- Criado por Sukx -- function onUse(cid, item, frompos, item2, topos) reqvoc = getPlayerVocation(cid) pos = getPlayerPosition(cid) if item.actionid == [color="#FF8C00"][b]2502[/b][/color] then if reqvoc == [color="#0000FF"][b]4[/b][/color] or reqvoc == [color="#0000FF"][b]8[/b][/color] then if pos.x == topos.x then if pos.y < topos.y then pos.y = topos.y else pos.y = topos.y end elseif pos.y == topos.y then if pos.x < topos.x then pos.x = topos.x else pos.x = topos.x end else doPlayerSendTextMessage(cid,22,'Fique de frente para a porta.') return 1 end doTransformItem(item.uid,item.itemid+1) doTeleportThing(cid,pos) else doPlayerSendTextMessage(cid,22,'Somente Knights entram aqui.') end return 1 else return 0 end end Explicando: Laranja: Coloque aqui o número da actionid que você colocou no arquivo \data\actions\actions.xml Azul: Coloque aqui os ids das vocações que poderão passar pela porta, no meu caso 4= Knight, 8= Elite Knight 7° Após isso salve e feche o arquivo. Vá a pasta \data\movements\ abra o arquivo movements.xml e adicione as seguintes linhas: <!-- Sukx Movements --> <movevent type="StepIn" actionid="2503" event="script" value="paladin.lua" /> <movevent type="StepIn" actionid="2504" event="script" value="paladin.lua" /> <movevent type="StepIn" actionid="2505" event="script" value="paladin.lua" /> <movevent type="StepIn" actionid="2506" event="script" value="paladin.lua" /> 8° Após isso salve e feche o arquivo. Abra a pasta \data\movements\scripts\ copie, cole e renomeie um arquivo para paladin.lua 9° Abra o arquivo paladin.lua apague tudo oque está escrito e adicione as seguintes linhas: -- Script by Sukx function onStepIn(cid, item, topos, position, fromPosition, item2) -- config pos1 = {x=topos.x-1, y=topos.y, z=topos.z, stackpos=253} pos2 = {x=topos.x, y=topos.y-1, z=topos.z, stackpos=253} pos3 = {x=topos.x+1, y=topos.y, z=topos.z, stackpos=253} pos4 = {x=topos.x, y=topos.y+1, z=topos.z, stackpos=253} actionid1 = [color="#FF8C00"][b]2503[/b][/color] -- ActionId quando o treiner está a Leste do jogador actionid2 = [color="#FF8C00"][b]2504[/b][/color] -- ActionId quando o treiner está a Sul do jogador actionid3 = [color="#FF8C00"][b]2505[/b][/color] -- ActionId quando o treiner está a Oeste do jogador actionid4 = [color="#FF8C00"][b]2506[/b][/color] -- ActionId quando o treiner está a Norte do jogador msg = "Desculpe, não é possivel" acc = getPlayerAccess(cid) -- 1 if item.actionid == actionid1 then if acc < 4 then doPlayerSendCancel(cid,msg) doTeleportThing(cid,pos1) else end -- 2 elseif item.actionid == actionid2 then if acc < 4 then doPlayerSendCancel(cid,msg) doTeleportThing(cid,pos2) else end -- 3 elseif item.actionid == actionid3 then if acc < 4 then doPlayerSendCancel(cid,msg) doTeleportThing(cid,pos3) else end -- 4 elseif item.actionid == actionid4 then if acc < 4 then doPlayerSendCancel(cid,msg) doTeleportThing(cid,pos4) else end end end Explicando: Laranja: 10° Salve e feche o arquivo. 11° Leia o seguinte tutorial para aprender a montar a training room: » Training Room V1.0 Créditos: Sukx Comentem!
×
×
  • Criar Novo...