
Tudo que Crypter postou
-
(Resolvido)Effecs Aparecendo Errado
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.
-
Compro no shop e entrega varias vezes
Coloque suas scripts antigas, e poste o globalevents.xml, posso arrumar pra você
-
!RESOLVIDO Spell Invisible Poketibia
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
-
(Resolvido)[AJUSTE] Fishing Rod
Abre o client com o object builder e marca a opção multi use no item
-
(Resolvido)[ADAPTAÇÃO] Potion por %porcentagem
Editado o copia de cima, testa agora
-
(Resolvido)[AJUSTE] Fishing Rod
Tens que colocar no client( tibia.spr e dat ) e no items.otb
-
(Resolvido)[ADAPTAÇÃO] Potion por %porcentagem
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
-
(Resolvido)[AJUSTE] Fishing Rod
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..
-
(Resolvido)[ADAPTAÇÃO] Potion por %porcentagem
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
-
(Resolvido)[AJUSTE] Fishing Rod
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
-
(Resolvido)[ADAPTAÇÃO] Potion por %porcentagem
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
-
(Resolvido)[AJUSTE] Fishing Rod
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
-
(Resolvido)[ADAPTAÇÃO] Potion por %porcentagem
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
-
(Resolvido)[AJUSTE] Fishing Rod
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
-
Bug no Rme
Se o client for extendido marca a opção extended em preferencias
-
servidor, com source travando quando clicar em algum lugar que o play não pode ir
No item editor já tem uma opção pra dar reload nos items automaticamente
-
Spell de área buga se estiver com target
<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.
-
[ADAPTAÇÃO] Não desequipar item caso esteja usando.
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
-
cambie de sistema
Use esse comando no terminal , ( Arrume o nome da database e o nome do arquivo ) mysql -u root -p database_name < archive.sql
-
(Resolvido)Ajuda, looktype color
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
- TROCAR IP DE CLIENTE
-
servidor, com source travando quando clicar em algum lugar que o play não pode ir
Talvez o items.otb esteja com os atributos errados, da um reload nele
-
(Resolvido)Como balancear minhas pokébola
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
-
(Resolvido)[DUVIDA] Sobre o limite de sprites
http://www.tibiaking.com/forum/forums/topic/74632-old-client-dll-extender/
-
[SCRIPT] Baú que da item completo
Cara tu postou na área errada, a certa seria http://www.tibiaking.com/forum/forums/forum/139-tibia-alternativo/