Ir para conteúdo

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. Se a dúvida foi respondida clica em "Melhor Resposta" embaixo do comentário que a resolveu.
  2. rapaz, vc tem que setar vocation 12 pro player, pelo erro que tá dando ai vc setou vocation 4294967295
  3. só fazer igual no movements.xml e colocar hands no slottype, fazer assim do jeito que vc quer só com statschange mesmo e só iria funcionar em players porque não dá pra dizer precisamente qual seria o dano que iria sair contando as defesas e resistencias do monstro/player.. em todo caso dá pra vc tentar aproximar isso da forma que eu falei. Coloca 50 de dano físico e 25 de dano fire e vc vai hitar e se vc hitar + ou - 200 de físico vai sair + ou - 100 de fire
  4. Você tá corretíssimo em tudo que falou... e pra piorar ainda tem OT's que são melhores que o global huahuaha
  5. /\ esse não é o jeito de se fazer isso. Seguinte, se vc quiser adicionar esses atributos numa tag do items.xml vc precisará fazer alterações na source, todas elas são conditions que vc vai ter que adicionar ao equipar um item. Como vc pode ver nesse tópico, nenhum desses atributos existe realmente no tibia http://www.tibiaking.com/forum/topic/31450-pedido-editar-items/ local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, -1) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 50) function onEquip(cid, item, slot) doAddCondition(cid, condition) doSendMagicEffect(getCreaturePos(cid), 10) return true end function onDeEquip(cid, item, slot) doRemoveCondition(cid, CONDITION_ATTRIBUTES) return true end <movevent type="Equip" itemid="11234" slot="feet" event="script" value="set.lua"/> <movevent type="DeEquip" itemid="11234" slot="feet" event="script" value="set.lua"/> Dessa maneira vc pode editar os atributos que serão adicionados com todas as conditions existentes no seu servidor: Agora sobre a espada que tira dano em % é só vc editar ela pelo items.xml igual a fire sword por exemplo, se ela tiver 80 de ataque físico e 20 de ataque de fire/ice serão 20% certinho. Qualquer outro valor vc faz regra de 3 e chega.. o outro modo de fazer isso é por 2 combats num script de weapons mas não é tão eficaz como a maneira citada acima.
  6. tem bastante coisa que o tibia podia melhorar e não fazem... não sei se é a questão de deixar o server mais "pesado" por conta de agora em diante todo ataque que houver no jogo vai fazer uma checagem, que pode pesar tendo, seilá, 20 mil players online, mas essas coisa básicas acho que eles podiam tirar um tempo pra pensar e fazer pois todas as atualizações recentes são mounts e quests novas e o Tibia tá perdendo o roleplaying
  7. try without the , true in the teleportThing then try replacing with this: doMoveCreature(target, getDirectionTo(getCreaturePosition(target), toPosition))
  8. @blackz, testa assim então: function getDistance(fromPos, toPos) local pos = { x = fromPos.x - toPos.x, y = fromPos.y - toPos.y, z = fromPos.z } return pos end function onAttack(cid, target) if isCreature(cid) and isCreature(target) then local pos = getDistance(getCreaturePosition(cid), getCreaturePosition(target)) dir = getDirectionTo(getCreaturePosition(cid), getCreaturePosition(target)) if isInArray({0,1,2,3}, dir) then doCreatureSetLookDirection(cid, dir) else if pos.y > 0 then doCreatureSetLookDirection(cid, 0) else doCreatureSetLookDirection(cid, 2) end end end return true end
  9. do jeito que vc pediu: <instant name="TK" words="shyv" lvl="8" mana="35" prem="0" exhaustion="1500" needlearn="0" event="script" value="especiais/shyv.lua"> </instant>
  10. try changing it to number, in your constant.lua in the lib folder you'll see something like this: CALLBACK_PARAM_TARGETCREATURE = 4 then just switch: setCombatCallback(combat, 4, "onTargetCreature") sometimes it works..
  11. http://www.tibiaking.com/forum/topic/39707-pedido-exp-ring-que-aumenta-20-de-exp/ http://www.tibiaking.com/forum/topic/11339-anel-de-experiencia-exp-ring/
  12. http://www.tibiaking.com/forum/topic/8223-mod-reflect-system-01/
  13. it's a problem within this lines function onTargetCreature(cid, target) doPushCreature(target, cid) end setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") somehow your server doesn't have this CALLBACK_PARAM_TARGETCREATURE but I thought all revs come with that, dunno how to fix it w/o source editing
  14. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    dá algum erro no console do server ou só não aparece a msg? que versão é seu server?
  15. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    primeiro tem que ver se a função que vc quer é source made ou lua made.. se for source made é pela source e se for lua made deve estar em data/lib a função pronta, dai vc só coloca na lib do server atual e já era.
  16. tem que adicionar em items.xml e em weapoms.xml ein...
  17. xWhiteWolf postou uma resposta no tópico em Playground (Off-topic)
    eu ia comentar mas nukaram minha net aqui.... não, pera
  18. só precisa da statschange que nem o orochi disse.
  19. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    tem que resolver agora cara, se não funcionar me manda o print doque aparece, seja o erro no console ou a mensagem que aparece pro player local vocations = {11, 16, 21} local ids_bloqueados = {2160, 5706, 7893, 7892, 7894, 7895, 7896, 7897, 7898, 7899, 7901, 7902, 2640, 6132, 2195, 9932, 9933, 11350, 11297, 3982, 8857, 8855, 8856, 7438, 8858, 8854, 2456, 7366, 5907, 3965, 7378, 2389, 7367, 7368, 2425, 9932} local controle = { {level = 0, quantOre = 1, chance = 48}, {level = 1, quantOre = 2, chance = 33}, {level = 2, quantOre = 3, chance = 28}, {level = 3, quantOre = 4, chance = 27}, {level = 4, quantOre = 5, chance = 24}, {level = 5, quantOre = 6, chance = 20}, {level = 6, quantOre = 7, chance = 10}, {level = 7, quantOre = 8, chance = 8}, {level = 8, quantOre = 9, chance = 5}, {level = 9, quantOre = 10, chance = 2} } function getItemLevel(uid) if uid > 0 then return getItemAttribute(uid, "lvl") or 0 end return false end function doItemAddLevel(uid, count) if uid > 0 and tonumber(count) > 0 then return doItemSetAttribute(uid, "lvl", getItemLevel(uid) + count) end return false end function onUse(cid, item, fromPosition, itemEx, toPosition) if not isInArray(vocations, getPlayerVocation(cid)) then doPlayerSendCancel(cid, "Apenas blacksmiths podem refinar.") return false end if isInArray(ids_bloqueados, itemEx.itemid) then doPlayerSendCancel(cid, "Este item nao pode ser refinado.") return false end if getItemInfo(itemEx.itemid).attack > 0 or getItemInfo(itemEx.itemid).defense > 0 or getItemInfo(itemEx.itemid).armor > 0 then for _, upgrade in pairs(controle) do local atk = getItemAttribute(itemEx.uid, "attack") or getItemInfo(itemEx.itemid).attack local def = getItemAttribute(itemEx.uid, "defense") or getItemInfo(itemEx.itemid).defense local arm = getItemAttribute(itemEx.uid, "armor") or getItemInfo(itemEx.itemid).armor local chance = math.random(1, 100) if getItemLevel(itemEx.uid) == upgrade.level then if doPlayerRemoveItem(cid, 5880, upgrade.quantOre) then doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_CRAPS) if chance <= upgrade.chance then if getItemLevel(itemEx.uid) == 0 then doItemSetAttribute(itemEx.uid, "description", "Esse item foi refinado por " ..getCreatureName(cid)) end doItemAddLevel(itemEx.uid, 1) doItemSetAttribute(itemEx.uid, "name", getItemNameById(itemEx.itemid).. " + " ..getItemLevel(itemEx.uid)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce refinou com sucesso!") if atk > 0 then doItemSetAttribute(itemEx.uid, "attack", atk + 1) return true elseif arm > 0 then doItemSetAttribute(itemEx.uid, "armor", arm + 1) return true elseif def > 0 then doItemSetAttribute(itemEx.uid, "defense", def + 1) return true end else doTransformItem(itemEx.uid, 2256) doItemSetAttribute(itemEx.uid, 'name', "metal trash") doItemSetAttribute(itemEx.uid, 'attack', 0) doItemSetAttribute(itemEx.uid, 'armor', 0) doItemSetAttribute(itemEx.uid, 'defense', 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce falhou.") return true end else doPlayerSendCancel(cid, "Voce nao tem iron ores o suficiente. Voce precisa de "..upgrade.quantOre.." iron ores.") end end end else doPlayerSendCancel(cid, "Esse item nao pode ser refinado.") end return true end
  20. O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Suporte OTServ → Suporte de Scripts" Para: "OTServ → Suporte OTServ → Suporte de Servidores Derivados"
  21. em lua que você usa no open tibia não faz muito sentido usar return (com excessão de algumas funções que precisam retornar algo ou nos callbacks) mas em java, por exemplo, tem de maneira bem definida o motivo de se usar return. da mesma forma que vc tem algumas spells feitas dessa maneira aqui: function onCastSpell(cid, var) return doCombat(cid, combat, var) end você poderia muito bem apenas fazer isso: function onCastSpell(cid, var) doCombat(cid, combat, var) return true end o motivo principal de você poder colocar return 1 ou return TRUE e dar certo é porque lua tem uma propriedade de considerar como true qualquer variável ou numero existente. se eu fizer local FALSE = "auhhueuhaiuehu" e por return FALSE ele vai verificar se FALSE existe e já que eu defini anteriormente que ele existe e tem o valor de uma string "auhhueuhaiuehu" então ele vai entender FALSE como true e executar tudo certinho. nil e false PODEM ser interpretados como false dependendo do caso mas eles são coisas diferentes visto que o primeiro representa um valor nulo e o segundo um valor inexistente ou falso. em java temos classes de funções que retornam coisas e elas são definidas da seguinte maneira: public ____ NomeDaFunção (parametros) { // oque a função faz aqui return (algo do mesmo tipo que ____) } ali no ____ eu posso colocar int, double, arrayList, array, string, boolean e outros tipos (int são numeros inteiros e double são números com virgula.) então uma função simples que retorna multiplicação de dois números seria assim: public int multiplication (int a, int b) { return a * b } e qnd eu usasse a = multiplication(5, 10) iria automaticamente setar a como sendo 50 pois é oque a função retorna. Analogamente temos funções que não retornam nada, elas só fazem alguma coisa sem retornar nada e por isso são do tipo "void" public void mandarMensagem() { print("Insira a mensagem aqui") } e se eu fizer a = mandarMensagem() vai setar a como sendo nil pois essa função não retorna nada. Entendeu + ou - agora?
  22. vc quer que saia um efeito só na area e dê dano usando 4 elementos diferentes ou que saia 4 efeitos de area e 1 dano só? Quais serão os tipos de combat que vc quer que use e os efeitos? Qual a versão do servidor? Quer que tenha algum intervalo entre os danos ou pode ser tudo de uma vez só?
  23. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    usa esse daqui e vê se funfa: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 16, 16, 26, 36) function onCastSpell(cid, var) return doCombat(cid, combat, var) end

Informação Importante

Confirmação de Termo