Postado Julho 20, 2015 9 anos Autor Bem eu nao entendi muito bem mas creio que voce quer isso: Crie em Action/actions o arquivo chamado boost.lua e cole isso dentro: local ballslot = 12355 local ballslot_run = 12352 local stoneslot = 12354 local stoneslot_run = 12353 local button = 12356 local button_run = 12357 function isRunning(id) if isInArray({button_run, stoneslot_run, ballslot_run}, id) then return true end return false end boost_stones = { ["Bulbasaur"] = {leaf}, ["Ivysaur"] = {leaf}, ["Venusaur"] = {leaf}, ["Charmander"] = {fire}, ["Charmeleon"] = {fire}, ["Charizard"] = {fire}, ["Squirtle"] = {water}, ["Wartortle"] = {water}, ["Blastoise"] = {water}, ["Caterpie"] = {coccon}, ["Metapod"] = {coccon}, ["Butterfree"] = {coccon}, ["Weedle"] = {coccon}, ["Kakuna"] = {coccon}, ["Beedrill"] = {coccon}, ["Pidgey"] = {heart}, ["Pidgeotto"] = {heart}, ["Pidgeot"] = {heart}, ["Rattata"] = {heart}, ["Raticate"] = {heart}, ["Spearow"] = {heart}, ["Fearow"] = {heart}, ["Ekans"] = {venom}, ["Arbok"] = {venom}, ["Pikachu"] = {thunder}, ["Raichu"] = {thunder}, ["Sandshrew"] = {earth}, ["Sandslash"] = {earth}, ["Nidoran Female"] = {venom}, ["Nidorina"] = {venom}, ["Nidoqueen"] = {venom, earth}, ["Nidoran Male"] = {venom}, ["Nidorino"] = {venom}, ["Nidoking"] = {venom, earth}, ["Clefairy"] = {heart}, ["Clefable"] = {heart}, ["Vulpix"] = {fire}, ["Ninetales"] = {fire}, ["Jigglypuff"] = {heart}, ["Wigglytuff"] = {heart}, ["Zubat"] = {venom}, ["Golbat"] = {venom}, ["Oddish"] = {leaf, venom}, ["Gloom"] = {leaf, venom}, ["Vileplume"] = {leaf, venom}, ["Paras"] = {coccon, leaf}, ["Parasect"] = {coccon, leaf}, ["Venonat"] = {coccon, venom}, ["Venomoth"] = {coccon, venom}, ["Diglett"] = {earth}, ["Dugtrio"] = {earth}, ["Meowth"] = {heart}, ["Persian"] = {heart}, ["Psyduck"] = {water}, ["Golduck"] = {water, enigma}, ["Mankey"] = {punch}, ["Primeape"] = {punch}, ["Growlithe"] = {fire}, ["Arcanine"] = {fire}, ["Poliwag"] = {water}, ["Poliwhirl"] = {water}, ["Poliwrath"] = {water, punch}, ["Abra"] = {enigma}, ["Kadabra"] = {enigma}, ["Alakazam"] = {enigma}, ["Machop"] = {punch}, ["Machoke"] = {punch}, ["Machamp"] = {punch}, ["Bellsprout"] = {leaf, venom}, ["Weepinbell"] = {leaf, venom}, ["Victreebel"] = {leaf, venom}, ["Tentacool"] = {water, venom}, ["Tentacruel"] = {water, venom}, ["Geodude"] = {earth, rock}, ["Graveler"] = {earth, rock}, ["Golem"] = {earth, rock}, ["Ponyta"] = {fire}, ["Rapidash"] = {fire}, ["Slowpoke"] = {water, enigma}, ["Slowbro"] = {water, enigma}, ["Magnemite"] = {thunder, metal}, ["Magneton"] = {thunder, metal}, ["Farfetch'd"] = {heart}, ["Doduo"] = {heart}, ["Dodrio"] = {heart}, ["Seel"] = {water, ice}, ["Dewgong"] = {water, ice}, ["Grimer"] = {venom}, ["Muk"] = {venom}, ["Shellder"] = {water, ice}, ["Cloyster"] = {water, ice}, ["Gastly"] = {dark}, ["Haunter"] = {dark}, ["Gengar"] = {dark}, ["Onix"] = {rock, earth}, ["Drowzee"] = {enigma}, ["Hypno"] = {enigma}, ["Krabby"] = {water}, ["Kingler"] = {water}, ["Voltorb"] = {thunder}, ["Electrode"] = {thunder}, ["Exeggcute"] = {enigma, leaf}, ["Exeggutor"] = {enigma, leaf}, ["Cubone"] = {earth}, ["Marowak"] = {earth}, ["Hitmonlee"] = {punch}, ["Hitmonchan"] = {punch}, ["Lickitung"] = {heart}, ["Koffing"] = {venom}, ["Weezing"] = {venom}, ["Rhyhorn"] = {earth, rock}, ["Rhydon"] = {earth, rock}, ["Chansey"] = {heart}, ["Tangela"] = {leaf}, ["Kangaskhan"] = {heart}, ["Horsea"] = {water}, ["Seadra"] = {water}, ["Goldeen"] = {water}, ["Seaking"] = {water}, ["Staryu"] = {water}, ["Starmie"] = {water}, ["Mr. Mime"] = {enigma}, ["Scyther"] = {coccon}, ["Jynx"] = {enigma, ice}, ["Electabuzz"] = {thunder}, ["Magmar"] = {fire}, ["Pinsir"] = {coccon}, ["Tauros"] = {heart}, ["Magikarp"] = {water}, ["Gyarados"] = {water, crystal}, ["Lapras"] = {water, ice}, ["Ditto"] = {heart}, ["Eevee"] = {heart}, ["Vaporeon"] = {water}, ["Jolteon"] = {thunder}, ["Flareon"] = {fire}, ["Porygon"] = {heart, enigma}, ["Omanyte"] = {rock, water}, ["Omastar"] = {rock, water}, ["Kabuto"] = {rock, water}, ["Kabutops"] = {rock, water}, ["Aerodactyl"] = {rock}, ["Snorlax"] = {heart}, ["Articuno"] = {ice}, ["Zapdos"] = {thunder}, ["Moltres"] = {fire}, ["Dratini"] = {crystal}, ["Dragonair"] = {crystal}, ["Dragonite"] = {crystal}, ["Mewtwo"] = {enigma}, ["Mew"] = {enigma}, -- ["Shiny Bulbasaur"] = {leaf}, ["Shiny Ivysaur"] = {leaf}, ["Shiny Venusaur"] = {leaf}, ["Shiny Charmander"] = {fire}, ["Shiny Charmeleon"] = {fire}, ["Shiny Charizard"] = {fire}, ["Shiny Squirtle"] = {water}, ["Shiny Wartortle"] = {water}, ["Shiny Blastoise"] = {water}, ["Shiny Caterpie"] = {coccon}, ["Shiny Metapod"] = {coccon}, ["Shiny Butterfree"] = {coccon}, ["Shiny Weedle"] = {coccon}, ["Shiny Kakuna"] = {coccon}, ["Shiny Beedrill"] = {coccon}, ["Shiny Pidgey"] = {heart}, ["Shiny Pidgeotto"] = {heart}, ["Shiny Pidgeot"] = {heart}, ["Shiny Rattata"] = {heart}, ["Shiny Raticate"] = {heart}, ["Shiny Spearow"] = {heart}, ["Shiny Fearow"] = {heart}, ["Shiny Ekans"] = {venom}, ["Shiny Arbok"] = {venom}, ["Shiny Pikachu"] = {thunder}, ["Shiny Raichu"] = {thunder}, ["Shiny Sandshrew"] = {earth}, ["Shiny Sandslash"] = {earth}, ["Shiny Nidoran Female"] = {venom}, ["Shiny Nidorina"] = {venom}, ["Shiny Nidoqueen"] = {venom, earth}, ["Shiny Nidoran Male"] = {venom}, ["Shiny Nidorino"] = {venom}, ["Shiny Nidoking"] = {venom, earth}, ["Shiny Clefairy"] = {heart}, ["Shiny Clefable"] = {heart}, ["Shiny Vulpix"] = {fire}, ["Shiny Ninetales"] = {fire}, ["Shiny Jigglypuff"] = {heart}, ["Shiny Wigglytuff"] = {heart}, ["Shiny Zubat"] = {venom}, ["Shiny Golbat"] = {venom}, ["Shiny Oddish"] = {leaf, venom}, ["Shiny Gloom"] = {leaf, venom}, ["Shiny Vileplume"] = {leaf, venom}, ["Shiny Paras"] = {coccon, leaf}, ["Shiny Parasect"] = {coccon, leaf}, ["Shiny Venonat"] = {coccon, venom}, ["Shiny Venomoth"] = {coccon, venom}, ["Shiny Diglett"] = {earth}, ["Shiny Dugtrio"] = {earth}, ["Shiny Meowth"] = {heart}, ["Shiny Persian"] = {heart}, ["Shiny Psyduck"] = {water}, ["Shiny Golduck"] = {water, enigma}, ["Shiny Mankey"] = {punch}, ["Shiny Primeape"] = {punch}, ["Shiny Growlithe"] = {fire}, ["Shiny Arcanine"] = {fire}, ["Shiny Poliwag"] = {water}, ["Shiny Poliwhirl"] = {water}, ["Shiny Poliwrath"] = {water, punch}, ["Shiny Abra"] = {enigma}, ["Shiny Kadabra"] = {enigma}, ["Shiny Alakazam"] = {enigma}, ["Shiny Machop"] = {punch}, ["Shiny Machoke"] = {punch}, ["Shiny Machamp"] = {punch}, ["Shiny Bellsprout"] = {leaf, venom}, ["Shiny Weepinbell"] = {leaf, venom}, ["Shiny Victreebel"] = {leaf, venom}, ["Shiny Tentacool"] = {water, venom}, ["Shiny Tentacruel"] = {water, venom}, ["Shiny Geodude"] = {earth, rock}, ["Shiny Graveler"] = {earth, rock}, ["Shiny Golem"] = {earth, rock}, ["Shiny Ponyta"] = {fire}, ["Shiny Rapidash"] = {fire}, ["Shiny Slowpoke"] = {water, enigma}, ["Shiny Slowbro"] = {water, enigma}, ["Shiny Magnemite"] = {thunder, metal}, ["Shiny Magneton"] = {thunder, metal}, ["Shiny Farfetch'd"] = {heart}, ["Shiny Doduo"] = {heart}, ["Shiny Dodrio"] = {heart}, ["Shiny Seel"] = {water, ice}, ["Shiny Dewgong"] = {water, ice}, ["Shiny Grimer"] = {venom}, ["Shiny Muk"] = {venom}, ["Shiny Shellder"] = {water, ice}, ["Shiny Cloyster"] = {water, ice}, ["Shiny Gastly"] = {dark}, ["Shiny Haunter"] = {dark}, ["Shiny Gengar"] = {dark}, ["Shiny Onix"] = {rock, earth}, ["Shiny Drowzee"] = {enigma}, ["Shiny Hypno"] = {enigma}, ["Shiny Krabby"] = {water}, ["Shiny Kingler"] = {water}, ["Shiny Voltorb"] = {thunder}, ["Shiny Electrode"] = {thunder}, ["Shiny Exeggcute"] = {enigma, leaf}, ["Shiny Exeggutor"] = {enigma, leaf}, ["Shiny Cubone"] = {earth}, ["Shiny Marowak"] = {earth}, ["Shiny Hitmonlee"] = {punch}, ["Shiny Hitmonchan"] = {punch}, ["Shiny Hitmontop"] = {punch}, --alterado v2.4 ["Shiny Lickitung"] = {heart}, ["Shiny Koffing"] = {venom}, ["Shiny Weezing"] = {venom}, ["Shiny Rhyhorn"] = {earth, rock}, ["Shiny Rhydon"] = {earth, rock}, ["Shiny Chansey"] = {heart}, ["Shiny Tangela"] = {leaf}, ["Shiny Kangaskhan"] = {heart}, ["Shiny Horsea"] = {water}, ["Shiny Seadra"] = {water}, ["Shiny Goldeen"] = {water}, ["Shiny Seaking"] = {water}, ["Shiny Staryu"] = {water}, ["Shiny Starmie"] = {water}, ["Shiny Mr. Mime"] = {enigma}, ["Shiny Scyther"] = {coccon}, ["Shiny Jynx"] = {enigma, ice}, ["Shiny Electabuzz"] = {thunder}, ["Shiny Magmar"] = {fire}, ["Shiny Pinsir"] = {coccon}, ["Shiny Tauros"] = {heart}, ["Shiny Magikarp"] = {water}, ["Shiny Gyarados"] = {water, crystal}, ["Shiny Lapras"] = {water, ice}, ["Shiny Ditto"] = {heart}, ["Shiny Eevee"] = {heart}, ["Shiny Vaporeon"] = {water}, ["Shiny Jolteon"] = {thunder}, ["Shiny Flareon"] = {fire}, ["Shiny Porygon"] = {heart, enigma}, ["Shiny Omanyte"] = {rock, water}, ["Shiny Omastar"] = {rock, water}, ["Shiny Kabuto"] = {rock, water}, ["Shiny Kabutops"] = {rock, water}, ["Shiny Aerodactyl"] = {rock}, ["Shiny Snorlax"] = {heart}, ["Shiny Articuno"] = {ice}, ["Shiny Zapdos"] = {thunder}, ["Shiny Moltres"] = {fire}, ["Shiny Dratini"] = {crystal}, ["Shiny Dragonair"] = {crystal}, ["Shiny Dragonite"] = {crystal}, ["Shiny Mewtwo"] = {enigma}, ["Shiny Mew"] = {enigma}, -- ["Chikorita"] = {leaf}, ["Bayleef"] = {leaf}, ["Meganium"] = {leaf}, ["Cyndaquil"] = {fire}, ["Quilava"] = {fire}, ["Typhlosion"] = {fire}, ["Totodile"] = {water}, ["Croconaw"] = {water}, ["Feraligatr"] = {water}, ["Sentret"] = {heart}, ["Furret"] = {heart}, ["Hoothoot"] = {heart, enigma}, ["Noctowl"] = {heart, enigma}, ["Ledyba"] = {coccon}, ["Ledian"] = {coccon}, ["Spinarak"] = {coccon, venom}, ["Ariados"] = {coccon, venom}, ["Crobat"] = {venom}, ["Chinchou"] = {water, thunder}, ["Lanturn"] = {water, thunder}, ["Pichu"] = {thunder}, ["Cleffa"] = {heart}, ["Iglybuff"] = {venom}, ["Natu"] = {enigma}, ["Xatu"] = {enigma}, ["Mareep"] = {thunder}, ["Flaaffy"] = {thunder}, ["Ampharos"] = {thunder}, ["Bellossom"] = {leaf}, ["Marill"] = {water}, ["Azulmarill"] = {water}, ["Sudowoodo"] = {rock, earth}, ["Politoed"] = {water, earth}, ["Hoppip"] = {leaf}, ["Skiploom"] = {leaf}, ["Jumpluff"] = {leaf}, ["Aipom"] = {heart}, ["Sunkern"] = {leaf}, ["Sunflora"] = {leaf}, ["Yanma"] = {venom, coccon}, ["Wooper"] = {water}, ["Quagsire"] = {water, earth}, ["Murkrow"] = {dark}, ["Slowking"] = {water,enigma}, ["Misdreavus"] = {dark}, ["Wobbuffet"] = {enigma}, ["Girafarig"] = {enigma}, ["Pineco"] = {coccon}, ["Forretress"] = {coccon}, ["Gligar"] = {dark, heart}, ["Steelix"] = {earth, rock}, ["Snubbull"] = {heart}, ["Granbull"] = {heart}, ["Qwilfish"] = {water}, ["Shuckle"] = {earth}, ["Heracross"] = {coccon}, ["Teddiursa"] = {heart}, ["Ursaring"] = {heart, dark}, ["Slugma"] = {fire}, ["Magcargo"] = {fire}, ["Swinub"] = {ice, earth}, ["Piloswine"] = {ice, earth}, ["Corsola"] = {water}, ["Remoraid"] = {water}, ["Octillery"] = {water}, ["Delibird"] = {ice, heart}, ["Mantine"] = {water}, ["Skarmory"] = {heart}, ["Houndour"] = {fire, dark}, ["Houndoom"] = {fire, dark}, ["Kingdra"] = {water, crystal}, ["Phanpy"] = {earth}, ["Donphan"] = {earth}, ["porygon2"] = {enigma}, ["Stantler"] = {heart}, ["Smeargle"] = {heart}, ["Tyrogue"] = {punch}, ["Hitmontop"] = {punch}, ["Smoochum"] = {ice, enigma}, ["Elekid"] = {thunder}, ["Magby"] = {fire}, ["Miltank"] = {heart}, ["Blissey"] = {heart}, ["Raikou"] = {thunder}, ["Entei"] = {fire}, ["Suicune"] = {water}, ["Larvitar"] = {earth, dark}, ["Pupitar"] = {earth, dark}, ["Tyranitar"] = {earth, dark}, ["Lugia"] = {enigma, water}, ["Ho-oh"] = {enigma, fire}, ["Celebi"] = {leaf, enigma}} function doRestoreBoostMachine(cid, b_pos, p_pos, s_pos, msg, msg2) doSendAnimatedText(b_pos, "DONE.", 215) if isCreature(cid) then doCreatureSetNoMove(cid, false) doPlayerSendTextMessage(cid, 27, msg) doPlayerSendTextMessage(cid, 27, msg2) end local ball_s = getTileItemById(p_pos, ballslot_run) doTransformItem(ball_s.uid, ballslot) local stne_s = getTileItemById(s_pos, stoneslot_run) doTransformItem(stne_s.uid, stoneslot) local butn_s = getTileItemById(b_pos, button_run) doTransformItem(butn_s.uid, button) end local stones_required = { -- custo base de stones para boostar [heart] = 1, [leaf] = 1, [water] = 1, [venom] = 1, [thunder] = 1, [rock] = 1, [punch] = 1, [fire] = 1, [coccon] = 1, [crystal] = 1, [dark] = 1, [earth] = 1, [enigma] = 1, [ice] = 1, } local stone_increase = { -- a cada quantos boosts irá aumentar o custo de stones [heart] = 4, [leaf] = 3, [water] = 3, [venom] = 4, [thunder] = 3, [rock] = 3, [punch] = 3, [fire] = 3, [coccon] = 3, [crystal] = 6, [dark] = 4, [earth] = 3, [enigma] = 4, [ice] = 4, } function onUse(cid, item, topos, item2, frompos) if isRunning(item.itemid) then doPlayerSendCancel(cid, "Wait until boosting finishes.") return true end if item.itemid == button then local pbpos = topos pbpos.x = pbpos.x + 1 local ball_slot = getTileItemById(pbpos, ballslot) local myball = getContainerItem(ball_slot.uid, 0) if myball.uid <= 0 or getItemWeight(myball.uid) == 0 then doPlayerSendCancel(cid, "You need to put a pokeball in the ball slot.") return true end local pokemon = getItemAttribute(myball.uid, "poke") local boost = getItemAttribute(myball.uid, "boost") or 0 if boost >= 100 then doPlayerSendCancel(cid, "Your pokemon is already at maximum boost.") return true end local stnpos = pbpos stnpos.x = stnpos.x - 2 local stone_slot = getTileItemById(stnpos, stoneslot) local stone = getContainerItem(stone_slot.uid, 0) if stone.uid <= 0 then doPlayerSendCancel(cid, "You need to put a stone in the stone slot.") return true end if not isStone(stone.itemid) then doPlayerSendCancel(cid, "Please, put only stones in the stone slot.") return true end if not isInArray(boost_stones[pokemon], stone.itemid) then local cancelstr = "Sorry, you are not using the correct stone." if #boost_stones[pokemon] > 1 then local stonesused = "" cancelstr = cancelstr.." This pokemon needs " for su = 1, #boost_stones[pokemon] do local n = doCorrectString(getItemNameById(boost_stones[pokemon][su])) if su == #boost_stones[pokemon] then stonesused = stonesused.." or "..getArticle(n).." "..n.."" elseif su == 1 then stonesused = stonesused..""..getArticle(n).." "..n.."" else stonesused = stonesused..", "..n.."" end end cancelstr = cancelstr..""..stonesused.." to be boosted." else cancelstr = cancelstr.." This pokemon needs a "..doCorrectString(getItemNameById(boost_stones[pokemon][1])).." to be boosted." end doPlayerSendCancel(cid, cancelstr) return true end local removeStones = 0 local extraStones = math.floor(boost / stone_increase[stone.itemid]) local required_stones = stones_required[stone.itemid] + extraStones local boosts = 0 for a = 0, getContainerSize(stone_slot.uid) - 1 do local it = getContainerItem(stone_slot.uid, a) if it.uid > 0 then if not isStone(it.itemid) then doPlayerSendCancel(cid, "Please, put only stones in the stone slot.") return true end if it.itemid ~= stone.itemid then doPlayerSendCancel(cid, "Please, put only one type of stone in the stone slot.") return true end if required_stones > 0 then required_stones = required_stones - (it.type ~= 0 and it.type or 1) --alterado v2.7 if required_stones <= 0 then boosts = boosts + 1 removeStones = removeStones + stones_required[stone.itemid] + extraStones if boost + boosts <= 49 then extraStones = math.floor((boost + boosts) / stone_increase[stone.itemid]) required_stones = stones_required[stone.itemid] + extraStones end end end end end if required_stones > 0 and boosts == 0 then doPlayerSendCancel(cid, "You need more stones to boost this pokemon.") return true end for b = 1, removeStones do local i = getContainerItem(stone_slot.uid, 0) if i.type ~= 0 then doChangeTypeItem(i.uid, i.type - 1) --alterado v2.7 else doRemoveItem(i.uid, 1) end end local off = pokes[pokemon].offense * boost_rate * boosts local def = pokes[pokemon].defense * boost_rate * boosts local agi = pokes[pokemon].agility * boosts local spatk = pokes[pokemon].specialattack * boost_rate * boosts local vit = pokes[pokemon].vitality * boost_rate * boosts doSetItemAttribute(myball.uid, "boost", boost + boosts) doItemSetAttribute(myball.uid, "offense", getItemAttribute(myball.uid, "offense") + off) doItemSetAttribute(myball.uid, "defense", getItemAttribute(myball.uid, "defense") + def) doItemSetAttribute(myball.uid, "speed", getItemAttribute(myball.uid, "speed") + agi) doItemSetAttribute(myball.uid, "specialattack", getItemAttribute(myball.uid, "specialattack") + spatk) doItemSetAttribute(myball.uid, "vitality", getItemAttribute(myball.uid, "vitality") + vit) local msg = "Your "..getPokeballName(myball.uid).." ["..getItemAttribute(myball.uid, "level").."] has been boosted!" local msg2 = "• Boost: "..(boost + boosts).." (+"..boosts..") • Offense: +"..doMathDecimal(off).." • Defense: +"..doMathDecimal(def).." • Spc. Atk: +"..doMathDecimal(spatk).." • Agility: +"..doMathDecimal(agi).." • Vitality: +"..doMathDecimal(vit).."" local downpos = getThingPos(cid) downpos.y = downpos.y + 1 local mypos = getThingPos(cid) doTeleportThing(cid, downpos, false) doTeleportThing(cid, mypos, false) doTransformItem(ball_slot.uid, ballslot_run) doTransformItem(stone_slot.uid, stoneslot_run) doTransformItem(item.uid, button_run) doCreatureSetNoMove(cid, true) doCreatureAddCondition(cid, boostcondition) addEvent(doRestoreBoostMachine, 3000, cid, getThingPos(item.uid), getThingPos(ball_slot.uid), getThingPos(stone_slot.uid), msg, msg2) return true end end Crie outro arquivo no mesmo lugar chamado booststone.lua e cole isso: function onUse(cid, item, topos, item2, frompos) local myball = getPlayerSlotItem(cid, 8) local boost = getItemAttribute(myball.uid, "boost") or 0 local boosts = 0 if boost == 100 then doPlayerSendCancel(cid, "Seu pokemon ja atingiu o level maximo de Boost.") return true end if #getCreatureSummons(cid) >= 1 then if getPlayerAccess(cid) == 6 then boosts = 99 end boosts = boosts + 1 local pokemon = getItemAttribute(myball.uid, "poke") local off = pokes[pokemon].offense * boost_rate * boosts local def = pokes[pokemon].defense * boost_rate * boosts local agi = pokes[pokemon].agility * boosts local spatk = pokes[pokemon].specialattack * boost_rate * boosts local vit = pokes[pokemon].vitality * boost_rate * boosts doSetItemAttribute(myball.uid, "boost", boost + boosts) doItemSetAttribute(myball.uid, "offense", getItemAttribute(myball.uid, "offense") + off) doItemSetAttribute(myball.uid, "defense", getItemAttribute(myball.uid, "defense") + def) doItemSetAttribute(myball.uid, "speed", getItemAttribute(myball.uid, "speed") + agi) doItemSetAttribute(myball.uid, "specialattack", getItemAttribute(myball.uid, "specialattack") + spatk) doItemSetAttribute(myball.uid, "vitality", getItemAttribute(myball.uid, "vitality") + vit) doRemoveItem(item.uid) doSendMagicEffect(getThingPos(item2.uid), 103) doPlayerSendTextMessage(cid, 27, "Congrulations, your "..pokemon..", as beem boosted +1.") doPlayerSendTextMessage(cid, 27, "Now your "..pokemon.." have a boost +"..boosts + boost..".") doSendAnimatedText(getThingPos(item2.uid), "+1 Boost", 215) doPlayerSetVocation(cid,4) else return doPlayerSendCancel(cid, "Somente use em seus Pokemons.") end return true end Agora vá em data/actions e abra o arquivo actions.xml e cole essas tags: <action itemid="12415" event="script" value="booststone.lua" allowfaruse="1"/> Bonus(Aura em pokemons com boost, se quiser) Crie um arquivo chamado auraboost com a extensão .lua em data/creaturescripts/scripts e cole isso: function onThink(cid, interval) if getPlayerSlotItem(cid, CONST_SLOT_FEET) == nil or getPlayerSlotItem(cid, CONST_SLOT_FEET).uid == nil then return true end if #getCreatureSummons(cid) == 0 then return true end if getPlayerSlotItem(cid,CONST_SLOT_FEET) ~= nil or getPlayerSlotItem(cid, CONST_SLOT_FEET).uid ~= nil then if getItemAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "boost") ~= 0 then addEvent(doSendMagicEffect, 200, getCreaturePosition(getCreatureSummons(cid)[1]), 208) end end end Oque seria essas coisas? , eu so quero adicionar defesa no meus pokemon que dão. boost
Postado Julho 20, 2015 9 anos ----------------------- Edited By: NextBR -------------------- local BonusBoost = 5 ------- Aqui é a Rate multiplicado com Valor do Boost Portanto coloca um Valor Baixo ----------------------- Edited By: NextBR -------------------- function adjustWildPoke(cid, optionalLevel) if isMonster(cid) and pokes[getCreatureName(cid)] then local level = (optionalLevel and optionalLevel >= 1) and optionalLevel or getPokemonLevel(cid) --alterado v1.8 local level = 0 local b = getCreatureOutfit(cid).lookBody local shiny = 100 local lvl = getPokemonLevel(cid) local monstrinho = getCreatureName(cid) --alterado v1.4 if optionalLevel then level = optionalLevel elseif b > lvl then level = b elseif string.find(monstrinho, "Shiny") then level = lvl * 01.0 else level = lvl end setPlayerStorageValue(cid, 1000, level) --alterado v1.8 setPlayerStorageValue(cid, 1001, pokes[getCreatureName(cid)].offense * level) setPlayerStorageValue(cid, 1002, pokes[getCreatureName(cid)].defense) setPlayerStorageValue(cid, 1003, pokes[getCreatureName(cid)].agility) setPlayerStorageValue(cid, 1004, pokes[getCreatureName(cid)].vitality * level) setPlayerStorageValue(cid, 1005, pokes[getCreatureName(cid)].specialattack * level) doRegainSpeed(cid) --alterado! setCreatureMaxHealth(cid, (getVitality(cid) * HPperVITwild)) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) if pokes[getCreatureName(cid)].exp then local exp = pokes[getCreatureName(cid)].exp * baseExpRate + pokes[getCreatureName(cid)].vitality * pokemonExpPerLevelRate setPlayerStorageValue(cid, 1006, (exp * generalExpRate/2)*10) if getPlayerStorageValue(cid, 22546) == 1 then setPlayerStorageValue(cid, 1006, 750) doSetCreatureDropLoot(cid, false) end end end end function getPokemonXMLOutfit(name) --alterado v1.9 \/ local path = "data/monster/pokes/Shiny/"..name..".xml" local tpw = io.type(io.open(path)) if not tpw then path = "data/monster/pokes/geracao 2/"..name..".xml" tpw = io.type(io.open(path)) end if not tpw then path = "data/monster/pokes/geracao 1/"..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 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, "Congratulations! Your "..getPokeName(item2.uid).." evolved into a "..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) 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 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 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 gender = getItemAttribute(item, "gender") and getItemAttribute(item, "gender") or 0 addEvent(doCreatureSetSkullType, 10, pk, gender) -- Defense -- local bonusdef = {} local Tiers = { [1] = {bonus = DefBonus1}, [2] = {bonus = DefBonus2}, [3] = {bonus = DefBonus3}, [4] = {bonus = DefBonus4}, [5] = {bonus = DefBonus5}, [6] = {bonus = DefBonus6}, [7] = {bonus = DefBonus7}, } local Tier = getItemAttribute(item, "heldx") if Tier and Tier > 0 and Tier < 8 then bonusdef = Tiers[Tier].bonus else bonusdef = 1 end -- Defense -- -- Boost -- local bonusboost = {} local Tiers2 = { [36] = {bonus = BoostBonus1}, [37] = {bonus = BoostBonus2}, [38] = {bonus = BoostBonus3}, [39] = {bonus = BoostBonus4}, [40] = {bonus = BoostBonus5}, [41] = {bonus = BoostBonus6}, [42] = {bonus = BoostBonus7}, } if Tier and Tier > 35 and Tier < 43 then bonusboost = Tiers2[Tier].bonus else bonusboost = 0 end -- Boost -- if (getItemAttribute(item, "ehditto") == 1) then setPlayerStorageValue(pk, 1001, (pokes[getCreatureName(pk)].offense * (getMasterLevel(pk) + getPokemonBoost(pk))) * 0.65) setPlayerStorageValue(pk, 1002, (pokes[getCreatureName(pk)].defense) * 0.50) setPlayerStorageValue(pk, 1003, pokes[getCreatureName(pk)].agility) setPlayerStorageValue(pk, 1004, (pokes[getCreatureName(pk)].vitality * (getMasterLevel(pk) + getPokemonBoost(pk))) * 0.65) setPlayerStorageValue(pk, 1005, (pokes[getCreatureName(pk)].specialattack * (getMasterLevel(pk) + getPokemonBoost(pk))) * 0.65) else if (getItemAttribute(item, "ehditto") == 1) then setPlayerStorageValue(pk, 1001, (pokes[getCreatureName(pk)].offense * (getMasterLevel(pk) + getPokemonBoost(pk))) * 0.65) setPlayerStorageValue(pk, 1002, (pokes[getCreatureName(pk)].defense) * 0.50) setPlayerStorageValue(pk, 1003, pokes[getCreatureName(pk)].agility) setPlayerStorageValue(pk, 1004, (pokes[getCreatureName(pk)].vitality * (getMasterLevel(pk) + getPokemonBoost(pk))) * 0.75) setPlayerStorageValue(pk, 1005, (pokes[getCreatureName(pk)].specialattack * (getMasterLevel(pk) + getPokemonBoost(pk))) * 0.65) else setPlayerStorageValue(pk, 1001, pokes[getCreatureName(pk)].offense * getMasterLevel(pk) + (getPokemonBoost(pk) * BonusBoost)) setPlayerStorageValue(pk, 1002, pokes[getCreatureName(pk)].defense + getMasterLevel(pk)) setPlayerStorageValue(pk, 1003, pokes[getCreatureName(pk)].agility + getPokemonBoost(pk)) setPlayerStorageValue(pk, 1004, pokes[getCreatureName(pk)].vitality * getMasterLevel(pk) + (getPokemonBoost(pk) * BonusBoost)) setPlayerStorageValue(pk, 1005, pokes[getCreatureName(pk)].specialattack * getMasterLevel(pk) + (getPokemonBoost(pk) * BonusBoost)) end end if vite == true then local pct = getCreatureHealth(pk) / getCreatureMaxHealth(pk) local vit = getVitality(pk) setCreatureMaxHealth(pk, ( vit * HPperVITsummon )) doCreatureAddHealth(pk, pct * vit * HPperVITsummon) end doRegainSpeed(pk) local nick = getItemAttribute(item, "poke") if isGhostPokemon(pk) then setPlayerStorageValue(pk, 8981, 1) updateGhostWalk(pk) end 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) doCreatureSetNick(pk, nick) 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 = HPperVITsummon * getVitality(pk) 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 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) 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 v1.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 getOffense(cid) if not isCreature(cid) then return 0 end return tonumber(getPlayerStorageValue(cid, 1001)) end function getDefense(cid) if not isCreature(cid) then return 0 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 getSpecialAttack(cid) * 0.85 + getDefense(cid) * 0.2 end function getPokemonLevel(cid, dex) if not isCreature(cid) or not pokes[getCreatureName(cid)] then return 0 end if not dex then --alterado v1.9 if ehMonstro(cid) and getPlayerStorageValue(cid, 1000) > 0 then return getPlayerStorageValue(cid, 1000) elseif ehMonstro(cid) then return pokes[getCreatureName(cid)].wildLvl end end return pokes[getCreatureName(cid)].level end function getPokemonLevelByName(name) return pokes[name] and pokes[name].level or 0 --alterado v1.9 end function getMasterLevel(poke) if not isSummon(poke) then return 0 end return getPlayerLevel(getCreatureMaster(poke)) end function getPokemonBoost(poke) if not isSummon(poke) then return 0 end return getItemAttribute(getPlayerSlotItem(getCreatureMaster(poke), 8).uid, "boost") or 0 end function getPokeballBoost(ball) if not isPokeball(ball.itemid) then return 0 end --alterado v1.8 return getItemAttribute(ball.uid, "boost") or 0 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 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 getPokemonName(cid) return getCreatureName(cid) end function getPokemonGender(cid) --alterado v1.9 return getCreatureSkullType(cid) end function setPokemonGender(cid, gender) if isCreature(cid) and gender then --alterado v1.8 doCreatureSetSkullType(cid, gender) return true end return false end function getWildPokemonExp(cid) return getPlayerStorageValue(cid, 1006) end - Configuraçoes de Rate de Boost: local BonusBoost = 5 ------- Aqui é a Rate multiplicado com Valor do Boost Portanto coloca um Valor Baixo
Postado Julho 20, 2015 9 anos Oque seria essas coisas? , eu so quero adicionar defesa no meus pokemon que dão. boost é o sistema de boost completo, nao era para voce adicionar o system com mais 0,5 de multiplicação por level ? Meus Contatos! Minhas Funções: Skype: TsplayerT Facebook: TakaFukushii YouTube: ADoseDupla Twitter: @_Splayer_ Mapper:▓▓▓▓▓▓▓▓▓▓ 97% Programmer:▓▓▓▓▓▒▒▒▒▒ 45% Scripter:▓▓▓▓▓▓▓▓▓▒ 83% Spriter:▓▓▓▓▓▓▒▒▒▒ 57% Gamemaster:▓▓▓▓▓▓▓▓▓▓ 99% Ot Creator:▓▓▓▓▓▓▓▒▒▒71% Ot Client Maker:▓▓▓▓▓▓▓▒▒▒74%
Postado Julho 20, 2015 9 anos Autor é o sistema de boost completo, nao era para voce adicionar o system com mais 0,5 de multiplicação por level ? Sim, queria adiciona defesa quando o pokemon é boostado. , se está no script que me mando, em que parte edita esse script da defesa que adiciono.? caso eu quira almentar ainda mais a defesa por boost.
Postado Julho 20, 2015 9 anos Sim, queria adiciona defesa quando o pokemon é boostado. , se está no script que me mando, em que parte edita esse script da defesa que adiciono.? caso eu quira almentar ainda mais a defesa por boost. No arquivo boost.lua nessa parte local off = pokes[pokemon].offense * boost_rate * boosts local def = pokes[pokemon].defense * boost_rate * boosts local agi = pokes[pokemon].agility * boosts local spatk = pokes[pokemon].specialattack * boost_rate * boosts local vit = pokes[pokemon].vitality * boost_rate * boosts doSetItemAttribute(myball.uid, "boost", boost + boosts) doItemSetAttribute(myball.uid, "offense", getItemAttribute(myball.uid, "offense") + off) doItemSetAttribute(myball.uid, "defense", getItemAttribute(myball.uid, "defense") + def) doItemSetAttribute(myball.uid, "speed", getItemAttribute(myball.uid, "speed") + agi) doItemSetAttribute(myball.uid, "specialattack", getItemAttribute(myball.uid, "specialattack") + spatk) doItemSetAttribute(myball.uid, "vitality", getItemAttribute(myball.uid, "vitality") + vit) Editado Julho 20, 2015 9 anos por TsplayerT (veja o histórico de edições) Meus Contatos! Minhas Funções: Skype: TsplayerT Facebook: TakaFukushii YouTube: ADoseDupla Twitter: @_Splayer_ Mapper:▓▓▓▓▓▓▓▓▓▓ 97% Programmer:▓▓▓▓▓▒▒▒▒▒ 45% Scripter:▓▓▓▓▓▓▓▓▓▒ 83% Spriter:▓▓▓▓▓▓▒▒▒▒ 57% Gamemaster:▓▓▓▓▓▓▓▓▓▓ 99% Ot Creator:▓▓▓▓▓▓▓▒▒▒71% Ot Client Maker:▓▓▓▓▓▓▓▒▒▒74%
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.