Ir para conteúdo

zipter98

Herói
  • Total de itens

    2553
  • Registro em

  • Última visita

  • Dias Ganhos

    72

Tudo que zipter98 postou

  1. Código: local chance = 5 --Chance, pokémon de jogador, sem aura de dar critical. local wild_chance = 10 --Chance do pokémon selvagem de dar critical. local chance_aura = 5 --Chance que será aumentada caso o pokémon tenha aura. if isSummon(attacker) then if getItemAttribute(getPlayerSlotItem(getCreatureMaster(attacker), 8).uid, "aura") then chance = chance + chance_aura else chance = chance end else chance = wild_chance end if math.random(1, 100) <= chance then doSendAnimatedText(getThingPos(attacker), "Critical", 215) valor = valor * 2 --O critical está servindo como um "focus" (damage * 2) end OBS: Ele deve ser colocado em exp2.0.lua.
  2. Vou tentar. Logo edito com resultado. EDIT: catchsystem.lua, abaixo de local give_level = lv_table[poke] if not give_level then give_level = 5 print(""..poke.." isn't in lv_table!") end Adicione: local stat = getPokemonStatus(poke) local off = stat.off * give_level local def = stat.def * give_level local agi = stat.agi * give_level local spatk = stat.spatk * give_level local vit = stat.vit * give_level Depois, substitua doItemSetAttribute(item, "offense", coffense) doItemSetAttribute(item, "defense", cdefense) doItemSetAttribute(item, "speed", cspeed) doItemSetAttribute(item, "vitality", cvitality) doItemSetAttribute(item, "specialattack", cspatk) Por: doItemSetAttribute(item, "offense", off) doItemSetAttribute(item, "defense", def) doItemSetAttribute(item, "speed", agi) doItemSetAttribute(item, "vitality", vit) doItemSetAttribute(item, "specialattack", spatk) Ao capturar o pokémon, ele está vindo no level definido na tabela lv_table. O cálculo de seus status é: status no configuration.lua * level.
  3. Qual os status que devem vir ao capturar o pokémon? Tava pensando em fazer assim: os status do pokémon configurados no configuration.lua * 10. Por exemplo, se um pokémon tiver offense = 4, ao capturá-lo, a offense virá 40. OBS: Não tem como verificar os status exatos do pokémon em determinado level. O jeito então, é fazer alguma fórmula pra definir os status ao capturar o pokémon.
  4. zipter98

    Piso com anuncio

    Editei minha mensagem acima. Veja se é aquilo que você quer.
  5. Em catchsystem.lua, abaixo de failmsgs = { "Sorry, you didn't catch that pokemon.", "Sorry, your pokeball broke.", "Sorry, the pokemon escaped.", } Adicione essa tabela: local lv_table = { ["Bulbasaur"] = 10, --["Nome do pokémon"] = level que irá vir ao ser capturado, ["Charmander"] = 15, ["Squirtle"] = 20, } Depois, abaixo de local happy = 250Adicione isso: local give_level = lv_table[poke] if not give_level then give_level = 5 print(""..poke.." isn't in lv_table!") end Depois, procure por doItemSetAttribute(item, "level", clevel)E troque por doItemSetAttribute(item, "level", give_level)
  6. zipter98

    Piso com anuncio

    Essa mensagem que você se refere, é um broadcast, ou uma mensagem que só aparece para o jogador? EDIT: Se for a segunda opção, crie um arquivo com extensão .lua em data/movements/scripts, nomeie-o tilemsg, e coloque o seguinte conteúdo: function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end local msg = "Mensagem" --Configure aqui a mensagem que será enviada ao jogador. A mensagem deve estar entre aspas " " doPlayerPopupFYI(cid, msg) return true end Depois, em data/movements, abra o arquivo .xml e coloque a seguinte tag: <movevent type="StepIn" actionid="configure aqui o actionid desejado" event="script" value="tilemsg.lua"/>
  7. Pelo sistema de task do PDA, acho que não.
  8. Isso se altera no arquivo .lua dos NPCs. Sendo mais exato, tabela clanNpcs.
  9. Obrigado Quando à sua sugestão, achei bem interessante. Quando possível, vou tentar fazer um NPC assim.
  10. 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.
  11. 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.
  12. 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?
  13. Sinceramente, eu fiquei um tempão tentando descobrir. Tenta procurar nos effects do seu servidor, pelo Dat Editor.
  14. 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.
  15. O limite máximo de effects é 254. Pra quebrar esse limite, só com as sources (e sendo expert).
  16. 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?
  17. 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
  18. 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
  19. A palavra "perfeito" resume esse sistema.
  20. São os IDs das vocations. Já o número do doPlayerSendTextMessage, é a cor da mensagem e.e
  21. 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
  • Quem Está Navegando   0 membros estão online

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