Ir para conteúdo

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Solutions

  1. xWhiteWolf's post in (Resolvido)Monstro que enche vida e mana was marked as the answer   
    cria a spell que vai encher a vida/mana
    local config = { health = 300, mana = 300 } function onCastSpell(cid, var) if getCreatureMaster(cid) then local master = getCreatureMaster(cid) if isInParty(master) then local members = getPartyMembers(getPlayerParty(master)) local health = math.ceil( config.health / #members ) local mana = math.ceil( config.mana / #members ) for i = 1, #members do doCreatureAddHealth(members[i], health) doCreatureAddMana(members[i], mana) doSendAnimatedText(getCreaturePosition(members[i]), "+"..health, 18) doSendMagicEffect(getCreaturePosition(members[i]), 12) end else doCreatureAddHealth(master, config.health) doCreatureAddMana(master, config.mana) doSendAnimatedText(getCreaturePosition(master), "+"..config.health, 18) doSendMagicEffect(getCreaturePosition(master), 12) end end return true end declara ela e coloca pra só monstros poderem usar:
    <instant name="healmaster" words="healmaster" lvl="0" mana="0" prem="0" aggressive="0" exhaustion="1500" needlearn="1" event="script" value="especiais/healmaster.lua"> </instant> agora vá no xml do monstro que vc quer que solte essa magia e embaixo de 
    <defenses armor="7" defense="5"> coloque isso daqui:
      <defense name="healmaster" interval="10000" chance="99" duration="100">   </defense> No final, se seu monstro não usar nenhuma outra magia de defesa, deve ficar assim:
      <defenses armor="7" defense="5">   <defense name="healmaster" interval="10000" chance="99" duration="100">   </defense> </defenses> esse /defense fecha a magia e o /defenses fecha a armor lá em cima
  2. xWhiteWolf's post in (Resolvido)Spell que da muted no target was marked as the answer   
    local condition = createConditionObject(CONDITION_MUTED) setConditionParam(condition, CONDITION_PARAM_TICKS, 2000) local chance = 60 function silence(tar, text)     if(isCreature(tar) == true) then         doSendAnimatedText(getCreaturePosition(tar), text, 215)         doAddCondition(tar, condition)     end     return true end function onCastSpell(cid, var)     local tar = getCreatureTarget(cid)     if hasCondition(tar, CONDITION_MUTED) == true then         return false     else         if isCreature(tar) == true then if math.random(1,100) <= chance then local text = "SILENCE"                     silence(tar, text)      else local text = "MISS" doSendAnimatedText(getCreaturePosition(tar), text, 215) end         else             if isPlayer(cid) == true then                 doPlayerSendCancel(cid, "Silence can be cast only on other creatures.")             end             return false         end     end     return true end <instant name="Narutinho" words="naruto silence" lvl="300" mana="200" prem="1" range="4" needtarget="1" exhaustion="1000" needlearn="0" event="script" value="especiais/silencenaruto.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> </instant> 
  3. xWhiteWolf's post in (Resolvido)spell igual do video was marked as the answer   
    -- =============== COMBAT VARS =============== -- Areas/Combat for 100ms local combat1_Ice_Area_Hit = createCombatObject() setCombatParam(combat1_Ice_Area_Hit, COMBAT_PARAM_EFFECT, 5) setCombatParam(combat1_Ice_Area_Hit, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat1_Ice_Area_Hit,createCombatArea({ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 3, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } )) setCombatFormula(combat1_Ice_Area_Hit, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- Areas/Combat for 200ms local combat2_Ice_Area_Hit = createCombatObject() setCombatParam(combat2_Ice_Area_Hit, COMBAT_PARAM_EFFECT, 5) setCombatParam(combat2_Ice_Area_Hit, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat2_Ice_Area_Hit,createCombatArea({ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, })) setCombatFormula(combat2_Ice_Area_Hit, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- Areas/Combat for 300ms local combat3_Ice_Area_Hit = createCombatObject() setCombatParam(combat3_Ice_Area_Hit, COMBAT_PARAM_EFFECT, 5) setCombatParam(combat3_Ice_Area_Hit, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat3_Ice_Area_Hit,createCombatArea({ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, })) setCombatFormula(combat3_Ice_Area_Hit, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- Areas/Combat for 500ms local combat4_Ice_Area_Hit = createCombatObject() setCombatParam(combat4_Ice_Area_Hit, COMBAT_PARAM_EFFECT, 5) setCombatParam(combat4_Ice_Area_Hit, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat4_Ice_Area_Hit,createCombatArea({ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, })) setCombatFormula(combat4_Ice_Area_Hit, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) local function RunPart(c,cid,var,dirList,dirEmitPos,startDir) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do if (startDir == 0) then -- N doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) elseif (startDir == 2) then -- S doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i],y=dirEmitPos.y+dirList[i+1],z=dirEmitPos.z},dirList[1]) elseif (startDir == 1) then -- E doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i+1],y=dirEmitPos.y+dirList[i],z=dirEmitPos.z},dirList[1]) else -- W / Something weird happened doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i+1],y=dirEmitPos.y-dirList[i],z=dirEmitPos.z},dirList[1]) end i = i + 2 end  end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) local startDir = getCreatureLookDirection(cid) addEvent(RunPart,200,combat1_Ice_Area_Hit,cid,var) addEvent(RunPart,350,combat2_Ice_Area_Hit,cid,var) addEvent(RunPart,500,combat3_Ice_Area_Hit,cid,var) addEvent(RunPart,600,combat4_Ice_Area_Hit,cid,var) return true end <instant name="ahahahaa" words="testinho" lvl="16" mana="500" prem="1" range="3" direction="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="especiais/hahaha.lua"> <vocation id="3"/> <vocation id="7"/> </instant>
  4. xWhiteWolf's post in (Resolvido)Spell Henge No Justu was marked as the answer   
    <instant name="Nome Qualquer" words="henge no jutso" lvl="23" mana="25" range="4" needtarget="1" params="1" exhaustion="1000" blockwalls="1" needlearn="0" event="script" value="especiais/henge.lua"> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/></instant> function onCastSpell(cid, var) doSetCreatureOutfit(cid, getCreatureOutfit(variantToNumber(var)), 5000) return true end
  5. xWhiteWolf's post in (Resolvido)[Pedido] Max Ml was marked as the answer   
    tenta assim
    function onLogin(cid) if getPlayerMagLevel(cid) >= 150 then doPlayerSetRate(cid, 7, 0) end return true end function onAdvance(cid, skill, oldlevel, newlevel) if getPlayerMagLevel(cid) >= 150 then doPlayerSetRate(cid, 7, 0) end return true end LEMBRA DE REGISTRAR no creaturescripts\scripts\login.lua e adicionar as tags igualzinho o membro emerson te disse ali em cima
  6. xWhiteWolf's post in (Resolvido)[Vip] Free Account was marked as the answer   
    você colocou antes do ultimo return true?? Me manda seu login.lua
  7. xWhiteWolf's post in (Resolvido)[PEDIDO] SPELL KAMUI was marked as the answer   
    fiz de uma forma diferente, tá mais ou menos como vc pediu mas ele ainda sai por tempo haha http://www.tibiaking.com/forum/topic/38901-kamui-in/
  8. xWhiteWolf's post in (Resolvido)[Pedido][Action] Transporte de players. was marked as the answer   
    não, não é um pedido simples e nunca diga que o pedido de alguém não é valido e que ela deve ir no google.. é pra isso que o fórum serve. Não quero voltar a ver esse tipo de atitude por aqui.
     
    local pos = {x = 160, y = 54, z = 7} -- posição que será teleportado local from = {x = 145, y = 40, z = 7} ---- posição de um dos cantos do area que será analisado local to = {x = 151, y = 53, z = 7} ---- posição de um dos cantos da area que será analisado function onUse(cid, item, frompos, item2, topos) function getSpectatorsFromArea(fromPosition, toPosition) local width = (math.max(fromPosition.x, toPosition.x) - math.min(fromPosition.x, toPosition.x)) / 2 + 1 local height = (math.max(fromPosition.y, toPosition.y) - math.min(fromPosition.y, toPosition.y)) / 2 + 1 local center = {x = math.min(fromPosition.x, toPosition.x) + width, y = math.min(fromPosition.y, toPosition.y) + height, z = fromPosition.z} return getSpectators(center, width, height, false) end function TeleportAllInArea(from, to)       for _, pid in pairs(getSpectatorsFromArea(from, to) or {}) do       if isPlayer(pid) then          doTeleportThing(pid, pos, true) doSendMagicEffect(getPlayerPosition(pid), 10)       end    end end TeleportAllInArea(from, to) doSendMagicEffect(getPlayerPosition(cid), 13) return true end
  9. xWhiteWolf's post in (Resolvido)Problema com Bike (Poketibia) was marked as the answer   
    vai em creaturescripts\scripts\login.lua e antes do último return true adiciona isso:
    if getCreatureSpeed(cid) ~= getCreatureBaseSpeed(cid) then local delta = ( (getCreatureBaseSpeed(cid)) - (getCreatureSpeed(cid)) ) doChangeSpeed(cid, delta) end
  10. xWhiteWolf's post in (Resolvido)Dúvida em Script was marked as the answer   
    function onLook(cid, thing, position, lookDistance) if not isCreature(thing.uid) then local house = getHouseFromPos(position) if house then local article = thing.type > 1 and thing.type.." " or getItemArticleById(thing.itemid)..(getItemArticleById(thing.itemid) == "" and "" or " ") local plural = getItemPluralNameById(thing.itemid) == "" and getItemNameById(thing.itemid).."s" or getItemPluralNameById(thing.itemid) local desc = getItemSpecialDescription(thing.uid) == "" and "" or getItemSpecialDescription(thing.uid).." " local str = "You see "..(article)..""..(thing.type > 1 and plural or getItemNameById(thing.itemid))..". "..desc..".\nPertence à casa '"..getHouseName(house).."'." if getHouseOwner(house) ~= 0 then str = str.." ".. getPlayerNameByGUID( getHouseOwner(house) ).." é dono dessa casa." else str = str.." Ninguém é dono dessa casa. Ela custa "..getHousePrice(house).." dólares." end if getPlayerAccess(cid) > 2 then str = str.."\nItemID: ["..(thing.itemid).."]" if thing.actionid > 0 then str = str..", ActionID: ["..(thing.actionid).."]" end if thing.uid < 65536 then str = str..", UniqueID: ["..(thing.uid).."]" end str = str..".\nPosition: [X: "..(getThingPos(thing.uid).x).."] [Y: "..(getThingPos(thing.uid).y).."] [Z: "..(getThingPos(thing.uid).z).."]." end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, str) return false end end return true end deve resolver
  11. xWhiteWolf's post in (Resolvido)Aprender a linguagem. was marked as the answer   
    entao cara, vc vai precisar de 5 coisas:
     
    Aprender Lua (linguagem em que é programado o tibia) Treinar muito Andar sempre com uma tabela de funções do seu servidor Fuçar as sources para ver oque as funções precisam e oque elas fazem Fuçar a lib pra ver as funções feitas em LUA e as constantes (conditions, efeitos, etc.)

    cid é abreviação pra creatureid e significa a criatura que está executando o script..
    uid é abreviação pra uniqueid e significa o numero único de uma determinada coisa.
     
  12. xWhiteWolf's post in (Resolvido)[Pedido] Pìlar ao dar use nasce bixo e da storage was marked as the answer   
    precisa replicar pra todos.. coloca numero 2
    <event type="kill" name="pilarquest2" script="nomequalquer2.lua"/> registerCreatureEvent(cid, "pilarquest2") e vai repetindo pros 11 (o script tb).

    A action é bem facinho de fazer então fica aí como sua lição de casa tentar haha
    dica: use as funções de storage e essa daqui pra criar o monstro:
     
  13. xWhiteWolf's post in (Resolvido)[Pedido] Spell que transforma o player em Magic tower... \/ was marked as the answer   
    era só procurar no fórum cara '-' http://www.tibiaking.com/forum/topic/33043-spell-kamui/page-2 aqui tem as duas, a de teleportar os outros e a de se teleportar.. no próprio script vc configura o cooldown dela, quantos segundos demora pra voltar dps de usar a magia e etc.
  14. xWhiteWolf's post in (Resolvido)[PEDIDO] Item que da Vocation was marked as the answer   
    function onUse(cid, item, frompos, item2, topos) local config = { [3222] = 500, [3223] = 600, [3224] = 700, [3225] = 800 } if config[item.itemid] ~= getPlayerVocation(cid)  then doRemoveItem(item.uid, 1) doPlayerSetVocation(cid, config[item.itemid]) doSendMagicEffect(config.pos,math.random(28,30)) --aqui é a parte do efeito, coloquei um random entre o efeito 28~30 que são os fogos de artificio doPlayerSendTextMessage(cid, 22, "You are now a "..getPlayerVocationName(cid).."!")   else doPlayerSendTextMessage(cid, 22, "You can't be promoted since you're already a "..getPlayerVocationName(cid).."!")  end return true end actions.xml
    <action itemid="3222" script="pedravoc.lua"/> <action itemid="3223" script="pedravoc.lua"/> <action itemid="3224" script="pedravoc.lua"/> <action itemid="3225" script="pedravoc.lua"/>
  15. xWhiteWolf's post in (Resolvido)slot system dúvida was marked as the answer   
    ---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_MAXHEALTH, 0+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_MAXMANA, 0+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_MAGICLEVELPERCENT, 100+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_CLUBPERCENT, 100+i)         setConditionParam(conditionCLUB[i], CONDITION_PARAM_SKILL_SWORDPERCENT, 100+i)         setConditionParam(conditionCLUB[i], CONDITION_PARAM_SKILL_AXEPERCENT, 100+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_SHIELDPERCENT, 100+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_DISTANCEPERCENT, 100+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,200,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 -- Not on slot 10 > arrow                 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         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 == 'hp' then                         doAddCondition(cid,conditionHP[tonumber(n)])                         doCreatureAddHealth(cid,HP-getCreatureHealth(cid))                         ca[50] = 1                         doPlayerSendTutorial(cid,19)                 elseif sl == 'mp' then                         doAddCondition(cid,conditionMP[tonumber(n)])                         doCreatureAddMana(cid,HP-getCreatureMana(cid))                         ca[51] = 1                         doPlayerSendTutorial(cid,19)                 elseif sl == 'ml' then                         doAddCondition(cid,conditionML[tonumber(n)])                         ca[52] = 1                 elseif sl == 'cas' then                         doAddCondition(cid,conditionCLUB[tonumber(n)])                         ca[53] = 1                 elseif sl == 'shield' then                         doAddCondition(cid,conditionSHI[tonumber(n)])                         ca[54] = 1                 elseif sl == 'dist' then                         doAddCondition(cid,conditionDIST[tonumber(n)])                         ca[55] = 1                 end         end         if fu > 0 then                 addEvent(doPlayerSendTextMessage,100,cid,24,'You have:\n'..s)                 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,200,cid,loadSet(cid)) -- Here we check!         return TRUE end 
  16. xWhiteWolf's post in (Resolvido)Database.s3db was marked as the answer   
    Se você mudou de server o jeito é resetar.. tentar arrastar database de versões anteriores só vai te proporcionar dor de cabeça. Mas lembra de fazer tudo que vc tinha feito antes na sua database antiga pra que os scripts funcionem da forma correta. Pelo que eu andei vendo aí vc precisa criar a coluna dos resets na database dos players.
  17. xWhiteWolf's post in (Resolvido)SPELL RAGE was marked as the answer   
    --Tanker Method by NightWolf local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 36) setCombatParam(combat, COMBAT_PARAM_EFFECT, 13) setCombatParam(combat, COMBAT_PARAM_EFFECT, 0) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 60000) setConditionParam(condition, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 200) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELDPERCENT, 140) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) function onCastSpell(cid, var) local ftanker = {lookType = 269, lookHead = 114, lookBody = 114, lookLegs = 114, lookFeet = 114, lookTypeEx = 0, lookAddons = 3} doSetCreatureOutfit(cid, ftanker, 60000) return doCombat(cid, combat, var) end setConditionParam(condition, CONDITION_PARAM_TICKS, 60000)
    setConditionParam(condition, CONDITION_PARAM_STAT_MAXHITPOINTSPERCENT, 200)
    setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELDPERCENT, 140)

    em ticks é o tempo em milisegundos que vai durar.. no caso aí dura 60 segundos
    essas condições abaixo maxhitpointspercent e shielpercent são os atributos que serão adicionados... NESSE CASO sua vida dobra (200% da vida) e seu shield aumenta 40% (100% + 40% = 140%)


    Aqui tem uma lista de todas as condições que podem ser inseridas:
     
    CONDITION_PARAM_SKILL_MELEE = 19 CONDITION_PARAM_SKILL_FIST = 20 CONDITION_PARAM_SKILL_CLUB = 21 CONDITION_PARAM_SKILL_SWORD = 22 CONDITION_PARAM_SKILL_AXE = 23 CONDITION_PARAM_SKILL_DISTANCE = 24 CONDITION_PARAM_SKILL_SHIELD = 25 CONDITION_PARAM_SKILL_FISHING = 26 CONDITION_PARAM_STAT_MAXHEALTH = 27 CONDITION_PARAM_STAT_MAXMANA = 28 CONDITION_PARAM_STAT_SOUL = 29 CONDITION_PARAM_STAT_MAGICLEVEL = 30 CONDITION_PARAM_STAT_MAXHEALTHPERCENT = 31 CONDITION_PARAM_STAT_MAXMANAPERCENT = 32 CONDITION_PARAM_STAT_SOULPERCENT = 33 CONDITION_PARAM_STAT_MAGICLEVELPERCENT = 34 CONDITION_PARAM_SKILL_MELEEPERCENT = 35 CONDITION_PARAM_SKILL_FISTPERCENT = 36 CONDITION_PARAM_SKILL_CLUBPERCENT = 37 CONDITION_PARAM_SKILL_SWORDPERCENT = 38 CONDITION_PARAM_SKILL_AXEPERCENT = 39 CONDITION_PARAM_SKILL_DISTANCEPERCENT = 40 CONDITION_PARAM_SKILL_SHIELDPERCENT = 41 CONDITION_PARAM_SKILL_FISHINGPERCENT = 42 Se tiver dúvida em alguma pode perguntar
  18. xWhiteWolf's post in (Resolvido)Element Arrow was marked as the answer   
    local arrowice = 7839 local arrowenergy = 7838 local arrowfire = 7840 local arrowearth = 7850 -- =============== COMBAT VARS =============== -- Areas/Combat for 100ms local combat1_Ice_Area_Hit = createCombatObject() setCombatParam(combat1_Ice_Area_Hit, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK) setCombatParam(combat1_Ice_Area_Hit, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatArea(combat1_Ice_Area_Hit,createCombatArea({{0, 1, 0}, {1, 2, 1}})) setCombatFormula(combat1_Ice_Area_Hit, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- Areas/Combat for 0ms local combat0_Ice_Arrow = createCombatObject() setCombatParam(combat0_Ice_Arrow, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SHIVERARROW) setCombatParam(combat0_Ice_Arrow, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatArea(combat0_Ice_Arrow,createCombatArea({{1}, {0}, {0}, {0}, {2}})) setCombatFormula(combat0_Ice_Arrow, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) local dfcombat0_Ice_Arrow = {CONST_ANI_SHIVERARROW,0,5} -- Areas/Combat for 200ms local combat2_Ice_Area_Hit = createCombatObject() setCombatParam(combat2_Ice_Area_Hit, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK) setCombatParam(combat2_Ice_Area_Hit, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatArea(combat2_Ice_Area_Hit,createCombatArea({{0, 1, 0}, {1, 1, 1}, {1, 0, 1}, {0, 2, 0}})) setCombatFormula(combat2_Ice_Area_Hit, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- Areas/Combat for 300ms local combat3_Ice_Area_Hit = createCombatObject() setCombatParam(combat3_Ice_Area_Hit, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK) setCombatParam(combat3_Ice_Area_Hit, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatArea(combat3_Ice_Area_Hit,createCombatArea({{1, 1, 1}, {1, 0, 1}, {0, 0, 0}, {0, 0, 0}, {0, 2, 0}})) setCombatFormula(combat3_Ice_Area_Hit, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- =============== COMBAT VARS =============== -- Areas/Combat for 200ms local combat2_Fire_Area = createCombatObject() setCombatParam(combat2_Fire_Area, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK) setCombatParam(combat2_Fire_Area, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat2_Fire_Area,createCombatArea({{0, 1, 0}, {1, 1, 1}, {1, 0, 1}, {0, 2, 0}})) setCombatFormula(combat2_Fire_Area, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- Areas/Combat for 100ms local combat1_Fire_Area = createCombatObject() setCombatParam(combat1_Fire_Area, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK) setCombatParam(combat1_Fire_Area, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat1_Fire_Area,createCombatArea({{0, 1, 0}, {1, 2, 1}})) setCombatFormula(combat1_Fire_Area, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- Areas/Combat for 0ms local combat0_Fire_Arrow = createCombatObject() setCombatParam(combat0_Fire_Arrow, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FLAMMINGARROW) setCombatParam(combat0_Fire_Arrow, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat0_Fire_Arrow,createCombatArea({{1}, {0}, {0}, {0}, {2}})) setCombatFormula(combat0_Fire_Arrow, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) local dfcombat0_Fire_Arrow = {CONST_ANI_FLAMMINGARROW,0,5} -- Areas/Combat for 300ms local combat3_Fire_Area = createCombatObject() setCombatParam(combat3_Fire_Area, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK) setCombatParam(combat3_Fire_Area, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat3_Fire_Area,createCombatArea({{1, 1, 1}, {1, 0, 1}, {0, 0, 0}, {0, 0, 0}, {0, 2, 0}})) setCombatFormula(combat3_Fire_Area, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- =============== COMBAT VARS =============== -- Areas/Combat for 200ms local combat2_Lightning_Area_Hit = createCombatObject() setCombatParam(combat2_Lightning_Area_Hit, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT) setCombatParam(combat2_Lightning_Area_Hit, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatArea(combat2_Lightning_Area_Hit,createCombatArea({{0, 1, 0}, {1, 1, 1}, {1, 0, 1}, {0, 2, 0}})) setCombatFormula(combat2_Lightning_Area_Hit, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- Areas/Combat for 100ms local combat1_Lightning_Area_Hit = createCombatObject() setCombatParam(combat1_Lightning_Area_Hit, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT) setCombatParam(combat1_Lightning_Area_Hit, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatArea(combat1_Lightning_Area_Hit,createCombatArea({{0, 1, 0}, {1, 2, 1}})) setCombatFormula(combat1_Lightning_Area_Hit, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- Areas/Combat for 0ms local combat0_Lightning_Arrow = createCombatObject() setCombatParam(combat0_Lightning_Arrow, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FLASHARROW) setCombatParam(combat0_Lightning_Arrow, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatArea(combat0_Lightning_Arrow,createCombatArea({{1}, {0}, {0}, {0}, {2}})) setCombatFormula(combat0_Lightning_Arrow, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) local dfcombat0_Lightning_Arrow = {CONST_ANI_FLASHARROW,0,5} -- Areas/Combat for 300ms local combat3_Lightning_Area_Hit = createCombatObject() setCombatParam(combat3_Lightning_Area_Hit, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT) setCombatParam(combat3_Lightning_Area_Hit, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatArea(combat3_Lightning_Area_Hit,createCombatArea({{1, 1, 1}, {1, 0, 1}, {0, 0, 0}, {0, 0, 0}, {0, 2, 0}})) setCombatFormula(combat3_Lightning_Area_Hit, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- =============== COMBAT VARS =============== -- Areas/Combat for 200ms local combat2_Brush = createCombatObject() setCombatParam(combat2_Brush, COMBAT_PARAM_EFFECT, CONST_ME_CARNIPHILA) setCombatParam(combat2_Brush, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatArea(combat2_Brush,createCombatArea({{0, 1, 0}, {1, 1, 1}, {1, 0, 1}, {0, 2, 0}})) setCombatFormula(combat2_Brush, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- Areas/Combat for 0ms local combat0_Earth_Arrow = createCombatObject() setCombatParam(combat0_Earth_Arrow, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTHARROW) setCombatParam(combat0_Earth_Arrow, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatArea(combat0_Earth_Arrow,createCombatArea({{1}, {0}, {0}, {0}, {2}})) setCombatFormula(combat0_Earth_Arrow, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) local dfcombat0_Earth_Arrow = {CONST_ANI_EARTHARROW,0,5}local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_CARNIPHILA) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{0, 1, 0}, {1, 2, 1}})) setCombatFormula(combat0_Brush, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- Areas/Combat for 300ms local combat3_Brush = createCombatObject() setCombatParam(combat3_Brush, COMBAT_PARAM_EFFECT, CONST_ME_CARNIPHILA) setCombatParam(combat3_Brush, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatArea(combat3_Brush,createCombatArea({{1, 1, 1}, {1, 0, 1}, {0, 0, 0}, {0, 0, 0}, {0, 2, 0}})) setCombatFormula(combat3_Brush, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos,startDir) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do if (startDir == 0) then -- N doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) elseif (startDir == 2) then -- S doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i],y=dirEmitPos.y+dirList[i+1],z=dirEmitPos.z},dirList[1]) elseif (startDir == 1) then -- E doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i+1],y=dirEmitPos.y+dirList[i],z=dirEmitPos.z},dirList[1]) else -- W / Something weird happened doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i+1],y=dirEmitPos.y-dirList[i],z=dirEmitPos.z},dirList[1]) end i = i + 2 end  end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) local startDir = getCreatureLookDirection(cid) if isInArray({arrowice}, getPlayerSlotItem(cid, 10).itemid) then addEvent(RunPart,100,combat1_Ice_Area_Hit,cid,var) RunPart(combat0_Ice_Arrow,cid,var,dfcombat0_Ice_Arrow,startPos,startDir) addEvent(RunPart,200,combat2_Ice_Area_Hit,cid,var) addEvent(RunPart,300,combat3_Ice_Area_Hit,cid,var) return true elseif isInArray({arrowfire}, getPlayerSlotItem(cid, 10).itemid) then addEvent(RunPart,200,combat2_Fire_Area,cid,var) addEvent(RunPart,100,combat1_Fire_Area,cid,var) RunPart(combat0_Fire_Arrow,cid,var,dfcombat0_Fire_Arrow,startPos,startDir) addEvent(RunPart,300,combat3_Fire_Area,cid,var) return true elseif isInArray({arrowenergy}, getPlayerSlotItem(cid, 10).itemid) then addEvent(RunPart,200,combat2_Lightning_Area_Hit,cid,var) addEvent(RunPart,100,combat1_Lightning_Area_Hit,cid,var) RunPart(combat0_Lightning_Arrow,cid,var,dfcombat0_Lightning_Arrow,startPos,startDir) addEvent(RunPart,300,combat3_Lightning_Area_Hit,cid,var) return true elseif isInArray({arrowearth}, getPlayerSlotItem(cid, 10).itemid) then addEvent(RunPart,200,combat2_Brush,cid,var) RunPart(combat0_Earth_Arrow,cid,var,dfcombat0_Earth_Arrow,startPos,startDir) RunPart(combat0_Brush,cid,var) addEvent(RunPart,300,combat3_Brush,cid,var) return true else doSendMagicEffect(startPos, 2) doPlayerSendCancel(cid, "You need to have elemental arrows on your ammunition slot.") return false end end
  19. xWhiteWolf's post in (Resolvido)Ring virar magia was marked as the answer   
    <instant name="Utana vid" words="exevo invisibility" lvl="55"  aggressive="0" mana="650" selftarget="1" prem="1" exhaustion="1500" needlearn="0" event="script" value="especiais/invisible.lua"><vocation id="1"/> <vocation id="5"/> </instant>  local duration = 5 -- em segundos local invisible = createConditionObject(CONDITION_GAMEMASTER, duration*1000, false, GAMEMASTER_INVISIBLE) local outfit = createConditionObject(CONDITION_INVISIBLE, duration*1000, false) local percent = 3 local tempo = 1 -- em segundos local cooldown = 30 -- em segundos local storage = 12339 -- local que fica salvo o cooldown function onCastSpell(cid, var) if os.time() - getPlayerStorageValue(cid, storage) >= cooldown then doPlayerSetStorageValue(cid, storage, os.time()) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "By using this spell you will become fully invisible and lose health over time because of it's curse.") function lifesteal(cid)      if isCreature(cid) then   doSendAnimatedText(getCreaturePos(cid), "-"..math.floor((getCreatureMaxHealth(cid) * (percent/100))), 144, cid)         doCreatureAddHealth(cid, -math.floor(getCreatureMaxHealth(cid) * (percent/100)))      end steal = addEvent(lifesteal, 1000*tempo, cid) end lifesteal(cid) doAddCondition(cid, invisible) doAddCondition(cid, outfit) doSendMagicEffect(getCreaturePos(cid), 12)   addEvent(function()                if isCreature(cid) then                    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer invisible..") stopEvent(steal) doSendMagicEffect(getCreaturePos(cid), 12)                end           end, 1000*duration) else doPlayerSendCancel(cid, "Your spell is in cooldown, you must wait "..(cooldown - (os.time() - getPlayerStorageValue(cid, storage))).." seconds.") doSendMagicEffect(getCreaturePos(cid), 2) end return true end pra editar muda aqui:
    local duration = 5 -- em segundos
    local percent = 3
    local tempo = 1 -- em segundos
    local cooldown = 30 -- em segundos
    local storage = 12339 -- local que fica salvo o cooldown

    duration é o tempo que fica invisivel após usar a magia
    percent é a porcentagem de vida que perde por segundo enquanto tá invisivel
    tempo é de quanto em quanto tempo perde vida
    cooldown é quantos segundos vc vai ter que esperar pra usar a magia após ter usado ela
    storage é onde vai ficar salvo o cooldown
  20. xWhiteWolf's post in (Resolvido)[Pedido] Todos Players Premium Com Vip No Nome was marked as the answer   
    if isPremium(cid) then function EddyHavoc(cid) if isPlayer(cid) then db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end end if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then   else local name = getCreatureName(cid)   db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")   doRemoveCreature(cid)   end elseif (not (isPremium)) and string.find(tostring(getCreatureName(cid)),"[[Vip]]") then addEvent(EddyHavoc, 3*1000, cid) end agora deve funcionar.. copiei a função de remover desse tópico aqui: http://www.tibiaking.com/forum/topic/12001-perfect-vip-system-22/
  21. xWhiteWolf's post in (Resolvido){Pedido} Tile bueiro was marked as the answer   
    2)
    <action itemid="12749" script="buero.lua"/> <action itemid="12748" script="buero.lua"/> function onUse(cid, item, frompos, item2, topos) if item.itemid == 12748 then doTransformItem(item.uid, item.itemid+1) elseif item.itemid == 12749 then doTransformItem(item.uid, item.itemid-1) end return true end
    1) 
    <movevent type="StepIn" itemid="12748" event="script" value="down.lua"/> function onStepIn(cid, item, position, fromPosition) doTeleportThing(cid, {x = position.x, y = position.y, z = position.z + 1} )  return true end  
  22. xWhiteWolf's post in (Resolvido)comando para ver intens dos players was marked as the answer   
    http://www.tibiaking.com/forum/topic/36462-comando-spy-players/

    tenta dar uma procurada antes amigo
  23. xWhiteWolf's post in (Resolvido)[Pedido] Dodge System 8.54 was marked as the answer   
    terminei de fazer aqui, vendo o script por 500 reais AUHIHEAUHIEUHIAUHI brincadeira. Jajá eu posto ele no fórum e vai ficar na minha assinatura, ok?
  24. xWhiteWolf's post in (Resolvido)[PEDIDO] BroadCast Em POPUP was marked as the answer   
    function onSay(cid, words, param, channel)  player = getPlayersOnline() for i = 1, #player do doPlayerPopupFYI(player[i], ""..getCreatureName(cid)..": "..param.."") end return true end <talkaction log="yes" words="/all" access="5" event="script" value="broadcastempopup.lua"/>
  25. xWhiteWolf's post in (Resolvido)Dúvida [Spear Só Para Paladins] was marked as the answer   
    por se tratar de uma munição é no weapons.xml:
     
    <distance id="7368" level="80" event="function" value="default"> <!-- Assassin Star --> <vocation id="3"/> <vocation id="7" showInDescription="0"/> </distance>
    muda só o id e o level ali

Informação Importante

Confirmação de Termo