-
Total de itens
43 -
Registro em
-
Última visita
Tudo que razurator postou
-
Agradeço muito Finiarel, o problema é que o conceito é como se ele saísse girando e andando com a espada, então eu preciso que cada "pancada" seja na position atual dele. Já as formulas ajudaram bastante.
-
Olá xTibianos, estou precisando fazer uma magia que é na verdade um exori gran, mas ao em vez de soltar uma vez o efeito a magia faz esse mesmo efeito 5 vezes com intervalos de 0,5 a 1 segundo(s), e com o dano dividido entre cada turno. Agradeço desde já se for possível me dar um suporte para isso. Aproveitando o tópico e sem fugir nada do assunto, estou precisando entender como o dano das magias é calculado, mas não achei aqui no forum. Exemplo: setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 10, 14) Eu sei que alterando os números eu altero o resultado, mas não faço ideia do que é o que. Para as vocations eu também não entendo nada, sempre fui com a cara e com a coragem, mas procuro entender isso agora Desculpas antecipadas se fugi do assunto. Em caso de lugar inapropriado, favor desconsiderar a parte contraria ao titulo.
-
Obrigado, já estou conseguindo resultados com a ajuda de vocês. Acho que a partir de agora já da pra tocas com a minha equipe.
-
Obrigado pela resposta amoeba13. No entanto, vou deixar o tópico aberto para coletar mais conteúdo, caso isso seja permitido até que eu perceba que minha duvida foi completamente sanada.
-
Olá xTibianos, estou com uma equipe formada para a confecção de um Open Tibia no estilo MOBA e não sei se será possível programar os monstros que desejamos. Seria possível fazer algo como transformar os monstros em BOTs para que eles nasçam em um lugar, se desloquem para o local desejado e passem a lutar entre si e façam coisas como atacar players como nos MOBAs. Estou com dois programadores iniciantes cursando prontos para treinar sua habilidades num server de Tibia e se isso for possível então passa a ser um pedido ao em vez de uma duvida. Se fosse possível que alguém dispusesse pelo menos a logica empregada aos parâmetros do Tibia, já seria de grande ajuda. Agradeço desde já apenas a atenção e claro que vai ganhar REP+
-
Obrigado pelo incentivo. A proposito, o que esta ruim? Sabendo o que esta ruim eu posso evoluir no determinado aspecto.
-
Obrigado, realmente, como você disse eu estou focado no gameplay justamente para aumentar a experiência do jogador. A intenção é tornar o roleplay mais presente sem dar aos jogadores um mapa desprovido de arte.
-
Mapa em desenvolvimento para o projeto "Hall of the Gods - Open Tibia Server". Por favor me deem alguma sugestão e critiquem a vontade, só não vale esculacho. Simples área de Wyverns: Esconderijo dos Minotaurs: Montanha dos Cyclops: Montanhas dos Cyclops 2: Hall dos Cyclops (Montanha dos Cyclops -2): Sala de Smithing (montanha dos Cyclops -3): Ruínas de uma cidade abandonada: Ruinas 2: Ruínas 3: Ruinas 4: Sala do rei (templo +1): Sei que não é aqui o lugar ideal mas se tiver alguém interessado eu estou procurando pessoas para terminar esse mapa. OBS: Não sei colocar dentro de SPOILER caso o numero de imagens esteja incomodando.
-
Testarei, e caso ocorra algum erro eu posto uma Screen Shot pra ficar mais claro. Prometi Screen Shot do erro mas simplesmente não pega e também não esta dando erro, mas da ultima vez que deu erro é algo relacionado ao script não conseguir localizar a creature para adicionar a condition. Apenas a animação de red stars esta pegando mas os damages periódicos não sobem.
-
Na minha pasta data esta escrito CONDITION_PHYSICAL tanto na magia de dispel Cure Bleeding (utorikor) quanto na pasta data/lib. Cure Bleeding (utori kor): local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PHYSICAL) function onCastSpell(cid, var) return doCombat(cid, combat, var) end data/lib/constant.lua CONDITION_NONE = 0 CONDITION_POISON = 1 CONDITION_FIRE = 2 CONDITION_ENERGY = 4 CONDITION_PHYSICAL = 8 CONDITION_HASTE = 16 CONDITION_PARALYZE = 32 CONDITION_OUTFIT = 64 CONDITION_INVISIBLE = 128 CONDITION_LIGHT = 256 CONDITION_MANASHIELD = 512 CONDITION_INFIGHT = 1024 CONDITION_DRUNK = 2048 CONDITION_EXHAUST = 4096 CONDITION_FOOD = 8192 CONDITION_REGENERATION = 8192 CONDITION_SOUL = 16384 CONDITION_DROWN = 32768 CONDITION_MUTED = 65536 CONDITION_ATTRIBUTES = 131072 CONDITION_FREEZING = 262144 CONDITION_DAZZLED = 524288 CONDITION_CURSED = 1048576 CONDITION_PACIFIED = 2097152 CONDITION_GAMEMASTER = 4194304 CONDITION_HUNTING = 8388608 tentarei substituir no lib e nas magias para CONDITION_BLEEDING. E quanto ao problema de limite de uso da magia? Pois os players não poderão aplicar mais de uma bleed em cada target, não sei como fazer isso.
-
Bom eu não queria mais encher teu saco com aquela spell mas em fim, vamos la: local damage = COMBAT_PHYSICALDAMAGE local effect = CONST_ME_DRAWBLOOD local animation = CONST_ANI_REDSTAR local rounds = 15 local delay = 3 * 1000 local condition = createConditionObject(CONDITION_PHYSICAL) local function doCombatCondition(cid, target, type, area, min, max, effect, rounds) if isCreature(target) then if getCreatureCondition(target, CONDITION_PHYSICAL) then doAreaCombatHealth((isCreature(cid) and cid or 0), type, getThingPosition(target), area, min, max, effect) if rounds > 0 then addEvent(doCombatCondition, delay, cid, target, type, area, min, max, effect, (rounds - 1)) end end end return true end function onCastSpell(cid, var) local formula_min = getPlayerLevel(cid) * 0.27 local formula_max = getPlayerLevel(cid) * 0.30 local target = variantToNumber(var) if getDistanceBetween(getThingPosition(target), getThingPosition(cid)) < 6 then doSendDistanceShoot(getThingPosition(cid), getThingPosition(target), animation) end addEvent(doCombatCondition, delay, cid, target, damage, 0, -formula_min, -formula_max, CONST_ME_DRAWBLOOD, rounds) return true end OBS: me parece que não tem nada de errado com o script mas ele parou de funfar, ja que foi você que o fez, teria como arrumar pra mim? te dou REP +
-
Eu queria saber como colocar um storage em uma spell de modo que ela não possa ser usada no mesmo alvo 2 vezes até que o efeito da primeira tenha acabado. No caso é uma condition. exemplo: function onCastSpell(cid, var) local storage = 23010 local spellname = "Ignite" local time = 30 if exhaustion.check(cid, storage) == false then exhaustion.set(cid, storage, time) return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "") end end no script a sima temos um local storage de id 23010. A minha real duvida é como saber se o numero de um storage já existe pois eu vejo varias congruências entre os ID de storage em magias de mesmo gênero como Recovery e Intense Recovery que levam respectivamente 23015 e 23011, números muito próximos entre si.
-
Exatamente cara, exana kor da dispel em condition bleeding se for isso mesmo então minha nova classe está pronta graças a vosso conhecimento. Muito obrigado, duvida sanada.
-
vlw cara! Só tenho mais uma duvida: Eu vou ter como dar exana kor (dispel) nisso ou terei que fazer um script diferente para ela?
-
esta pegando bunitinho mas teria como colocar uma distanceEffect para mim local damage = COMBAT_PHYSICALDAMAGE local rounds = 15 local delay = 3 * 1000 local function doCombatCondition(cid, target, type, area, min, max, effect, distanceEffect, rounds) if isCreature(target) then doAreaCombatHealth(cid, type, getThingPosition(target), area, min, max, effect) if rounds > 0 then addEvent(doCombatCondition, delay, cid, target, type, area, min, max, effect, distanceEffect, (rounds - 1)) end end return true end function onCastSpell(cid, var) local formula_min = getPlayerLevel(cid) * 0.28 local formula_max = getPlayerLevel(cid) * 0.30 local target = variantToNumber(var) addEvent(doCombatCondition, delay, cid, target, damage, 0, -formula_min, -formula_max, CONST_ME_HITAREA, CONST_ANI_REDSTAR, rounds) return true end tentei fazer mas acho que fiz cáca psakspaks.
-
Então, mas teria como eu fazer um novo script para essa magia especificando como ela deveria agir? No caso dizendo a ela quanto de damage, o intervalo entre um e outro e quantos damages.
-
Olá venho tentando alterar a magia de BLEED para que ela não desfira sempre o mesmo dano mas sim um dano de acordo com o level e o skill. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_EFFECT, 0) setCombatParam(combat, COMBAT_PARAM_USECHARGES, true) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_REDSTAR) local condition = createConditionObject(CONDITION_PHYSICAL) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, 15, 3000, -70) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Por favor, como faço para colocar esse damage no lugar de [-70] function getSpellDamage(cid, lv, skill) damage_min = (lv + skill) * 0.20 damage_max = (lv + skill) * 0.25 if(damage_max < damage_min) then local tmp = damage_max damage_max = damage_min damage_min = tmp end return -damage_min, -damage_max end Agradeço deis de já a quem me ajudar. Dou REP+ se me ajudarem e explicarem como faz
-
Vou testar aqui, caso pegue tranquilamente é REP+ na veia. Pegou perfeitamente
-
No momento essa magia teleporta para a posição do inimigo, mas se o inimigo esta parado ele acaba por empurra-lo. Eu queria que ele se teleporte para uma posição randômica de (x,y) a partir do enemypos. (enemypos+n) ou seja, do lado, atras na frente ou até diagonal do inimigo se houver espaço. local distanceCombat = createCombatObject() setCombatParam(distanceCombat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(distanceCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SPEAR) function getSpellDamage(cid, lv) damage_min = lv * 2 damage_max = lv * 1 if(damage_max < damage_min) then local tmp = damage_max damage_max = damage_min damage_min = tmp end return -damage_min, -damage_max end setCombatCallback(distanceCombat, CALLBACK_PARAM_SKILLVALUE, "getSpellDamage") function onCastSpell(cid, var) local player = getCreaturePosition(cid) local target = getCreatureTarget(cid) local enemypos = getCreaturePosition(target) if target == isMonster or isCreature then doTeleportThing(cid, enemypos) doSendMagicEffect(player, 61) doCombat(cid, distanceCombat, var) return 1 else doPlayerSendCancel(cid, "You need a taget.") end end
-
Eu queria fazer uma magia que alterasse o elemento da "varinha" (wand ou rod não existente), pois eu vou criar uma classe que é uma mistura de druid com sorcerer e não pretendo apenas colocar a vocation para que a classe possa usar todos os elementos. Pretendo fazer um controlador dos 4 elementos sem ser especializado em nenhum mas que tenha algumas regarias como essa de não precisar comprar uma próxima arma magica para atacar e sim apenas mudar o elemento atraves de uma magia, o dano seria calculado de acordo com o level ou eu posso fazer staffs encantáveis para venda para os leveis equivalentes ao que sercerers e druids trocam de arma. um exemplo de magia que já faz isso é o da enchanted staff, porém ele apenas muda os status da arma e a sprite. No meu caso mudaria o elemento, a descrição mas não a sprite. Eu sei que é pedir muito mas se tem alguém ai com fome de desafio, acho que essa é uma boa oportunidade. Se alguém conseguir fazer pelo menos a logica do script já é muito bem vindo. vale REP+
-
ve se pega assim ali no local sys: local sys = createConditionObject(CONDITION_OUTFIT) setConditionParam(sys, CONDITION_PARAM_TICKS, 80000) addOutfitCondition(sys, outfit) setCombatCondition(combat, sys)
-
Já que ainda não foi reportado tem como postar isso ai pra mim só que com a formula em porcentagem da vida do atacante?
-
Bacana ou essa função não existe ou ninguém ta afim de me ajudar. Para facilitar a vida dos scripters eu consegui fazer com que ele se transforme mas não consigo fazer as condições se é que da pra fazer Segue o script. local outfit = {lookType = 67} local tempo = 40 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local sys = createConditionObject(CONDITION_OUTFIT) setConditionParam(sys, CONDITION_PARAM_TICKS, 40000) addOutfitCondition(sys, outfit) setCombatCondition(combat, sys) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
- 1 resposta
-
- condições
- transformar
-
(e 3 mais)
Tags:
-
Pegou certinho cara "REPUTACIONADO"!! Aproveita e da uma olha no meu outro content de pedidos que ninguem respondeu eusuehsue
- 4 respostas
-
- transformar
- caster
-
(e 1 mais)
Tags:
-
Estou tentando criar uma magia na qual o caster fica com duas condições mas uma delas não pega de jeito nenhum. A condição que não pega é a da outfit do "Stone Golem". local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 40000) setConditionParam(condition, CONDITION_PARAM_STAT_MAXHEALTHPERCENT, 130) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELDPERCENT, 130) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) function onCastSpell(cid, var) local condition2 = createConditionObject(CONDITION_OUTFIT) setConditionParam(condition, CONDITION_PARAM_TICKS, 40000) setCombatCondition(combat, condition2) if isPlayer then addOutfitCondition(condition2, 67, 20, 30, 40, 50) end return doCombat(cid, combat, var) end a função na qual eu estou tentando utilizar para transformar o caster em bixo é: addOutfitCondition(condition, lookTypeEx, lookType, lookHead, lookBody, lookLegs, lookFeet) Porém no arquivo stone golem.xml não existe (lookTypeEx) <<< também não sei o que significa Valento REP++
- 4 respostas
-
- transformar
- caster
-
(e 1 mais)
Tags:
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.