Ir para conteúdo

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. xWhiteWolf postou uma resposta no tópico em Action, MoveEvent, TalkAction & Spell
    vou fazer uns testes qnd sobrar um tempo e te aviso
  2. xWhiteWolf postou uma resposta no tópico em Action, MoveEvent, TalkAction & Spell
    vou testar isso, não deveria passar por cima de nada já que a lib taunt foi feita pra checar se o piso é andável antes de continuar.
  3. mais fácil fazer do 0 doque editar do jeito que vc pediu:: só pegar um dos exori e trocar no xml pra needtarget = "1" em vez de escrever casterTargetorDirection. E colocar pro combat ser em addEvent e antes dele vc põe a função de dar a giradinha.
  4. Fica salvo no global storage o id da guild vencedora: getGlobalStorageValue(GRANTOWER.SAVEWINNERGUILDID) Pra fazer area dos dominantes usa as linhas que comparam se o player tem guildid >0 e se esse guildid é igual ao do storage value. (Se o guildid<0, verifica se o nome dele é o mesmo do nome salvo nesse storage getGlobalStorageValue(GRANTOWER.SAVELASTWINNER)
  5. ja vai tarde traidor AUHIEUHIAUHIEUHIAUHIEUHIAUHI brincadeira s2
  6. na parte de configuração tem um spoiler que explica..
  7. eu não coloquei justamente porque o script é geral pra todas as armas e ficaria desbalanceado se só knights ganhassem mais ataque na arma. coloca isso if isInArray({1,2,3}, getItemWeaponType(teste.uid)) then doItemSetAttribute(teste.uid, "attack", getItemAttack(teste.uid) + (level * 2)) end acima de doItemSetAttribute(teste.uid, "exp", 0) no creaturescript
  8. coloca uma arrow no lugar do shield e vê se upa.. se upar então o problema é na lib mesmo..
  9. @Coul, ele já faz isso, não sei pq não tá funcionando com você o.O. Abre data/lib/constant.lua e procura algo parecido com isso: WEAPON_NONE = 0 WEAPON_SWORD = 1 WEAPON_CLUB = 2 WEAPON_AXE = 3 WEAPON_SHIELD = 4 WEAPON_DIST = 5 WEAPON_WAND = 6 WEAPON_AMMO = 7 WEAPON_FIST = 8
  10. só remover todos os print do creature e da lib que essas mensagens somem.. a porcentagem é (level * 10)/2 ou seja, se vc tem nv 1 vai ter 5% de chance de soltar o ataque
  11. vacilo meu, vai no creaturescript e troca if getCreatureMaster(target) ~= target then return true end por if getCreatureMaster(target) ~= nil then return true end
  12. perfeito, só faltou reiniciar o server dps de trocar o creaturescript pra eu ver se ele tá pegando os valores certinho
  13. puts cometi um equívoco na lib, linha 3 e 4: print("Entrando na isThatWeapon: ".. f) local f = getItemWeaponType(uid) deixa assim: local f = getItemWeaponType(uid) print("Entrando na isThatWeapon: ".. f)
  14. ele funciona normalmente (inclusive upando?) caso esteja a arma na direita? Troca seu creaturescript por esse: e seu lib por esse: ps: peço desculpa por estar demorando tanto pra te ajudar uhauha mas preciso que vc tenha paciência, to bem perto de entender oque tá dando de errado e acho q é alguma incompatibilidade com a source mas que vai ser possível resolver!
  15. estuda bastante, se vc for olhar eu tenho aproximadamente 1 ano e 2 meses de TK.. foi o tempo que eu usei pra aprender e aperfeiçoar muita coisa. Dps de estudar > TREINE < e encare os desafios de ajudar a seção de suporte.
  16. foi bem até, deu pra ter uma noção de onde pode estar dando o erro mas agr usa essa versão aqui: mata um primeiro mostro e mostra o print do console fazendo o favor function isThatWeapon(uid) -- Function by Mock the bear. uid = uid or 0 local f = getItemWeaponType(uid) if f == 1 or f == 2 or f == 3 or f == 5 or f == 6 then print(f) return true end return false end function getWeapon(uid) -- Function by Night Wolf teste = getPlayerSlotItem(uid, CONST_SLOT_RIGHT) if teste.itemid > 0 then print(teste.itemid) if not isThatWeapon(teste.uid) then print("Not weapon") teste = getPlayerSlotItem(uid, CONST_SLOT_LEFT) end else print("Mão esquerda") teste = getPlayerSlotItem(uid, CONST_SLOT_LEFT) end if teste.itemid > 0 then print(teste.itemid) if not isThatWeapon(teste.uid) then print("Not Weapon") teste = false end else print("Can't found weapon") teste = false end return teste end function getItemLevel(uid, maxlevel) -- Function By Night Wolf level = 0 local name = getItemName(uid) print(name) for i = 1, maxlevel do if string.find(tostring(name),"+".. i .."") then level = i end print(i) end return level end
  17. ps: pro pessoal que tá alegando erros ou que teve problemas pra instalar, eu fiz um tutorial mais bem explicado só que ele está em outro fórum.. quem quiser me pede link via PM que eu passo.
  18. @Coul, Obrigado pela doação, significa bastante. Estranho esses erros porque a lib tem funções justamente pra retornar level e distinguir onde está a arma. Ele deve tar dando algum problema na hr de rodar as funções, faz o mesmo processo de print pras funções da lib e vamos ver aonde que seu server tá travando
  19. @Coul, é só remover o restante dos prints agr que vc sabe que funciona @Ayna, até daria pra fazer mas tem que fazer pela source pra n ficar gambiarra.. porque o player pode upar e qnd remover a espada deixaria ela com - attack que o normal.
  20. agr pode deixar assim que vai funcionar if getCreatureMaster(target) ~= nil then return true end
  21. perfeito, achamos o erro uhauhauha agora vc vai mudar aquela parte que está e deixar assim: if getCreatureMaster(target) ~= target then print(type(getCreatureMaster(target))) print(getCreatureMaster(target)) return true end
  22. como a função setCreatureName funciona? vc sabe?
  23. é exatamente isso: o print serve pra demarcar pedaços do script e aí pelo console a gente analisa até que parte ele tá executando. Usa esse daqui: function onKill(cid, target, lastHit) print(1) local upgrade = { [1] = {required = 1000}, [2] = {required = 10000}, [3] = {required = 100000}, [4] = {required = 1000000}, [5] = {required = 10000000} } local teste = getWeapon(cid) if teste == false then print("error in test") return true end if getCreatureMaster(target) ~= target then print("error in master") return true end local pos = getThingPos(cid) local level = getItemLevel(teste.uid, #upgrade) if level >= #upgrade then print(2) doItemSetAttribute(teste.uid, "description", "Experience: ["..upgrade[level].required.."/"..upgrade[level].required.."]") return true end local count = math.floor((getMonsterInfo(string.lower(getCreatureName(target))).experience)) local expatual = getItemAttribute(teste.uid, "exp") or 0 local newexp = expatual+count if newexp >= upgrade[level + 1].required then print(3) doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"You leveled your "..getItemNameById(teste.itemid).." to ".. level+1 ..".") doItemSetAttribute(teste.uid,'name', getItemNameById(teste.itemid)..' +'..(level+1)) doSendMagicEffect(pos, math.random(28,30)) doItemSetAttribute(teste.uid, "exp", 0) if level + 2 <= #upgrade then print(4) doItemSetAttribute(teste.uid, "description", "Experience: [".. 0 .."/"..upgrade[level + 2].required.."]") end else print(5) doItemSetAttribute(teste.uid, "exp", expatual+count) doItemSetAttribute(teste.uid, "description", "Experience: ["..(expatual+count).."/"..upgrade[level + 1].required.."]") doPlayerSendTextMessage(cid, 27, "Congratulations, you get the experience of a ".. getCreatureName(target) .."!") end return true end Se o script estiver instalado corretamente ele vai mostrar varias msgs no console qnd vc matar 1 monstro
  24. o jeito vai ser espalhar print(1), print(2)... print(n) em várias partes do creaturescript onKill pra ver até que parte ele está executando

Informação Importante

Confirmação de Termo