Ir para conteúdo
  • Cadastre-se

Wise

Membro
  • Total de itens

    1090
  • Registro em

  • Última visita

  • Dias Ganhos

    7

Tudo que Wise postou

  1. Poste os códigos que eu modifico pra você, e se possível, me informe o ID dessa town (cidade) free.
  2. Ué, cara. Testei aqui e executou tranquilamente. Você registrou o creature event e colocou a tag que mencionei (do item), tudo correto? E claro, esqueci de dizer que você tinha que alterar o ID do red aol na tabela: redaol = {2173, 100} -- {itemID, charges}
  3. @danihcv Bom, pra não haver mais essa dúvida e ainda ficar de uma forma mais simples, editei o meu post anterior. Dá uma olhada.
  4. Não pensei nessa parte de um level superior a 20 ir fazer a quest.. Já que você quer que o questlog seja atualizado assim que o player já tiver concluído a quest de level 10 e tiver no mínimo level 20, a solução seria um creature event think, pra alterar o value do storage instantaneamente (mesmo que utilize RAM pra caralho). Se alguém tiver outra ideia, por favor, compartilhe. function onThink(cid) level = 20 stor = {4001, 1, 2} -- {storage, oldValue, newValue} if getPlayerLevel(cid) >= level and getPlayerStorageValue(cid, stor[1]) == stor[2] then doPlayerSetStorageValue(cid,
  5. E qual seria o seu sistema de vip? Por premium days, storage, via database? De que modo o player se tornaria morador da cidade vip?
  6. Surpreendente como sempre, um ótimo trabalho novamente. Apesar de ser algo simples, tem uma complexidade nos códigos. E que foram muito bem calculados. Parabéns, bro.
  7. @narazaky Relaxa. O que importa é que você tentou ajudar outro membro.
  8. As ideias dos membros são boas. Mas no caso, você teria que fazer por values diferentes e não por storages diferentes, já que, pelo quests.xml, não dá pra acrescentar outros storages na missão. Apenas os values dos states. Faça com que o cid receba um value depois que completar a missão de level 10, que será checado ao alcançar o level 20. E então esse value será alterado para o value do state da missão de level 20, fazendo com que ela apareça no questlog como você quer. Você pode usar o creature event advance para isso. Ex: function onAdvance(cid, skill, oldLevel, newLevel) lev
  9. Testei desse modo. As charges bugaram e deixaram o item infinito, por isso não indiquei essas tags.
  10. function onDeath(cid) redaol = {2173, 100} stor = 98765 slot = getPlayerSlotItem(cid, CONST_SLOT_NECKLACE) if slot.itemid == redaol[1] and getCreatureSkullType(cid) == SKULL_RED then if getPlayerStorageValue(cid, stor) < 1 then setPlayerStorageValue(cid, stor, redaol[2] - 1) elseif getPlayerStorageValue(cid, stor) == 1 then setPlayerStorageValue(cid, stor, -1) doRemoveItem(slot.uid) else setPlayerStorageValue(cid, stor, getPlayerStorageValue(cid, stor) - 1) end end return true e
  11. Tente: function onDeath(cid) aol = 2173 slot = getPlayerSlotItem(cid, CONST_SLOT_NECKLACE) if slot.itemid == aol and getItemAttribute(slot.uid, 'charges') == 1 then doRemoveItem(slot.uid) end return true end PS: Não se esqueça de registrar o creature event death em login.lua Se não obtiver sucesso, outro método possível seria por storage: function onDeath(cid) aol = {2173, 30} stor = 76543 slot = getPlayerSlotItem(cid, CONST_SLOT_NECKLACE) if slot.itemid == aol[1] then if getPlayerStorageValue(cid, stor) < 1 then
  12. Bom, eu fiz pra como sendo outra talkaction. Você não disse que queria assim no seu post principal. Por isso, tente ser mais específico. Depois edito.
  13. Editei. Desse modo há garantia que não fique removendo a condição a todo momento em que o player estiver numa protection zone, e sim apenas quando ele estiver com ela.
  14. Fiz de outro modo: function onThink(cid) if isPlayer(cid) then if getTileInfo(getThingPos(cid)).protection and getCreatureCondition(cid, CONDITION_INFIGHT) then doRemoveCondition(cid, CONDITION_INFIGHT) end end return true end
  15. @danihcv Tente: function onDeath(cid) lvl = 1000 if getPlayerLevel(cid) < lvl then doPlayerAddExperience(cid, (getExperienceForLevel(lvl) - getPlayerExperience(cid))) end return true end
  16. Tente: function onSay(cid) text = 'Information about frags\n\nFrags to Red Skull:\nDaily - '..getConfigValue('fragsToRedSkull')..' frags\nWeekly - '..getConfigValue('fragsSecondToRedSkull')..' frags\nMonthly - '..getConfigValue('fragsThirdToRedSkull')..' frags\n\nFrags to Black Skull:\nDaily - '..getConfigValue('fragsToBlackSkull')..' frags\nWeekly - '..getConfigValue('fragsSecondToBlackSkull')..' frags\nMonthly - '..getConfigValue('fragsThirdToBlackSkull')..' frags' doPlayerPopupFYI(cid, text) return true end
  17. É exatamente essa a utilidade do quests.xml (data\XML), fazer esse armazenamento de informações/valores e exibir a quest conforme for estipulada.
  18. Com certeza, @Gantz. Eu só falei pra ele mesmo, caso seja assim.
  19. Caso for adicionar somente um item, simplifique. Estabeleça a tabela anterior e mude os parâmetros da função doPlayerAddItem para: doPlayerAddItem(cid, lever[item.actionid][2], 1)
  20. Como o @xWhiteWolf disse, caso seu servidor tenha o creature event statschange: function onStatsChange(cid, attacker, type, combat, value) storage = 12345 if value > 0 and type == STATSCHANGE_HEALTHLOSS or (getCreatureCondition(cid, CONDITION_MANASHIELD) and type == STATSCHANGE_MANALOSS) then if isPlayer(attacker) and getPlayerStorageValue(attacker, storage) == getPlayerStorageValue(cid, storage) then return false end end return true end Senão: local storage = 12345 function onCombat(cid, target) if isPlayer(target) and getPlayerStorageValue(ta
  21. monsterportal.lua (data\creaturescripts\scripts): local boss = { ['ghazbaran'] = {destiny = {x=123, y=456, z=7}, time = 50, portalid = 1387}, -- time in seconds ['morgaroth'] = {destiny = {x=123, y=456, z=7}, time = 50, portalid = 1387}, ['apocalypse'] = {destiny = {x=123, y=456, z=7}, time = 50, portalid = 1387} } function removePortal(pos, pid) portal = getTileItemById(pos, pid) if portal.uid > 0 then doRemoveItem(portal.uid) end return true end function onDeath(cid) b = boss[getCreatureName(cid):lower()] pos = getCreaturePosition(cid)
  22. Não há local com mais garantia de se encontrar essas informações, do que em sua source.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo