Jump to content
Close

kamus9629

Member
  • Content Count

    465
  • Joined

  • Last visited

2 Followers

About kamus9629

  • Rank
    Baronet

Profile Information

  • Gender
    Masculino
  • Localization
    rio de janeiro
  • I am
    Tibiano
  • My character
    asdasd
  • Favorite OTServ
    Narutibia
  • Bot preferred
    ELF BOT

Recent Profile Visitors

5703 profile views
  1. .Qual servidor ou website você utiliza como base? RealPoke, version 0.3.6 Qual o motivo deste tópico? eu deletei energy ring para coloca cenario que agente fizemos so que quando eu uso item no map ela muda para outro item Está surgindo algum erro? Se sim coloque-o aqui. o map fica bugado ela muda para o item de baixo <item id="2167" article="an" name="energy ring"> <attribute key="weight" value="80" /> <attribute key="slotType" value="ring" /> <attribute key="transformEquipTo" value="2204" /> <attribute key="stopduration" value="1" /> <attribute key="showduration" value="1" /> </item> Outro quando ele vira!: <item id="2204" article="an" name="energy ring"> <attribute key="weight" value="80" /> <attribute key="slotType" value="ring" /> <attribute key="decayTo" value="0" /> <attribute key="transformDeEquipTo" value="2167" /> <attribute key="duration" value="1200" /> <attribute key="showduration" value="1" /> <attribute key="manashield" value="1" /> </item>
  2. .Qual servidor ou website você utiliza como base? RealPoke, version 0.3.6 Qual o motivo deste tópico? system level bug Está surgindo algum erro? Se sim coloque-o aqui. spawn.lua Você tem o código disponível? Se tiver publique-o aqui: local shinys = { "Bulbasaur" , "Ivysaur" , "Venusaur" , "Charmander" , "Charmeleon" , "Charizard" , "Squirtle" , "Wartortle" , "Blastoise" , "Caterpie" , "Metapod" , "Butterfree" , "Weedle" , "Kakuna" , "Beedrill" , "Pidgey" , "Pidgeotto" , "Pidgeot" , "Rattata" , "Raticate" , "Spearow" , "Fearow" , "Ekans" , "Arbok" , "Pikachu" , "Raichu" , "Sandshrew" , "Sandslash" , "Nidoran female" , "Nidorina" , "Nidoqueen" , "Nidoran male" , "Nidorino" , "Nidoking" , "Clefairy" , "Clefable" , "Vulpix" , "Ninetales" , "Jigglypuff" , "Wigglytuff" , "Zubat" , "Golbat" , "Oddish" , "Gloom" , "Vileplume" , "Paras" , "Parasect" , "Venonat" , "Venomoth" , "Diglett" , "Dugtrio" , "Meowth" , "Persian" , "Psyduck" , "Golduck" , "Mankey" , "Primeape" , "Growlithe" , "Arcanine" , "Poliwag" , "Poliwhirl" , "Poliwrath" , "Abra" , "Kadabra" , "Alakazam" , "Machop" , "Machoke" , "Machamp" , "Bellsprout" , "Weepinbell" , "Victreebel" , "Tentacool" , "Tentacruel" , "Geodude" , "Graveler" , "Golem" , "Ponyta" , "Rapidash" , "Slowpoke" , "Slowbro" , "Magnemite" , "Magneton" ," Farfetch'd" , "Doduo" , "Dodrio" , "Seel" , "Dewgong" , "Grimer" , "Muk" , "Shellder" , "Cloyster" , "Gastly" , "Haunter" , "Gengar" , "Onix" , "Drowzee" , "Hypno" , "Krabby" , "Kingler" , "Voltorb" , "Electrode" , "Exeggcute" , "Exeggutor" , "Cubone" , "Marowak" , "Hitmonlee" , "Hitmonchan" , "Lickitung" , "Koffing" , "Weezing" , "Rhyhorn" , "Rhydon" , "Chansey" , "Tangela" , "Kangaskhan" , "Horsea" , "Seadra" , "Goldeen" , "Seaking" , "Staryu" , "Starmie" , "Mr. mime" , "Scyther" , "Jynx" , "Electabuzz" , "Magmar" , "Pinsir" , "Tauros" , "Magikarp" , "Gyarados" , "Lapras" , "Ditto" , "Eevee" , "Vaporeon" , "Jolteon" , "Flareon" , "Porygon" , "Omanyte" , "Omastar" , "Kabuto" , "Kabutops" , "Aerodactyl" ," Snorlax" , "Dratini" , "Dragonair" , "Dragonite" , "Chikorita" , "Bayleef" , "Meganium" , "Cyndaquil" , "Quilava" , "Typhlosion" , "Totodile" , "Croconaw" , "Feraligatr" , "Sentret" , "Furret" , "Hoothoot" , "Noctowl" , "Ledyba" , "Ledian" , "Spinarak" , "Ariados" , "Crobat" , "Chinchou" , "Lanturn" , "Pichu" , "Cleffa" , "Igglybuff" , "Togepi" , "Togetic" , "Natu" , "Xatu" , "Mareep" , "Flaaffy" , "Ampharos" , "Bellossom" , "Marill" , "Azumarill" , "Sudowoodo" , "Politoed" , "Hoppip" , "Skiploom" , "Jumpluff" , "Aipom" , "Sunkern" , "Sunflora" , "Yanma" , "Wooper" , "Quagsire" , "Espeon" , "Umbreon" , "Murkrow" , "Slowking" , "Misdreavus" , "Unown" , "Wobbuffet" , "Girafarig" , "Pineco" , "Forretress" , "Dunsparce" , "Gligar" , "Steelix" , "Snubbull" , "Granbull" , "Qwilfish" , "Scizor" , "Shuckle" , "Heracross" , "Sneasel" , "Teddiursa" , "Ursaring" , "Slugma" , "Magcargo" , "Swinub" , "Piloswine" , "Corsola" , "Remoraid" , "Octillery" , "Delibird" , "Mantine" , "Skarmory" , "Houndour" , "Houndoom" , "Kingdra" , "Phanpy" , "Donphan" , "Porygon2" , "Stantler" , "Smeargle" , "Tyrogue" , "Hitmontop" , "Smoochum" , "Elekid" , "Magby" , "Miltank" , "Blissey" , "Larvitar" , "Pupitar" , "Tyranitar" } local raros = {"Articuno" , "Zapdos" , "Moltres" , "Mewtwo" , "Mew" , "Raikou" , "Entei" , "Suicune" , "Lugia" , "Ho-oh" , "Celebi", "Rayquaza"} --alterado v2.5 local function doPokemonRegisterLevel(cid) if not isCreature(cid) then return true end if getWildPokemonLevel(cid) == -1 then setWildPokemonLevel(cid) end if isCreature(cid) then if not isSummon(cid) then if string.find(tostring(getCreatureName(cid)), "Shiny") then local newName = tostring(getCreatureName(cid)):match("Shiny (.*)") local newNamed = newName.." ["..getPokemonLevel(cid).."]" else newNamed = getCreatureName(cid).." ["..getPokemonLevel(cid).."]" end doCreatureSetNick(cid, newNamed) end end end local function doSetRandomGender(cid) if not isCreature(cid) then return true end if isSummon(cid) then return true end local gender = 0 local name = getCreatureName(cid) if not newpokedex[name] then return true end local rate = newpokedex[name].gender if rate == 0 then gender = 3 elseif rate == 1000 then gender = 4 elseif rate == -1 then gender = 2 elseif math.random(1, 1000) <= rate then gender = 4 else gender = 3 end doCreatureSetSkullType(cid, gender) end local function doShiny(cid) if isCreature(cid) then if isSummon(cid) then return true end if getPlayerStorageValue(cid, 74469) >= 1 then return true end if getPlayerStorageValue(cid, 22546) >= 1 then return true end if isNpcSummon(cid) then return true end if getPlayerStorageValue(cid, 637500) >= 1 then return true end --alterado v2.9 if isInArray(shinys, getCreatureName(cid)) then --alterado v2.9 \/ chance = 1 --1% chance elseif isInArray(raros, getCreatureName(cid)) then --n coloquem valores menores que 0.1 !! chance = 5 --0.5% chance else return true end if math.random(1, 1000) <= chance then doSendMagicEffect(getThingPos(cid), 18) local name, pos = "Shiny ".. getCreatureName(cid), getThingPos(cid) doRemoveCreature(cid) local shi = doCreateMonster(name, pos, false) setPlayerStorageValue(shi, 74469, 1) else setPlayerStorageValue(cid, 74469, 1) end --/\ else return true end end function onSpawn(cid) registerCreatureEvent(cid, "Experience") registerCreatureEvent(cid, "GeneralConfiguration") registerCreatureEvent(cid, "DirectionSystem") registerCreatureEvent(cid, "CastSystem") registerCreatureEvent(cid, "WildSpells") if isInArray(passivepokemons, getPokemonName(cid)) then registerCreatureEvent(cid, "BlockAttack") end if isSummon(cid) then registerCreatureEvent(cid, "SummonDeath") return true end addEvent(doPokemonRegisterLevel, 5, cid) addEvent(doSetRandomGender, 5, cid) addEvent(doShiny, 10, cid) return true end Level System.lua function getPokemonStatus(name, multiplier) local a = pokes[name] local m = 1 if not a then return false end if not a.offense then return false end if multiplier then m = multiplier end local ret = {} ret.off = a.offense * m ret.offense = ret.off ret.def = a.defense * m ret.defense = ret.def ret.sdef = a.specialdefense * m ret.specialdefense = ret.sdef ret.agi = a.agility * m ret.agility = ret.agi ret.spatk = a.specialattack * m ret.specialattack = ret.spatk ret.vit = a.vitality * m ret.vitality = ret.vit return ret end function getPokemonType(name) --by smowking local path = "data/monster/pokes/Shiny Kanto/"..name..".xml" local tpw = io.type(io.open(path)) if not tpw then path = "data/monster/pokes/Nesil 2/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Nesil 1/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Nesil 3/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Nesil 4/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Nesil 5/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Novelty/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Shiny Hoenn/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Shiny Johto/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Shiny Sinnoh/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then return print("[getPokemonType] Poke with name: "..name.." ins't in any paste on monster/pokes/") and 2 end local arq = io.open(path, "a+") local txt = arq:read("*all") arq:close() local a, b = txt:find('race="(.-)"') txt = string.sub(txt, a + 6, b - 1) return txt end function getPokemonXMLOutfit(name) --alterado v2.9 \/ local path = "data/monster/pokes/Shiny Kanto/"..name..".xml" local tpw = io.type(io.open(path)) if not tpw then path = "data/monster/pokes/Nesil 2/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Nesil 1/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Nesil 3/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Nesil 4/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Nesil 5/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Novelty/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Shiny Hoenn/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Shiny Johto/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/Shiny Sinnoh/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then return print("[getPokemonXMLOutfit] Poke with name: "..name.." ins't in any paste on monster/pokes/") and 2 end local arq = io.open(path, "a+") local txt = arq:read("*all") arq:close() local a, b = txt:find('look type="(.-)"') txt = string.sub(txt, a + 11, b - 1) return tonumber(txt) end function doEvolutionOutfit(cid, oldout, outfit) if not isCreature(cid) then return true end if getCreatureOutfit(cid).lookType == oldout then doSetCreatureOutfit(cid, {lookType = outfit}, -1) else doSetCreatureOutfit(cid, {lookType = oldout}, -1) end end function doStartEvolution(cid, evolution, seconds) if not isCreature(cid) then return true end local a = getPlayerStorageValue(cid, 1007) local b = getCreatureHealth(cid) / getCreatureMaxHealth(cid) local d = getThingPos(cid) local e = getCreatureMaster(cid) if getHappinessRate(cid) < 1 then return true end local f = getCreatureOutfit(cid).lookType local g = getItemAttribute(getPlayerSlotItem(e, 8).uid, "nick") or getCreatureName(cid) local h = getPokemonXMLOutfit(evolution) doItemSetAttribute(getPlayerSlotItem(e, 8).uid, "hp", b) doCreatureSay(e, "What? My "..g.." is evolving!", TALKTYPE_SAY) doSummonMonster(e, "Evolution") doReturnPokemon(e, cid, getPlayerSlotItem(e, 8), 0, true) local evo = getCreatureSummons(e)[1] doEvolutionOutfit(evo, h, f) doCreatureSetHideHealth(evo, true) doCreatureSetLookDir(evo, 2) setPlayerStorageValue(evo, 1007, g) doTeleportThing(evo, d, false) addEvent(sendSSJEffect, 250, evo) doSendAnimatedText(getThingPos(evo), "EVOLUTION", COLOR_GRASS) doSendEvolutionEffect(evo, getThingPos(evo), evolution, 20, false, false, f, h) end function doSendEvolutionEffect(cid, pos, evolution, turn, ssj, evolve, f, h) if not isCreature(cid) then doSendAnimatedText(pos, "CANCEL", 215) return true end if evolve then doEvolvePokemon(getCreatureMaster(cid), {uid = cid}, evolution, 0, 0) return true end doSendMagicEffect(pos, 18) if ssj then sendSSJEffect(evo) end doEvolutionOutfit(cid, f, h) addEvent(doSendEvolutionEffect, math.pow(1900, turn/20), cid, getThingPos(cid), evolution, turn - 1, turn == 19, turn == 2, f, h) end function sendSSJEffect(cid) if not isCreature(cid) then return true end local pos1 = getThingPos(cid) local pos2 = getThingPos(cid) pos2.x = pos2.x + math.random(-1, 1) pos2.y = pos2.y - math.random(1, 2) doSendDistanceShoot(pos1, pos2, 37) addEvent(sendSSJEffect, 45, cid) end function sendFinishEvolutionEffect(cid, alternate) if not isCreature(cid) then return true end local pos1 = getThingPos(cid) if alternate then local pos = { [1] = {-2, 0}, [2] = {-1, -1}, [3] = {0, -2}, [4] = {1, -1}, [5] = {2, 0}, [6] = {1, 1}, [7] = {0, 2}, [8] = {-1, 1}} for a = 1, 8 do local pos2 = getThingPos(cid) pos2.x = pos2.x + pos[a][1] pos2.y = pos2.y + pos[a][2] local pos = getThingPos(cid) doSendDistanceShoot(pos2, pos, 37) addEvent(doSendDistanceShoot, 300, pos, pos2, 37) end else for a = 0, 3 do doSendDistanceShoot(pos1, getPosByDir(pos1, a), 37) end for a = 4, 7 do addEvent(doSendDistanceShoot, 600, pos1, getPosByDir(pos1, a), 37) end end end function doEvolvePokemon(cid, item2, theevo, stone1, stone2) if not isCreature(cid) then return true end if not pokes[theevo] or not pokes[theevo].offense then doReturnPokemon(cid, item2.uid, getPlayerSlotItem(cid, 8), pokeballs[getPokeballType(getPlayerSlotItem(cid, 8).itemid)].effect, false, true) return true end local owner = getCreatureMaster(item2.uid) local pokeball = getPlayerSlotItem(cid, 8) local description = "Contains a "..theevo.."." local pct = getCreatureHealth(item2.uid) / getCreatureMaxHealth(item2.uid) doItemSetAttribute(pokeball.uid, "hp", pct) doItemSetAttribute(pokeball.uid, "poke", theevo) doItemSetAttribute(pokeball.uid, "description", "Contains a "..theevo..".") doPlayerSendTextMessage(cid, 27, "Parabens! Seu "..getPokeName(item2.uid).." Evoluiu Para "..theevo.."!") doSendMagicEffect(getThingPos(item2.uid), 18) doTransformItem(getPlayerSlotItem(cid, 7).uid, fotos[theevo]) doSendMagicEffect(getThingPos(cid), 173) local oldpos = getThingPos(item2.uid) local oldlod = getCreatureLookDir(item2.uid) local oldlvl = getPokemonLevel(item2.uid) doRemoveCreature(item2.uid) doSummonMonster(cid, theevo) local pk = getCreatureSummons(cid)[1] doTeleportThing(pk, oldpos, false) doCreatureSetLookDir(pk, oldlod) sendFinishEvolutionEffect(pk, true) addEvent(sendFinishEvolutionEffect, 550, pk, true) addEvent(sendFinishEvolutionEffect, 1050, pk) doPlayerRemoveItem(cid, stone1, 1) doPlayerRemoveItem(cid, stone2, 1) doAddPokemonInOwnList(cid, theevo) local status = getPokemonStatus(getCreatureName(pk)) local off = status.off * 7.5 local def = status.def * 7.5 local agi = status.agi * 7.5 local spatk = status.spatk * 7.5 local vit = status.vit * 7.5 doItemSetAttribute(pokeball.uid, "offense", getItemAttribute(pokeball.uid, "offense") + off) doItemSetAttribute(pokeball.uid, "defense", getItemAttribute(pokeball.uid, "defense") + def) doItemSetAttribute(pokeball.uid, "speed", getItemAttribute(pokeball.uid, "speed") + agi) doItemSetAttribute(pokeball.uid, "specialattack", getItemAttribute(pokeball.uid, "specialattack") + spatk) doItemSetAttribute(pokeball.uid, "vitality", getItemAttribute(pokeball.uid, "vitality") + vit) doPlayerSendTextMessage(cid, 27, "Evoluçao Bonus: • Offense: +"..doMathDecimal(off).." • Defense: +"..doMathDecimal(def).." • Spc. Atk: +"..doMathDecimal(spatk).." • Agility: +"..doMathDecimal(agi).." • Vitality: +"..doMathDecimal(vit).."") local happy = getItemAttribute(pokeball.uid, "happy") doItemSetAttribute(pokeball.uid, "happy", happy + happyGainedOnEvolution) if happy + happyGainedOnEvolution > 255 then doItemSetAttribute(pokeball.uid, "happy", 255) end adjustStatus(pk, pokeball.uid, true, false) if useKpdoDlls then doUpdateMoves(cid) end end function doMathDecimal(number, casas) if math.floor(number) == number then return number end local c = casas and casas + 1 or 3 for a = 0, 10 do if math.floor(number) < math.pow(10, a) then local str = string.sub(""..number.."", 1, a + c) return tonumber(str) end end return number end function doAdjustWithDelay(cid, pk, health, vit, status) if isCreature(cid) then --alterado v2.5 if not isCreature(cid) then return true end adjustStatus(pk, getPlayerSlotItem(cid, 8).uid, health, vir, status) end end function adjustStatus(pk, item, health, vite, conditions) if not isCreature(pk) then return true end local bonusoffense = getItemAttribute(item, boffense) or 0 local bonusdefense = getItemAttribute(item, bdefense) or 0 local bonusagility = getItemAttribute(item, bagility) or 0 local bonussattack = getItemAttribute(item, bsattack) or 0 setPlayerStorageValue(pk, 1000, getItemAttribute(item, "level")) setPlayerStorageValue(pk, 1001, getItemAttribute(item, "offense")) setPlayerStorageValue(pk, 1002, getItemAttribute(item, "defense")) setPlayerStorageValue(pk, 1003, getItemAttribute(item, "speed")) setPlayerStorageValue(pk, 1005, getItemAttribute(item, "specialattack")) setPlayerStorageValue(pk, 1016, getItemAttribute(item, "spdefense")) local gender = getItemAttribute(item, "gender") and getItemAttribute(item, "gender") or 0 doCreatureSetSkullType(pk, gender) if vite == true then local pct = getCreatureHealth(pk) / getCreatureMaxHealth(pk) local vit = getItemAttribute(item, "vitality") - getPlayerStorageValue(pk, 1004) setCreatureMaxHealth(pk, getCreatureMaxHealth(pk) + ( vit * HPperVIT )) doCreatureAddHealth(pk, pct * vit * HPperVIT) end setPlayerStorageValue(pk, 1004, getItemAttribute(item, "vitality")) doRegainSpeed(pk) local nick = getItemAttribute(item, "poke") if string.find(tostring(nick), "Shiny") then nick = tostring(nick):match("(Shiny .*)") end if getItemAttribute(item, "nick") then nick = getItemAttribute(item, "nick") end setPlayerStorageValue(pk, 1007, nick) local boostlevel = getItemAttribute(item, "boost") or 0 local boostshow = hideBoost and "]" or " + "..boostlevel.."]" local lvlstr = "" if showBoostSeparated then boostshow = hideBoost and "]" or "] [+"..boostlevel.."]" end if hideSummonsLevel then if not hideBoost then nick = nick.." [+"..boostlevel.."]" end else nick = nick.." ["..boostshow.."" end if not getItemAttribute(item, "happy") then doItemSetAttribute(item, "happy", 120) end if not getItemAttribute(item, "hunger") then doItemSetAttribute(item, "hunger", 5) end local happy = getItemAttribute(item, "happy") if happy < 0 then happy = 1 end setPlayerStorageValue(pk, 1008, happy) local hunger = getItemAttribute(item, "hunger") setPlayerStorageValue(pk, 1009, hunger) if health == true then local mh = getCreatureMaxHealth(pk) + HPperVIT * getVitality(pk) * statusVitSummonMultiplier local rd = 1 - (tonumber(getItemAttribute(item, "hp"))) setCreatureMaxHealth(pk, mh) doCreatureAddHealth(pk, getCreatureMaxHealth(pk)) doCreatureAddHealth(pk, -(getCreatureMaxHealth(pk) * rd)) end if isSummon(pk) and conditions then --alterado v2.5 daki pra baixo!! local burn = getItemAttribute(item, "burn") if burn and burn >= 0 then local ret = {id = pk, cd = burn, check = false, damage = getItemAttribute(item, "burndmg"), cond = "Burn"} addEvent(doCondition2, 3500, ret) end local poison = getItemAttribute(item, "poison") if poison and poison >= 0 then local ret = {id = pk, cd = poison, check = false, damage = getItemAttribute(item, "poisondmg"), cond = "Poison"} addEvent(doCondition2, 1500, ret) end local confuse = getItemAttribute(item, "confuse") if confuse and confuse >= 0 then local ret = {id = pk, cd = confuse, check = false, cond = "Confusion"} addEvent(doCondition2, 1200, ret) --alterado v2.5 end local sleep = getItemAttribute(item, "sleep") if sleep and sleep >= 0 then local ret = {id = pk, cd = sleep, check = false, first = true, cond = "Sleep"} doCondition2(ret) end local miss = getItemAttribute(item, "miss") if miss and miss >= 0 then local ret = {id = pk, cd = miss, eff = getItemAttribute(item, "missEff"), check = false, spell = getItemAttribute(item, "missSpell"), cond = "Miss"} doCondition2(ret) end local fear = getItemAttribute(item, "fear") if fear and fear >= 0 then local ret = {id = pk, cd = fear, check = false, skill = getItemAttribute(item, "fearSkill"), cond = "Fear"} doCondition2(ret) end local silence = getItemAttribute(item, "silence") if silence and silence >= 0 then local ret = {id = pk, cd = silence, eff = getItemAttribute(item, "silenceEff"), check = false, cond = "Silence"} doCondition2(ret) end local stun = getItemAttribute(item, "stun") if stun and stun >= 0 then local ret = {id = pk, cd = stun, eff = getItemAttribute(item, "stunEff"), check = false, spell = getItemAttribute(item, "stunSpell"), cond = "Stun"} doCondition2(ret) end local paralyze = getItemAttribute(item, "paralyze") if paralyze and paralyze >= 0 then local ret = {id = pk, cd = paralyze, eff = getItemAttribute(item, "paralyzeEff"), check = false, first = true, cond = "Paralyze"} doCondition2(ret) end local slow = getItemAttribute(item, "slow") if slow and slow >= 0 then local ret = {id = pk, cd = slow, eff = getItemAttribute(item, "slowEff"), check = false, first = true, cond = "Slow"} doCondition2(ret) end local leech = getItemAttribute(item, "leech") if leech and leech >= 0 then local ret = {id = pk, cd = leech, attacker = 0, check = false, damage = getItemAttribute(item, "leechdmg"), cond = "Leech"} doCondition2(ret) end for i = 1, 3 do local buff = getItemAttribute(item, "Buff"..i) if buff and buff >= 0 then local ret = {id = pk, cd = buff, eff = getItemAttribute(item, "Buff"..i.."eff"), check = false, buff = getItemAttribute(item, "Buff"..i.."skill"), first = true, attr = "Buff"..i} doCondition2(ret) end end end --alterado v2.9 if getItemAttribute(item, "boost") and getItemAttribute(item, "boost") >= 50 and getItemAttribute(item, "aura") then sendAuraEffect(pk, auraSyst[getItemAttribute(item, "aura")]) end if getPlayerStorageValue(getCreatureMaster(pk), 6598754) >= 1 then setPlayerStorageValue(pk, 6598754, 1) elseif getPlayerStorageValue(getCreatureMaster(pk), 6598755) >= 1 then setPlayerStorageValue(pk, 6598755, 1) end return true end function setWildPokemonLevel(cid, optionalLevel, optionalStatus, optionalNick, optionalExtraExp) if not isCreature(cid) then return true end if not pokes[getCreatureName(cid)] then return true end --alterado v2.6 local off = 0 local def = 0 local sdef = 0 local agi = 0 local spatk = 0 local vit = 0 local this = getCreatureName(cid) levelwildmin = pokes[this].wildLvlMin levelwildmax = pokes[this].wildLvlMax - 5 --Reduzido em 5 o level maximo dos pokemons. local status = getPokemonStatus(this) if status then off = status.off def = status.def sdef = status.sdef agi = status.agi vit = status.vit spatk = status.spatk end local pokelevel = math.random(levelwildmin, levelwildmax) setPlayerStorageValue(cid, 1000, pokelevel) --alterado v2.8 setPlayerStorageValue(cid, 67312, this) --alterado v2.8 if optionalStatus and optionalStatus.off then setPlayerStorageValue(cid, 1001, optionalStatus.offense) setPlayerStorageValue(cid, 1002, optionalStatus.defense) setPlayerStorageValue(cid, 1003, optionalStatus.agility) setPlayerStorageValue(cid, 1004, optionalStatus.vitality) setPlayerStorageValue(cid, 1005, optionalStatus.specialattack) setPlayerStorageValue(cid, 1016, optionalStatus.specialdefense) setPlayerStorageValue(cid, 1011, optionalStatus.offense) setPlayerStorageValue(cid, 1012, optionalStatus.defense) setPlayerStorageValue(cid, 1013, optionalStatus.agility) setPlayerStorageValue(cid, 1014, optionalStatus.vitality) setPlayerStorageValue(cid, 1015, optionalStatus.specialattack) else setPlayerStorageValue(cid, 1001, off * statusMultiplier + (2*pokelevel)) setPlayerStorageValue(cid, 1002, def * statusMultiplier + (2*pokelevel)) setPlayerStorageValue(cid, 1003, agi * statusMultiplier + (2*pokelevel)) setPlayerStorageValue(cid, 1004, vit * statusVitMultiplier + (2*pokelevel)) setPlayerStorageValue(cid, 1005, spatk * statusMultiplier + (2*pokelevel)) setPlayerStorageValue(cid, 1016, sdef * statusMultiplier + (2*pokelevel)) setPlayerStorageValue(cid, 1011, getPlayerStorageValue(cid, 1001)) setPlayerStorageValue(cid, 1012, getPlayerStorageValue(cid, 1002)) setPlayerStorageValue(cid, 1013, getPlayerStorageValue(cid, 1003)) setPlayerStorageValue(cid, 1014, getPlayerStorageValue(cid, 1004)) setPlayerStorageValue(cid, 1015, getPlayerStorageValue(cid, 1005)) end doRegainSpeed(cid) if isSummon(cid) then return true else setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + getVitality(cid) * HPperVIT * vitReductionForWild) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) end if pokes[getCreatureName(cid)].exp then local exp = (pokes[getCreatureName(cid)].exp * baseExpRate) + (5 * pokelevel) setPlayerStorageValue(cid, 1006, exp * generalExpRate) if getPlayerStorageValue(cid, 22546) == 1 then setPlayerStorageValue(cid, 1006, 750) doSetCreatureDropLoot(cid, false) end end end function getOffenseInRage(cid) --alterado v2.8 if not isCreature(cid) then return 0 end if getPlayerStorageValue(cid, 547888) >= 1 then return tonumber(getPlayerStorageValue(cid, 1001)) / 2 end return tonumber(getPlayerStorageValue(cid, 1001)) end function getOffense(cid) if not isCreature(cid) then return 0 end --[[if getPlayerStorageValue(cid, 3894) >= 1 then return tonumber(getPlayerStorageValue(cid, 1001)) / 2 end ]] return tonumber(getPlayerStorageValue(cid, 1001)) end function getDefense(cid) if not isCreature(cid) then return 0 end --[[ if getPlayerStorageValue(cid, 3894) >= 1 then return tonumber(getPlayerStorageValue(cid, 1002)) / 2 end ]] return tonumber(getPlayerStorageValue(cid, 1002)) end function getSpeed(cid) if not isCreature(cid) then return 0 end return tonumber(getPlayerStorageValue(cid, 1003)) end function getVitality(cid) if not isCreature(cid) then return 0 end return tonumber(getPlayerStorageValue(cid, 1004)) end function getSpecialAttack(cid) if not isCreature(cid) then return 0 end return tonumber(getPlayerStorageValue(cid, 1005)) end function getHappiness(cid) if not isCreature(cid) then return 0 end return tonumber(getPlayerStorageValue(cid, 1008)) end function getSpecialDefense(cid) if not isCreature(cid) then return 0 end return tonumber(getPlayerStorageValue(cid, 1016)) end function getWildPokemonExp(cid) return getPlayerStorageValue(cid, 1006) end function getWildPokemonLevel(cid) return getPlayerStorageValue(cid, 1000) end function getLevel(cid) if isSummon(cid) then return getItemAttribute(getPlayerSlotItem(getCreatureMaster(cid), 8).uid, "level") end return getPlayerStorageValue(cid, 1000) end function getPokeName(cid) if not isSummon(cid) then return getCreatureName(cid) end if getCreatureName(cid) == "Evolution" then return getPlayerStorageValue(cid, 1007) end local item = getPlayerSlotItem(getCreatureMaster(cid), 8) if getItemAttribute(item.uid, "nick") then --alterado v2.7 return getItemAttribute(item.uid, "nick") end if string.find(tostring(getCreatureName(cid)), "Shiny") then local newName = tostring(getCreatureName(cid)):match("(Shiny .*)") return newName end return getCreatureName(cid) end function getPokeballName(item, truename) if not truename and getItemAttribute(item, "nick") then return getItemAttribute(item, "nick") end return getItemAttribute(item, "poke") end function getMasterLevel(poke) if not isSummon(poke) then return 0 end return getPlayerLevel(getCreatureMaster(poke)) --alterado v2.5 end function getPokeballBoost(ball) if not isPokeball(ball.itemid) then return 0 end --alterado v2.8 return getItemAttribute(ball.uid, "boost") or 0 end function getPokemonBoost(poke) if not isSummon(poke) then return 0 end --alterado v2.5 return getItemAttribute(getPlayerSlotItem(getCreatureMaster(poke), 8).uid, "boost") or 0 end function getPokemonLevelByName(name) return pokes[name] and pokes[name].level or 0 --alterado v2.9 end function getPokemonLevel(cid) if not isCreature(cid) then return 0 end return getPlayerStorageValue(cid, 1000) end function getPokemonGender(cid) return getCreatureSkullType(cid) end function setPokemonGender(cid, gender) if isCreature(cid) and gender then --alterado v2.8 doCreatureSetSkullType(cid, gender) return true end return false end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  3. como arrumou ?

  4. nao vou abrir outro topico porque esse topico serve como pegunta que eu vou fazer como eu fasso pro ring nao muda para outro item como ta em cima
  5. voce tem esse sistema como Quest Maker que o npc fala com outro npc o npc termina quest entregando item ae libera para fala com outro npc ?

  6. eae cara pq para o nto panzer ?????

    e pode passa a base e o client so quero as sprites :D

    1. kamus9629

      kamus9629

      NNNNNNNNNNNNNNNNNNNNNNNNNNNN

  7. Onde consigo un vapus?

    1. Sanieg

      Sanieg

      vapus é um site: vapus.net/customclient

  8. se for para coloca vocation diferente como eu fasso

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...