Ir para conteúdo

Omega

Marquês
  • Total de itens

    1165
  • Registro em

  • Última visita

  • Dias Ganhos

    13

Tudo que Omega postou

  1. Eles ficam armazenados no storage 7051 (configurável no lib) de cada jogador. Aí é só colocar pra checar quanto vale esse storage.
  2. mais se o demon morrer não vai dar pra sumonar ele denovo certo ? Errado. Testa antes de ficar conjecturando se tá errado ou não.
  3. O que eu fiz fica do jeito que você pediu. Antes tinha perdido a formatação, mas corrigi. Testei aqui e tá funcionando.
  4. Tenta isso aí: Tópico movido para a seção de dúvidas e pedidos resolvidos.
  5. function onSay(cid, words, param) local query = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..taskstg.points.." and `value` > 0") if query:getID() == -1 then doPlayerSendTextMessage(cid, 27, 'Nao foram encontrados jogadores com task points.') return true end local players = {} local points = {} local str = "" local j = 1 local str = "TASK RANK\n\n" repeat str = str.."{"..j.."} "..getPlayerNameByGUID(query:getDataInt("player_id")).." ["..query:getDataInt("value").."]\n" j = j + 1 until not query:next() or j >= 10 doPlayerPopupFYI(cid, str) return true end Cara, fiz só algumas modificações pra melhorar, mas o problema é que você tem que dar logout pra salvar os storages. Depois aparece.
  6. Cara, acho que tá funcionando aí, mas você não tem nenhum personagem com pontos de task ganhos, aí o script não mostra nada.
  7. Claro, mas essa função não existe a menos que você insira ela. Pra facilitar, eu botei uma checagem de premmy e storage por player mesmo. Antes de ver o post do Amoeba, eu pensei em criar algo parecido, mas ia dar um trabalho dos infernos, então deixei assim mesmo
  8. Muito útil essa função. Ajuda a criar alguns scripts que seriam um saco sem ela.
  9. Isso não é inédito em OTS, mas fiz o meu sistema de Caçador de Recompensa (Bounty Hunter) 1. Informações sobre o sistema Sistema de pontos por recompensa incluído (configurável) Rank de maiores caçadores Rank de maiores recompensas Lista de jogadores com recompensa online 2. Funcionamento Você fala com o NPC, que oferece várias opções Você pode colocar uma recompensa para a morte de alguém (post), pegar seu dinheiro por caçar alguém (reward), checar as maiores recompensas (most wanted), checar seus pontos de caçador (points) ou obter informações gerais sobre o funcionamento (information) Para colocar uma recompensa, você deve fornecer um nome. Se esse jogador existir, você deverá oferecer um valor (mínimo configurável). Depois, desse valor será descontada a taxa da guilda dos assassinos (configurável). Se você tiver esse dinheiro, ele será removido e o nome dessa pessoa estará na lista de procurados, para que o jogador que a matar (não funciona para o jogador que colocou a recompensa) ganhe a recompensa devida Quando um jogador mata outro procurado, ele é avisado de que ganhou a recompensa e os pontos (se estiver ativado). Para pegar a recompensa, ele deve falar com o NPC Para saber quais jogadores procurados estão online e quais são suas recompensas, foi adicionado um quadro especial que lista esses jogadores, assim como um outro quadro que lista os maiores caçadores do servidor 3. Códigos 3.1. Tags Creaturescripts.xml: <event type="kill" name="bountykill" event="script" value="bountykill.lua"/> <event type="look" name="bountyboard" event="script" value="bountyboard.lua"/> talkactions.xml: <talkaction words="/installbounty" access="5" event="script" value="bountyinstall.lua"/> 3.2. NPC Crie um arquivo: npcs/Tyrion.xml 3.3. Códigos lua Adicionar em creaturescripts/login.lua, junto com os demais registerCreatureEvent registerCreatureEvent(cid, "bountyboard") registerCreatureEvent(cid, "bountykill") lib/bountylib.lua creaturescripts/scripts/bountykill.lua creaturescripts/scripts/bountyboard.lua npcs/scripts/assguild.lua talkactions/scripts/bountyinstall.lua 4. Configuração / Instalação Você deve usar o comando /installbounty pelo GOD para que o sistema adicione a coluna necessária no seu banco de dados As configurações disponíveis estão no bountylib.lua O sistema de pontos apenas adiciona e conta os pontos. Cabe a sua imaginação/habilidade fazer algo a partir deles Para adicionar o rank de melhores caçadores e a lista de procurados online, você deve criar dois itens (eu recomendo o quadro negro - id 1810, por exemplo) e colocar os actionids 3550 e 3551. Assim, quando alguém der look, aparecerão as respectivas listas [óbvio] O sistema depende de que você adicione o NPC no mapa [/óbvio] 5. Bugs Apesar de ter testado bastante, ainda há espaço para alguns bugs. Caso você os encontre, por favor poste DETALHADAMENTE qual é o erro para que eu possa consertar 6. Considerações Finais Espero críticas/sugestões/elogios sobre o código e seu funcionamento
  10. function onLogin(cid) local days = 2 if not isPremium(cid) then if getPlayerStorageValue(cid, 505060) == -1 then doPlayerAddPremiumDays(cid, days) setPlayerStorageValue(cid, 505060, 1) doPlayerSendTextMessage(cid, 25, 'Voce recebeu '..days..' dias de premium account! Bom jogo!') end end return true end EDIÇÃO: Não tinha visto a resposta do Amoeba. Eu fiz pra cada char que logar, então o dele é mais completo.
  11. function onLogin(cid) local storage,days = (getPlayerAccountId(cid)+550),1 if getGlobalStorageValue(storage) <= 0 then setGlobalStorageValue(19456, 1) doPlayerAddPremiumDays(cid, days) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você recebeu "..days.." dias de premium account. Bom jogo!") end return true end
  12. Não entendi uma coisa: "enquanto a spell estar sendo conjurada"? A spell demora um tempo pra ser conjurada? Bom, pra fazer o que você quer, use a função: doCreatureSetNoMove(cid, true) Para paralizar o jogador que está conjurando a magia. Depois adicione: addEvent(doCreatureSetNoMove, tempo, false) Sendo esse tempo em milissegundos para que o jogador possa se mover novamente. Coloque isso no script da spell que deve funcionar para o que você quer.
  13. Omega

    Arrumar spells

    Tenta trocar o return true Por return doCombat(cid, combat, var)
  14. Omega

    Ajuda Task System

    O problema é que ele vai ter que fazer o mesmo pra todos os monstros, porque se não vai pedir uma tabela e receber um número, o que vai causar erro. Mas gostei da solução, me parece que deve funcionar se não houve 'erros bobos'.
  15. O do rank eu consigo fazer, mas de php eu não saco ainda =/ EDIÇÃO: Segue o script do rank: TAG no talkactions.xml: <talkaction words="!taskrank" event="script" value="taskrank.lua"/>
  16. Que tal: Isso mesmo que você queria? Obrigadão, Alex. Desculpa a demora, é que só cheguei de viagem agora. Vou usar aqui =D
  17. Dá pra consertar passando uma pasta de actions que funcione, mas se não tem nem isso que funcione, não quero nem imaginar o que mais não funciona aí
  18. Omega

    [Pedido] Mensagem

    É, isso aí. Tá começando a aprender scripting? Qualquer dúvida pode mandar PM que se eu souber, eu ajudo.
  19. Você tem que mudar no movements.xml. Vai lá procura o id do item e coloca slot="head" na tag
  20. Gostei do true no lugar do TRUE que muitos usam, mas você deveria começar a identar (se é que a formatação não foi perdida ao postar) Leitura obrigatória para qualquer scripter: http://www.xtibia.com/forum/topic/203791-qual-e-a-coisa-mais-importante-em-um-codigo-e-por-que-e-a-elegancia/ Melhor tutorial (na verdade é um pacote) que eu já vi sobre scripting: http://www.xtibia.com/forum/topic/99746-pasta-data-enciclopedia-13-tutoriais-para-entender-ela-toda/ Mais dois comentários: Você comeu o Pos no terceiro parâmetro em: function onUse(cid, item, fromition, itemEx, toPosition) E procure usar actionid sempre que possível, pois é mais fácil de arrumar conflito com itemid, que passa a valer para todos.
  21. A pedido de um membro do fórum, fiz uma anihilator completa e tô postando pra quem quiser usar. Ela faz as seguintes checagens: Todos os 4 pisos estão com jogadores? Todos os jogadores são lvl 100+? Existe algum outro time dentro da anihilator? Algum jogador do time já fez essa quest? Caso a resposta seja negativa para qualquer uma dessas perguntas, os jogadores não serão teletransportados. actions/scripts/omegaannihi.lua actions/scripts/omegachests.lua TAGs no actions.xml <action actionid="120391" script="omegaannihi.lua"/> <action actionid="120392" script="omegachests.lua"/> Configuração Vamos da parte mais difícil para a mais fácil, começaremos no omegaanihi.lua Essa é a parte da configuração: p1 a p4 são as posições de início dos jogadores (onde eles usam a alavanca para entrar na quest!) annihi1 e annihi2 são as partes complicadas. Preste atenção: essas são as posições de início e fim da annihilator. A partir dessas posições, imagine um quadrado. Esse quadrado deve englobar TODA a sua annihi, pois as checagens serão feitas nele. Aqui você deve colocar a posição do canto esquerdo superior da sua annihi em annihi1 e o canto inferior direito da sua annihi, em annihi2. anihi1 deverá ficar no subsolo (para cobrir também a área dos baús). Seguem duas imagens no fim do tópico. top1 a top4 são as posições para onde os jogadores serão teletransportados [1] a [6] são as posições nas quais os demons serão criados Agora, para colocar no mapa, você deve colocar o actionid da alavanca igual a 120391 e dos baús 120392 (todos os 4). Em seguida, você deve atribuir aos baús os uniqueids 3050, 3051, 3052 e 3053 (um para cada). É fácil configurar qual baú dará qual item. Agora você tem sua annihilator 100% funcionando. OBS.: se aparecer algum erro, poste o erro na distro junto. Imagens:
  22. Omega

    CHANDE DO LOOT

    <item id="2492" chance="200"/><!-- dragon scale mail --> O esquema é o seguinte: esse chance é em 0,001% cada. Ou seja, chance = "200" significa que tem 200 * 0,001% = 0,2%. Pode ver que quando o loot é dentro de uma bag, tem 100% da bag dropar (mas somente se algo de dentro dropar também) e esses 100% tem o valor de chance="100000". Recomendo esse tutorial aqui se você quiser entender melhor sobre os scripts de monstros: http://www.xtibia.com/forum/topic/44882-pasta-data-monstros/ EDIT: opa, não vi que o cara acima tinha postado. E sim, a chance que você botar no config.lua irá influenciar essa chance.
  23. Cara... se joga de um prédio. Que tal ensinar algo realmente útil, como um tutorial deve fazer?
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...