SL
action

Boost direto

Por Slyton, 22 de abr. de 2014 em Actions e Talkactions

boost machine
otserv
tibia
script
5
1.3k
SlytonS
22 de abril de 2014 às 20:40

Bom estou hoje aqui para fazer um tutorial.
Mas Slyton que tutorial e esse? de que se trata?
Bom eu vou ensinar a como fazer, para que o boost machine booste direto, não irá mais fica apertando 1 por 1 até boostar +50 você coloca as stone e boosta direto, bom chega de lenga lenga vamos lá.

Bom vá em data/actions/actions.xml e adicione isto.

 <action itemid="12352-12357" event="script" value="boost.lua"/>

Depois vá em Data/actions/scripts/, e crie um arquivo lua chamado Boost,e adicione isto dentro do arquivo que você acabo de criar


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 = { --alterado v1.9 \/
["Bulbasaur"] = {leaf, boostStone},
["Scizor"] = {coccon, boostStone},
["Ivysaur"] = {leaf, boostStone},
["Venusaur"] = {leaf, boostStone},
["Charmander"] = {fire, boostStone},
["Charmeleon"] = {fire, boostStone},
["Charizard"] = {fire, boostStone},
["Squirtle"] = {water, boostStone},
["Wartortle"] = {water, boostStone},
["Blastoise"] = {water, boostStone},
["Caterpie"] = {coccon, boostStone},
["Metapod"] = {coccon, boostStone},
["Butterfree"] = {coccon, boostStone},
["Weedle"] = {coccon, boostStone},
["Kakuna"] = {coccon, boostStone},
["Beedrill"] = {coccon, boostStone},
["Pidgey"] = {heart, boostStone},
["Pidgeotto"] = {heart, boostStone},
["Pidgeot"] = {heart, boostStone},
["Rattata"] = {heart, boostStone},
["Raticate"] = {heart, boostStone},
["Spearow"] = {heart, boostStone},
["Fearow"] = {heart, boostStone},
["Ekans"] = {venom, boostStone},
["Arbok"] = {venom, boostStone},
["Pikachu"] = {thunder, boostStone},
["Raichu"] = {thunder, boostStone},
["Sandshrew"] = {earth, boostStone},
["Sandslash"] = {earth, boostStone},
["Nidoran Female"] = {venom, boostStone},
["Nidorina"] = {venom, boostStone},
["Nidoqueen"] = {venom, boostStone},
["Nidoran Male"] = {venom, boostStone},
["Nidorino"] = {venom, boostStone},
["Nidoking"] = {venom, boostStone},
["Clefairy"] = {heart, boostStone},
["Clefable"] = {heart, boostStone},
["Vulpix"] = {fire, boostStone},
["Ninetales"] = {fire, boostStone},
["Jigglypuff"] = {heart, boostStone},
["Wigglytuff"] = {heart, boostStone},
["Zubat"] = {venom, boostStone},
["Golbat"] = {venom, boostStone},
["Oddish"] = {leaf, boostStone},
["Gloom"] = {leaf, boostStone},
["Vileplume"] = {leaf, boostStone},
["Paras"] = {coccon, leaf, boostStone},
["Parasect"] = {coccon, leaf, boostStone},
["Venonat"] = {coccon, venom, boostStone},
["Venomoth"] = {coccon, venom, boostStone},
["Diglett"] = {earth, boostStone},
["Dugtrio"] = {earth, boostStone},
["Meowth"] = {heart, boostStone},
["Persian"] = {heart, boostStone},
["Psyduck"] = {water, boostStone},
["Golduck"] = {water, enigma, boostStone},
["Mankey"] = {punch, boostStone},
["Primeape"] = {punch, boostStone},
["Growlithe"] = {fire, boostStone},
["Arcanine"] = {fire, boostStone},
["Poliwag"] = {water, boostStone},
["Poliwhirl"] = {water, boostStone},
["Poliwrath"] = {water, punch, boostStone},
["Abra"] = {enigma, boostStone},
["Kadabra"] = {enigma, boostStone},
["Alakazam"] = {enigma, boostStone},
["Machop"] = {punch, boostStone},
["Machoke"] = {punch, boostStone},
["Machamp"] = {punch, boostStone},
["Bellsprout"] = {leaf, boostStone},
["Weepinbell"] = {leaf, boostStone},
["Victreebel"] = {leaf, boostStone},
["Tentacool"] = {water, boostStone},
["Tentacruel"] = {water, boostStone},
["Geodude"] = {rock, boostStone},
["Graveler"] = {rock, boostStone},
["Golem"] = {rock, boostStone},
["Ponyta"] = {fire, boostStone},
["Rapidash"] = {fire, boostStone},
["Slowpoke"] = {water, boostStone},
["Slowbro"] = {water, boostStone},
["Magnemite"] = {thunder, boostStone},
["Magneton"] = {thunder, boostStone},
["Farfetch'd"] = {heart, boostStone},
["Doduo"] = {heart, boostStone},
["Dodrio"] = {heart, boostStone},
["Seel"] = {ice, boostStone},
["Dewgong"] = {ice, boostStone},
["Grimer"] = {venom, boostStone},
["Muk"] = {venom, boostStone},
["Shellder"] = {water, boostStone},
["Cloyster"] = {water, boostStone},
["Gastly"] = {dark, boostStone},
["Haunter"] = {dark, boostStone},
["Gengar"] = {dark, boostStone},
["Onix"] = {rock, boostStone},
["Drowzee"] = {enigma, boostStone},
["Hypno"] = {enigma, boostStone},
["Krabby"] = {water, boostStone},
["Kingler"] = {water, boostStone},
["Voltorb"] = {thunder, boostStone},
["Electrode"] = {thunder, boostStone},
["Exeggcute"] = {leaf, boostStone},
["Exeggutor"] = {leaf, boostStone},
["Cubone"] = {earth, boostStone},
["Marowak"] = {earth, boostStone},
["Hitmonlee"] = {punch, boostStone},
["Hitmonchan"] = {punch, boostStone},
["Lickitung"] = {heart, boostStone},
["Koffing"] = {venom, boostStone},
["Weezing"] = {venom, boostStone},
["Rhyhorn"] = {rock, boostStone},
["Rhydon"] = {rock, boostStone},
["Chansey"] = {heart, boostStone},
["Tangela"] = {leaf, boostStone},
["Kangaskhan"] = {heart, boostStone},
["Horsea"] = {water, boostStone},
["Seadra"] = {water, boostStone},
["Goldeen"] = {water, boostStone},
["Seaking"] = {water, boostStone},
["Staryu"] = {water, boostStone},
["Starmie"] = {water, boostStone},
["Mr. Mime"] = {enigma, boostStone},
["Scyther"] = {coccon, boostStone},
["Jynx"] = {ice, boostStone},
["Electabuzz"] = {thunder, boostStone},
["Magmar"] = {fire, boostStone},
["Pinsir"] = {coccon, boostStone},
["Tauros"] = {heart, boostStone},
["Magikarp"] = {water, boostStone},
["Gyarados"] = {water, boostStone},
["Lapras"] = {water, boostStone},
["Ditto"] = {heart, boostStone},
["Eevee"] = {heart, boostStone},
["Vaporeon"] = {water, boostStone},
["Jolteon"] = {thunder, boostStone},
["Flareon"] = {fire, boostStone},
["Espeon"] = {enigma, boostStone},
["Umbreon"] = {dark, boostStone},
["Porygon"] = {heart, boostStone},
["Omanyte"] = {water, boostStone},
["Omastar"] = {water, boostStone},
["Kabuto"] = {rock, boostStone},
["Kabutops"] = {rock, boostStone},
["Aerodactyl"] = {rock, boostStone},
["Snorlax"] = {heart, boostStone},
["Articuno"] = {ice, boostStone},
["Zapdos"] = {thunder, boostStone},
["Moltres"] = {fire, boostStone},
["Dratini"] = {crystal, boostStone},
["Dragonair"] = {crystal, boostStone},
["Dragonite"] = {crystal, boostStone},
["Mewtwo"] = {enigma, boostStone},
["Mew"] = {enigma, boostStone},
--
["Shiny Venusaur"] = {leaf, boostStone},
["Shiny Charizard"] = {fire, boostStone},
["Shiny Blastoise"] = {water, boostStone},
["Shiny Butterfree"] = {coccon, boostStone},
["Shiny Beedrill"] = {coccon, boostStone},
["Shiny Pidgeot"] = {heart, boostStone},
["Shiny Rattata"] = {heart, boostStone},
["Shiny Raticate"] = {heart, boostStone},
["Shiny Fearow"] = {heart, boostStone},
["Shiny Raichu"] = {thunder, boostStone},
["Shiny Nidoking"] = {venom, boostStone},
["Shiny Ninetales"] = {fire, boostStone},
["Shiny Zubat"] = {venom, boostStone},
["Shiny Golbat"] = {venom, boostStone},
["Shiny Oddish"] = {leaf, boostStone},
["Shiny Vileplume"] = {leaf, boostStone},
["Shiny Paras"] = {coccon, boostStone},
["Shiny Parasect"] = {coccon, boostStone},
["Shiny Venonat"] = {venom, boostStone},
["Shiny Venomoth"] = {venom, boostStone},
["Shiny Growlithe"] = {fire, boostStone},
["Shiny Arcanine"] = {fire, boostStone},
["Dark Abra"] = {dark, boostStone},
["Light Abra"] = {enigma, boostStone},
["Shiny Alakazam"] = {enigma, boostStone},
["Shiny Machamp"] = {punch, boostStone},
["Shiny Tentacool"] = {water, boostStone},
["Shiny Tentacruel"] = {water, boostStone},
["Shiny Golem"] = {rock, boostStone},
["Shiny Magneton"] = {thunder, boostStone},
["Shiny Farfetch'd"] = {heart, boostStone},
["Shiny Dodrio"] = {heart, boostStone},
["Shiny Grimer"] = {venom, boostStone},
["Shiny Muk"] = {venom, boostStone},
["Shiny Gengar"] = {dark, boostStone},
["Shiny Onix"] = {crystal, boostStone},
["Shiny Hypno"] = {enigma, boostStone},
["Shiny Krabby"] = {water, boostStone},
["Shiny Kingler"] = {water, boostStone},
["Shiny Voltorb"] = {thunder, boostStone},
["Shiny Electrode"] = {thunder, boostStone},
["Shiny Cubone"] = {earth, boostStone},
["Shiny Marowak"] = {earth, boostStone},
["Shiny Hitmonlee"] = {punch, boostStone},
["Shiny Hitmonchan"] = {punch, boostStone},
["Shiny Hitmontop"] = {punch, boostStone}, --alterado v1.4
["Shiny Rhydon"] = {rock, boostStone},
["Shiny Tangela"] = {leaf, boostStone},
["Shiny Horsea"] = {water, boostStone},
["Shiny Seadra"] = {water, boostStone},
["Shiny Mr. Mime"] = {enigma, boostStone},
["Shiny Scyther"] = {coccon, boostStone},
["Shiny Jynx"] = {ice, boostStone},
["Shiny Electabuzz"] = {thunder, boostStone},
["Shiny Magmar"] = {fire, boostStone},
["Shiny Pinsir"] = {coccon, boostStone},
["Shiny Tauros"] = {heart, boostStone},
["Shiny Magikarp"] = {water, boostStone},
["Shiny Gyarados"] = {crystal, boostStone},
["Shiny Ditto"] = {crystal, boostStone},
["Shiny Vaporeon"] = {water, boostStone},
["Shiny Jolteon"] = {thunder, boostStone},
["Shiny Flareon"] = {fire, boostStone},
["Shiny Snorlax"] = {heart, boostStone},
["Shiny Dratini"] = {crystal, boostStone},
["Shiny Dragonair"] = {crystal, boostStone},
["Shiny Meganium"] = {leaf, boostStone},
["Shiny Feraligatr"] = {water, boostStone},
["Shiny Typhlosion"] = {fire, boostStone},
["Shiny Crobat"] = {venom, boostStone},
["Shiny Xatu"] = {enigma, boostStone},
["Shiny Espeon"] = {enigma, boostStone},
["Shiny Umbreon"] = {dark, boostStone},
["Shiny Ampharos"] = {thunder, boostStone},
["Shiny Stantler"] = {heart, boostStone},
["Shiny Politoed"] = {water, boostStone},
["Shiny Ariados"] = {coccon, boostStone},
["Shiny Larvitar"] = {crystal, boostStone},
["Shiny Pupitar"] = {crystal, boostStone},
--
["Chikorita"] = {leaf, boostStone},
["Bayleef"] = {leaf, boostStone},
["Meganium"] = {leaf, boostStone},
["Cyndaquil"] = {fire, boostStone},
["Quilava"] = {fire, boostStone},
["Typhlosion"] = {fire, boostStone},
["Totodile"] = {water, boostStone},
["Croconaw"] = {water, boostStone},
["Feraligatr"] = {water, boostStone},
["Sentret"] = {heart, boostStone},
["Furret"] = {heart, boostStone},
["Hoothoot"] = {heart, boostStone},
["Noctowl"] = {heart, boostStone},
["Ledyba"] = {coccon, boostStone},
["Ledian"] = {coccon, boostStone},
["Spinarak"] = {coccon, boostStone},
["Ariados"] = {coccon, boostStone},
["Crobat"] = {venom, boostStone},
["Chinchou"] = {water, boostStone},
["Lanturn"] = {thunder, boostStone},
["Pichu"] = {thunder, boostStone},
["Cleffa"] = {heart, boostStone},
["Iglybuff"] = {heart, boostStone},
["Natu"] = {enigma, boostStone},
["Xatu"] = {enigma, boostStone},
["Mareep"] = {thunder, boostStone},
["Flaaffy"] = {thunder, boostStone},
["Ampharos"] = {thunder, boostStone},
["Bellossom"] = {leaf, boostStone},
["Marill"] = {water, boostStone},
["Azulmarill"] = {water, boostStone},
["Sudowoodo"] = {rock, boostStone},
["Politoed"] = {water, boostStone},
["Hoppip"] = {leaf, boostStone},
["Skiploom"] = {leaf, boostStone},
["Jumpluff"] = {leaf, boostStone},
["Aipom"] = {heart, boostStone},
["Sunkern"] = {leaf, boostStone},
["Sunflora"] = {leaf, boostStone},
["Yanma"] = {coccon, boostStone},
["Wooper"] = {earth, boostStone},
["Quagsire"] = {earth, boostStone},
["Murkrow"] = {dark, boostStone},
["Slowking"] = {crystal, boostStone},
["Misdreavus"] = {dark, boostStone},
["Wobbuffet"] = {enigma, boostStone},
["Girafarig"] = {enigma, boostStone},
["Pineco"] = {coccon, boostStone},
["Forretress"] = {coccon, boostStone},
["Gligar"] = {earth, boostStone},
["Steelix"] = {metal, boostStone},
["Snubbull"] = {heart, boostStone},
["Granbull"] = {heart, boostStone},
["Qwilfish"] = {water, boostStone},
["Shuckle"] = {earth, boostStone},
["Heracross"] = {coccon, boostStone},
["Teddiursa"] = {heart, boostStone},
["Ursaring"] = {heart, boostStone},
["Slugma"] = {fire, boostStone},
["Magcargo"] = {fire, boostStone},
["Swinub"] = {ice, boostStone},
["Piloswine"] = {ice, boostStone},
["Corsola"] = {water, boostStone},
["Remoraid"] = {water, boostStone},
["Octillery"] = {water, boostStone},
["Delibird"] = {ice, heart, boostStone},
["Mantine"] = {water, boostStone},
["Skarmory"] = {heart, boostStone},
["Houndour"] = {fire, boostStone},
["Houndoom"] = {fire, boostStone},
["Kingdra"] = {crystal, boostStone},
["Phanpy"] = {earth, boostStone},
["Donphan"] = {earth, boostStone},
["porygon2"] = {heart, boostStone},
["Stantler"] = {heart, boostStone},
["Smeargle"] = {heart, boostStone},
["Tyrogue"] = {punch, boostStone},
["Hitmontop"] = {punch, boostStone},
["Smoochum"] = {ice, boostStone},
["Elekid"] = {thunder, boostStone},
["Magby"] = {fire, boostStone},
["Miltank"] = {heart, boostStone},
["Blissey"] = {heart, boostStone},
["Raikou"] = {thunder, boostStone},
["Entei"] = {fire, boostStone},
["Suicune"] = {water, boostStone},
["Larvitar"] = {earth, boostStone},
["Pupitar"] = {earth, boostStone},
["Tyranitar"] = {crystal, boostStone},
["Lugia"] = {water, boostStone},
["Ho-oh"] = {fire, boostStone},
["Celebi"] = {leaf, boostStone}}
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,
[boostStone] = 1, --alterado v1.9
}
local stone_increase = { -- a cada quantos boosts irá aumentar o custo de stones
[heart] = 3,
[leaf] = 3,
[water] = 3,
[venom] = 4,
[thunder] = 4,
[rock] = 3,
[punch] = 4,
[fire] = 3,
[coccon] = 2,
[crystal] = 15,
[dark] = 4,
[earth] = 4,
[enigma] = 4,
[ice] = 4,
[boostStone] = 10000, --alterado v1.9
}

local pbs = {
[11826] = 11737, --normal acessa --alterado v1.9 \/
[11828] = 11739, --normal morto
[11832] = 11740, --great acessa
[11834] = 11742, --great morto
[11835] = 11743, --super acessa
[11837] = 11745, --super morto
[11829] = 11746, --ultra acessa
[11831] = 11748, --ultra morto
[10975] = 12621, --saffari acessa
[10977] = 12623, --saffari morto
}
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)
for a, b in pairs (pokeballs) do
if item2.itemid == b.on or item2.itemid == b.off then --edited deixei igual ao do PXG
doPlayerSendCancel(cid, "You need to put a pokeball in the ball slot.")
return true
end
end
local pokemon = getItemAttribute(myball.uid, "poke")
local boost = getItemAttribute(myball.uid, "boost") or 0
if boost >= 50 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
local availableStones = 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
availableStones = availableStones + it.type
end
end

for a = 1, availableStones do
if required_stones > 0 then
required_stones = required_stones - 1
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

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 v1.7
else
doRemoveItem(i.uid, 1)
end
end

doSetItemAttribute(myball.uid, "boost", boost + boosts)

if (boost + boosts) >= 10 then
if pbs[myball.itemid] then --alterado v1.9
doTransformItem(myball.uid, pbs[myball.itemid])
end
end

local msg = "Your "..getPokeballName(myball.uid).." has been boosted!"
local msg2 = "• Boost: "..(boost + boosts).." (+"..boosts..")"
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




Bom foi um tutorial simples, más espero que ajude.

AJUDEI? DA UM REP AE TIO he.gif

Editado Abril 22 por Slyton

MaxxSilvaM
22 de abril de 2014 às 23:09

Aki n é tutoriais ferah e sim pedidos, e esse script é do pda slicer 1.9 '-'

SlytonS
23 de abril de 2014 às 10:49

é postei no local errado mais vai la, no servidor do slicer 1.9 ve se a boost boosta direto :p

zipter98Z
26 de abril de 2014 às 11:30

Movido para aprovação de tutoriais.

Editado Abril 26 por zipter98

1 ano depois...
FurabioF
08 de abril de 2015 às 01:26

Sistema aprovado, movido para a seção de scripting.