Ir para conteúdo

DinoAdmin

Posts Recomendados

  • 1 year later...
  • 2 years later...

Fiz tudo como falou ai.

 

e ta com problema, eu adiciono o TM a um pokemon, porém ai se um player adiciona 1 TM ninguém mais consegue adicionar um TM igual que o script se desativa sozinho, ai só da pra adicionar o TM novamente se der /reload actions.

Aqui meu script.

 

também não aparece mensagem se o pokemon não puder receber o TM.

This pokemon don\'t learn "..TM.tm.."!

 

e se tiver o TM, se for TM repetido também não aparece a mensagem.

This pokemon have learned this TM!

 

Em fim, se usa o item mesmo se não adiciona o TM, o item para de funcionar e só funciona se der reload.

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
Em 16/12/2012 at 02:36, DinoAdmin disse:

Bom já existe um Sistema de tm no forum porem o meu é diferente. Vamos lá!!

 

 

Bom Funciona assim:

Cada Pokemon Pode Ter 3 TMs Adicionadas, OBS: Se O Pokemon tiver 12 magias ele pode ter 15 se voce adicionar 3 TMs nele.

 

Como Usar O Sistema:

Bom Basta Seguir o Tutorial e O Comando para Usar

eu Recomendo que coloquem em Hotkeys na parte Shift+f1,Shift+f2,Shift+f3

Coloque os Seguintes Comandos tm1,tm2,tm3

OBS: a TM Nao Substitui Magia e Sim Adiciona , Por isso Vai por sequencia

se voce usa a primeira tm no seu pokemon, para usar ela voce vai usar o comando tm1.

se voce usa a segunda tm no seu pokemon para usar ela voce vai usar o comando tm2

mesma coisa com o tm3

 

Lembrando que Já possui as 50 TMs funcionando perfeitamente

 

Vamos ao Tutorial:

 

1°: Crie um Arquivo Em "data/action/script" Chamado tm.lua

e cole este script Dentro:

 

 

 

idTM = {

[12595] = {tm = "Waterball"},

[12596] = {tm = "Dragon Claw"},

[12597] = {tm = "Water Pulse"},

[12598] = {tm = "Hypnosis"},

[12599] = {tm = "Scary Face"},

[12600] = {tm = "Poison Gas"},

[12601] = {tm = "Draco Meteor"},

[12602] = {tm = "Inferno"},

[12603] = {tm = "Bullet Seed"},

[12604] = {tm = "Rock Blast"},

[12605] = {tm = "Red Fury"},

[12606] = {tm = "Pin Missile"},

[12607] = {tm = "Ice Beam"},

[12608] = {tm = "Blizzard"},

[12609] = {tm = "Hyper Beam"},

[12610] = {tm = "Ancient Power"},

[12611] = {tm = "Power Gem"},

[12612] = {tm = "Aromateraphy"},

[12613] = {tm = "Giga Drain"},

[12614] = {tm = "Tornado"},

[12615] = {tm = "Air Slash"},

[12616] = {tm = "Leaf Blade"},

[12617] = {tm = "Meteor Smash"},

[12618] = {tm = "Thunder Bolt"},

[12619] = {tm = "Thunder"},

[12620] = {tm = "Earthquake"},

[12621] = {tm = "Dark Pulse"},

[12622] = {tm = "X-Scissor"},

[12623] = {tm = "Psychic"},

[12624] = {tm = "Shadow Ball"},

[12625] = {tm = "Rest"},

[12626] = {tm = "Tri-Attack"},

[12627] = {tm = "Reflect"},

[12628] = {tm = "Healarea"},

[12629] = {tm = "Magma Storm"},

[12630] = {tm = "Fire Blast"},

[12631] = {tm = "Rock Throw"},

[12632] = {tm = "War Dog"},

[12633] = {tm = "Icy Wind"},

[12634] = {tm = "Hydropump"},

[12635] = {tm = "Confusion"},

[12636] = {tm = "Stomp"},

[12637] = {tm = "Selfheal"},

[12638] = {tm = "Restore"},

[12639] = {tm = "Absorb"},

[12640] = {tm = "Metronome"},

[12641] = {tm = "Leaf Blade"},

[12642] = {tm = "Confuse Ray"},

[12643] = {tm = "Eruption"},

[12644] = {tm = "Razor Leaf"},

 

 

}

 

function onUse(cid, item, frompos, item2, topos)

 

if not idTM[item.itemid] then return false end

if not isPokeball(item2.itemid) then return false end

TM = idTM[item.itemid]

List = tmList[TM.tm]

if not isInArray(List.pokes, getItemAttribute(item2.uid, "poke")) then

doPlayerSendCancel(cid, "This pokemon don\'t learn "..TM.tm.."!")

return false

end

ID = 1

Have = "not"

Slot = ""

if haveFirstTM(item2) then

if getFirstTMName(item2) == TM.tm then

Have = "yes"

end

ID = ID + 1

end

if haveSecondTM(item2) then

if getSecondTMName(item2) == TM.tm then

Have = "yes"

end

ID = ID + 1

end

if haveThirdTM(item2) then

if getThirdTMName(item2) == TM.tm then

Have = "yes"

end

ID = ID + 1

end

if Have == "yes" then

doPlayerSendCancel(cid, "This pokemon have learned this TM!")

return false

end

if ID == 1 then

Slot = "First"

elseif ID == 2 then

Slot = "Second"

elseif ID == 3 then

Slot = "Third"

end

if haveAllTMs(item2) or ID == 4 or Slot == "" then

doPlayerSendCancel(cid, "This pokemon have number max of TMs!")

return false

end

 

addTM(item2, TM.tm, ID)

doRemoveItem(item.uid, 1)

doPlayerSendTextMessage(cid, 22, ""..getItemAttribute(item2.uid, "poke").." learn "..TM.tm.." on "..Slot.." Slot!")

return true

end

 

 

Agora em Data/Action/Action.xml voce vai por a seguinte tag:

 

 


<action itemid="12595-12644" event="script" value="tm.lua"/>

[/code]

Bom Recomendo voce por esta tag no ORDER

 

 

2°: Vá em Data/Lib/Crie um Arquivo Chamado "tm lib.lua"

e cole o seguinte script dentro dele:

 

 

 

tmList = {

["Waterball"] = {number = 01, level = 1, cd = 20, dist = 5, target = 1, f = 65, t = "water", pokes = {"Wartortle", "Blastoise", "Golduck", "Tentacruel", "Slowbro", "Kingler", "Seadra", "Seaking", "Starmie", "Jynx", "Vaporeon", "Omastar", "Croconaw", "Feraligatr", "Azulmarill", "Politoed", "Mantine", "Sneasel", "Delibird", "Slugma", "Smoochum"}},

["Dragon Claw"] = {number = 02, level = 1, cd = 20, dist = 1, target = 1, f = 60, t = "dragon", pokes = {"Sandslash", "Nidoqueen", "Nidoking", "Rhydon", "Kangaskhan", "Magmar", "Croconaw", "Feraligatr", "Gligar", "Sneasel", "Ursaring", "Tyranitar"}},

["Water Pulse"] = {number = 03, level = 1, cd = 20, dist = 1, target = 1, f = 70, t = "dragon", pokes = {"Squirtle", "Wartortle", "Blastoise", "Nidoran Female", "Nidoqueen", "Nidoran Male", "Nidoking", "Clefairy", "Clefable", "Jigglypuff", "Wigglytuff", "Meowth", "Persian", "Psyduck", "Poliwag", "Poliwhirl", "Poliwharth", "Shiny Tentacool", "Shiny Tentacruel", "Kangaskhan", "Shiny Seadra", "Jynx", "Shiny Jynx", "Shiny Gyarados", "Gyarados", "Lapras", "Omastar", "Kabuto", "Kabutops", "Snorlax", "Shiny Snorlax", "Dratini", "Shiny Dratini", "Dragonair", "Shiny Dragonair", "Dragonite", "Shiny Dragonite", "Politoed", "Mantine", "Kingdra", "Blissey", "Miltank", "Tyranitar"}},

["Hypnosis"] = {number = 04, level = 1, cd = 20, dist = 8, target = 1, f = 0, t = "psychic", pokes = {"Golduck", "Mr.Mime", "Starmie", "Jynx", "Shiny Jynx", "Togetic", "Girafarig", "Porygon2", "Lapras"}},

["Scary Face"] = {number = 05, level = 1, cd = 20, dist = 5, target = 0, f = 0, t = "psychic", pokes = {"Venusaur", "Charizard", "Blastoise", "Raticate", "Nidoqueen", "Nidoking", "Golem", "Onix", "Rhydon", "Kangaskhan", "Vaporeon", "Jolteon", "Flareon", "Snorlax", "Dragonite", "Shiny Dragonite", "Shiny Snorlax", "Shiny Onix", "Steelix", "Ursaring", "Tyranitar", "Shiny Blastoise", "Shiny Vaporeon", "Shiny Jolteon", "Shiny Flareon"}},

["Poison Gas"] = {number = 06, level = 1, cd = 20, dist = 3, target = 0, f = 5, t = "poison", pokes = {"Ivysaur", "Venusaur", "Beedrill", "Victreebel", "Tentacrueel", "Shiny Tentacrueel", "Muk", "Shiny Muk", "Pinsir", "Shiny Pinsir", "Ariados", "Shiny Venusaur", "Shiny Beedril"}},

["Draco Meteor"] = {number = 07, level = 1, cd = 20, dist = 3, target = 0, f = 90, t = "dragon", pokes = {"Charizard", "Gyarados", "Aerodactyl", "Dragonair", "Dragonite", "Steelix", "Kingdra", "Shiny Charizard", "Shiny Gyarados", "Shiny Dragonair", "Shiny Dragonite"}},

["Inferno"] = {number = 08, level = 1, cd = 20, dist = 2, target = 1, f = 110, t = "fire", pokes = {"Charizard", "Nitetales", "Arcanine", "Rapidash", "Magmar", "Flareon", "Shiny Flareon", "Shiny Charizard"}},

["Bullet Seed"] = {number = 09, level = 1, cd = 20, dist = 3, target = 1, f = 95, t = "grass", pokes = {"Vileplume", "Parasect", "Victreebel", "Exeggutor", "Tangela", "bayleef", "Meganium", "Bellossom", "Shiny Vileplume", "Shiny Parasect", "Shiny Tanegela"}},

["Rock Blast"] = {number = 10, level = 1, cd = 20, dist = 2, target = 1, f = 90, t = "rock", pokes = {"Sandslash", "dugtrio", "Golem", "Onix", "Cubone", "Omastar", "Kabutops", "Aerodactyl", "Steelix", "Tyranitar", "sudowoodo", "Shiny Onix", "Shiny Cubone", "Marowak", "Shiny Marowak"}},

["Red Fury"] = {number = 11, level = 1, cd = 20, dist = 2, target = 0, f = 35, t = "bug", pokes = {"Raticate", "Shiny Raticate", "Arbok", "Tauros", "Hitmontop", "Shiny Fearow", "Fearow"}},

["Pin Missile"] = {number = 12, level = 1, cd = 20, dist = 2, target = 0, f = 80, t = "bug", pokes = {"Butterfree", "Beedril", "Parasect", "Venomoth", "Scyther", "Pinsir", "Ariados", "Pineco", "Scizor", "Heracross", "Shiny Butterfree", "Shiny Beedril", "Shiny Parasect", "Shiny Venomoth", "Shiny Scyther", "Shiny Pinsir"}},

["Ice Beam"] = {number = 13, level = 1, cd = 20, dist = 2, target = 0, f = 95, t = "ice", pokes = {"Wartortle", "Blastoise", "Clefable", "Wigglytuff", "Tentacruel", "Kingler", "Chansey", "Seadra", "Gyarados", "Vaporeon", "Porygon", "Omastar", "Kabutops", "Dratini", "Dragonair", "Dragonite", "Togetic", "Kingdra", "Jynx", "Shiny Jynx", "Miltank", "Blissey", "Tyranitar", "Shiny Blastoise", "Shiny Tentacruel", "Shiny Kingler", "Shiny Seadra", "Shiny Gyarados", "Shiny Vaporeon", "Shiny Dratini", "Shiny Dragonair", "Shiny Dragonite"}},

["Blizzard"] = {number = 14, level = 1, cd = 20, dist = 2, target = 0, f = 100, t = "ice", pokes = {"Wartortle", "Blastoise", "Clefable", "Wigglytuff", "Tentacruel", "Kingler", "Chansey", "Seadra", "Gyarados", "Vaporeon", "Porygon", "Omastar", "Kabutops", "Dratini", "Dragonair", "Dragonite", "Togetic", "Kingdra", "Jynx", "Shiny Jynx", "Miltank", "Blissey", "Tyranitar", "Shiny Blastoise", "Shiny Tentacruel", "Shiny Kingler", "Shiny Seadra", "Shiny Gyarados", "Shiny Vaporeon", "Shiny Dratini", "Shiny Dragonair", "Shiny Dragonite"}},

["Hyper Beam"] = {number = 15, level = 1, cd = 20, dist = 5, target = 0, f = 100, t = "normal", pokes = {"Venusaur", "Charizard", "Blastoise", "Raticate", "Nidoqueen", "Nidoking", "Golem", "Onix", "Rhydon", "Kangaskhan", "Vaporeon", "Jolteon", "Flareon", "Snorlax", "Dragonite", "Shiny Dragonite", "Shiny Snorlax", "Shiny Onix", "Steelix", "Ursaring", "Tyranitar", "Shiny Blastoise", "Shiny Vaporeon", "Shiny Jolteon", "Shiny Flareon", "Raichu", "Shiny Raichu", "Scizor", "Scyther", "Shiny Scyther", "Lapras", "Chansey", "Blissey", "Alakazam", "Shiny Alakazam", "Gengar", "Shiny Gengar", "Pidgeot", "Shiny Pidgeot"}},

["Ancient Power"] = {number = 16, level = 1, cd = 20, dist = 2, target = 0, f = 100, t = "rock", pokes = {"Sandslash", "dugtrio", "Golem", "Onix", "Cubone", "Omastar", "Kabutops", "Aerodactyl", "Steelix", "Tyranitar", "sudowoodo", "Shiny Onix", "Shiny Cubone", "Marowak", "Shiny Marowak", "Tyranitar", "Tangela", "Shiny Tangela"}},

["Power Gem"] = {number = 17, level = 1, cd = 20, dist = 2, target = 1, f = 90, t = "rock", pokes = {"Magneton", "Rhydon", "Omastar", "Steelix", "Scizor", "Tyranitar", "Electrode", "Shiny Electrode"}},

["Aromateraphy"] = {number = 18, level = 1, cd = 20, dist = 2, target = 1, f = 80, t = "grass", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank"}},

["Giga Drain"] = {number = 19, level = 1, cd = 20, dist = 2, target = 1, f = 80, t = "grass", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank"}},

["Tornado"] = {number = 20, level = 1, cd = 20, dist = 2, target = 0, f = 80, t = "grass", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Air Slash"] = {number = 21, level = 1, cd = 20, dist = 2, target = 1, f = 75, t = "flying", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Leaf Blade"] = {number = 22, level = 1, cd = 20, dist = 2, target = 0, f = 50, t = "gass", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Meteor Smash"] = {number = 23, level = 1, cd = 20, dist = 2, target = 0, f = 65, t = "normal", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Thunder Bolt"] = {number = 24, level = 1, cd = 20, dist = 2, target = 1, f = 33, t = "eletric", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Thunder"] = {number = 25, level = 1, cd = 20, dist = 2, target = 0, f = 100, t = "eletric", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Earthquake"] = {number = 26, level = 1, cd = 20, dist = 2, target = 1, f = 10, t = "ground", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Dark Pulse"] = {number = 27, level = 1, cd = 20, dist = 2, target = 1, f = 35, t = "dark", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["X-Scissor"] = {number = 28, level = 1, cd = 20, dist = 2, target = 0, f = 65, t = "bug", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Psychic"] = {number = 29, level = 1, cd = 20, dist = 2, target = 0, f = 90, t = "psychic", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Shadow Ball"] = {number = 30, level = 1, cd = 20, dist = 2, target = 1, f = 60, t = "ghost", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Rest"] = {number = 31, level = 1, cd = 20, dist = 2, target = 1, f = 0, t = "normal", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Tri-Attack"] = {number = 32, level = 1, cd = 20, dist = 2, target = 1, f = 25, t = "normal", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Reflect"] = {number = 33, level = 1, cd = 20, dist = 2, target = 0, f = 0, t = "psychic", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Healarea"] = {number = 34, level = 1, cd = 20, dist = 2, target = 1, f = 0, t = "normal", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Magma Storm"] = {number = 35, level = 1, cd = 20, dist = 2, target = 0, f = 95, t = "fire", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Fire Blast"] = {number = 36, level = 1, cd = 20, dist = 2, target = 0, f = 125, t = "fire", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Rock Throw"] = {number = 37, level = 1, cd = 20, dist = 2, target = 1, f = 55, t = "rock", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["War Dog"] = {number = 38, level = 1, cd = 20, dist = 2, target = 1, f = 0, t = "normal", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Icy Wind"] = {number = 39, level = 1, cd = 20, dist = 2, target = 1, f = 45, t = "ice", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Hydropump"] = {number = 40, level = 1, cd = 20, dist = 2, target = 0, f = 125, t = "water", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Confusion"] = {number = 41, level = 1, cd = 20, dist = 2, target = 0, f = 50, t = "psychic", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Stomp"] = {number = 42, level = 1, cd = 20, dist = 2, target = 1, f = 90, t = "ground", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Selfheal"] = {number = 43, level = 1, cd = 20, dist = 2, target = 0, f = 0, t = "normal", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Restore"] = {number = 44, level = 1, cd = 20, dist = 2, target = 0, f = 0, t = "normal", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Absorb"] = {number = 45, level = 1, cd = 20, dist = 2, target = 1, f = 40, t = "grass", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Metronome"] = {number = 46, level = 1, cd = 20, dist = 2, target = 0, f = 0, t = "normal", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Leaf Blade"] = {number = 47, level = 1, cd = 20, dist = 2, target = 0, f = 50, t = "grass", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Confuse Ray"] = {number = 48, level = 1, cd = 20, dist = 2, target = 1, f = 65, t = "ghost", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Eruption"] = {number = 49, level = 1, cd = 20, dist = 2, target = 1, f = 75, t = "fire", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

["Razor Leaf"] = {number = 50, level = 1, cd = 20, dist = 2, target = 0, f = 33, t = "grass", pokes = {"Venusaur", "Butterfree", "Arbok", "Golbat", "Vileplume", "Parasect", "Venomoth", "Victreebel", "Tentacruel", "Gengar", "Tangela", "Kabutosp", "Meganium", "Ariados", "Crobat", "Bellosom", "Miltank", "Scyther", "Shiny Scyther", "Alakazam", "Shiny Alakazam", "Jynx", "Shiny Jynx", "Shiny Dragonite", "Dragonite", "Dratini", "Shiny Dratini", "Gyarados", "Shiny Gyarados", "Pikachu", "Raichu", "Shiny Raichu", "Mew", "Shiny Mew", "Mewtwo", "Shiny Mewtwo", "Togetic", "Lapras", "Aerodactyl", "Scizor", "Mantine", "Blissey", "Chasey", "Blastoise", "Shiny Blastoise", "Arcanine", "Shiny Arcanine", "Lugia", "Magmar", "Ursaring", "Electabuzz", "Shiny Electabuzz"}},

}

 

 

 

function isTM(name)

if tmList[name] then

return true

end

return false

end

 

function haveFirstTM(item)

if not isPokeball(item.itemid) then return false end

if getItemAttribute(item.uid, "tm1") then

return true

end

return false

end

function getFirstTMName(item)

if haveFirstTM(item) then

return getItemAttribute(item.uid, "tm1")

end

return false

end

 

function haveSecondTM(item)

if not isPokeball(item.itemid) then return false end

if getItemAttribute(item.uid, "tm2") then

return true

end

return false

end

function getSecondTMName(item)

if haveSecondTM(item) then

return getItemAttribute(item.uid, "tm2")

end

return false

end

 

function haveThirdTM(item)

if not isPokeball(item.itemid) then return false end

if getItemAttribute(item.uid, "tm3") then

return true

end

return false

end

function getThirdTMName(item)

if haveThirdTM(item) then

return getItemAttribute(item.uid, "tm3")

end

return false

end

 

function haveAllTMs(item)

count = 0

if haveFirstTM(item) then

count = count + 1

end

if haveSecondTM(item) then

count = count + 1

end

if haveThirdTM(item) then

count = count + 3

end

if count == 3 then

return true

end

return false

end

 

function addTM(item, nameTM, id)

if not isPokeball(item.itemid) or not isTM(nameTM) then return false end

TM = ""

if id == 1 then

TM = "tm1"

elseif id == 2 then

TM = "tm2"

elseif id == 3 then

TM = "tm3"

end

if TM == "" then return false end

doItemSetAttribute(item.uid, TM, nameTM)

return true

end

 

 

 

3°: Agora vá em data/talkaction/script/ Abra seu move1.lua e apague TUDO que estiver dentro

e cole isto:

 

 

 

local msgs = {"use ", ""}

 

function doAlertReady(cid, id, movename, n, cd)

if not isCreature(cid) then return true end

local myball = getPlayerSlotItem(cid,

if myball.itemid > 0 and getItemAttribute(myball.uid, cd) == "cd:"..id.."" then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(myball.uid).." - "..movename.." (m"..n..") is ready!")

return true

end

local p = getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid)

if not p or #p <= 0 then return true end

for a = 1, #p do

if getItemAttribute(p[a], cd) == "cd:"..id.."" then

if isInArray({"m1", "m2", "m3"}, n) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (t"..n..") is ready!")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getPokeballName(p[a]).." - "..movename.." (m"..n..") is ready!")

end

return true

end

end

end

 

function onSay(cid, words, param, channel)

 

 

if param ~= "" then return true end

if string.len(words) > 3 then return true end

 

if #getCreatureSummons(cid) == 0 then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemon to use moves.")

return 0

end

--alterado v2.5

local mypoke = getCreatureSummons(cid)[1]

 

if getCreatureCondition(cid, CONDITION_EXHAUST) then return true end

if getCreatureName(mypoke) == "Evolution" then return true end

 

local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke)

 

local it = string.sub(words, 2, 3)

local move = movestable[name].move1

if getPlayerStorageValue(mypoke, 212123) >= 1 then

cdzin = "cm_move"..it..""

else

cdzin = "move"..it.."" --alterado v2.5

end

 

if it == "2" then

move = movestable[name].move2

elseif it == "3" then

move = movestable[name].move3

elseif it == "4" then

move = movestable[name].move4

elseif it == "5" then

move = movestable[name].move5

elseif it == "6" then

move = movestable[name].move6

elseif it == "7" then

move = movestable[name].move7

elseif it == "8" then

move = movestable[name].move8

elseif it == "9" then

move = movestable[name].move9

elseif it == "10" then

move = movestable[name].move10

elseif it == "11" then

move = movestable[name].move11

elseif it == "12" then

move = movestable[name].move12

elseif it == "13" then

move = movestable[name].move13

elseif it == "m1" then

move = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "tm1") or false

elseif it == "m2" then

move = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "tm2") or false

elseif it == "m3" then

move = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "tm3") or false

 

end

 

if isInArray({1,2,3,4,5,6,7,8,9,10,11,12,13}, it) then

mLevel = move.level

mCD = move.cd

mName = move.name

mTarget = move.target

mDist = move.dist

else

m = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "t"..it.."")

mLevel = tmList[m].level

mCD = tmList[m].cd

mName = m

mTarget = tmList[m].target

mDist = tmList[m].dist

end

 

if not move then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't recognize this move.")

return true

end

 

--if false and getLevel(mypoke) < mLevel then

if getLevel(mypoke) < mLevel then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your pokemon doesn't have enough level to use this move.")

return 0

end

 

if getCD(getPlayerSlotItem(cid, 8).uid, cdzin) > 0 and getCD(getPlayerSlotItem(cid, 8).uid, cdzin) < (mCD + 2) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have to wait "..getCD(getPlayerSlotItem(cid, 8).uid, cdzin).." seconds to use "..mName.." again.")

return 0

end

 

if getTileInfo(getThingPos(mypoke)).protection then

doPlayerSendCancel(cid, "Your pokemon cannot use moves while in protection zone.")

return 0

end

 

if getPlayerStorageValue(mypoke, 3894) >= 1 then

return doPlayerSendCancel(cid, "You can't attack because you is with fear") --alterado v2.3

end

 

if (mName == "Team Slice" or mName == "Team Claw") and #getCreatureSummons(cid) < 2 then --alterado v2.5

doPlayerSendCancel(cid, "Your pokemon need be in a team for use this move!")

return 0

end

--alterado v2.6

if isCreature(getCreatureTarget(cid)) and isInArray(specialabilities["evasion"], getCreatureName(getCreatureTarget(cid))) and math.random(1, 100) <= 10 then

local target = getCreatureTarget(cid)

 

if isCreature(getMasterTarget(target)) then --alterado v2.6 --alterado v2.5

doSendMagicEffect(getThingPos(target), 211)

doSendAnimatedText(getThingPos(target), "TOO BAD", 215)

doTeleportThing(target, getClosestFreeTile(target, getThingPos(mypoke)), false)

doSendMagicEffect(getThingPos(target), 211)

doFaceCreature(target, getThingPos(mypoke))

return true --alterado v2.6

end

end

 

 

if mTarget == 1 then

 

if not isCreature(getCreatureTarget(cid)) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You don\'t have any targets.")

return 0

end

 

if getCreatureCondition(getCreatureTarget(cid), CONDITION_INVISIBLE) then

return 0

end

 

if getCreatureHealth(getCreatureTarget(cid)) <= 0 then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your have already defeated your target.")

return 0

end

 

if not isCreature(getCreatureSummons(cid)[1]) then

return true

end

 

if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid))) > mDist then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Get closer to the target to use this move.")

return 0

end

 

if not isSightClear(getThingPos(getCreatureSummons(cid)[1]), getThingPos(getCreatureTarget(cid)), false) then

return 0

end

end

 

local newid = 0

 

if isSleeping(mypoke) or isSilence(mypoke) then --alterado v2.5

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry you can't do that right now.")

return 0

else

newid = setCD(getPlayerSlotItem(cid, 8).uid, cdzin, mCD)

end

 

doCreatureSay(cid, ""..getPokeName(mypoke)..", "..msgs[math.random(#msgs)]..""..mName.."!", TALKTYPE_SAY)

 

local summons = getCreatureSummons(cid) --alterado v2.6

 

addEvent(doAlertReady, mCD * 1000, cid, newid, mName, it, cdzin)

 

for i = 2, #summons do

if isCreature(summons) and getPlayerStorageValue(cid, 637501) >= 1 then

docastspell(summons, mName) --alterado v2.6

end

end

 

docastspell(mypoke, mName)

doCreatureAddCondition(cid, playerexhaust)

 

if useKpdoDlls then

doUpdateCooldowns(cid)

end

 

return 0

end

 

 

 

4°: Agora em Talkaction/Script/ Apague Tudo que estiver dentro do Seu "cd.lua"

e cole isto dentro:

 

 

 

local function getTXT(table, number, item)

local result = ""

if not table then return "" end

local cd = "move"..number..""

if getCD(item, cd) == 0 or getCD(item, cd) > table.cd + 1 then

result = "ready."

else

result = getCD(item, cd).." seconds."

end

local txt = "\n-"..table.name.." (m"..number.."): "..result..""

return txt

end

 

local function writeCD(str, item, mypoke)

local txt = str

local name = getCreatureName(mypoke) == "Ditto" and getPlayerStorageValue(mypoke, 1010) or getCreatureName(mypoke)

local move = movestable[name].move1

txt = txt..""..getTXT(move, 1, item)..""

 

move = movestable[name].move2

txt = txt..""..getTXT(move, 2, item)..""

 

move = movestable[name].move3

txt = txt..""..getTXT(move, 3, item)..""

 

move = movestable[name].move4

txt = txt..""..getTXT(move, 4, item)..""

 

move = movestable[name].move5

txt = txt..""..getTXT(move, 5, item)..""

 

move = movestable[name].move6

txt = txt..""..getTXT(move, 6, item)..""

 

move = movestable[name].move7

txt = txt..""..getTXT(move, 7, item)..""

 

move = movestable[name].move8

txt = txt..""..getTXT(move, 8, item)..""

 

move = movestable[name].move9

txt = txt..""..getTXT(move, 9, item)..""

 

move = movestable[name].move10

txt = txt..""..getTXT(move, 10, item)..""

 

move = movestable[name].move11

txt = txt..""..getTXT(move, 11, item)..""

 

move = movestable[name].move12

txt = txt..""..getTXT(move, 12, item)..""

 

move = movestable[name].move13

txt = txt..""..getTXT(move, 13, item)..""

 

move = movestable[name].move14

txt = txt..""..getTXT(move, 14, item)..""

 

move = movestable[name].move15

txt = txt..""..getTXT(move, 15, item)..""

 

if getItemAttribute(item.uid, "tm1") then

if getCD(item.uid, movem1) == 0 or getCD(item.uid, movem1) > tmList[getItemAttribute(item.uid, "tm1")].cd + 1 then

result = "ready."

else

result = getCD(item.uid, movem1).." seconds."

end

txt = txt.."\n-"..getItemAttribute(item.uid, "tm1").." (tm1): "..result..""

end

 

if getItemAttribute(item.uid, "tm2") then

if getCD(item.uid, movem2) == 0 or getCD(item.uid, movem2) > tmList[getItemAttribute(item.uid, "tm2")].cd + 1 then

result = "ready."

else

result = getCD(item.uid, movem2).." seconds."

end

txt = txt.."\n-"..getItemAttribute(item.uid, "tm2").." (tm2): "..result..""

end

 

if getItemAttribute(item.uid, "tm3") then

if getCD(item.uid, movem3) == 0 or getCD(item.uid, movem3) > tmList[getItemAttribute(item.uid, "tm3")].cd + 1 then

result = "ready."

else

result = getCD(item.uid, movem3).." seconds."

end

txt = txt.."\n-"..getItemAttribute(item.uid, "tm3").." (tm3): "..result..""

end

return txt

end

 

function onSay(cid, words, param, channel)

 

 

if param ~= "" then return true end

if string.len(words) > 3 then return true end

 

if #getCreatureSummons(cid) == 0 then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need a pokemon to check cooldowns.")

return 0

end

 

 

local mypoke = getCreatureSummons(cid)[1]

 

if getCreatureName(mypoke) == "Ditto" then

if not isTransformed(mypoke) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your ditto needs to transform first.")

return true

end

end

 

local str = getCreatureName(mypoke).." moves:"

local item = getPlayerSlotItem(cid, 8).uid

 

str = writeCD(str, item, mypoke)

 

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str)

return true

end

 

 

 

5°: Agora em Data/Talkaction/Talkaction.xml

Coloque estas tags:

 


		<talkaction words="tm1" case-sensitive="no" event="script" value="move1.lua"/>
		<talkaction words="tm2" case-sensitive="no" event="script" value="move1.lua"/>
		<talkaction words="tm3" case-sensitive="no" event="script" value="move1.lua"/>

 

6°: o item.otb e item.xml (é recomendado baixar)

Apois baixar voce vai pegar o item.xml e o item.otb

e vai copiar eles e depois vai em data/item/apaga o item.otb e o item.xml

e cola o item.otb e o .xml que voces baixaram.

neles possui as tms adicionadas ao server (as 50)

e no .xml ta com o nome direitinho, das 50 tmb

 

Link para Download: http://www.mediafire...e54ldx6gw14fo3u

 

Bom o Sistema esta pronto Agora vamos para a Parte do Client:

Eu Vou Postar o Link do Client do Meu servidor ai Voces Pega a Tibia.dat e Tibia.spr e Utiliza em seu client

bom o client ja esta com sistema de taunt, novas sprites novos flys boost stone, e as 50 TMs

 

Link Do Client: http://www.mediafire...6w2ead2c5wrwj9v

 

Bom ai esta o sistema de TM.

Caso alguem tenha duvida so perguntar aqui no topico!

 

Creditos:

Criador do Script: ZarefShirou

Edito:DinoAdmin

unico problema é este apagar tudo e colar o que vc disponibiliza pois a maioria dos server tem move1.lua e os outros arquivos modificados com outros sistemas por exempor o meu move 1 tem o smeargle sistem ou seja isso de apagar e colar o teu bugaria outros sistemas, quando for disponibilizar algo pessa para adicionar abaixo de x e n substituir. eu estarei testando seu sistema apenas adicionando o necessario sem substituir

 

substituir o dat e spr tanto quanto o item.otb e item.xml pode bugar itens e monstros ja adicionado dentre outras coisas isso com certeza traria problemas para muitos que fazem oque tu esta pedindo pode ate funcionar por um lado mas bugar pro outro

Link para o comentário
Compartilhar em outros sites

  • 1 year later...

Eu tenho um problema ... olhe
 

Citar

[07/02/2019 12:28:49] [Error - LuaScriptInterface::loadFile] data/actions/scripts/tm.lua:215: unexpected symbol near 'ď'
[07/02/2019 12:28:49] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/tm.lua)
[07/02/2019 12:28:49] data/actions/scripts/tm.lua:215: unexpected symbol near 'ď'

 

Link para o comentário
Compartilhar em outros sites

  • 2 years later...
Em 16/12/2012 em 09:19, DinoAdmin disse:

 

It contains a Gengar [100][M]Sheer Cold.  como faço para aparecer o nome correto do tm no loot do pokemon ? mesmo usando outro TM qualquer sempre fica o nome dos 3 TM q nao tem no server ?

Em 27/02/2013 em 01:40, Berphomet disse:

@all

Bom galera, depois de um tempo tentando colocar esse sistema de TM, sempre após eu fazer TUDO certo que tem no tutorial acima dá o seguinte erro aqui em casa :

 

 

  Mostrar conteúdo oculto

 

 

Rep ++ por 1 semana quem me ajudar ?

 

Edit : eu uso o PDA v2.9 do slicer (com system level)

estou com o erro It contains a Gengar [100][M]Sheer Cold. esta mostrando um tm q nao esta sendo usado no pokemon

qualquewr tm q eu use quando dou loot aparece este tm alguem ajuda

Em 05/03/2013 em 19:54, Drk Shadow disse:

 

Ok, obrigado :)

estou com o seguinte error :

It contains a Gengar [100][M]Sheer Cold.Dragon Claw.Water Pulse.

 

dis que esta usando esses tm mas estou usando giga drain thunder e thunder bolt como resolver ?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...