Postado Junho 18, 2016 9 anos queria ajuda com esse script para separar algumas conditions por vocaçao tipo na conditionML so funciona-se com druids e sorc e na conditionMELEE so funciona-se com paladin e knights local conditionSUP,conditionML,conditionMELEE,conditionSPEED,conditionWARLOCK,conditionAMP = {},{},{},{},{},{} for i=1,300 do conditionSUP[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionSUP[i], CONDITION_PARAM_SUBID, 50) setConditionParam(conditionSUP[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionSUP[i], CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 100+i) setConditionParam(conditionSUP[i], CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT, 100+i) conditionML[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionML[i], CONDITION_PARAM_SUBID, 51) setConditionParam(conditionML[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionML[i], CONDITION_PARAM_STAT_MAGICPOINTS, i) setConditionParam(conditionML[i], CONDITION_PARAM_SKILL_SHIELD, i) conditionMELEE[i] = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionMELEE[i], CONDITION_PARAM_SUBID, 52) setConditionParam(conditionMELEE[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionMELEE[i], CONDITION_PARAM_SKILL_MELEE, i) setConditionParam(conditionMELEE[i], CONDITION_PARAM_SKILL_SHIELD, i) setConditionParam(conditionMELEE[i], CONDITION_PARAM_SKILL_DISTANCE, i) conditionSPEED[i] = createConditionObject(CONDITION_HASTE) setConditionParam(conditionSPEED[i], CONDITION_PARAM_SUBID, 53) setConditionParam(conditionSPEED[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionSPEED[i], CONDITION_PARAM_SPEED, 50+i) conditionWARLOCK[i] = createConditionObject(CONDITION_REGENERATION) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_SUBID, 54) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_TICKS, -1) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_HEALTHGAIN, i) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_HEALTHTICKS, 2000) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_MANAGAIN, i) setConditionParam(conditionWARLOCK[i], CONDITION_PARAM_MANATICKS, 2000) end function getSlotType(n) 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] = Item(s):getAttribute(ITEM_ATTRIBUTE_DESCRIPTION) end end return t end function chk(cid,f) if not isPlayer(cid) then return false 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,2000,cid,t) end function check_slot(aab, i) if i == 5 or i == 6 then if isWeapon(aab) or isShield(aab) or isBow(aab) then return true end else return true end return false end function equip(cid,item,slot) local t = {} if item then local mm,sinal,qto = getSlotType(Item(item.uid):getAttribute(ITEM_ATTRIBUTE_DESCRIPTION)) t[mm] = tonumber(qto) end for i=1,9 do if i ~= slot then if getPlayerSlotItem(cid,i).itemid ~= 0 then local aab = getPlayerSlotItem(cid,i).uid if aab and check_slot(aab,i) then for _ in Item(aab):getAttribute(ITEM_ATTRIBUTE_DESCRIPTION):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] > 300 and 300 or t[mm] 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 == 'supreme' then doAddCondition(cid,conditionSUP[tonumber(n)]) Player(cid):addHealth(Player(cid):getMaxHealth() - Player(cid):getHealth()) ca[50] = 1 doSendTutorial(cid,19) elseif sl == 'magically' then doAddCondition(cid,conditionML[tonumber(n)]) ca[51] = 1 elseif sl == 'blessed' then doAddCondition(cid,conditionMELEE[tonumber(n)]) ca[52] = 1 elseif sl == 'speedy' then doAddCondition(cid,conditionSPEED[tonumber(n)]) ca[53] = 1 elseif sl == 'warlock' then doAddCondition(cid,conditionWARLOCK[tonumber(n)]) ca[54] = 1 end end if fu > 0 then for i=50,54 do if not ca[i] then doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) doRemoveCondition(cid,CONDITION_REGENERATION,i) doRemoveCondition(cid,CONDITION_HASTE,i) end end else for i=50,54 do doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) doRemoveCondition(cid,CONDITION_REGENERATION,i) doRemoveCondition(cid,CONDITION_HASTE,i) end end return true end function onLogin(creature) local cid = creature:getId() equip(cid,nil,slot) addEvent(chk,2000,cid,loadSet(cid)) return true end Editado Junho 18, 2016 9 anos por Luccan Medeiros (veja o histórico de edições)
Postado Junho 18, 2016 9 anos vc se refere ao treinamento de skills? Toda terça-feira um tópico novo: Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/ Peça sua spell (Suporte): https://tibiaking.com/forums/topic/84162-peça-sua-spell/ Chuva de flechas (Spell): https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/ Doom (Spell): https://tibiaking.com/forums/topic/51622-doom-spell/ Utilização do VS Code (Infra): https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/ SD com Combo (Spell): https://tibiaking.com/forums/topic/94520-sd-modificada/ Alteração attack speed (C++): https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/ Bônus de Speed (NPC): https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
Postado Junho 18, 2016 9 anos Autor nao nao esse é so as conditions depois desse tem outro em action onde o player usa em qualquer item local conf = { maxSlotCount=1, ignoredIds={} } function choose(...) local arg = {...} return arg[math.random(1,#arg)] end function onUse(cid, item, fromPosition, itemEx, toPosition) if isInArray({26032}, itemEx.itemid) then return false end if isCreature(itemEx.uid) then return false end local nam = Item(itemEx.uid):getAttribute(ITEM_ATTRIBUTE_DESCRIPTION) function getSlotCount(nam) local c = 0 for _ in nam:gmatch('%[(.-)%]') do c = c+1 end return c end if getSlotCount(nam) < conf.maxSlotCount then local l = choose('blessed') local p = (10) local armors = {1987,1988,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2365,3939,3940,3960,5801,5926,5927,5949,5950,7342,7343,9075,9077,9774,9775,10070,10518,10519,10520,10521,10522,11119,11241,11242,11243,11244,11263,15645,15646,16007,18393,18394,22696,23656,23659,24912,21518} if isInArray(armors, itemEx.itemid) then doSendMagicEffect(toPosition,30) nam = nam..' ['..l..'.+'..p..'%]' doPlayerSendTextMessage(cid, 20,l..'.+'..p..'%') doSetItemSpecialDescription(itemEx.uid, nam.."\nSpecial abilities: extra 10 sword, axe, club, distance and shield skills. \nIts Belongs "..getCreatureName(cid)..".") doRemoveItem(item.uid,1) else doPlayerSendTextMessage(cid, 20,"Slot limit reached.") end end return true end up
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.