Ir para conteúdo

Crypter

Membro
  • Registro em

  • Última visita

Tudo que Crypter postou

  1. As sources dos servidores antigos são limitadas a um total de 255 efeitos (uint_8), existe aqui no tibiaking publicações explicando como passar um servidor de uint_8 pra uint_16( Alteração no client e na source ) , caso não tenha as sources do seu servidor é melhor procurar uma, como o servidor é de nto qualquer uma irá funcionar.
  2. Coloque suas scripts antigas, e poste o globalevents.xml, posso arrumar pra você
  3. elseif move.name == "Invisible" then doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(move.name).."!", TALKTYPE_MONSTER) doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", use "..move.name.."!", TALKTYPE_SAY) setCD(getPlayerSlotItem(cid, 8).uid, cdzin, move.cd) exhaustion.set(cid, move.ex, move.cd) sendCooldown(cid) local condition_invisible = createConditionObject(CONDITION_INVISIBLE) setConditionParam(condition_invisible, CONDITION_PARAM_TICKS, 20000) doAddCondition(getCreatureSummons(cid)[1], condition_invisible) return 0
  4. Abre o client com o object builder e marca a opção multi use no item
  5. Editado o copia de cima, testa agora
  6. Tens que colocar no client( tibia.spr e dat ) e no items.otb
  7. function doHealOverTime(cid, heal, turn, effect) --alterado v1.6 peguem o script todo!! if not isCreature(cid) then return true end local regen = (heal*getCreatureMaxHealth(cid)/100) if turn <= 0 or (getCreatureHealth(cid) == getCreatureMaxHealth(cid)) or getPlayerStorageValue(cid, 173) <= 0 then return setPlayerStorageValue(cid, 173, -1) elseif getCreatureHealth(cid) + regen >= getCreatureMaxHealth(cid) then doSendAnimatedText(getThingPos(cid), "+".. regen .."%", 65) doCreatureAddHealth(cid, regen) doSendMagicEffect(getThingPos(cid), effect) return setPlayerStorageValue(cid, 173, -1) end doSendAnimatedText(getThingPos(cid), "+ "..heal.."%", 65) doCreatureAddHealth(cid, regen ) doSendMagicEffect(getThingPos(cid), effect) addEvent(doHealOverTime, 1000, cid, heal, turn - 1, effect) addEvent(doUpdateStatusPoke, 1005, getCreatureMaster(cid)) end local potions = { [2273] = {health = 5, duration=10,effect= 12, animate = "SMALL POT", collor = 140}, [2272] = {health = 10, duration=10,effect= 12, animate = "GREAT POT", collor = 140}, [2271] = {health = 25, duration=10,effect= 12, animate = "MEGA POT", collor = 140}, [2275] = {health = 40,duration=10, effect= 12, animate = "HYPER POT", collor = 140}, [2274] = {health = 60, duration=10,effect= 12, animate = "SUPER POT", collor = 140}, } function onUse(cid, item, frompos, item2, topos) local pid = getThingFromPosWithProtect(topos) local pokeballInfo = getPokeballInfo(getPlayerSlotItem(cid, 8).uid) if not isCreature(pid) or not isSummon(pid) then return doPlayerSendCancel(cid, "You can only use potions on your own Pokemons!") end if getCreatureMaster(pid) ~= cid then return doPlayerSendCancel(cid, "You can only use potions on your own Pokemons!") end if getCreatureHealth(pid) == getCreatureMaxHealth(pid) then return doPlayerSendCancel(cid, "This pokemon is already at full health.") end if getPlayerStorageValue(pid, 173) >= 1 then return doPlayerSendCancel(cid, "This pokemon is already under effects of potions.") end if getPlayerStorageValue(cid, 52481) >= 1 then return doPlayerSendCancel(cid, "You can't do that while a duel.") end doCreatureSay(cid, "".. pokeballInfo.nick..", take this potion!", TALKTYPE_SAY) doSendAnimatedText(getThingPos(pid), potions[item.itemid].animate, potions[item.itemid].collor) setPlayerStorageValue(pid, 173, 1) doRemoveItem(item.uid, 1) doHealOverTime(pid, potions[item.itemid].health, potions[item.itemid].duration, potions[item.itemid].effect) return true end
  8. local fishing = { ["Magikarp"] = {skill = 0, level = 1}, ["Gyarados"] = {skill = 75, level = 75}, ["Staryu"] = {skill = 22, level = 6}, ["Starmie"] = {skill = 49, level = 20}, ["Tentacool"] = {skill = 20, level = 7}, ["Tentacruel"] = {skill = 60, level = 75}, ["Goldeen"] = {skill = 17, level = 5}, ["Seaking"] = {skill = 28, level = 11}, ["Krabby"] = {skill = 14, level = 2}, ["Kingler"] = {skill = 35, level = 14}, ["Horsea"] = {skill = 16, level = 3}, ["Seadra"] = {skill = 41, level = 15}, ["Poliwag"] = {skill = 15, level = 2}, ["Poliwhirl"] = {skill = 27, level = 9}, ["Squirtle"] = {skill = 25, level = 25}, ["Wartortle"] = {skill = 45, level = 44}, ["Blastoise"] = {skill = 75, level = 75}, ["Lapras"] = {skill = 85, level = 85}, } local storage = 15458 local bonus = 1 local limite = 100 local function doFish(cid, pos, ppos, chance, interval, number) if not isCreature(cid) then return false end if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then return false end if getPlayerStorageValue(cid, storage) ~= number then return false end doSendMagicEffect(pos, CONST_ME_LOSEENERGY) local peixe = 0 local playerpos = getClosestFreeTile(cid, getThingPos(cid)) local fishes = {} local randomfish = "" if getPlayerSkillLevel(cid, 6) < limite then doPlayerAddSkillTry(cid, 6, bonus) end for a, b in pairs (fishing) do if getPlayerSkillLevel(cid, 6) >= b.skill then table.insert(fishes, a) end end if math.random(1, 100) <= chance then if getPlayerSkillLevel(cid, 6) < limite then doPlayerAddSkillTry(cid, 6, bonus) end randomfish = fishes[math.random(#fishes)] peixe = doSummonCreature(randomfish, playerpos) if not isCreature(peixe) then addEvent(doFish, interval, cid, pos, ppos, chance, interval, number) return true end doCreatureSetLookDir(cid, getDirectionTo(getThingPos(cid), getThingPos(peixe))) --alterado ver depois if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173) doChallengeCreature(getCreatureSummons(cid)[1], peixe) else doSendMagicEffect(getThingPos(cid), 173) doChallengeCreature(cid, peixe) end return true end addEvent(doFish, interval, cid, pos, ppos, chance, interval, number) return true end local 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} function onUse(cid, item, fromPos, itemEx, toPos) if getPlayerGroupId(cid) == 11 then return true end if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid then doPlayerSendCancel(cid, "Put the fishing rod in the correct place!") return true end local checkPos = toPos checkPos.stackpos = 0 if getTileThingByPos(checkPos).itemid <= 0 then return true end if not isInArray(waters, getTileInfo(toPos).itemid) then return true end if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 then doPlayerSendCancel(cid, "You can't fish while surfing/flying.") return true end if isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then doPlayerSendCancel(cid, "You can\'t fish while surfing neither flying above water.") return true end if getTileInfo(getThingPos(getCreatureSummons(cid)[1] or cid)).protection then doPlayerSendCancel(cid, "You can't fish pokémons if you or your pokémon is in protection zone.") return true end setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1) if getPlayerStorageValue(cid, storage) >= 800 then setPlayerStorageValue(cid, storage, 1) end local delay = 3500 - getPlayerSkillLevel(cid, 6) * 25 local chance = 40 doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage)) return true end O item de pesca tem que ter a um item muti uso ou seja com a função use with..
  9. function doHealOverTime(cid, heal, turn, effect) if not isCreature(cid) then return true end local regen = (heal*getCreatureMaxHealth(cid)/100) if turn <= 0 or (getCreatureHealth(cid) == getCreatureMaxHealth(cid)) or getPlayerStorageValue(cid, 173) <= 0 then setPlayerStorageValue(cid, 173, -1) return elseif getCreatureHealth(cid) + regen >= getCreatureMaxHealth(cid) then doSendAnimatedText(getThingPos(cid), "+".. math.ceil(100 - getCreatureHealth(cid)/getCreatureMaxHealth(cid)*100) .."%", 65) doCreatureAddHealth(cid, regen) doSendMagicEffect(getThingPos(cid), effect) return end doSendAnimatedText(getThingPos(cid), "+ "..heal.."%") doCreatureAddHealth(cid, regen ) doSendMagicEffect(getThingPos(cid), effect) addEvent(doHealOverTime, 1000, cid, heal, turn - 1, effect) addEvent(doUpdateStatusPoke, 1005, getCreatureMaster(cid)) end local potions = { [2273] = {health = 5, duration=10,effect= 12, animate = "SMALL POT", collor = 140}, [2272] = {health = 10, duration=10,effect= 12, animate = "GREAT POT", collor = 140}, [2271] = {health = 25, duration=10,effect= 12, animate = "MEGA POT", collor = 140}, [2275] = {health = 40,duration=10, effect= 12, animate = "HYPER POT", collor = 140}, [2274] = {health = 60, duration=10,effect= 12, animate = "SUPER POT", collor = 140}, } function onUse(cid, item, frompos, item2, topos) local pid = getThingFromPosWithProtect(topos) local pokeballInfo = getPokeballInfo(getPlayerSlotItem(cid, 8).uid) if not isCreature(pid) or not isSummon(pid) then return doPlayerSendCancel(cid, "You can only use potions on your own Pokemons!") end if getCreatureMaster(pid) ~= cid then return doPlayerSendCancel(cid, "You can only use potions on your own Pokemons!") end if getCreatureHealth(pid) == getCreatureMaxHealth(pid) then return doPlayerSendCancel(cid, "This pokemon is already at full health.") end if getPlayerStorageValue(pid, 173) >= 1 then return doPlayerSendCancel(cid, "This pokemon is already under effects of potions.") end if getPlayerStorageValue(cid, 52481) >= 1 then return doPlayerSendCancel(cid, "You can't do that while a duel.") end doCreatureSay(cid, "".. pokeballInfo.nick..", take this potion!", TALKTYPE_SAY) doSendAnimatedText(getThingPos(pid), potions[item.itemid].animate, potions[item.itemid].collor) setPlayerStorageValue(pid, 173, 1) doRemoveItem(item.uid, 1) doHealOverTime(pid, potions[item.itemid].health, potions[item.itemid].duration, potions[item.itemid].effect) return true end
  10. local fishing = { ["Magikarp"] = {skill = 0, level = 1}, ["Gyarados"] = {skill = 75, level = 75}, ["Staryu"] = {skill = 22, level = 6}, ["Starmie"] = {skill = 49, level = 20}, ["Tentacool"] = {skill = 20, level = 7}, ["Tentacruel"] = {skill = 60, level = 75}, ["Goldeen"] = {skill = 17, level = 5}, ["Seaking"] = {skill = 28, level = 11}, ["Krabby"] = {skill = 14, level = 2}, ["Kingler"] = {skill = 35, level = 14}, ["Horsea"] = {skill = 16, level = 3}, ["Seadra"] = {skill = 41, level = 15}, ["Poliwag"] = {skill = 15, level = 2}, ["Poliwhirl"] = {skill = 27, level = 9}, ["Squirtle"] = {skill = 25, level = 25}, ["Wartortle"] = {skill = 45, level = 44}, ["Blastoise"] = {skill = 75, level = 75}, ["Lapras"] = {skill = 85, level = 85}, } local storage = 15458 local bonus = 1 local limite = 100 local function doFish(cid, pos, ppos, chance, interval, number) if not isCreature(cid) then return false end if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then return false end if getPlayerStorageValue(cid, storage) ~= number then return false end doSendMagicEffect(pos, CONST_ME_LOSEENERGY) local peixe = 0 local playerpos = getClosestFreeTile(cid, getThingPos(cid)) local fishes = {} local randomfish = "" if getPlayerSkillLevel(cid, 6) < limite then doPlayerAddSkillTry(cid, 6, bonus) end for a, b in pairs (fishing) do if getPlayerSkillLevel(cid, 6) >= b.skill then table.insert(fishes, a) end end if math.random(1, 100) <= chance then if getPlayerSkillLevel(cid, 6) < limite then doPlayerAddSkillTry(cid, 6, bonus) end randomfish = fishes[math.random(#fishes)] peixe = doSummonCreature(randomfish, playerpos) if not isCreature(peixe) then addEvent(doFish, interval, cid, pos, ppos, chance, interval, number) return true end doCreatureSetLookDir(cid, getDirectionTo(getThingPos(cid), getThingPos(peixe))) --alterado ver depois if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173) doChallengeCreature(getCreatureSummons(cid)[1], peixe) else doSendMagicEffect(getThingPos(cid), 173) doChallengeCreature(cid, peixe) end return true end addEvent(doFish, interval, cid, pos, ppos, chance, interval, number) return true end local 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} function onUse(cid, item, fromPos, itemEx, toPos) if getPlayerGroupId(cid) == 11 then return true end if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid then doPlayerSendCancel(cid, "Put the fishing rod in the correct place!") return true end local checkPos = toPos checkPos.stackpos = 1 if getTileThingByPos(checkPos).itemid <= 0 then return true end if not isInArray(waters, getTileInfo(toPos).itemid) then return true end if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 then doPlayerSendCancel(cid, "You can't fish while surfing/flying.") return true end if isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then doPlayerSendCancel(cid, "You can\'t fish while surfing neither flying above water.") return true end if getTileInfo(getThingPos(getCreatureSummons(cid)[1] or cid)).protection then doPlayerSendCancel(cid, "You can't fish pokémons if you or your pokémon is in protection zone.") return true end setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1) if getPlayerStorageValue(cid, storage) >= 800 then setPlayerStorageValue(cid, storage, 1) end local delay = 3500 - getPlayerSkillLevel(cid, 6) * 25 local chance = 40 doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage)) return true end
  11. function doHealOverTime(cid, heal, turn, effect) --alterado v1.6 peguem o script todo!! if not isCreature(cid) then return true end local regen = (heal*getCreatureMaxHealth(cid)/100) if turn <= 0 or (getCreatureHealth(cid) == getCreatureMaxHealth(cid)) or getPlayerStorageValue(cid, 173) <= 0 then setPlayerStorageValue(cid, 173, -1) return elseif (getCreatureHealth(cid)*getCreatureMaxHealth(cid)/100) + regen >= getCreatureMaxHealth(cid) then doSendAnimatedText(getThingPos(cid), "+".. math.ceil(100 - getCreatureHealth(cid)/getCreatureMaxHealth(cid)*100) .."%", 65) doCreatureAddHealth(cid, regen) doSendMagicEffect(getThingPos(cid), effect) return end doSendAnimatedText(getThingPos(cid), "+ "..heal.."%") doCreatureAddHealth(cid, regen ) doSendMagicEffect(getThingPos(cid), effect) addEvent(doHealOverTime, 1000, cid, heal, turn - 1, effect) addEvent(doUpdateStatusPoke, 1005, getCreatureMaster(cid)) end local potions = { [2273] = {health = 5, duration=10,effect= 12, animate = "SMALL POT", collor = 140}, [2272] = {health = 10, duration=10,effect= 12, animate = "GREAT POT", collor = 140}, [2271] = {health = 25, duration=10,effect= 12, animate = "MEGA POT", collor = 140}, [2275] = {health = 40,duration=10, effect= 12, animate = "HYPER POT", collor = 140}, [2274] = {health = 60, duration=10,effect= 12, animate = "SUPER POT", collor = 140}, } function onUse(cid, item, frompos, item2, topos) local pid = getThingFromPosWithProtect(topos) local pokeballInfo = getPokeballInfo(getPlayerSlotItem(cid, 8).uid) if not isCreature(pid) or not isSummon(pid) then return doPlayerSendCancel(cid, "You can only use potions on your own Pokemons!") end if getCreatureMaster(pid) ~= cid then return doPlayerSendCancel(cid, "You can only use potions on your own Pokemons!") end if getCreatureHealth(pid) == getCreatureMaxHealth(pid) then return doPlayerSendCancel(cid, "This pokemon is already at full health.") end if getPlayerStorageValue(pid, 173) >= 1 then return doPlayerSendCancel(cid, "This pokemon is already under effects of potions.") end if getPlayerStorageValue(cid, 52481) >= 1 then return doPlayerSendCancel(cid, "You can't do that while a duel.") end doCreatureSay(cid, "".. pokeballInfo.nick..", take this potion!", TALKTYPE_SAY) doSendAnimatedText(getThingPos(pid), potions[item.itemid].animate, potions[item.itemid].collor) setPlayerStorageValue(pid, 173, 1) doRemoveItem(item.uid, 1) doHealOverTime(pid, potions[item.itemid].health, potions[item.itemid].duration, potions[item.itemid].effect) return true end
  12. local fishing = { ["Magikarp"] = {skill = 0, level = 1}, ["Gyarados"] = {skill = 75, level = 75}, ["Staryu"] = {skill = 22, level = 6}, ["Starmie"] = {skill = 49, level = 20}, ["Tentacool"] = {skill = 20, level = 7}, ["Tentacruel"] = {skill = 60, level = 75}, ["Goldeen"] = {skill = 17, level = 5}, ["Seaking"] = {skill = 28, level = 11}, ["Krabby"] = {skill = 14, level = 2}, ["Kingler"] = {skill = 35, level = 14}, ["Horsea"] = {skill = 16, level = 3}, ["Seadra"] = {skill = 41, level = 15}, ["Poliwag"] = {skill = 15, level = 2}, ["Poliwhirl"] = {skill = 27, level = 9}, ["Squirtle"] = {skill = 25, level = 25}, ["Wartortle"] = {skill = 45, level = 44}, ["Blastoise"] = {skill = 75, level = 75}, ["Lapras"] = {skill = 85, level = 85}, } local storage = 15458 local bonus = 1 local limite = 100 local function doFish(cid, pos, ppos, chance, interval, number) if not isCreature(cid) then return false end if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then return false end if getPlayerStorageValue(cid, storage) ~= number then return false end doSendMagicEffect(pos, CONST_ME_LOSEENERGY) local peixe = 0 local playerpos = getClosestFreeTile(cid, getThingPos(cid)) local fishes = {} local randomfish = "" if getPlayerSkillLevel(cid, 6) < limite then doPlayerAddSkillTry(cid, 6, bonus) end for a, b in pairs (fishing) do if getPlayerSkillLevel(cid, 6) >= b.skill then table.insert(fishes, a) end end if math.random(1, 100) <= chance then if getPlayerSkillLevel(cid, 6) < limite then doPlayerAddSkillTry(cid, 6, bonus) end randomfish = fishes[math.random(#fishes)] peixe = doSummonCreature(randomfish, playerpos) if not isCreature(peixe) then addEvent(doFish, interval, cid, pos, ppos, chance, interval, number) return true end doCreatureSetLookDir(cid, getDirectionTo(getThingPos(cid), getThingPos(peixe))) --alterado ver depois if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173) doChallengeCreature(getCreatureSummons(cid)[1], peixe) else doSendMagicEffect(getThingPos(cid), 173) doChallengeCreature(cid, peixe) end return true end addEvent(doFish, interval, cid, pos, ppos, chance, interval, number) return true end local 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} function onUse(cid, item, fromPos, itemEx, toPos) if getPlayerGroupId(cid) == 11 then return true end if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid then doPlayerSendCancel(cid, "Put the fishing rod in the correct place!") return true end local checkPos = toPos checkPos.stackpos = 1 if not isInArray(waters, getTileInfo(toPos).itemid) then return true end if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 then doPlayerSendCancel(cid, "You can't fish while surfing/flying.") return true end if isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then doPlayerSendCancel(cid, "You can\'t fish while surfing neither flying above water.") return true end if getTileInfo(getThingPos(getCreatureSummons(cid)[1] or cid)).protection then doPlayerSendCancel(cid, "You can't fish pokémons if you or your pokémon is in protection zone.") return true end setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1) if getPlayerStorageValue(cid, storage) >= 800 then setPlayerStorageValue(cid, storage, 1) end local delay = 3500 - getPlayerSkillLevel(cid, 6) * 25 local chance = 40 doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage)) return true end
  13. function doHealOverTime(cid, heal, turn, effect) --alterado v1.6 peguem o script todo!! if not isCreature(cid) then return true end local regen = (heal*getCreatureMaxHealth(cid)/100) if turn <= 0 or (getCreatureHealth(cid) == getCreatureMaxHealth(cid)) or getPlayerStorageValue(cid, 173) <= 0 then setPlayerStorageValue(cid, 173, -1) return elseif (getCreatureHealth*getCreatureMaxHealth(cid)/100) + regen >= getCreatureMaxHealth(cid) then doSendAnimatedText(getThingPos(cid), "+".. math.ceil(100 - getCreatureHealth/getCreatureMaxHealth*100) .."%", 65) doCreatureAddHealth(cid, regen) doSendMagicEffect(getThingPos(cid), effect) return end doSendAnimatedText(getThingPos(cid), "+ "..heal.."%") doCreatureAddHealth(cid, regen ) doSendMagicEffect(getThingPos(cid), effect) addEvent(doHealOverTime, 1000, cid, heal, turn - 1, effect) addEvent(doUpdateStatusPoke, 1005, getCreatureMaster(cid)) end local potions = { [2273] = {health = 5, duration=10,effect= 12, animate = "SMALL POT", collor = 140}, [2272] = {health = 10, duration=10,effect= 12, animate = "GREAT POT", collor = 140}, [2271] = {health = 25, duration=10,effect= 12, animate = "MEGA POT", collor = 140}, [2275] = {health = 40,duration=10, effect= 12, animate = "HYPER POT", collor = 140}, [2274] = {health = 60, duration=10,effect= 12, animate = "SUPER POT", collor = 140}, } function onUse(cid, item, frompos, item2, topos) local pid = getThingFromPosWithProtect(topos) local pokeballInfo = getPokeballInfo(getPlayerSlotItem(cid, 8).uid) if not isCreature(pid) or not isSummon(pid) then return doPlayerSendCancel(cid, "You can only use potions on your own Pokemons!") end if getCreatureMaster(pid) ~= cid then return doPlayerSendCancel(cid, "You can only use potions on your own Pokemons!") end if getCreatureHealth(pid) == getCreatureMaxHealth(pid) then return doPlayerSendCancel(cid, "This pokemon is already at full health.") end if getPlayerStorageValue(pid, 173) >= 1 then return doPlayerSendCancel(cid, "This pokemon is already under effects of potions.") end if getPlayerStorageValue(cid, 52481) >= 1 then return doPlayerSendCancel(cid, "You can't do that while a duel.") end doCreatureSay(cid, "".. pokeballInfo.nick..", take this potion!", TALKTYPE_SAY) doSendAnimatedText(getThingPos(pid), potions[item.itemid].animate, potions[item.itemid].collor) setPlayerStorageValue(pid, 173, 1) doRemoveItem(item.uid, 1) doHealOverTime(pid, potions[item.itemid].health, potions[item.itemid].duration, potions[item.itemid].effect) return true end
  14. local fishing = { ["Magikarp"] = {skill = 0, level = 1}, ["Gyarados"] = {skill = 75, level = 75}, ["Staryu"] = {skill = 22, level = 6}, ["Starmie"] = {skill = 49, level = 20}, ["Tentacool"] = {skill = 20, level = 7}, ["Tentacruel"] = {skill = 60, level = 75}, ["Goldeen"] = {skill = 17, level = 5}, ["Seaking"] = {skill = 28, level = 11}, ["Krabby"] = {skill = 14, level = 2}, ["Kingler"] = {skill = 35, level = 14}, ["Horsea"] = {skill = 16, level = 3}, ["Seadra"] = {skill = 41, level = 15}, ["Poliwag"] = {skill = 15, level = 2}, ["Poliwhirl"] = {skill = 27, level = 9}, ["Squirtle"] = {skill = 25, level = 25}, ["Wartortle"] = {skill = 45, level = 44}, ["Blastoise"] = {skill = 75, level = 75}, ["Lapras"] = {skill = 85, level = 85}, } local storage = 15458 local bonus = 1 local limite = 100 local function doFish(cid, pos, ppos, chance, interval, number) if not isCreature(cid) then return false end if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then return false end if getPlayerStorageValue(cid, storage) ~= number then return false end doSendMagicEffect(pos, CONST_ME_LOSEENERGY) local peixe = 0 local playerpos = getClosestFreeTile(cid, getThingPos(cid)) local fishes = {} local randomfish = "" if getPlayerSkillLevel(cid, 6) < limite then doPlayerAddSkillTry(cid, 6, bonus) end for a, b in pairs (fishing) do if getPlayerSkillLevel(cid, 6) >= b.skill then table.insert(fishes, a) end end if math.random(1, 100) <= chance then if getPlayerSkillLevel(cid, 6) < limite then doPlayerAddSkillTry(cid, 6, bonus) end randomfish = fishes[math.random(#fishes)] peixe = doSummonCreature(randomfish, playerpos) if not isCreature(peixe) then addEvent(doFish, interval, cid, pos, ppos, chance, interval, number) return true end doCreatureSetLookDir(cid, getDirectionTo(getThingPos(cid), getThingPos(peixe))) --alterado ver depois if #getCreatureSummons(cid) >= 1 then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173) doChallengeCreature(getCreatureSummons(cid)[1], peixe) else doSendMagicEffect(getThingPos(cid), 173) doChallengeCreature(cid, peixe) end return true end addEvent(doFish, interval, cid, pos, ppos, chance, interval, number) return true end local 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} function onUse(cid, item, fromPos, itemEx, toPos) if getPlayerGroupId(cid) == 11 then return true end if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid then doPlayerSendCancel(cid, "Put the fishing rod in the correct place!") return TRUE end local checkPos = toPos checkPos.stackpos = 1 if not isInArray(waters, getTileInfo(toPos).itemid) then return true end if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 then doPlayerSendCancel(cid, "You can't fish while surfing/flying.") return true end if isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then doPlayerSendCancel(cid, "You can\'t fish while surfing neither flying above water.") return true end if getTileInfo(getThingPos(getCreatureSummons(cid)[1] or cid)).protection then doPlayerSendCancel(cid, "You can't fish pokémons if you or your pokémon is in protection zone.") return true end
  15. Crypter postou uma resposta no tópico em Suporte OTServer Derivados
    Se o client for extendido marca a opção extended em preferencias
  16. No item editor já tem uma opção pra dar reload nos items automaticamente
  17. <instant name="Air Suffocation" words="Air Suffocation" lvl="42" maglv="1" mana="45" exhaustion="3000" prem="0" needlearn="0" direction="1" blockwalls="0" aggressive="1" event="script" value="Air/air suffocation.lua"> <vocation id="5"/> <vocation id="6"/> </instant> Você estava usando a opção casterTargetOrDirection no spells.xml ou seja - Conjurar no Target ou na direção, agora que coloquei só direction vai corrigir o problema.
  18. function onDeEquip(cid, item, slot) local storage = x if getPlayerStorageValue(cid, storage) > 0 then doPlayerSendTextMessage(cid, 18, "Sorry, you cannot unequip this item.") return false end return true end
  19. Use esse comando no terminal , ( Arrume o nome da database e o nome do arquivo ) mysql -u root -p database_name < archive.sql
  20. function onUse(cid, item, frompos, itemEx, topos) local bike = {lookType = 738, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet} --- Esse vai ser Homen local bike1 = {lookType = 737, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet} --- Esse vai ser mulher local speed = 474 --- Velocidade que a bike terá. if isPlayer(cid) and not isPremium(cid) and premium == true then doTeleportThing(cid, fromPosition, false) doPlayerSendCancel(cid, "Only premium accounts can mount.") return true end if item.uid ~= getPlayerSlotItem(cid, CONST_SLOT_RING).uid then doPlayerSendCancel(cid, "Put in the correct slot.") return true end if getPlayerStorageValue(cid, 17001) == 1 or getPlayerStorageValue(cid, 63215) == 1 or getPlayerStorageValue(cid, 17000) == 1 then doPlayerSendCancel(cid, "Dismount your pokemon to ride.") return true end if getPlayerStorageValue(cid, 32001) == 1 then doRemoveCondition(cid, CONDITION_OUTFIT) doChangeSpeed(cid, -speed) doSendMagicEffect(getPlayerPosition(cid), 18) setPlayerStorageValue(cid, 32001, -1) else if getPlayerSex(cid) == 1 then -- homem doChangeSpeed(cid, speed) doSetCreatureOutfit(cid, bike, -1) doSendMagicEffect(getPlayerPosition(cid), 18) setPlayerStorageValue(cid, 32001, 1) elseif getPlayerSex(cid) == 0 then -- homem doChangeSpeed(cid, speed) doSetCreatureOutfit(cid, bike1, -1) doSendMagicEffect(getPlayerPosition(cid), 18) setPlayerStorageValue(cid, 32001, 1) end end return true end
  21. Tibia_(1).exe
  22. Talvez o items.otb esteja com os atributos errados, da um reload nele
  23. Para alterar as Rates de catch das pokeball do seu server você deve alterar essa tabela: local ballcatch = { [2394] = {cr = 1, on = 24, off = 23, ball = {11826, 11737}, send = 47, typeee = "normal"}, [2391] = {cr = 1,5, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great"}, [2393] = {cr = 3, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super"}, [2392] = {cr = 2, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra"}, [12617] = {cr = 3, on = 204, off = 203, ball = {10975, 12621}, send = 35, typeee = "saffari"}, } Observe que a pra alterar a rate você tem que alterar o: cr
  24. http://www.tibiaking.com/forum/forums/topic/74632-old-client-dll-extender/
  25. Cara tu postou na área errada, a certa seria http://www.tibiaking.com/forum/forums/forum/139-tibia-alternativo/

Informação Importante

Confirmação de Termo