Jump to content

Search the Community

Showing results for tags 'action'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • 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

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Sou

  1. Bom dia turma do Xtibia. Venho trazer um script que fiz para um usuário de outro fórum, abaixo seguem maiores informações sobre. Introdução: Bom, este script simula a máquina de Cassino conhecida como Cassino Slots, pra quem não conhece é a máquina que se encontra no spoiler abaixo: Como funciona? O jogador precisa escolher 1 (um) dos 10 (dez) itens disponíveis (da para configurar a quantidade de itens) como seu Item da Sorte, e após feito isso, terá que girar a alavanca e torcer para que a máquina sorteie 3 itens repetidos igual ao que o jogador em questão escolheu. Para tornar um pouco mais fácil de vencer, criei para que a máquina dê pequenos brindes à quem acertar 1 ou 2 itens dos sorteados (configurável). Como jogar? Para jogar é simples, como desenvolvi todo script em apenas um arquivo, para facilitar na criação, na instalação e até mesmo na jogabilidade, o jogo se baseia na posição em que o jogador está para identificar qual ação executar. Selecionar Item da Sorte: com seu personagem virado para baixo (sul), clique na alavanca e automaticamente o item da sorte aparecerá na mesa configurada no script, caso queira outro item, basta ir usando a alavanca até encontrar o item desejado. Como Jogar: Após ter selecionado seu item da sorte, que deve estar à mostra em cima da mesa própria, basta virar seu personagem para cima (norte) e clicar novamente na alavanca. E se virar esquerda ou direita?: Nada acontecerá, apenas uma mensagem ensinando como jogar será enviada para que o jogador se oriente. Dicas de instalação! Sugiro que quando for criar o mapa para o evento, não faça como do vídeo, pois os itens criados nas mesas não estão com atributos para que não possam ser movidos, sendo assim é provável que jogadores de má fé venham a roubar itens... Faça como a imagem abaixo: Instalando: Basta criar um arquivo na pasta “data/actions/scripts” chamado “cassino_slots.lua” e adicionar o código abaixo dentro: Agora em “actions.xml” adicione a tag abaixo: Agora basta configurar de acordo com as informações disponíveis no início do script. Vejam o vídeo demonstrativo do Sistema em funcionamento. Criado por: Adriano Swatt'
  2. O erro acontece sempre que pego um pokemon, e quando estou com 6 pokemons o erro duplica ! peço encarecidamente uma ajuda ? [21/04/2023 17:10:37] [Error - Action Interface] [21/04/2023 17:10:37] In a timer event called from: [21/04/2023 17:10:37] data/actions/scripts/Basic/catch.lua:onUse [21/04/2023 17:10:37] Description: [21/04/2023 17:10:37] (luaGetPlayerSlotItem) Player not found [21/04/2023 17:10:37] [Error - Action Interface] [21/04/2023 17:10:37] In a timer event called from: [21/04/2023 17:10:37] data/actions/scripts/Basic/catch.lua:onUse [21/04/2023 17:10:37] Description: [21/04/2023 17:10:37] (luaDoItemSetAttribute) Item not found segue catch system da lib e catch da pasta actions catch system.lua catch.lua
  3. Bom dia a todos. Eu acredito ter visto esse script aqui no xtibia mas eu não estou encontrando ele novamente, não me recordo se era do Zipter ou do Vodkart. Se alguém souber qual é e encontrar poderia postar o link aqui por gentileza? Enfim, o script funciona da seguinte forma, o jogador precisa posicionar 3 itens um em cada local. Após isso ele pode girar uma alavanca e se os cada item estiver no local correto o jogador seria teleportado para um outro local. Desde já agradeço pela atenção. ❤️
  4. Queria saber se é possivel adaptar para action ( Item Use) [vocation id] = {level, nova voc, looktype, id.item, efeito} Queria saber se tem como adaptar esse Campo id.Item. caso nao der, pode ser sem esse campo.
  5. Antes de baixarem eu gostaria de enfatizar alguns pontos: - Incluem-se neste download: servidor e cliente . - Inclui alguns virus da base usada no servidor ( Naruto White). - Existem Alguns Bugs no servidor e no mapa, mais nada dificil de resolver - Caso encontre alguma vocação sem spell, e que não tive muito tempo para criar. Ajudei?? REP++ Trade System {100%} Party System {100%} Transformações {100%} +100 monstros {100%} Novos Monstros {100%} Novas sprites {100%} Novas quests {100%} Novas talkactions {100%} Premium Acess {100%} Double exp para premium {100%} Bonus drop {100%} Bonus spells {100%} Vocations: Downloads: a barrinha vermelha e dos virus da base que vem do servidor naruto white mais nada que prejudique o computador pois os virus são inofencivos Não é preciso scans, pois o proprio 4shared faz, e caso peça pra esperar 1000 segundos para iniciar o Download, basta desativar a Extensão Ad-block.. Creditos Apenas Eu.
  6. Olá xtibianos, Faz muito, muito tempo que eu não mexo com programação de scripts, porém, nessa semana bateu uma saudade, e tentei fazer algo de diferente pra passar o tempo, e acabei me empolgando, e fiz um sistema de auras, que é como uma bolha de luz que te rodeia (no meu caso é uma bolha de cura, porém você pode colocar o efeito de distância que quiser), e te cura continuamente enviando clones do efeito, ela só envia bolhas de cura se seu hp não estiver cheio. Você pode conferir como funciona, superficialmente, assistindo o vídeo a seguir : Para ativar a aura basta escrever "!aura on", e para desligar "!aura off". Bom, vamos aos códigos. na pasta data\talkactions\scripts, crie um arquivo chamado aura.lua, e cole o seguinte código nele : (é necessário dois storages disponíveis distintos) -- CONFIGURAÇÕES aurastr = 25950 -- storage da aura estr = 25951 -- storage para o exhaust porcentagem = 40 -- chance de curar em cada volta da aura, em porcentagem quantheal = 10 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 10% do hp máximo cada cura) tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar) tipoaura = 30 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocura = 49 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo) -- Função que chama a aura function efeitosAura(i,tm,cid) if(isCreature(cid)) then local atual = getCreaturePosition(cid) local posaura = { {x=(atual.x)-1, y=(atual.y)-1, z=atual.z}, {x=atual.x, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=atual.y, z=atual.z}, {x=(atual.x)+1, y=(atual.y)+1, z=atual.z}, {x=atual.x, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=atual.y, z=atual.z}, } local chances = math.random(100) if(chances<=porcentagem/8 and getCreatureHealth(cid)<getCreatureMaxHealth(cid)) then doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal) if(i<=8 and i>1) then doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, atual, tipoaura) else doSendDistanceShoot({x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, atual, tipoaura) end doSendMagicEffect(atual, efeitocura) end if(i==8) then doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, {x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, tipoaura) elseif(i<8) then doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, {x=posaura[i+1].x, y=posaura[i+1].y, z=posaura[i+1].z}, tipoaura) end if(i<=8 and getPlayerStorageValue(cid, aurastr)==2) then i = i+1 tm = tempo/8 return addEvent(efeitosAura,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then return efeitosAura(1,0,cid) else return TRUE end else return TRUE end end -- Função principal function onSay(cid, words, param, channel) if(param=="on") then if getPlayerStorageValue(cid, estr) > os.time() then doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura novamente.") else if(getPlayerStorageValue(cid, aurastr)==2) then doPlayerSendCancel(cid,"Sua aura já está habilitada.") elseif(getPlayerStorageValue(cid, aurastr)==-1) then doPlayerSendCancel(cid,"Aura ligada!") setPlayerStorageValue(cid, aurastr, 2) efeitosAura(1,tempo/8,cid) end end elseif(param=="off") then if(getPlayerStorageValue(cid, aurastr)==2) then setPlayerStorageValue(cid, estr, os.time()+2) setPlayerStorageValue(cid, aurastr, -1) doPlayerSendCancel(cid,"Aura desligada!") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura on' para ligar sua aura, e '!aura off' para desligá-la.") end return TRUE end Logo após vá na em talkactions.xml, e cole o seguinte trecho : <talkaction words="!aura" event="script" value="aura.lua"/> E também, dentro do arquivo login.lua, localizado na pasta creatureevents\scripts, logo abaixo de "function onLogin(cid)", cole o seguinte trecho : aurastr = 25950 -- storage da aura setPlayerStorageValue(cid, aurastr, -1) As configurações estão comentadas, então agora é só colocar suas preferências, aproveitar e usar. Lembrando que você pode mudar os efeitos da aura, o tempo de cada volta da aura(que é recomendável não mexer, se deixar o efeito padrão do script, que no caso é o efeito de luz), a quantidade de hp que o jogador irá restaurar e a porcentagem de chance que o jogador tem de recuperar hp em cada volta (pode recuperar hp mais de uma vez em uma mesma volta da aura). Fica ao seu dispor se deseja colocar se apenas vips usam a aura no script ou não, eu não incrementei pois estou meio sem tempo, mas não é algo difícil de se fazer. Obrigado, e bom proveito! OBS : Tomem bastante cuidado ao dar reload no talkactions no server enquanto há auras em ação, elas serão desativadas, e todos os players terão que desligá-las, e ligá-las novamente. (!aura off, e em seguida !aura on)
  7. Sistema De Refinação Olá Galera Do Xtibia Primeira Mente Quero Fala Que Esse È o meu Primeiro Topico Entao Porfavor Pode Dexa Suas Criticas Em Baixo Bom O Script Que venho trazer Aqui Hoje Para O Xtibia E Um Sistema De Refinação, Sei Que Ja tem Algums Sistema De Refinação No Xtibia Mais Esse Esta Diferente Bom Na Verdade São 2 Script De Refinação o 1º Quando Falha A Refinação O Item Quebra o 2º Quando Falha Em vez De volta 1 Ou Quebra, O Item Fica Como Esta Ex: Se o Item Ta +5 E falha ele Continua +5 Entao Vamos La! Vai Em: Data/actions/scripts/upgrade.lua Adicione A seguinte Tag: <action itemid="8300" event="script" value="upgrade.lua"/> Agora O 2 Script Em: Data\actions\scripts\upgrade2.lua Bom Seria esse O Script!! Creditos: by Mock the bear (MTB) > Por Produzir O Script Isac313 "Eu" > Por Melhorar O Script Ajudei?? Da REP+ Aew? Atenciosamente: Isac313
  8. Eae pessoal blz?? eu peguei o ditto system postado pelo Wend e feito pelo Gabrielbsales(Featzen), então só mudei algumas tags e modifiquei um pouco e dei umas melhorias, bem pequenas só que vão ajudar, creio eu Então vamos parar de blábláblá em começar o tutorial! Primeiramente vá em Data/actions/scripts/order.lua e Procure por: -------- TRANSFORM ---------- Apague tudo aqui dentro, até o: -------- LIGHT ------------ Ai dentro ditto coloque isto: Pronto Agora esta transformando e copiando as habilidades e tudo! Agora Para o ditto e shiny ditto reverter a transformação . Crie um arquivo chamado dittorevert.lua em data/talkactions e coloque isto dentro: e em talkactions.xml coloque isto: <talkaction words="!revert" event="script" value="dittorevert.lua"/> Pronto sistema 100% só que ele está com nome, poder, força tudo igual! para resolver isto vamos em lib/level system.lua abra e procure por isto: e substitua por isto: Pronto Agora o Shiny ditto ta com 75% de força do poke transformado e o ditto com 50% de força do pokemon transformado Agora para identificar que é um ditto/shiny ditto vamos em creaturescript/scripts/look.lua, abra e procure por: table.insert(str, "\nIt contains "..getArticle(pokename).." "..pokename..".\n") substitua por: if getItemAttribute(thing.uid, "ehditto") == 1 then table.insert(str, "\nIt contains "..getArticle(pokename).." "..pokename.." (Ditto).\n") elseif getItemAttribute(thing.uid, "ehshinyditto") == 1 then table.insert(str, "\nIt contains "..getArticle(pokename).." "..pokename.." (Shiny Ditto).\n") else table.insert(str, "\nIt contains "..getArticle(pokename).." "..pokename..".\n") end Em actions/scripts/goback.lua procure por: e apague! em lib/Some Functions.lua procure por: e substitua por: function doAppear(cid) --Faz um poke q tava invisivel voltar a ser visivel... if not isCreature(cid) then return true end doRemoveCondition(cid, CONDITION_INVISIBLE) doRemoveCondition(cid, CONDITION_OUTFIT) doCreatureSetHideHealth(cid, false) end Ainda em Some functions procure por: if getCreatureName(pokemon) == "Ditto" then if isTransformed(pokemon) then local left = getItemAttribute(pokeball.uid, "transLeft") - (os.clock() - getItemAttribute(pokeball.uid, "transBegin")) doItemSetAttribute(pokeball.uid, "transLeft", left) end end e apague e para finalizar procure por: if getCreatureName(pokemon) == "Shiny Ditto" then if isTransformed(pokemon) then local left = getItemAttribute(pokeball.uid, "transLeft") - (os.clock() - getItemAttribute(pokeball.uid, "transBegin")) doItemSetAttribute(pokeball.uid, "transLeft", left) end end e Apague!!!!!!! Pronto Agora sim Sistema 100% Esta Copiando Habilidades, força diminuida do pokemon normal e identificação do Ditto e Shiny Ditto! Acredito que vai ajudar a muitos! Créditos Gabrielbsales Por criar o Script Wend por fazer um tutorial mais completo Zet0N0Murmurou (Summer Slyer) por adaptar e melhorar o script para o Shiny Ditto! UP
  9. Colocando pokebar (a barrinha que troca de pokemon) no seu pda sem level. Se quiser que eu faça com pda com level comentem ai. PDA SEM LEVEL 1. Vá na pasta data\actions\scripts\goback.lua e embaixo da parte: function onUse(cid, item, frompos, item2, topos)coloque: sendAllPokemonsBarPoke(cid)2. Vá na pasta data\lib\catch system.luaProcure por: setPlayerStorageValue(cid, 854788, 'done') ende embaixo coloque: sendAllPokemonsBarPoke(cid)3. Vá na pasta data\lib\cooldown bar.lua Procure por: endreturn retende embaixo coloque: 4. Vá na pasta data\lib\some functions.lua Troque por esse: 5. Vá na pasta data\talkactions\talkactions.xml Coloque essa tag: <talkaction words="/poke" case-sensitive="no" event="script" value="poke.lua"/>depois crie um data\talkactions\scripts\poke.lua Coloque o game_barpoke dentro da pasta modules. Download: www.mediafire.com/download/8bavucwof24bkxv/game_barpoke.rar Créditos: Soulviling Caotic
  10. Bom já existe um Sistema de tm no forum porem o meu é diferente. Vamos lá!! Bom Funciona assim: Cada Pokemon Pode Ter 3 TMs Adicionadas, OBS: Se O Pokemon tiver 12 magias ele pode ter 15 se voce adicionar 3 TMs nele. Como Usar O Sistema: Bom Basta Seguir o Tutorial e O Comando para Usar eu Recomendo que coloquem em Hotkeys na parte Shift+f1,Shift+f2,Shift+f3 Coloque os Seguintes Comandos tm1,tm2,tm3 OBS: a TM Nao Substitui Magia e Sim Adiciona , Por isso Vai por sequencia se voce usa a primeira tm no seu pokemon, para usar ela voce vai usar o comando tm1. se voce usa a segunda tm no seu pokemon para usar ela voce vai usar o comando tm2 mesma coisa com o tm3 Lembrando que Já possui as 50 TMs funcionando perfeitamente Vamos ao Tutorial: 1°: Crie um Arquivo Em "data/action/script" Chamado tm.lua e cole este script Dentro: Agora em Data/Action/Action.xml voce vai por a seguinte tag: <action itemid="12595-12644" event="script" value="tm.lua"/> Bom Recomendo voce por esta tag no ORDER 2°: Vá em Data/Lib/Crie um Arquivo Chamado "tm lib.lua" e cole o seguinte script dentro dele: 3°: Agora vá em data/talkaction/script/ Abra seu move1.lua e apague TUDO que estiver dentro e cole isto: 4°: Agora em Talkaction/Script/ Apague Tudo que estiver dentro do Seu "cd.lua" e cole isto dentro: 5°: Agora em Data/Talkaction/Talkaction.xml Coloque estas tags: <talkaction words="tm1" case-sensitive="no" event="script" value="move1.lua"/> <talkaction words="tm2" case-sensitive="no" event="script" value="move1.lua"/> <talkaction words="tm3" case-sensitive="no" event="script" value="move1.lua"/> 6°: o item.otb e item.xml (é recomendado baixar) Apois baixar voce vai pegar o item.xml e o item.otb e vai copiar eles e depois vai em data/item/apaga o item.otb e o item.xml e cola o item.otb e o .xml que voces baixaram. neles possui as tms adicionadas ao server (as 50) e no .xml ta com o nome direitinho, das 50 tmb Link para Download: http://www.mediafire...e54ldx6gw14fo3u Bom o Sistema esta pronto Agora vamos para a Parte do Client: Eu Vou Postar o Link do Client do Meu servidor ai Voces Pega a Tibia.dat e Tibia.spr e Utiliza em seu client bom o client ja esta com sistema de taunt, novas sprites novos flys boost stone, e as 50 TMs Link Do Client: http://www.mediafire...6w2ead2c5wrwj9v Bom ai esta o sistema de TM. Caso alguem tenha duvida so perguntar aqui no topico! Creditos: Criador do Script: ZarefShirou Edito:DinoAdmin
  11. Dodge System por item V2 http://prntscr.com/7f2vl9 Para quem não sabe eu ja tinha feito um Dodge System ano passado, na época que eu não sabia nada, embora eu ainda não saiba nada to melhorando , eu tava sem nada para fazer ai decidir refazer, o script não tem nada de novo só foi modificado e melhorado algumas coisa. Para que não sabe dodge é um sistema que faz com que o player tenha uma certa porcentagem de esquiva de um ataque( por ele te esquivado ele não vai toma nenhum ataque e não apenas 50%) Então vamos la: Em creaturescript: Dodge System.lua function onStatsChange(cid, attacker, type, combat, value) local getStorage = getPlayerStorageValue(cid, 123455678) if (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) then local chance = math.random (0,100) if chance <= getStorage then doSendAnimatedText(getCreaturePos(cid), "MISS!", 214) doSendMagicEffect(getCreaturePosition(cid), 30) return false end end return true end Creaturescript.xml <event type="StatsChange" name="DodgeSystem" event="script" value="Dodge System.lua"/> Login.lua antes do ultimo return true registerCreatureEvent(cid, "DodgeSystem") if getPlayerStorageValue(cid, 123455678) == -1 then setPlayerStorageValue(cid, 123455678, 0) end em action: dodgestone.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local max = 50 -- limite de dodge local storagedodge = 123455678 -- storage do dodge if getPlayerStorageValue(cid, storagedodge) >= max then return doPlayerSendTextMessage(cid,22,"Você ja chego no limite de Dodge.") else doPlayerSetStorageValue(cid, storagedodge, (getPlayerStorageValue(cid, storagedodge)) + 1) doPlayerSendTextMessage(cid,22, "DodgeSKILL:["..getPlayerStorageValue(cid, storagedodge).."/"..max.."].") doRemoveItem(item.uid, 1) end return true end action.xml tag <action itemid="Id do item" event="script" value="dodgestone.lua"/> Se tiver algum bug ou dica de como melhorar pode comentar ai nos cometários Ps. com base nesse da para fazer Critical System, Reflect System e da para usar como magia de esquiva, se precisar é so fala
  12. Fala gente, tudo bem...bom eu to sumido aqui do portal, porém hoje estou de volta com uma coisa para disponibilizar. Muitos ja devem saber, alguns não...a pxg tem um sistema que voce pode pescar de andares mais altos, eu procurei muito pra descobrir e bom encontrei e hjee vou ensinar a voces: abra o arquivo: actions.cpp/ procure por isso: ReturnValue Actions::canUseFar(const Creature* creature, const Position& toPos, bool checkLineOfSight) Ela vai estar assim: ReturnValue Actions::canUseFar(const Creature* creature, const Position& toPos, bool checkLineOfSight) { if(toPos.x == 0xFFFF) return RET_NOERROR; const Position& creaturePos = creature->getPosition(); if(creaturePos.z > toPos.z) return RET_FIRSTGOUPSTAIRS; if(creaturePos.z < toPos.z) return RET_FIRSTGODOWNSTAIRS; if(!Position::areInRange<7,5,0>(toPos, creaturePos)) return RET_TOOFARAWAY; if(checkLineOfSight && !g_game.canThrowObjectTo(creaturePos, toPos)) return RET_CANNOTTHROW; return RET_NOERROR; } Troque por essa abaixo: Apague a função toda e coloque isso: ReturnValue Actions::canUseFar(const Creature* creature, const Position& toPos, bool checkLineOfSight) { if(toPos.x == 0xFFFF) return RET_NOERROR; const Position& creaturePos = creature->getPosition(); if(creaturePos.z > toPos.z) return RET_FIRSTGOUPSTAIRS; // if(creaturePos.z < toPos.z) // return RET_FIRSTGODOWNSTAIRS; if(!Position::areInRange<7,5,3>(toPos, creaturePos)) return RET_TOOFARAWAY; // if(checkLineOfSight && !g_game.canThrowObjectTo(creaturePos, toPos)) // return RET_CANNOTTHROW; return RET_NOERROR; } Feito tudo certo, voce conseguira pescar de cima de montanhas. Obrigado e boa noite a todos.
  13. Boa noite a todos, eu procurei por essa script pois achei ter visto em algum lugar mas não encontrei, ela funciona assim: O jogador coloca 1 item em um altar, proximo dali tem uma alavanca, ao gira-la o altar vai consumir o item (se possível o altar seria bloqueado por um tempo, tipo uma coal basin que vai pegar fogo depois de ativado), assim que o item for sacrificado será criado um item em determinada parte do mapa que vai sumir depois de um tempo (ele some assim que a coal basin voltar ao normal). Espero que nao seja algo mt complicado >.< Obrigada a todos desde já ❤️
  14. Ola amigos.eu gostaria de uma ajudinha pois ja tetei de todas as formas porem nao obtive sucesso.abaixo consta meu highscore.php onde o mesmo esta mostrando do lado esquerdo << neste canto akelas bandeirinhas dos paises que os players escolhem quando vao criar as contas. pois bem eu gostaria que aoinves de mostrar as baneiras mostrasse os adddons que os players estiverem usando. segue abaixomeu highscore.php
  15. jenison06

    Broke System

    Alguem consegue adaptar sistema de contagem, o meu nao esta contando apenas no abra e msmo assim so conta 1 ball. Action ( Catch.lua) Lib (catch system.lua) Checatch (Talkaction) function onSay(cid, words, param, channel) if param == "" then return true end getBrokesIn(cid, param) return true end
  16. Ele pode ser útil para muitos OTS com Gesior Account Maker 2012, pois não há opção "remover red skull" na loja de SMS. Basta ir em data/actions/scripts, criar um arquivo .lua com o nome de skullremove e adicionar o seguinte código - function onUse(cid, item, frompos, item2, topos) local skull = getCreatureSkullType(cid) local bad_skulls = {SKULL_RED,SKULL_BLACK} if(isInArray(bad_skulls, skull)) then doPlayerSetSkullEnd(cid, 0, skull) doRemoveItem(item.uid, 1) db.executeQuery('UPDATE `killers`, `player_killers` SET `killers`.`unjustified` = 0 WHERE `killers`.`unjustified` = 1 AND `player_killers`.`player_id` = ' .. getPlayerGUID(cid) .. ' AND `killers`.`id` = `player_killers`.`kill_id`') doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your skull has been removed!") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You do not have red/black skull!") end return true end Adicione esta tag em action.xml - <action itemid="IDDOITEM" event="script" value="skullremove.lua"/> Créditos - Gesior.pl
  17. Hoje vou postar mais um sistema para o PDE Sistema da vez: Pokébolas com maior chance de catch dependendo do tipo do pokemon! Também vou ensinar a adicionar pokébolas Não pensei em um nome melhor, então vou chamar de: Ball System Adicionando novas Pokebolas: Pokébolas com maior chance de catch dependendo do tipo do pokemon! Créditos: @Ceetros (talvez ? ) @zipter98 (tive a ideia no tópico do @@Bluester, para acessar clique aqui)
  18. Bom, como um individuo(Vudi) não sabe cumprir o que fala, vou postar o sistema aqui.(não cabe ao post explicar aqui) Bom, aqui está o smeargle system, igual o da PxG. Vamos lá. 1 - Vá na pasta Lib, substitua seu cooldown bar.lua por isso: 2 - Ainda no Lib, no fim(depois do ultimo end) do Some Functions.lua, adicione isso: 3 - Agora no order.lua, do Actions, em baixo de: Adicione: 4 - Se seu servidor ja tiver os spells, sketch 1, sketch 2... Substitua por esses(data/lib/pokemon moves.lua): Se não, use os mesmos acima, não esqueça de adicionar no spells.xml. 5 - Agora, vá em talkactions/scripst, abra o move1.lua e substitua: Por Depois: Por: Pronto, se tiver feito tudo certo, funcionará. Como ficará: Como usar: Créditos: Eu(Todo o script)
  19. Fala galera, hoje trago pra vocês meu Fishing System... Eu ainda não sou nem um programador experiente mas consegui fazer esse sistema, eu fiz ele faz um bom tempo... Não programo mais em Lua, apenas C++... Mas espero que gostem... Caso achem algo que seria desnecessário ou outra maneira mais fácil de fazer tal coisa só dizer, estou aberto a críticas. Bem, vamos lá!. - Crie um arquivo chamado fish.lua em Actions e coloque: - Agora crie outro arquivo em Actions chamado isca.lua e coloque: Agora em Creaturescripts crie um arquivo chamado fishing.lua e coloque: e registre esse evento no creaturescripts.xml <event type="think" name="Fishing" script="fishing.lua"/> - Agora na sua lib adicione isso: Bem, eu acho que é isso, espero não estar esquecendo nada... Enjoy.
  20. Action abaixo, escolha o item que quiser para o script. Tempo (é em segundos): 7200 = 2 Horas Como converter: https://www.google.com.br/#q=2+horas+em+segundos function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) if player:getStorageValue(1234) >= os.time() then player:say('You already have double exp!', TALKTYPE_MONSTER_SAY) return true end player:setStorageValue(1234, os.time() + 7200) Item(item.uid):remove(1) player:say('Your 2 hours of double XP has started!', TALKTYPE_MONSTER_SAY) player:registerEvent("dblxp") return trueend Em creaturescripts.xml <event type="think" name="dblxp" script="dblxp.lua" /> Em creaturescripts/scripts crie dblxp.lua function onThink(creature, interval) local player = Player(creature) if not player then return true end if player:getStorageValue(1234) < os.time() then player:sendTextMessage(MESSAGE_STATUS_WARNING, "Your double XP has ended!") player:unregisterEvent("dblxp") end return trueend Créditos: RazorBlade
  21. Esse script coloca o player em uma fila. Quando entrar outros 5 jogadores na fila, é criada uma party e todos são teleportados para a dungeon. Lembrando que a diferença de nível entre os jogadores é de no máximo 50 levels. Adicione uma nova tabela em seu banco de dados Talkactions GlobalEvents CreatureEvents Agora nas sources (c++)luascript.cppProcure por: E insira isto depois: E procure por: E insira isto depois: Agora em creatureevent.h Procure por: E insira isto depois Procure por: E insira isto depois: Procure por: E insira isto depois: creatureevent.cppProcure por: Insira isto logo em seguida: Procure por: E insira isto logo após: Busque por: Insira isto logo em seguida: Busque essa função: E insira isso, após a função acima: game.cppAltere esse bloco Para esse: Todos os créditos vão para Tekman, pela autoria do código.
  22. Bom, vim trazer a vocês o sistema de potion igual ao da pxg... Gostaria de falar que peguei esse sistema do servidor PDA e so mudei umas coisinhas pra ele healar o pokemon do mesmo jeito que o da pxg Actions/scripts/potion.lua: Actions/actions.xml: OBS: Consertem os id's dos items e as cores do animated text. Creditos: Slicer, Brun123, eu e qm ajudo fazer o sistema original do PDA
  23. Então eu tinha esse script de carpet em transform_to a bastante tempo desde 2016, mais simples Então então estou postando hoje Vamos ao Assunto. vai em data "datapack"/actions/scripts Crie um arquivo chamado carpet.lua coloque isso Volte na pasta actions abra o actions.xml Coloque Carpet fechado Carpet aberto DONO: PokemonZbr ( Online ) DONO: OtPokemonTvZ ( Offline ) Links do meu jogo https://pokemonzbr.com/ (Online) http://otpokemontvz.com/ (Offline) Eu sou: Scripter: 5% Mapper: 30% Programador: 4% Website : 50%
  24. Hiquez

    Transformar item

    Olá rapazeada do xtibia, estou tendo problemas em adaptar um script meu aqui para uma quest "sacrifice" estou precisando que uma action tenha uma tabela onde eu possa colocar varios itens diferentes, por exemplo: 1000, 1010, 10022 e outros preciso que a action verifique se há algum desses item em x Position, se algum desses item da tabela estiver na postion "x" então o item irá se transformar no item "2000" Obs: todos os itens da tabela devem se transformar no item "2000", se puder colocar pra aparecer um effect quando o item for transformado será ótimo o script precisa checar algum dos itens que existirá na tabela e se algum desses itens estiver la na position, então ele irá se transformar em "2000" Eu estava tentando adaptar o script da shovel mais não tive muito êxito, alguém poderia me ajudar por favor ? local holes = {468, 481, 483, 7932, 8579} local sand = {231, 9059} function onUse(cid, item, fromPosition, itemEx, toPosition) if(isInArray(holes, itemEx.itemid)) then local newId = itemEx.itemid + 1 if(itemEx.itemid == 8579) then newId = 8585 end doTransformItem(itemEx.uid, newId) doDecayItem(itemEx.uid) elseif(isInArray(sand, itemEx.itemid)) then local rand = math.random(1, 100) if(itemEx.actionid == 100 and rand <= 20) then doTransformItem(itemEx.uid, 489) doDecayItem(itemEx.uid) elseif(rand >= 1 and rand <= 5) then doCreateItem(2159, 1, toPosition) elseif(rand > 85) then doCreateMonster("Scarab", toPosition, false) end doSendMagicEffect(toPosition, CONST_ME_POFF) end return true end Esse é o script da shovel se caso puder ajudar, agradeço desde ja! ❤️
  25. Golden Survival Arena System (Atualizado 2.7) Introdução A Golden Survival Arena é um evento automático que ocorre a cada 5 horas, onde os players registrados são teleportados para uma arena e devem sobreviver a waves (rounds) com vários pokémons e cada vez mais fortes. Como participar do evento Para participar do evento é necessário se registrar possuindo o item Meowth Coin. Este item pode ser adquirido dropando de Meowth Hunter ou comprando no NPC Meowth Dealer por 1 diamond cada Coin. Obs: Ambos (monster e npc) estão localizados no salão do evento, para ir até o mesmo, teleporte-se utilizando um pokémon com essa habilidade (h "golden). Adicionando o Sistema Implantando a Arena no mapa Primeiramente faça o download do mapa com a Arena separada para implantar a seu mapa. Obs: Não contem nada no mapa além da Arena. Download via MediaFire: Clique aqui. Scan VirusTotal: Clique aqui. Continuando Após ter terminado o download, abra o mapa baixado e o mapa de seu servidor utilizando o RME (remere's map editor). Se não possui o RME, faça o download dele no site oficial clicando aqui. Agora com os dois mapas abertos, vá ao que foi baixado e siga as instruções. Clique no quadrado azul localizado na diagonal esquerda para baixo no RME. Ele será modificado para um lápis onde você poderá selecionar a área a ser copiada e transferida/copiada ao outro mapa. Agora com a função do lapís selecionador ativada, selecione a área a ser transferida/copiada ao outro mapa. Para isto, pressione Shift e selecione a área a ser copiada com o botão esquerdo do mouse. Após isto, solte os botões e a área será destacada. Agora copie o que foi selecionado (CTRL+C) e vá ao outro mapa (o que irá implantar a Arena). Cole a área selecionada (CTRL+V) e após isto, apenas escolha o local para colocá-la e pressione o botão esquerdo do mouse. Enfim este será o resultado da Arena implantada. Agora vamos aos scripts do sistema e acompanhamentos necessários. Actions Abra a pasta data/actions/scripts de seu servidor e crie/copie qualquer arquivo .lua e renomeie para Meowth Coin.lua Dentro do arquivo, apague tudo e adicione: Novamente crie/copie qualquer arquivo .lua na mesma pasta (data/actions/scripts) e renomeie para Quadro_Golden.lua Dentro do arquivo, apague tudo e adicione: Abra a pasta data/actions/scripts de seu servidor e crie/copie qualquer arquivo .lua e renomeie para Quadro_Golden_Rank.lua Dentro do arquivo, apague tudo e adicione: No mesmo local (data/actions/scripts) abra o arquivo catch.lua No seu, é provavel que esteja mais ou menos assim (só que com configurações de acordo com seu servidor): Após as linhas: Adicione abaixo: Resultando em (no caso, script configurado para o meu servidor): Agora abra a pasta data/actions e abra o arquivo actions.xml (abra como editar/bloco de notas). Adicione as tags: Em vermelho são os ID dos quadros da Golden Island, utilizado para ver a lista de participantes do próximo evento, o horário e o rank de waves (rounds). Em azul é o ID do Meowth Coin utilizado para se registrar ao evento. GlobalEvents Abra a pasta data/globalevents/scripts e crie/copie qualquer arquivo .lua e renomeie para Golden Arena.lua Dentro do arquivo, apague tudo e adicione: Em azul são as mensagens antes de começar o evento e quando começar o evento. Novamente na mesma pasta (data/globalevents/scripts) crie/copie qualquer arquivo .lua e renomeie para CleanGoldenArena.lua Dentro do arquivo, apague tudo e adicione: Agora abra a pasta data/globalevents e abra o arquivo globalevents.xml (abra como editar/bloco de notas). Adicione as tags: Em vermelho são os horários da Golden Survival Arena, porém eles tem que ser configurados 10 minutos antes de começar o evento, por causa das mensagens que informam quando irá começar. Sendo assim o evento for começar por exemplo as 14:00, terá de estar configurado time="13:50". Em azul são os horários dos cleans da Golden Survival Arena, porém eles tem que ser configurados 02:30 (2 horas e 30 minutos) após o evento ter começado. Sendo assim se o evento começar as 14:00 e as mensagens estiverem configuradas para 13:50, o evento irá começar somente as 14:00, portanto o Clean da Arena teria que estar configurado time="16:30" (14:00+02:30=16:30). Items Agora abra a pasta data/items e abra o arquivo items.xml (abra como editar/bloco de notas). Procure pelo ID 6527 (CTRL+F) e subistitua a tag dele por esta: Lib Agora abra a pasta data/lib e crie/copie qualquer arquivo .lua e renomeie para Golden Arena.lua Dentro do arquivo, apague tudo e adicione: Agora novamente na pasta data/lib, abra o arquivo configuration.lua Nele, dessa a barra até o fim do script/arquivo e então após o } do sistema anterior, pule uma linha e adicione: Em vermelho é a posição x y z da ponta superior da Golden Survival Arena e em azul é a posição da ponta inferior da mesma. Em verde é a posição x y z para onde os players registrados no evento seram teleportados quando ele começar. Em laranja é a posição x y z para onde os players no evento seram teleportados ao morrerem na Arena ou quando ela acabar. Em verde água é a posição x y z que os pokémons da parte em marrom seram teleportados. Como pode ver são 9 posições e 9 pokémons, apenas escolha as 9 diferentes posições da Arena que os pokémons iram aparecer, e sempre o número de posições terá de ser o mesmo número de pokémons; mesmo que ali esteja por exemplo apenas um pokémon que ira aparecer na wave {"", "Shiny Gyarados", "", "", "", "", "", "", ""}, as "" (aspas) são a mesma quantidade de posições. Em rosa são os horários em que a Golden Survival Arena irá iniciar executando a função de trazer todos os players registrados a posição escolhida. Diferente dos horários da globalevents.xml que são 10 minutos antes por serem horários das mensagens antes que o evento comece, estes horários são os que ela ira iniciar; portanto devem ser exatos, horas de inicialização. Em roxo é o número de waves (rounds) da Arena. Em salmão é o tempo em segundos para cada wave (round). Monster Agora abra a pasta data/monster e escolha uma pasta/local para criar os arquivos .xml Após ter escolhido o local, crie/copie qualquer arquivo .xml e renomeie para aHunter.xml Dentro do arquivo, apague tudo e adicione: O Meowth Hunter é o monster que dropa meowth coins. Novamente após ter escolhido o local, crie/copie qualquer arquivo .xml e renomeie para aHunterFemale.xml Dentro do arquivo, apague tudo e adicione: Em vermelho é o mesmo que o anterior, só que outfit female para ficar como no script do npc da Golden Island. Agora abra a pasta data/monster e abra o arquivo monsters.xml (abra como editar/bloco de notas). Adicione as tags: Em azul é a localização dos Meowth Hunter's, nesse tipo eu coloquei o aHunter.xml e aHunterFemale.xml na pasta data/monster/pokes/System, porém não precisei colocar a parte de data/monster, apenas o que está dentro da pokes em diante (pokes/System/.xml). Se você por exemplo coloca-se o aHunter.xml e aHunterFemale.xml na pasta data/monster/meowthmonster, as tags seriam: Npc Abra a pasta data/npc/scripts e crie/copie qualquer arquivo .lua e renomeie para .aHunter.lua Dentro do arquivo, apague tudo e adicione: Agora vá a pasta data/npc e crie/copie qualquer arquivo .xml e renomeie para .aHunter.xml Dentro do arquivo, apague tudo e adicione: O npc Hunter identifica o sexo do player e cria um Meowth Hunter do mesmo sexo que o player para lutarem. Lembrando que este monster dropa Meowth Coins. Abra a pasta data/npc/scripts e crie/copie qualquer arquivo .lua e renomeie para .aMeowthDealer.lua Dentro do arquivo, apague tudo e adicione: Em vermelho são os 2 diamonds sendo removidos e em azul os 2 Meowth Coins sendo adicionados ao player. Agora vá a pasta data/npc e crie/copie qualquer arquivo .xml e renomeie para aMeowth Dealer.xml Dentro do arquivo, apague tudo e adicione: Em laranja é o NPC que troca 2 diamonds por 2 Meowth Coins, utilizados para se registrar a Golden Survival Arena. Após concluir tudo isto, a Golden Survival System estará completamente instalada em seu servidor. Créditos Slicer pelo script 90%. PokeXGames por direitos autorais. Eu pelo tutorial e 10% do script editado. Creio que esse seja o primeiro System Tutorial de instalação completa da Golden Survival Arena. Obrigado.
×
×
  • Create New...