Ir para conteúdo

Luccan Medeiros

Membro
  • Registro em

  • Última visita

Tudo que Luccan Medeiros postou

  1. como adicionar essa tag SPELL_NAME_INSTEAD_WORDS no tfs 1.2
  2. tenta procurar no config.lua ou na pasta creaturescripts
  3. fmz, qnd chegar em casa ja tento so uma pergunta..se eu mudar no creature.cpp pra colocar um efeito no CONDITION_EXHAUST_COMBAT assim void Creature::onWalk(Direction& dir) { if (hasCondition(CONDITION_EXHAUST_COMBAT)) { uint32_t r = uniform_random(0, 20); if (r <= DIRECTION_DIAGONAL_MASK) { if (r < DIRECTION_DIAGONAL_MASK) { dir = static_cast<Direction>(r); } g_game.addMagicEffect(getPosition(), CONST_ME_STUN); } } } funciona de boa? é a msm coisa do CONDITION_DRUNK so mudei g_game.internalCreatureSay(this, TALKTYPE_MONSTER_SAY, "Hicks!", false); por: g_game.addMagicEffect(getPosition(), CONST_ME_STUN);
  4. fmz mano, eu ainda n testei o primeiro pq n cheguei em casa pra abrir o tfs e testar :D mais ja salvei aki e assim q eu chegar ja vejo, se funcionar eu dou um beijo na sua bunda
  5. xWhiteWolf como eu faço isso criar dois combat:setCallback da uma maozinha eu ainda n testei do jeito do Reds
  6. fala pessoal, eu precisava de ajuda com essa spells pra colocar uma chance em % do condition Exhasted combat acertar o outro player sem que interfira no local combat local combat = Combat() combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE) combat:setParameter(COMBAT_PARAM_BLOCKARMOR, 1) combat:setParameter(COMBAT_PARAM_USECHARGES, 1) function onGetFormulaValues(player, skill, attack, factor) local skillTotal = skill * attack local levelTotal = player:getLevel() / 5 return -(((skillTotal * 0.01) + 1) + (levelTotal)), -(((skillTotal * 0.03) + 6) + (levelTotal)) end local exhaust = Condition(CONDITION_EXHAUST_COMBAT) exhaust:setParameter(CONDITION_PARAM_TICKS, 1000) combat:setCondition(exhaust) local exhaustAttackGroup = Condition(CONDITION_SPELLGROUPCOOLDOWN) exhaustAttackGroup:setParameter(CONDITION_PARAM_SUBID, 1) exhaustAttackGroup:setParameter(CONDITION_PARAM_TICKS, 1000) combat:setCondition(exhaustAttackGroup) combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(creature, var) return combat:execute(creature, var) end
  7. Luccan Medeiros postou uma resposta no tópico em Suporte Tibia OTServer
    qual seu tfs?
  8. @luccan.medeiros ou whats 019981783693
  9. essa spell ela é muito top ela funciona para todas os tfs menos o tfs 1.2 precisava de uma força
  10. Olaa, eu preciso de ajuda com npc de viagem vc chega fala um numero e ele leva pra tal hunt, so q tem um problema que ele so leva ate o numero 9 do 10 em diante nao da pra falar
  11. arruma ali needpremium="2" coloca 1 no lugar do 2 nas novas vocations
  12. vc so pode usar o comando dentro do temple ou depot
  13. tente mudar em fromvoc='"x" coloque desse jeito <vocation id="9" name="Hell Wizard" description="a hell wizard" needpremium="2" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="1000" soulmax="200" gainsoulticks="15" fromvoc="5" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="10" name="High Saintess" description="a high saintess" needpremium="2" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="10" gainmanaticks="2" gainmanaamount="10" manamultiplier="1.1" attackspeed="1000" soulmax="200" gainsoulticks="15" fromvoc="6" lessloss="50"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="11" name="Force Archer" description="a force archer" needpremium="2" gaincap="20" gainhp="10" gainmana="15" gainhpticks="3" gainhpamount="10" gainmanaticks="3" gainmanaamount="10" manamultiplier="1.4" attackspeed="700" soulmax="200" gainsoulticks="15" fromvoc="7" lessloss="50"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="12" name="Titan Blader" description="a titan blader" needpremium="2" gaincap="25" gainhp="15" gainmana="5" gainhpticks="8" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="900" soulmax="200" gainsoulticks="15" fromvoc="8" lessloss="50"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> </vocations>
  14. Fala galera do tibiaking, venho aki disponibilizar essa spell que a muito tempo eu procurei ela, um amigo meu direto do Egito que enviou, mas eu estou com um problema, ela funciona para qualquer outro tfs menos pro tfs 1.2, alguem poderia me da uma mao
  15. Gostaria de um amuleto que quando equipado aumenta em 10% o poder de cura de magias
  16. estou procurando alguem que trabalhe com spells que possa reservar um tempo para me ajudar com 5 spells nada complexo, por favor mandem pm eu estou a 3 meses empacado com essas 5 spells e nao consigo ninguem para me ajudar up
  17. alguem me ajudar a fazer essa condition a bater o mesmo level da pessoa que usar, agradeço desde ja pq n tenho ideia de como fazer local condition = Condition(CONDITION_FIRE) condition:setParameterCONDITION_PARAM_DELAYED, 1) condition:addDamage(5, 3000, -25) condition:addDamage(1, 5000, -666) local combat = Combat() combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) combat:setFormula(COMBAT_FORMULA_LEVELMAGIC, -1.3, -30, -1.7, 0) combat:setCondition(condition) function onCastSpell(creature, var, isHotkey) return combat:execute(creature, var) end
  18. Falaa galera do tibiaking, desculpe ta pedindo ajuda de vcs em pleno feriado, mais estou com dificuldades de adicionar novas conditions nesse scripts eu queria adicionar essas conditions abaixo e um condition que aumente 50% de speed do player CONDITION_PARAM_HEALTHGAIN CONDITION_PARAM_HEALTHTICKS CONDITION_PARAM_MANAGAIN CONDITION_PARAM_MANATICKS ---Script by mock the bear! local conditionMP,conditionHP,conditionML,conditionCLUB,conditionSHI,conditionDIST,conditionAMP = {},{},{},{},{},{},{} for i=1,100 do ---Carrega as conditions --- HP conditionHP[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionHP[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionHP[i], CONDITION_PARAM_STAT_MAXHEALTHPERCENT, 100+i) setConditionParam(conditionHP[i], CONDITION_PARAM_BUFF, true) setConditionParam(conditionHP[i], CONDITION_PARAM_SUBID, 50) --MANA conditionMP[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionMP[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionMP[i], CONDITION_PARAM_STAT_MAXMANAPERCENT, 100+i) setConditionParam(conditionMP[i], CONDITION_PARAM_BUFF, true) setConditionParam(conditionMP[i], CONDITION_PARAM_SUBID, 51) --Magic level conditionML[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionML[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionML[i], CONDITION_PARAM_STAT_MAGICLEVEL, i) setConditionParam(conditionML[i], CONDITION_PARAM_BUFF, true) setConditionParam(conditionML[i], CONDITION_PARAM_SUBID, 52) --club axe sword conditionCLUB[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionCLUB[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionCLUB[i], CONDITION_PARAM_SKILL_CLUB, i) setConditionParam(conditionCLUB[i], CONDITION_PARAM_SKILL_SWORD, i) setConditionParam(conditionCLUB[i], CONDITION_PARAM_SKILL_AXE, i) setConditionParam(conditionCLUB[i], CONDITION_PARAM_BUFF, true) setConditionParam(conditionCLUB[i], CONDITION_PARAM_SUBID, 53) --- shield conditionSHI[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionSHI[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionSHI[i], CONDITION_PARAM_SKILL_SHIELD, i) setConditionParam(conditionSHI[i], CONDITION_PARAM_BUFF, true) setConditionParam(conditionSHI[i], CONDITION_PARAM_SUBID, 54) --- dist conditionDIST[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionDIST[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionDIST[i], CONDITION_PARAM_SKILL_DISTANCE, i) setConditionParam(conditionDIST[i], CONDITION_PARAM_BUFF, true) setConditionParam(conditionDIST[i], CONDITION_PARAM_SUBID, 55) end function getSlotType(n) --By mock the bear if not n then return false end if n:match('%[(.+)%]') then n = n:match('%[(.+)%]') if n == '?' then return 0,n else return n:match('(.-)%.([+-])(%d+)%%') end else return false end end local function loadSet(cid) local t = {} for slot=1,9 do t[slot] = '' local s = getPlayerSlotItem(cid,slot).uid if s ~= 0 then t[slot] = getItemName(s) end end return t end function isInArray2(arr,var) -- Because in some servers it return 1 and 0 and others true and false for i,b in pairs(arr) do if var == b then return true end end return false end function check2(cid,i) if i == 5 or i == 6 then if isInArray({'head','necklace','backpack','body','legs','feet','ring'},getItemValue(getPlayerSlotItem(cid,i).itemid,'slotType') or '') then return false end end return true end function chk(cid,f) if not isPlayer(cid) then return end local t = loadSet(cid) for i=1,#f do if f[i] ~= t[i] then equip(cid,nil,slot) break end end addEvent(chk,100,cid,t) end items = { ---- Only to get attr: slotType because getItemName dont return it -.-' _VERSION='1.0 By mock', XML_DIR='data/items/items.xml', } do local ia = os.clock() io.write('Loading items') local i = io.open(items.XML_DIR,'r') local u = i:read(-1) i:close() local u = u:match('<items>(.+)</items>') for mi,id,mid,name,data,me in u:gmatch('<(%a-)%s*id%s*=%s*"(%d+)"%s*(.-)%s*name%s*=%s*"(.-)"%s*>(.-)</(%a*)>') do if mi == 'item' and me == 'item' then local td = {name=name,id=id,type=1} for key,value in data:gmatch('<attribute key="(.-)" value="(.-)"/>') do td[key] = value end for key,value in mid:gmatch('(.-)="(.-)"') do td[key] = value end items[tonumber(id)] = td items[name] = td end end for mi,id,mid,name,data in u:gmatch('<(%a-)%s*id%s*=%s*"(%d*)"%s*(.-)%s*name%s*=%s*"(%a+)"%s*/>') do if mi == 'item' then local td = {name=name,id=id,type=2} for key,value in mid:gmatch('(.-)="(.-)"') do td[key] = value end items[tonumber(id)] = td items[name] = td end end io.write('[done '..os.clock()-ia..']\n') end function getItemValue(item,value) return items[item] and items[item][value] end function equip(cid,item,slot) --By mock the bear local HP = getCreatureHealth(cid) local MP = getCreatureMana(cid) local t = {} if item then local mm,sinal,qto = getSlotType(getItemName(item.uid)) t[mm] = tonumber(qto) end for i=1,9 do if i ~= 5 and i ~= 6 then if i ~= slot then if getPlayerSlotItem(cid,i).itemid ~= 0 then local aab = getPlayerSlotItem(cid,i).uid if aab and check2(cid,i) then for _ in getItemName(aab):gmatch('(%[.-%])') do local mm,sinal,qto2 = getSlotType(_) if mm then if not t[mm] then t[mm] = 0 end t[mm] = t[mm]+tonumber(qto2) t[mm] = t[mm] > 100 and 100 or t[mm] end end end end end end end local fu = 0 local ca = {} local s = '' for sl,n in pairs(t) do fu = fu+1 s = s..''..n..'% more of '..sl..'\n' if sl == 'Health' then doAddCondition(cid,conditionHP[tonumber(n)]) ca[50] = 1 elseif sl == 'Mana' then doAddCondition(cid,conditionMP[tonumber(n)]) ca[51] = 1 elseif sl == 'Magically' and getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 5 or getPlayerVocation(cid) == 6 or getPlayerVocation(cid) == 11 or getPlayerVocation(cid) == 12 then doAddCondition(cid,conditionML[tonumber(n)]) ca[52] = 1 elseif sl == 'cas' and getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 7 or getPlayerVocation(cid) == 8 or getPlayerVocation(cid) == 13 or getPlayerVocation(cid) == 14 then doAddCondition(cid,conditionCLUB[tonumber(n)]) doAddCondition(cid,conditionDIST[tonumber(n)]) doAddCondition(cid,conditionSHI[tonumber(n)]) ca[53] = 1 ca[55] = 1 ca[54] = 1 elseif sl == 'shield' then doAddCondition(cid,conditionSHI[tonumber(n)]) ca[54] = 1 elseif sl == 'Distance' and getPlayerVocation(cid) == 3 then doAddCondition(cid,conditionDIST[tonumber(n)]) ca[55] = 1 end end if fu > 0 then for i=50,55 do if not ca[i] then doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) end end else for i=50,55 do doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) end end return true end function onLogin(cid) ---Script by mock the bear! equip(cid,nil,slot) addEvent(chk,100,cid,loadSet(cid)) -- Here we check! return TRUE end
  19. sim as duas sao totalmente diferente uma da outra, so q o script é parecido so muda os efeitos e o hitdamage, mais qnd eu vou usar so funciona um deles
  20. ta tudo certo,o script rage of skies é pra sair efeito deferente do outro mais os dois sai iguais mais nao sai cada scritps com nome diferente e uma tag para cada um eu quero q seja diferente assim, mais eu tive q apagar o outro script
  21. eu to ligado, mais esse script ele so funciona um, pode ter 10 scripts, 10 nomes diferentes de diferentes formas ele so vai funcionar um
  22. como faço pra usar essa spell em mais de um scrip, eu crio dois scripts diferentes mais quando vou usar so funciona 1 tipo alguem poderia e da uma mao function spellCallback(cid, position, count) if Creature(cid) then if count > 0 or math.random(0, 1) == 1 then position:sendMagicEffect(CONST_ME_MORTAREA) doAreaCombatHealth(cid, COMBAT_DEATHDAMAGE, position, 0, -99, -2001, CONST_ME_MORTAREA) end if count < 5 then count = count + 1 addEvent(spellCallback, math.random(1000, 3000), cid, position, count) end end end function onTargetTile(creature, position) spellCallback(creature:getId(), position, 0) end local combat = Combat() combat:setArea(createCombatArea(AREA_CROSS5X5)) combat:setCallback(CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(creature, var, isHotkey) return combat:execute(creature, var) end
  23. Alguem saberia como fazer uma spell multi target eu tenho um exemplo mais nao ta dando muito certo, alguem poderia me ajudar eu uso tfs 1.x
  24. as tags estao certas ja testei dos dois jeitos e nada de funcinoar
  25. nao funciona nada, nao aparece nenhum bug

Informação Importante

Confirmação de Termo