Ir para conteúdo

zipter98

Herói
  • Total de itens

    2553
  • Registro em

  • Última visita

  • Dias Ganhos

    73

Tudo que zipter98 postou

  1. Você deve ter feito alguma coisa errada, então. Porque eu testei aqui, e funcionou perfeitamente. Fez um arquivo.lua com aquele conteúdo que mandei, e colocou a tag no actions.xml? (Sobre o arquivo lua, recomendo copiar um outro com a mesma extensão, colar na pasta actions/scripts, deletar todo o conteúdo e colocar o que mandei.) #EDIT: Esqueci de complementar no meu comentário anterior que o arquivo.lua deve ser colocado em data/actions/scripts, e não data/actions. Se você fizer TUDO corretamente, e ainda assim não funcionar, tente com outro item. (não esqueça de mudar a tag, em actions.xml.)
  2. Tem esses dois tutoriais que achei, se quiser dar uma olhada: http://www.xtibia.com/forum/topic/185601-mini-tuto-strings-e-maths/ http://www.xtibia.com/forum/topic/219153-aula-3-operadores-e-bibliotecas/ Não há exemplos usando strings, pelo que vi, mas há a explicação sobre eles.
  3. Crie um arquivo.lua na pasta actions, com o nome de teleportitem, e coloque nele o seguinte conteúdo: function onUse(cid, item, frompos, item2, topos) local pos = {x=1059, y=904, z=7} doTeleportThing(cid, pos) return true end Em actions.xml, coloque a seguinte tag: <action actionid="2260" event="script" value="teleportitem.lua"/>
  4. zipter98

    npc

    Esses tiles que o player pisa, são em posições específicas, ou randômicas? Sobre o primeiro pedido, poderia informar quantos monstros o player precisa matar? E quais são? E se o player morrer, poderá fazer a quest novamente?
  5. zipter98

    Livro de p.a

    Suponho que seu vip system seja o do Mock. Tenta dessa maneira: function onUse(cid, item, fromPosition, itemEx, toPosition) local vip_days = 30 --Coloque aqui os dias vip que irá receber. doPlayerAddVipDays(cid, vip_days) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, 19, "Você ganhou "..vip_days.." dias de VIP.") doSendMagicEffect(getCreaturePosition(cid), 51) return true end
  6. zipter98

    Livro de p.a

    Lol, o do KluiMaster tá certin, wtf Mylorc, qual seu sistema de VIP?
  7. Um action id que não esteja em uso em seu servidor. Depois, só editar no map editor.
  8. De nada xD Reportado p/ moverem.
  9. Exato, depois, é só configurar o baú no map editor.
  10. Testa esse, qualquer erro, poste aqui.
  11. Sobre a master ball: catch.lua [actions] Adicione essa proteção: local restrictions = {"Mew", "Mewtwo", "Articuno"} --Coloque aqui o nome dos lendários.. if isInArray(restrictions, name) or string.find(name, "shiny") and typeee == "master" then return doPlayerSendCancel(cid, "Você não pode capturar este pokémon com a Mater Ball.") end No typeee, você deve colocar, após o "==", o nome da ball (que você configurou na tabela ballcatch [localizada neste mesmo arquivo]) entre aspas.
  12. Keilost, identação eu faço bunitin e talz no notepad++, mas quando eu passo pra cá o script, ele volta ao 'normal'. Ai como sou meio nb, não sei como passar pra cá já identado ._. se alguém quiser me ajudar, ty
  13. De nada Reportado para moverem p/ Pedidos e dúvidas resolvidos - Scripting xD
  14. Amoeba, não sei se é só impressão minha, ou você esqueceu de setar a storage? Sou meio ruim de visão, ai as vezes é só impressão minha mesmo ._. Fiz o piso aqui rapidin, veja se é isso que você quer: function onStepIn(cid, item, position, fromPosition) local storage_quest = xxx --Storage da quest. if getPlayerStorageValue(cid, storage_quest) < 1 then doTeleportThing(cid, fromPosition) doPlayerSendCancel(cid, "Você não completou a quest para passar aqui!") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end doPlayerSendTextMessage(cid, 27, "Parabéns, agora clique no baú para receber sua recompensa.") return true end Só vai passar por ele quem fez a quest.
  15. Sobre a tag e registrar no login.lua, eu não achei muito necessário informar pq é algo, suponho eu, meio 'óbvio'. Mas tem razão, eu deveria ter incluído estas informações no meu comentário anterior :x E sobre o onTarget q coloquei, na verdade, como eu nunca fiz algo com onCombat e onTarget, não sabia o que seria mais adequado colocar. Ai tirei como base um script que encontrei aqui no fórum como base e.e De qualquer maneira, quais os erros que cometi no meu script? Saberia dizer? Pra não cometer o mesmo erro na próxima vez e.e
  16. Eu tentei fazer uma coisa meio louca aqui, fiz rapidinho, então não tenho a mínima ideia se vai funcionar :s function onTarget(cid, target) local voca_id = xxx --Coloque aqui o ID da vocation. local monsters = {"xxx", "yyy", "zzz"} --Monstros que não poderão ser atacados. for a, b in ipairs(monsters) do if isPlayer(cid) and getPlayerVocation(cid) == voca_id then if getCreatureTarget(cid) == b then return false end end end return true end
  17. Este setPlayerStorageValue, não precisa registrar em lugar algum. Apenas o actionid da porta e do baú (:
  18. Qual seu sistema de vip? Por storage? E, também, haverá alguma condição no script? Por exemplo, se o player já for vip, não poderá usar este item? Ou se não tiver tal storage, não poderá usá-lo? Ou é só um item que ao dar use vai adicionar à account x dias de p.a?
  19. Seria bem legal se tivesse uma história bem bolada, e os personagens não fossem feios.
  20. Tente substituir seu revive.lua e seu medicine.lua por estes meus. Caso não funcione, suponho que o erro seja, na verdade, em outro arquivo. Revive: Medicine: function onUse(cid, item, frompos, item2, topos) if not isSummon(item2.uid) then return doPlayerSendCancel(cid, "Medicine só pode ser usado em pokémons.") end if getPlayerStorageValue(cid, 990) >= 1 then doPlayerSendCancel(cid, "Você não pode usar medicine em batalhas de gym.") return true end if getCreatureMaster(item2.uid) ~= cid then return doPlayerSendCancel(cid, "Você só pode usar medicine em seu próprio pokémon.") end if getPlayerStorageValue(cid, 52481) >= 1 then return doPlayerSendCancel(cid, "Você não pode usar medicine durante um duel.") end local pokeball = getPlayerSlotItem(cid, 8) doCureBallStatus(pokeball.uid, "all") doCureStatus(item2.uid, "all", false) if (getCreatureCondition(item2.uid, CONDITION_PARALYZE) == true) then doRemoveCondition(item2.uid, CONDITION_PARALYZE) end if getCreatureSpeed(item2.uid) < getSpeed(item2.uid) then doRegainSpeed(item2.uid) end doSendMagicEffect(getThingPos(item2.uid), 14) doRemoveItem(item.uid, 1) return true end
  21. Eita, dessa eu não sabia Obrigado pela informação \o
  22. De nada, funcionou tudo? Algum moderador já pode mover o tópico?
  23. Realmente, acho meio feio a porta teleportar o player e.e Sobre a possibilidade de trocar de sexo, não fica pensado nisso. Vlw \o Não teria uma maneira de "quebrar" isso de mudar sexo e ficar com a outfit do sexo anterior? Talvez um onlogin daria?
  24. EDIT: O player receberá quantas partes do addon? 1? E, como eu não conheço essa outfit, poderia informar se ela tem tanto versão female quanto male? De qualquer maneira, tentei fazer a porta e baú. O último, fiz como se a outfit tivesse male e female. Se tiver de apenas um sexo, basta tirar essa parte: if (getPlayerSex(cid) == 0)then doPlayerAddOutfit(cid, cfg.addon_female, cfg.addon_qnt) else doPlayerAddOutfit(cid, cfg.addon_male, cfg.addon_qnt) end E colocar essa, no lugar: doPlayerAddOutfit(cid, xxx, cfg.addon_qnt) --Troque xxx pelo ID da outfit. Porta: function onUse(cid, item, frompos, item2, topos) local storage = xxx --Coloque aqui a storage da quest que necessita estar completa para passar pela porta. local pos = {x = xxx, y = yyy, z = zzz} --Para onde será teleportado ao clicar na porta. if getPlayerStorageValue(cid, storage) < 1 then doTeleportThing(cid, frompos) doPlayerSendCancel(cid, "Você não completou a quest para passar por esta porta.") doSendMagicEffect(frompos, CONST_ME_POFF) else doPlayerSendTextMessage(cid, 27, "Parabéns, agora clique no baú para receber sua recompensa.") end return true end Baú: function onUse(cid, item, frompos, item2, topos) local cfg = { addon_male = xxx, --ID da outfit male. addon_female = xxx, --ID da outfit female. addon_qnt = xxx, --Quantas partes do addon vai ganhar. } if getPlayerStorageValue(cid, 112819) >= 1 then return doPlayerSendCancel(cid, "Você já completou essa quest.") end doPlayerSendTextMessage(cid, 27, "Parabéns, você completou a quest com sucesso! Tome como prémio uma parte da Demon Outfit.") setPlayerStorageValue(cid, 112819, 1) doPlayerAddOutfit(cid, cfg.addon_female, cfg.addon_qnt) doPlayerAddOutfit(cid, cfg.addon_male, cfg.addon_qnt) return true end
  25. Pra capturar, só editar normalmente no configuration.lua (o 'nome' da corpse do pokémon deve ser igual ao nome do pokémon. Por exemplo, usando o Crystal Onix: --Isso do 'nome' da corpse se edita no items.xml. Incorreto: a fainted shiny onix Correto: a fainted crystal onix Pelo menos, comigo é assim. Para não poder capturar x pokémon, você também pode configurar na tabela pokecatches (retirando a linha do pokémon desejado), ou adicionar esta proteção em seu catch.lua [data/actions/scripts/catch.lua]: Suponho que já haja a variável name em seu código, então basta mudar apenas o nome do pokémon na proteção (ou caso queria adicionar mais de um pokémon, adicionar uma tabela). Um pokémon apenas: if isInArray("Aerodactyl", name) then return doPlayerSendCancel(cid, "Você não pode capturar este pokémon.") end Mais de um pokémon: local uncatch_pokes = {"Aerodactyl", "Mew", "Mewtwo"} --Edite aqui os pokémons que não poderão ser capturados. if isInArray(uncatch_pokes, name) then return doPlayerSendCancel(cid, "Você não pode capturar este pokémon.") end
  • Quem Está Navegando   0 membros estão online

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