-
Total de itens
1165 -
Registro em
-
Última visita
-
Dias Ganhos
13
Tudo que Omega postou
-
creatureevent Caçadores de Recompensa - Omega Bounty Hunter System
tópico respondeu ao Omega de Omega em Globalevents e Spells
Eles ficam armazenados no storage 7051 (configurável no lib) de cada jogador. Aí é só colocar pra checar quanto vale esse storage.- 13 respostas
-
- bountyhunter
- system
- (e 4 mais)
-
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.
-
O que eu fiz fica do jeito que você pediu. Antes tinha perdido a formatação, mas corrigi. Testei aqui e tá funcionando.
-
Testa desse jeito aqui:
-
Tenta isso aí: Tópico movido para a seção de dúvidas e pedidos resolvidos.
-
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.
-
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.
-
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 respostas
-
- add vip quando loga
- resolvido
- (e 1 mais)
-
Muito útil essa função. Ajuda a criar alguns scripts que seriam um saco sem ela.
- 3 respostas
-
- accountstorage
- storagevalue
- (e 3 mais)
-
creatureevent Caçadores de Recompensa - Omega Bounty Hunter System
um tópico no fórum postou Omega Globalevents e Spells
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- 13 respostas
-
- bountyhunter
- system
- (e 4 mais)
-
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.
- 8 respostas
-
- add vip quando loga
- resolvido
- (e 1 mais)
-
- - -
-
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
- 8 respostas
-
- add vip quando loga
- resolvido
- (e 1 mais)
-
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.
- 3 respostas
-
- spell
- imobilizado
- (e 4 mais)
-
Tenta trocar o return true Por return doCombat(cid, combat, var)
-
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'.
-
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"/>
-
Avatar - Assinatura - Banner - Sign - Background -
pergunta respondeu ao Alexclusive de Omega em Dúvidas e Pedidos
Que tal: Isso mesmo que você queria? Obrigadão, Alex. Desculpa a demora, é que só cheguei de viagem agora. Vou usar aqui =D -
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í
-
Você tem que mudar no movements.xml. Vai lá procura o id do item e coloca slot="head" na tag
-
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.
-
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:
-
<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.
-
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.