Ir para conteúdo

zipter98

Herói
  • Total de itens

    2553
  • Registro em

  • Última visita

  • Dias Ganhos

    72

Tudo que zipter98 postou

  1. zipter98

    Trader NPC

    Olá, O propósito principal desse NPC é facilitar a vida de quem quer fazer NPCs "traders". A configuração é muito fácil, e também há mais interação entre player-NPC (não, esse NPC não é por janelinha de trade). Você pode configurar a moeda usada nas negociações, os items que o NPC vende, e os que compra. Também há opções de ver as ofertas, e vender todas as unidades de determinado item apenas dizendo "all". Com esse NPC, também é poupado tempo, pois, ao invés de ir comprando/vendendo de 100 em 100 unidades de tal item, ou ficar ajustando a "barra de rolagem" para a quantidade desejada, você pode simplesmente digitar a quantidade (podendo comprar/vender, por exemplo, 400 unidades do item de uma vez!). Opções de fala: offers/buy/sell. Neste último, há a opção "all" para vender todas as unidades do item. Testei esse NPC várias vezes, e todos os bugs que apareceram foram corrigidos. Porém, se vocês encontrarem algum que deixei passar, postem aqui. As configurações estão indicadas no script, e, como mencionado antes, é MUITO fácil configurar o NPC. Vá em data/npc/scripts, crie um arquivo com extensão .lua, nomeie-o tradernpc, e coloque o seguinte conteúdo: XML: <?xml version="1.0" encoding="UTF-8"?> <npc name="Trader" script="tradernpc.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="523" head="114" body="119" legs="114" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|, I {sell} and {buy} items. Do you want to see my {offers}?"/> </parameters> </npc> #EDIT, 08/12/2013, 21:42. Agora, ao dizer offers é dito pelo NPC o quê é configurado no "o que o player deverá falar". Assim, são evitadas confusões que poderiam haver antes, como, por exemplo, o nome do item dito no offers sendo pokemon prize box +4, e estando configurado para ser dito pelo jogador box 4. #EDIT, 22/01/2014, 17:02. Agora, você pode escolher a quantidade máxima que o jogador poderá comprar/vender. Também foi corrigido alguns erros no NPC. PS: Obrigado ao lordbug99 por indicá-los. #EDIT, 29/01/2014, 18:08. Para corrigir alguns bugs, foi adicionada ao código uma nova função. Foram também corrigidos alguns erros que poderiam ser causados no all, juntamente com a correção de uma maneira de conseguir comprar/vender uma quantia maior de items que a programada.
  2. Opa, primeiramente, seu título está fora das regras. Este deve apresentar, resumidamente, o conteúdo/objetivo do tópico. E também, devido ao seu pedido ser relacionado à mapping, a área correta é Pedidos e dúvidas - Mapping. Cuidado da próxima vez, e obrigado.
  3. Esse critical ia ser tanto pra pokémons selvagens quanto pra pokémons de players? E, a chance de critical tem uma porcentagem fixa, ou varia de acordo com alguma coisa? E sobre isso que você mencionou, de ter aura, "dar mais critical". Você quer dizer, aumentar a chance de dar critical, ou aumentar o damage do critical?
  4. Sinceramente, eu fiquei um tempão tentando descobrir. Tenta procurar nos effects do seu servidor, pelo Dat Editor.
  5. Tenta assim: data/creaturescrips/scripts, crie um arquivo com extensão .lua, nomeie-o vipmsg, e coloque o seguinte conteúdo: function sendEffect(cid) if not isPlayer(cid) then return true end local cor = math.random(1, 255) local eff = xxx --Efeito que irá sair no player. if isPremium(cid) then doSendAnimatedText(getThingPos(cid), "VIP", cor) doSendMagicEffect(getThingPos(cid), eff) end addEvent(sendEffect, 5000, cid) end function onLogin(cid) sendEffect(cid) return true end Depois, em creaturescripts.xml, coloque a seguinte tag: <event type="login" name="VipMsg" event="script" value="vipmsg.lua"/> Caso o jogador for premium, a cada 5 segundos aparecerá "VIP" sobre o mesmo, e aparecerá um efeito, definido na variável eff, na posição que se encontra.
  6. Qual seu sistema de VIP?
  7. O limite máximo de effects é 254. Pra quebrar esse limite, só com as sources (e sendo expert).
  8. Primeiramente, área incorreta. Quando seu pedido/dúvida for relacionado à servidores derivados (pokémon, naruto, etc), opte por postar na área correspondente - Pedidos e dúvidas - Servidores derivados. Cuidado da próxima vez, e obrigado @topic Poderia postar seu move1.lua?
  9. Se estiver usando PDA, onDeath não irá funcionar. data/creaturescripts/scripts, exp2.0.lua. Procure por: if valor >= getCreatureHealth(cid) then valor = getCreatureHealth(cid) end Mude para: if valor >= getCreatureHealth(cid) then for _, b in pairs(getPlayersOnline()) do doPlayerSendTextMessage(b, 27, ""..getCreatureName(cid).." foi morto por "..getCreatureName(attacker)..".") end valor = getCreatureHealth(cid) end
  10. Vish, e assim? function onSay(cid, words, param, channel) local exausted = 30 --Tempo em segundos. if exhaustion.check(cid, 928111) then return doPlayerSendCancel(cid, "Aguarde "..exhaustion.get(cid, 928111).." segundo(s) para salvar seu personagem novamente.") end doPlayerSave(cid) exhaustion.set(cid, 928111, exausted) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seu personagem foi salvo com sucesso.") return true end
  11. A palavra "perfeito" resume esse sistema.
  12. São os IDs das vocations. Já o número do doPlayerSendTextMessage, é a cor da mensagem e.e
  13. Veja se o erro continua dessa maneira: function onSay(cid, words, param, channel) local exausted = 30 --Tempo em segundos. if getPlayerStorageValue(cid, 11554) > os.time() then return doPlayerSendCancel(cid, "Aguarde "..getPlayerStorageValue(cid, 11548) - os.time().." segundo(s) para salvar seu personagem novamente.") end doPlayerSave(cid) setPlayerStorageValue(cid, 11554, os.time() + exausted) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seu personagem foi salvo com sucesso.") return true end
  14. Opa, essa área é para divulgação de servidores. Sendo mais específico, servidores derivados. Quando seu pedido/dúvida for relacionado à clientes/clients (como preferir) de OTservers, opte por postar na devida área - Pedidos e dúvidas - Clientes de OTserv. Cuidado da próxima vez, e obrigado
  15. Primeiramente, essa área é para Pedidos e dúvidas de clientes de OTserver. Como seu tópico não se encaixa nisso, a área que aparenta ser a mais adequada é a de Discussões, matérias e entrevistas. Lá, como o próprio nome sugere, você pode fazer tópicos com conteúdos semelhantes ao do seu tópico, como, por exemplo, perguntando que tipo de servidor o pessoal de hoje em dia prefere, o quê faz um server durar (objetivo do seu tópico), etc. Cuidado da próxima vez, e obrigado. Agora, voltando ao tópico, updates constantes que "prendam" o jogador ao servidor, concentre-se no RPG, e tenha competência. E, é claro, o que o pessoal acima mencionou: um servidor hard.
  16. Pode postar seu login.lua? E, também, falar qualquer ID de outfit que não esteja bugado, do seu servidor.
  17. Opa, quando seu pedido/dúvida for relacionado à servidores derivados (pokémon, naruto, etc), opte por postar na área de Pedidos e dúvidas - Servidores derivados. Cuidado da próxima vez, e obrigado
  18. /\ pelo que entendi, !ta id do item,quantidade Por exemplo, !ta 11641,5
  19. Ué, onCombat não engloba tanto ataques diretos quanto AoE? Testei aqui com aquele meu último enviado, e funcionou direitinho
  20. data/creaturescrips/scripts, poketele.lua. Procure pela variável que define a distância máxima entre jogador e pokémon (talvez o nome da variável, como normalmente é nesse arquivo, seja max). Caso seu servidor não possua esse arquivo, só falar aqui que lhe envio; e, se não souber qual é essa variável que falei, mande seu poketele.lua.
  21. Como o próprio nome sugere, MOD = modificação. Não tem muito segredo; MODs em tibia são, em geral, vários arquivos "unidos" em um só; ou seja, modificações (hue). Por exemplo, ao invés de você criar vários arquivos em lib, creaturescripts, actions, etc, você pode simplesmente juntá-los em um mod. (claro, não basta apenas dar um ctrl c nos arquivos e ctrl v no arquivo mod, deve ser seguido um modelo.) Além de tudo, a instalação de um mod é muito fácil, prática e rápida. A pasta MODS tem como função "armazenar" essas modificações. As alterações causadas por mods são as alterações que os arquivos presentes neles causariam normalmente, se estivessem "separados" nos outros arquivos da data.
  • Quem Está Navegando   0 membros estão online

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