Ir para conteúdo

Caronte

Membro
  • Registro em

  • Última visita

Solutions

  1. Caronte's post in (Resolvido)Ajuda com piso was marked as the answer   
    local cidadeid = 1 function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition) doPlayerSendTextMessage(cid, 27, "You have a total of: ".. getPlayerDepotItems(cid, cidadeid) - 1 .." items in your depot") return true end
  2. Caronte's post in (Resolvido)Ajuda Addon Doll was marked as the answer   
    function onUse(cid, item, toPosition, itemEx, fromPosition) local femaleOutfits = { ["citizen"]={136}, ["hunter"]={137}, ["mage"]={138}, ["knight"]={139}, ["nobleman"]={140}, ["summoner"]={141}, ["warrior"]={142}, ["barbarian"]={147}, ["druid"]={148}, ["wizard"]={149}, ["oriental"]={150}, ["pirate"]={155}, ["assassin"]={156}, ["beggar"]={157}, ["shaman"]={158}, ["norsewoman"]={252}, ["nightmare"]={269}, ["jester"]={270}, ["brotherhood"]={279}, ["demonhunter"]={288}, ["yalaharian"]={324}, ["Wayfarer"]={366} } local maleOutfits = { ["citizen"]={128}, ["hunter"]={129}, ["mage"]={130}, ["knight"]={131}, ["nobleman"]={132},["summoner"]={133}, ["warrior"]={134}, ["barbarian"]={143}, ["druid"]={144}, ["wizard"]={145}, ["oriental"]={146}, ["pirate"]={151}, ["assassin"]={152}, ["beggar"]={153}, ["shaman"]={154}, ["norsewoman"]={251}, ["nightmare"]={268}, ["jester"]={273}, ["brotherhood"]={278}, ["demonhunter"]={289}, ["yalaharian"]={325}, ["Wayfarer"]={367} } if getPlayerSex(cid) == 1 then for name, id in pairs(maleOutfits) do doPlayerAddOutfit(cid, id[1], 3) doSendMagicEffect(getThingPos(cid), CONST_ME_FIREWORK_YELLOW) doPlayerSendTextMessage(cid, 23, "Agora voce tem todas as addons!" ) doRemoveItem(item.uid) end else for name, id in pairs(femaleOutfits) do doPlayerAddOutfit(cid, id[1], 3) doSendMagicEffect(getThingPos(cid), CONST_ME_FIREWORK_YELLOW) doPlayerSendTextMessage(cid, 23, "Agora voce tem todas as addons!" ) doRemoveItem(item.uid) end end return true end
  3. Caronte's post in (Resolvido)[PEDIDO] Exaust + doRemoveItem was marked as the answer   
    --By: Gabriel Stocco(Wolf) Improvised Version-- pescar peixe vivo/morto/lixo/levar dano/ quebrar vara local config = { waters = {4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}, level = 1, skill = SKILL_FISHING, skillReq = 1, effect = CONST_ME_BLOCKHIT, addTries = 10, msgType = MESSAGE_EVENT_ADVANCE, soul = 0, } local t = { [{1, 50}] = {msg = "You found %A %N.", item = 5951}, --- fins [{51, 90}] = {msg = "You found %A %N.", item = 2226}, --- fishbone [{91, 110}] = {msg = "You found %A %N.", item = 2009}, --- bottle [{111, 130}] = {msg = "You found %A %N.", item = 2237}, --- cap [{131, 140}] = {msg = "You found %A %N.", item = 2670}, --- camarão [{161, 170}] = {msg = "You found %A %N.", item = 2669}, ---grande [{170, 175}] = {msg = "Sua vara de pesca caiu dentro da água!", destroy = true}, [{176, 180}] = {msg = "O peixe era muito forte e quebrou a vara de pesca!", destroy = true}, [{181, 4800}] = {msg = "Não pescou nada!"}, [{4801, 7200}] = {msg = "Você pescou um peixe!", summon = "Peixe"}, [{7201, 7600}] = {msg = "Você pescou um Atum!", summon = "Atum"}, [{7601, 8000}] = {msg = "Você pescou uma Truta Vermelha!", summon = "Truta Vermelha"}, [{8001, 8400}] = {msg = "Você pescou uma Truta Verde!", summon = "Truta Verde"}, [{8401, 8700}] = {msg = "Perdeu %D hitpoints porque um peixe infectado te mordeu!", damage = {550, 2800}}, [{8701, 9000}] = {msg = "Perdeu %D hitpoints porque está exausto!", damage = {550, 1800}} } function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 9394) - os.time() <= 0 then setPlayerStorageValue(cid, 9394, os.time() + 2) else doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return true end if getPlayerItemCount(cid, 11416) >= 1 then doPlayerRemoveItem(cid, 11416, 1) else doPlayerSendCancel(cid, "You need a ".. getItemNameById(11416) .." To do this.") doSendMagicEffect(fromPosition, CONST_ME_POFF) return true end if isInArray(config.waters, itemEx.itemid) and config.level <= getPlayerLevel(cid) and config.skillReq <= getPlayerSkill(cid, config.skill) and config.soul <= getPlayerSoul(cid) then local v, amount, damage = math.random(9000), 1, nil for i, k in pairs(t) do if v >= i[1] and v <= i[2] then if k.destroy then doRemoveItem(item.uid) end if k.summon then doCreateMonster(k.summon, toPosition) end if k.damage then damage = math.random(k.damage[1], k.damage[2]) doCreatureAddHealth(cid, - damage) doSendMagicEffect(getThingPos(cid), CONST_ME_DRAWBLOOD) doSendAnimatedText(getThingPos(cid), damage, TEXTCOLOR_RED) end if k.item then if k.amountmax then amount = math.random(k.amountmax) end doPlayerAddItem(cid, k.item, amount) end if k.msg then local msg = k.msg if msg:find("%%") then if msg:find("%%A") and k.item then msg = msg:gsub("%%A", amount > 1 and amount or getItemDescriptionsById(k.item).article) end if msg:find("%%N") and k.item then msg = msg:gsub("%%N", amount > 1 and getItemDescriptionsById(k.item).plural or getItemNameById(k.item)) end if msg:find("%%D") and damage then msg = msg:gsub("%%D", damage) end end doPlayerSendTextMessage(cid, config.msgType, msg) end doTransformItem(itemEx.uid, config.debris) doPlayerAddSoul(cid, -config.soul) doSendMagicEffect(toPosition, k.destroy and CONST_ME_HITAREA or config.effect) return doPlayerAddSkillTry(cid, config.skill, config.addTries) end end end return doPlayerSendCancel(cid, "Você não pode pescar aqui.") end
  4. Caronte's post in (Resolvido)[PEDIDO] Promote para players free account! was marked as the answer   
    Eloise.lua: 



     
    King Tibianus.lua:



  5. Caronte's post in (Resolvido)Pz was marked as the answer   
    Acho que é só mudar, essa linha em todos:
    return doPlayerSendCancel(cid, "You can't cast this spell in protection zone.") Para:
    return doPlayerSendCancel(cid, "You can't cast this spell in protection zone.") and doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) and false Se você por emote spells (através do config.lua), as magias, vão ficar laranja, ou seja, não vão dar muted sofrerem spam...
  6. Caronte's post in (Resolvido)Mw e Wild was marked as the answer   
    Tenta aí rapidão :X
    -- MW local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) function onCastSpell(cid, var) if getWorldType() ~= 1 then return doCombat(cid, combat, var) end return doPlayerSendCancel(cid, "Você não pode usar essa runa em no-pvp mode") and false end -- WILD local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499) function onCastSpell(cid, var) if getWorldType() ~= 1 then return doCombat(cid, combat, var) end return doPlayerSendCancel(cid, "Você não pode usar essa runa em no-pvp mode") and false end
  7. Caronte's post in (Resolvido)[PEDIDO] ActionID para destruir paredes was marked as the answer   
    De acordo como você pediu anteriormente, aí está:
    local walls = { -- horizontal = { [3362] = 3401, [3401] = 3400, [3400] = 3648, -- }, -- vertical = { [3361] = 3399, [3399] = 3387, [3387] = 3648, -- }, } function onUse(cid, item, toPosition, itemEx, fromPosition) if itemEx.itemid == 3387 and itemEx.actionid == 9090 then setPlayerStorageValue(cid, 4858, "v") elseif itemEx.actionid == 9090 then setPlayerStorageValue(cid, 4858, "h") end if walls[itemEx.itemid] ~= nil and itemEx.actionid == 9090 then doTransformItem(itemEx.uid, walls[itemEx.itemid] ) doItemSetAttribute(getTileItemById({ x = fromPosition.x, y = fromPosition.y, z = fromPosition.z}, walls[itemEx.itemid]).uid, "aid", 9090) doSendMagicEffect(fromPosition, CONST_ME_GROUNDSHAKER) else doPlayerSendCancel(cid, "Local de uso incorreto") doSendMagicEffect(toPosition, CONST_ME_POFF) end if walls[itemEx.itemid] == 3648 and getPlayerStorageValue(cid, 4858) == "h" then addEvent(function() doRemoveItem(getTileItemById({ x = fromPosition.x, y = fromPosition.y, z = fromPosition.z}, 3648).uid) doCreateItem(3362,1,fromPosition) doSendMagicEffect(fromPosition, CONST_ME_MAGIC_RED) doItemSetAttribute(getTileItemById({ x = fromPosition.x, y = fromPosition.y, z = fromPosition.z}, 3362).uid, "aid", 9090) end, 2000) elseif walls[itemEx.itemid] == 3648 and getPlayerStorageValue(cid, 4858) == "v" then addEvent(function() doRemoveItem(getTileItemById({ x = fromPosition.x, y = fromPosition.y, z = fromPosition.z}, 3648).uid) doCreateItem(3361,1,fromPosition) doSendMagicEffect(fromPosition, CONST_ME_MAGIC_RED) doItemSetAttribute(getTileItemById({ x = fromPosition.x, y = fromPosition.y, z = fromPosition.z}, 3361).uid, "aid", 9090) end, 2000) end return true end Só usar a mesma TAG do XML que eu te mandei, e usar actionIds = 9090 para especificar a parede, se quiser outro número, é só mudar no script, todos os 9090 à gosto
  8. Caronte's post in (Resolvido)[SPELL] Trap was marked as the answer   
    local remove_time = 5 -- tempo em segundos para remover as magic wall local item_id = 5750 -- id da magic wall function onCastSpell(cid, var) if math.random(0, 100) <= 30 then if (getPlayerStorageValue(cid, 2343) - os.time()) < 0 then setPlayerStorageValue(cid, 2343, (os.time() + 15)) end return doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) and doPlayerSendCancel(cid, "You are exhausted in Doton Doryu Heki for: "..(getPlayerStorageValue(cid, 2343) - os.time() ).." seconds.") and false end if (getPlayerStorageValue(cid, 2343) - os.time()) > 0 then return doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) and doPlayerSendCancel(cid, "You are exhausted in Doton Doryu Heki for: "..(getPlayerStorageValue(cid, 2343) - os.time() ).." seconds.") and false end setPlayerStorageValue(cid, 2343, (os.time() + 30)) local pos = getThingPosition(getCreatureTarget(cid)) posTile1 = {x=pos.x+1,y=pos.y+1,z=pos.z,stackpos=1} posTile2 = {x=pos.x+1,y=pos.y,z=pos.z,stackpos=1} posTile3 = {x=pos.x+1,y=pos.y-1,z=pos.z,stackpos=1} posTile4 = {x=pos.x,y=pos.y-1,z=pos.z,stackpos=1} posTile5 = {x=pos.x-1,y=pos.y-1,z=pos.z,stackpos=1} posTile6 = {x=pos.x-1,y=pos.y,z=pos.z,stackpos=1} posTile7 = {x=pos.x-1,y=pos.y+1,z=pos.z,stackpos=1} posTile8 = {x=pos.x,y=pos.y+1,z=pos.z,stackpos=1} posAll = {posTile1,posTile2,posTile3,posTile4,posTile5,posTile6,posTile7,posTile8} for i=1, #posAll do if isWalkable(posAll[i]) then doCreateItem(item_id, 1, posAll[i]) end end addEvent(removeItem, remove_time*1000, posAll) return true end function isWalkable(pos, creature, pz, proj) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function removeItem(posAll) for i=1, #posAll do for j=0, 255 do pos_stack = {x=posAll[i].x,y=posAll[i].y,z=posAll[i].z,stackpos=j} removeTile = getThingfromPos(pos_stack) if removeTile.itemid == item_id then doRemoveItem(removeTile.uid) end end end end  Aqui ta pegando direito, 
    você quer que não fale as words ? 

    coloquei para não falar a magia.
  9. Caronte's post in (Resolvido)poderia fazer 1 script was marked as the answer   
    doPlayerRemoveItem(cid, id do scarab coin, id do brooch, id do strange, 300) /\ Isso nunca vai funcionar...

    local items = {id, id, id} -- id dos items local count = 300 -- quantidade de items a serem retirados function onUse(cid, item) if item.uid == 8492 then for u = 1, #items do doPlayerRemoveItem(cid, items[u], count) end end return true end Só colocar no xml e uniqueid 8492 na porta
  10. Caronte's post in (Resolvido)Erro na distro was marked as the answer   
    function onLogin(cid) local player = Player(cid)   local loginStr = 'Welcome to ' .. configManager.getString(configKeys.SERVER_NAME) .. '!' if player:getLastLoginSaved() <= 0 then loginStr = loginStr .. ' Please choose your outfit.' player:sendTutorial(1) else if loginStr ~= '' then player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr) end   if getPlayerPremiumDays(cid) == 0 and getPlayerTown(cid) ~= 2 then   doPlayerSetTown(cid, 2) end   loginStr = string.format('Your last visit was on %s.', os.date('%a %b %d %X %Y', player:getLastLoginSaved())) db.query("UPDATE `players` SET `cast` = 0 WHERE `id` = " .. getPlayerGUID(cid) .. ";") end player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)   for i = 1, #events do player:registerEvent(events[i]) end return true end     Nossa que sufoco pra eu conseguir postar
  11. Caronte's post in (Resolvido)Spell de cura diferente was marked as the answer   
    Então pô!...
    Usa ela e o xml que te passei, verifica se já não existe exura sio.
  12. Caronte's post in (Resolvido)aviso na distro, oque poderia ser? was marked as the answer   
    Olha eu tô pelo celular agora, quando estiver no pc eu vejo...

    Esse erro não afeta no funcionamento da distro, se você conseguir colocar online isso não afetará em nada, e o erro seria da distro ao checar update e não da sua internet..
  13. Caronte's post in (Resolvido)Modificar meu Spell Buff was marked as the answer   
    local tempo = 60 -- tempo em segundos. local effect = { [1] = 23,                  [2] = 43, [3] = 55, [4] = 97, }   local ml = 50 -- quantos ira aumentar o skill de ML local skillfist = 35 -- quantos ira aumentar o skill de Fist local skillsword = 35 -- quantos ira aumentar o skill de Sword local skillaxe = 35 -- quantos ira aumentar o skill de Axe local skillclub = 35 -- quantos ira aumentar o skill de Club local skilldistance = 35 -- quantos ira aumentar o skill de Distance local skillshield = 35 -- quantos ira aumentar o skill de Shield local health = 100 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)   local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition)   local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition)   local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition)   function magicEffect1(tempo2,tempo3,cid)    if (isCreature(cid)) then       if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then        local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}         doSendMagicEffect(position, effect[getPlayerVocation(cid)])       end     end end   function onCastSpell(cid, var) local position127 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}    if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then     doCombat(cid, combat, var)      tempo2 = 0       while (tempo2 ~= (tempo*1000)) do        addEvent(magicEffect1, tempo2, tempo2, tempo*1000, cid)        tempo2 = tempo2 + 300       end      setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado.       doCreatureSay(cid, "Susano", TALKTYPE_MONSTER)        doSendMagicEffect(position127, 110)    else     doPlayerSendCancel(cid, "Sorry, you are transformed.")    end end
  14. Caronte's post in (Resolvido)Swimming was marked as the answer   
    Em vez de return false, coloca:


    return doTeleportThing(cid, fromPosition) Estou via celular...
  15. Caronte's post in (Resolvido)[Pedido] Globalevent que executa talkactions was marked as the answer   
    local config = { tempo = 5*60, -- segundos pos = {x=378, y=73, z=6, stackpos = 253}, -- posição do trono tp = {x=271, y=157, z=7}, -- posição que será criado o teleporte togo = {x=378, y=104, z=7}, --- posição que irá levar o teleporte premio = 2157, --- premio q vai dar count = 10, -- quantidade que vai dar effect = 27, -- efeito que vai sair } function onThink(interval) doBroadcastMessage("[EVENTO] A Luta pelo Trono comecou!,o ultimo que ficar no trono em "..config.tempo/60 .." minuto(s) ganhara 10kk.", 22) doCreateTeleport(1387, config.togo, config.tp) for j= 0,(config.tempo -1) do addEvent(function() doBroadcastMessage("[EVENTO] Corra para o evento trono, o ultimo que ficar no trono no ultimo segundo vence! \n \n Faltam: ".. config.tempo - j .." segundo(s).\n Premio: 10kk", 25) end, (50+(j*1000))) end addEvent(function() if isPlayer(getThingFromPos(config.pos).uid) then doBroadcastMessage("O vencedor e "..getCreatureName(getThingFromPos(config.pos).uid)..".Ganhou 10kk! Parabens", 22) doPlayerAddItem(getThingFromPos(config.pos).uid, config.premio, config.count) doSendMagicEffect(config.pos, config.effect) else doBroadcastMessage("[Evento Closed]Nao teve ninguem no trono!", 22) end end, 1000*config.tempo) return true end globalevent name="evento" interval="20000" event="script" value="evento.lua"/>
  16. Caronte's post in (Resolvido)[AJUDA] Script de chave was marked as the answer   
    function onUse(cid, item, frompos, item2, topos) portafechada = 5105 -- coloque aqui o ID da porta fechada portaaberta = 5106 -- coloque aqui o ID da porta aberta uidporta = 5011 -- coloque aqui o UID da porta idkey = 2091 -- coloque aqui o id da key if item.itemid == idkey and item2.itemid == portafechada and item2.uid == uidporta then doTransformItem(item2.uid,portaaberta) addEvent(function() doTransformItem(item2.uid,portafechada) end, 1000 * 30) doRemoveItem(item.uid) elseif item.itemid == idkey and item2.itemid == portaaberta and item2.uid == uidporta then doTransformItem(item2.uid,portafechada) doRemoveItem(item.uid) else doPlayerSendTextMessage(cid,22,"Sorry, not possible.") end return 1 end
  17. Caronte's post in (Resolvido)Bless was marked as the answer   
    local bless = {1, 2, 3, 4, 5} local cost = 50000 function onSay(cid, words, param) for i = 1, table.maxn(bless) do if(getPlayerBlessing(cid, bless[i])) then doPlayerSendCancel(cid, "You already have all bless.") return TRUE end end if(doPlayerRemoveMoney(cid, cost) == TRUE) then for i = 1, table.maxn(bless) do doPlayerAddBlessing(cid, bless[i]) end doPlayerAddItem(cid, 2173, 1) doCreatureSay(cid, "You are now protected with all bless and not lose your loot to die." ,19) else doPlayerSendCancel(cid, "You need 50k to bless.") end return TRUE end
  18. Caronte's post in (Resolvido)como eu altero para a stamina encher mais rapido na Sources was marked as the answer   
    void Player::regenerateStamina(int32_t offlineTime) { if (!g_config.getBoolean(ConfigManager::STAMINA_SYSTEM)) { return; } offlineTime -= 600; if (offlineTime < 180) { return; } int16_t regainStaminaMinutes = (offlineTime / 180)/2 ; int16_t maxNormalStaminaRegen = 2400 - std::min<int16_t>(2400, staminaMinutes); if (regainStaminaMinutes > maxNormalStaminaRegen) { int16_t happyHourStaminaRegen = (offlineTime - (maxNormalStaminaRegen * 180)) / 600; staminaMinutes = std::min<int16_t>(2520, std::max<int16_t>(2400, staminaMinutes) + happyHourStaminaRegen); } else { staminaMinutes += regainStaminaMinutes; } } void Player::useStamina() { if (!g_config.getBoolean(ConfigManager::STAMINA_SYSTEM) || staminaMinutes == 0) { return; } time_t currentTime = time(nullptr); if (currentTime > nextUseStaminaTime) { time_t timePassed = currentTime - nextUseStaminaTime; if (timePassed > 60) { if (staminaMinutes > 2) { staminaMinutes -= 2; } else { staminaMinutes = 0; } nextUseStaminaTime = currentTime + 120; } else { --staminaMinutes; nextUseStaminaTime = currentTime + 60; } sendStats(); } } Tenta assim...
  19. Caronte's post in (Resolvido)pvp não funciona was marked as the answer   
    Vai dar merda,
    pois os worldtypes são quase sempre, por volta de:
     
    Hardcore Pvp
    Optional Pvp
    Open Pvp
  20. Caronte's post in (Resolvido)mensagem na script was marked as the answer   
    local formulas = { {2433,2433,2433,id=7424,count=1}, -- enchanted staff = lunar staff {8931,8931,8931,id=8930,count=1},-- ephinnyc sword = emerald sword {8927,8927,8927,id=8928,count=1}, -- dark trinity mace = obsidian truncheon {8926,8926,8926,id=8924,count=1}, -- demonwing axe = hellforged axe {{2389,1},{2389,1},{2389,1},id=3965,count=1}, -- spear = hunting spear {8854,8854,8854,id=8857,count=1}, -- warsinger bow = silkweaver bow {2523,2523,2523,id=8905,count=1}, -- blessed shield = rainbow shield {8901,8901,8901,id=8900,count=1}, -- spellbook of warding = spellbook of enlightenment {2138,2138,2138,id=2131,count=1}, -- sapphire amulet = star amulet } function isInArraya(a, v,i1,i2)--- script By mock i1 = i1 or 0 i2 = i2 or 0 for i=1,#a do if i ~= i1 and i ~= i2 then if a[i] == v then return a[i], i elseif type(a[i]) == 'table' and a[i][1] == v then return a[i][1], i end end end return false end function getForm(n1,n2,n3,n1cnt,n2cnt,n3cnt)--- script By mock n1 = n1 or 0 n2 = n2 or 0 n3 = n3 or 0 n2cnt = n2cnt or 1 n1cnt = n1cnt or 1 n3cnt = n3cnt or 1 if not n1 then return 'nil' end local fnd = {} local ret = {} for i=1,#formulas do local find1, p1 = isInArraya(formulas[i], n1,0) local find2, p2 = isInArraya(formulas[i], n2,p1) local find3, p3 = isInArraya(formulas[i], n3,p1,p2) if (find1 == formulas[i][p1] or (type(formulas[i][p1]) == 'table' and formulas[i][p1][1] == find1 )) and (find2 == formulas[i][p2] or (type(formulas[i][p2]) == 'table' and formulas[i][p2][1] == find2 )) and (find3 == formulas[i][p3] or (type(formulas[i][p3]) == 'table' and formulas[i][p3][1] == find3 )) then if (type(formulas[i][1]) ~= 'table' or formulas[i][1][2] <= n1cnt) and (type(formulas[i][2]) ~= 'table' or formulas[i][2][2] <= n2cnt) and (type(formulas[i][3]) ~= 'table' or formulas[i][3][2] <= n3cnt) then if type(formulas[i][1]) == 'table' then n1 = formulas[i][1][1] n1cnt = formulas[i][1][2] end if type(formulas[i][2]) == 'table' then n2 = formulas[i][2][1] n2cnt = formulas[i][2][2] end if type(formulas[i][3]) == 'table' then n3 = formulas[i][3][1] n3cnt = formulas[i][3][2] end return {id=formulas[i].id,{n1,n1cnt},{n2,n2cnt},{n3,n3cnt},count=formulas[i].count,form=formulas[i]} end end end return n1..'-'..n2..'-'..n3 end function onUse(cid, item, frompos, item2, topos) --- script By mock if getPlayerStorageValue(cid, 10906) < os.time() then setPlayerStorageValue(cid,10906, os.time()+5) doTransformItem(item.uid, 9562) addEvent(function() for stackpos=1,255 do topos.stackpos = stackpos item = getThingfromPos(topos) if item.itemid == 9562 then doTransformItem(item.uid, 9563) break end end end,1500) local posittions = { {x=1081,y=1085,z=9,stackpos=255}, --- pos de um item {x=1082,y=1085,z=9,stackpos=255}, --- pos de um item {x=1083,y=1085,z=9,stackpos=255}, --- pos de um item {x=1081,y=1084,z=9,stackpos=255}, --- pos do resultado. } local tb = {} local k for i=1,#posittions do if i == 4 then break end; k = getThingfromPos(posittions[i]) if k.itemid ~= 0 then table.insert(tb,1,k) doSendMagicEffect(posittions[i],14) else doSendMagicEffect(posittions[i],13) end end local n1 = tb[1] or {temid=0,type=0} local n2 = tb[2] or {temid=0,type=0} local n3 = tb[3] or {temid=0,type=0} doPlayerSendTextMessage(cid, 25,"Verificando.") local ret = getForm(n1.itemid,n2.itemid,n3.itemid,n1.type,n2.type,n3.type) if type(ret) == 'table' then for i=1,#posittions do if i == 4 then break end; k = getThingfromPos(posittions[i]) for e=1,#ret do if type(ret[e]) == 'table' then if ret[e][1] == k.itemid and k.itemid ~= 0 then local del = ret[e][2] if del == 0 then del = 1 end doRemoveItem(k.uid,del) break end end end end addEvent(function() for stackpos=1,255 do topos.stackpos = stackpos item = getThingfromPos(topos) if item.itemid == 9563 then doTransformItem(item.uid, 9565) break end end doCreateItem(ret.id,ret.count, posittions[4]) if ret.count ~= 1 then fnsh = 's' end fnsh = fnsh or '' if getItemNameById == nil then getItemNameById = getItemName end doBroadcastMessage("[SISTEMA DE FUSÃO] O jogador (" .. getPlayerName(cid).. ") fundiu 3 ".. getItemNameById(k.itemid) .." e criou "..ret.count.." ".. getItemNameById(ret.id) ..fnsh..".", 22) end,3000) else addEvent(function() for stackpos=1,255 do topos.stackpos = stackpos item = getThingfromPos(topos) if item.itemid == 9563 then doTransformItem(item.uid, 9565) break end end doPlayerSendTextMessage(cid, 25,"Não existe esta combinação.") end,3000) end return TRUE else doPlayerSendCancel(cid,"Aguarde") doSendMagicEffect(topos, 2) return FALSE end end
  21. Caronte's post in (Resolvido)[AJUDA] RING com Atributo (Diferente) was marked as the answer   
    Esse tópico seria um adicional para esse ? 
    http://www.tibiaking.com/forum/topic/55429-ajudem-sistema-de-vocation-supreme/#entry327093
  22. Caronte's post in (Resolvido)[pedido] spells por reset was marked as the answer   
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) function onGetFormulaValues(cid, level, maglevel) min = -(level*2.5)*(getResets(cid)+ 1 ) max = -(level*2.5)*(getResets(cid)+ 1 ) return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
  23. Caronte's post in (Resolvido)[Ajudem] Sistema de Vocation Supreme was marked as the answer   
    local events_id = {} local tableffects = { "' , . '" ,". ' , ' ", "' , . '"} function exc(cid, sorteio) local pos = getThingPos(cid) local cores = { [5] = 35, [6] = 66, [7] = 210, [8] = 180, } if getPlayerStorageValue(cid, 4730) == 1 then doSendAnimatedText(pos, tableffects[sorteio], cores[getPlayerVocation(cid)]) events_id[cid] = addEvent(exc, 1000 * 2, cid, math.random(#tableffects)) end return true end function onEquip(cid, item, slot) if getPlayerVocation(cid) < 5 then return doPlayerSendCancel(cid, "You are not promoted") and doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end if getPlayerStorageValue(cid, 4730) <= 0 then doCreatureSetStorage(cid, 4730, 1) exc(cid, math.random(#tableffects)) end return true end function onDeEquip(cid, item, slot) setPlayerStorageValue(cid,4730, -1) stopEvent(events_id[cid]) events_id[cid] = nil return true end
    <movevent type="Equip" itemid="2121" event="script" value="effectitem.lua"/> <movevent type="DeEquip" itemid="2121" event="script" value="effectitem.lua"/>
  24. Caronte's post in (Resolvido)Sem resposta do servidor... was marked as the answer   
    Qual versão do client ?



     
    Editei 
  25. Caronte's post in (Resolvido){Pedido} Pasta monsters 8.60 was marked as the answer   
    monster.rar

Informação Importante

Confirmação de Termo