
Tudo que xWhiteWolf postou
-
(Resolvido)Atributos diferentes nos items
Se a dúvida foi respondida clica em "Melhor Resposta" embaixo do comentário que a resolveu.
-
[AJUDA] Vocação suprema dando erro no console
rapaz, vc tem que setar vocation 12 pro player, pelo erro que tá dando ai vc setou vocation 4294967295
-
talkaction !status
- (Resolvido)Atributos diferentes nos items
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- Sistema de Auto-Facing: Vire Automaticamente para o Target ao Atacar (TFS 0.3.6)
Você tá corretíssimo em tudo que falou... e pra piorar ainda tem OT's que são melhores que o global huahuaha- (Resolvido)Atributos diferentes nos items
/\ 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.- Sistema de Auto-Facing: Vire Automaticamente para o Target ao Atacar (TFS 0.3.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- Puxar/Empurrar (conjunto de spells)
- Sistema de Auto-Facing: Vire Automaticamente para o Target ao Atacar (TFS 0.3.6)
cipsoft suks uhahuehua deviam ter me contratado...- Sistema de Auto-Facing: Vire Automaticamente para o Target ao Atacar (TFS 0.3.6)
@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- Spell que anda e tira dano
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>- Puxar/Empurrar (conjunto de spells)
- (Resolvido)Potion ou Ring
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/- (Resolvido)Aol infinito com buff e ring infinito q reflete
http://www.tibiaking.com/forum/topic/8223-mod-reflect-system-01/- Puxar/Empurrar (conjunto de spells)
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- talkaction !status
dá algum erro no console do server ou só não aparece a msg? que versão é seu server?- Funções novas
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.- (Resolvido)Adicionando Weapons [HELP!]
tem que adicionar em items.xml e em weapoms.xml ein...- Matheus QQ vc fez ?
eu ia comentar mas nukaram minha net aqui.... não, pera- (Resolvido)Monstros/Players Attack
só precisa da statschange que nem o orochi disse.- Script Refine
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- Dano por Atributo / Party exp
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"- Duvida básica sobre return
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?- [AJUDA] Attack Em Area 4 Elementos
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ó?- Nenhuma magia heala
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 - (Resolvido)Atributos diferentes nos items
Informação Importante
Confirmação de Termo