Ir para conteúdo

SkyTime

Posts Recomendados

Tou com um erro no meu order, aliás, no surf. Segue o erro:

 

[07/12/2011 00:21:20] [Error - Action Interface]
[07/12/2011 00:21:20] data/actions/scripts/order.lua:onUse
[07/12/2011 00:21:20] Description:
[07/12/2011 00:21:20] data/actions/scripts/order.lua:979: attempt to concatenate local 'varApelido' (a nil value)
[07/12/2011 00:21:20] stack traceback:
[07/12/2011 00:21:20]  data/actions/scripts/order.lua:979: in function <data/actions/scripts/order.lua:322>

 

Ao sair do surf, aparece esse erro no forgotten, e o summon desaparece. Se for preciso eu posto o script do order aqui.

Creio que seja na função do Apelido que tem no server. E se eu mudar para outra função aparece outro bug.

 

Desde de já, obrigado :)

 

Edit:

Outro erro apareceu. Agora com o Rider, após sair do mesmo, o summon desaparece, segue o erro:

 

[07/12/2011 01:22:41] [Error - Action Interface]
[07/12/2011 01:22:41] data/actions/scripts/order.lua:onUse
[07/12/2011 01:22:41] Description:
[07/12/2011 01:22:41] data/actions/scripts/order.lua:625: attempt to concatenate global 'summonName' (a nil value)
[07/12/2011 01:22:41] stack traceback:
[07/12/2011 01:22:41]  data/actions/scripts/order.lua:625: in function <data/actions/scripts/order.lua:322>

 

Pra melhor entendimento, está aqui o order.lua:

 


local pokes = {
 ["Bulbasaur"] = {level = 20, cons = 40, vida = 1200},
 ["Ivysaur"] = {level = 40, cons = 80, vida = 2600},
 ["Venusaur"] = {level = 85, cons = 100, vida = 5200},
 ["Charmander"] = {level = 20, cons = 30, vida = 970},
 ["Charmeleon"] = {level = 40, cons = 70, vida = 2900},
 ["Charizard"] = {level = 85, cons = 100, vida = 5200},
 ["Squirtle"] = {level = 20, cons = 40, vida = 1350},
 ["Wartortle"] = {level = 40, cons = 80, vida = 2800},
 ["Blastoise"] = {level = 85, cons = 100, vida = 5900},
 ["Caterpie"] = {level = 1, cons = 5, vida = 300},
 ["Metapod"] = {level = 10, cons = 10, vida = 1100},
 ["Butterfree"] = {level = 30, cons = 20, vida = 2000},
 ["Weedle"] = {level = 1, cons = 5, vida = 325},
 ["Kakuna"] = {level = 10, cons = 10, vida = 900},
 ["Beedrill"] = {level = 30, cons = 20, vida = 1900},
 ["Pidgey"] = {level = 1, cons = 5, vida = 380},
 ["Pidgeotto"] = {level = 20, cons = 20, vida = 1400},
 ["Pidgeot"] = {level = 65, cons = 70, vida = 3800},
 ["Rattata"] = {level = 1, cons = 5, vida = 350},
 ["Raticate"] = {level = 20, cons = 40, vida = 900},
 ["Spearow"] = {level = 5, cons = 5, vida = 450},
 ["Fearow"] = {level = 50, cons = 50, vida = 3300},
 ["Ekans"] = {level = 12, cons = 10, vida = 600},
 ["Arbok"] = {level = 30, cons = 40, vida = 2300},
 ["Pikachu"] = {level = 20, cons = 30, vida = 900},
 ["Raichu"] = {level = 50, cons = 60, vida = 3200},
 ["Sandshrew"] = {level = 18, cons = 15, vida = 700},
 ["Sandslash"] = {level = 55, cons = 60, vida = 3400},
 ["Nidoran Female"] = {level = 10, cons = 5, vida = 600},
 ["Nidorina"] = {level = 25, cons = 15, vida = 2000},
 ["Nidoqueen"] = {level = 65, cons = 80, vida = 4200},
 ["Nidoran Male"] = {level = 10, cons = 5, vida = 650},
 ["Nidorino"] = {level = 25, cons = 15, vida = 2500},
 ["Nidoking"] = {level = 65, cons = 80, vida = 4800},
 ["Clefairy"] = {level = 10, cons = 15, vida = 600},
 ["Clefable"] = {level = 35, cons = 70, vida = 2400},
 ["Vulpix"] = {level = 20, cons = 15, vida = 680},
 ["Ninetales"] = {level = 65, cons = 70, vida = 3400},
 ["Jigglypuff"] = {level = 10, cons = 15, vida = 550},
 ["Wigglytuff"] = {level = 42, cons = 60, vida = 2900},
 ["Zubat"] = {level = 5, cons = 10, vida = 450},
 ["Golbat"] = {level = 30, cons = 40, vida = 1900},
 ["Oddish"] = {level = 5, cons = 5, vida = 340},
 ["Gloom"] = {level = 18, cons = 15, vida = 1400},
 ["Vileplume"] = {level = 50, cons = 50, vida = 3300},
 ["Paras"] = {level = 1, cons = 5, vida = 850},
 ["Parasect"] = {level = 50, cons = 35, vida = 3800},
 ["Venonat"] = {level = 18, cons = 10, vida = 1500},
 ["Venomoth"] = {level = 50, cons = 40, vida = 4000},
 ["Diglett"] = {level = 5, cons = 10, vida = 900},
 ["Dugtrio"] = {level = 35, cons = 50, vida = 3450},
 ["Meowth"] = {level = 12, cons = 20, vida = 950},
 ["Persian"] = {level = 25, cons = 50, vida = 4000},
 ["Psyduck"] = {level = 12, cons = 50, vida = 2000},
 ["Golduck"] = {level = 55, cons = 90, vida = 4000},
 ["Mankey"] = {level = 10, cons = 15, vida = 800},
 ["Primeape"] = {level = 45, cons = 70, vida = 2550},
 ["Growlithe"] = {level = 20, cons = 25, vida = 1000},
 ["Arcanine"] = {level = 80, cons = 80, vida = 6000},
 ["Poliwag"] = {level = 5, cons = 5, vida = 400},
 ["Poliwhirl"] = {level = 20, cons = 35, vida = 1800},
 ["Poliwrath"] = {level = 65, cons = 80, vida = 4400},
 ["Abra"] = {level = 15, cons = 15, vida = 800},
 ["Kadabra"] = {level = 50, cons = 45, vida = 4000},
 ["Alakazam"] = {level = 80, cons = 70, vida = 7000},
 ["Machop"] = {level = 18, cons = 15, vida = 425},
 ["Machoke"] = {level = 40, cons = 40, vida = 2850},
 ["Machamp"] = {level = 65, cons = 90, vida = 6100},
 ["Bellsprout"] = {level = 5, cons = 5, vida = 420},
 ["Weepinbell"] = {level = 18, cons = 28, vida = 1100},
 ["Victreebel"] = {level = 50, cons = 76, vida = 4000},
 ["Tentacool"] = {level = 12, cons = 24, vida = 725},
 ["Tentacruel"] = {level = 70, cons = 70, vida = 6000},
 ["Geodude"] = {level = 15, cons = 15, vida = 800},
 ["Graveler"] = {level = 40, cons = 45, vida = 3000},
 ["Golem"] = {level = 70, cons = 90, vida = 6500},
 ["Ponyta"] = {level = 20, cons = 18, vida = 800},
 ["Rapidash"] = {level = 60, cons = 58, vida = 6000},
 ["Slowpoke"] = {level = 12, cons = 20, vida = 1200},
 ["Slowbro"] = {level = 45, cons = 68, vida = 3000},
 ["Magnemite"] = {level = 15, cons = 15, vida = 450},
 ["Magneton"] = {level = 40, cons = 55, vida = 2000},
 ["Farfetchd"] = {level = 40, cons = 60, vida = 4000},
 ["Doduo"] = {level = 12, cons = 15, vida = 600},
 ["Dodrio"] = {level = 45, cons = 60, vida = 2650},
 ["Seel"] = {level = 20, cons = 25, vida = 1200},
 ["Dewgong"] = {level = 65, cons = 70, vida = 6000},
 ["Grimer"] = {level = 12, cons = 10, vida = 600},
 ["Muk"] = {level = 30, cons = 55, vida = 2400},
 ["Shellder"] = {level = 5, cons = 23, vida = 800},
 ["Cloyster"] = {level = 65, cons = 70, vida = 6000},
 ["Gastly"] = {level = 18, cons = 15, vida = 800},
 ["Haunter"] = {level = 45, cons = 45, vida = 3000},
 ["Gengar"] = {level = 80, cons = 90, vida = 8000},
 ["Onix"] = {level = 50, cons = 70, vida = 5300},
 ["Drowzee"] = {level = 22, cons = 30, vida = 1200},
 ["Hypno"] = {level = 50, cons = 70, vida = 4000},
 ["Krabby"] = {level = 5, cons = 12, vida = 500},
 ["Kingler"] = {level = 35, cons = 40, vida = 2750},
 ["Voltorb"] = {level = 14, cons = 11, vida = 800},
 ["Electrode"] = {level = 38, cons = 50, vida = 2000},
 ["Exeggcute"] = {level = 8, cons = 15, vida = 500},
 ["Exeggutor"] = {level = 48, cons = 50, vida = 3500},
 ["Cubone"] = {level = 18, cons = 20, vida = 900},
 ["Marowak"] = {level = 45, cons = 60, vida = 5000},
 ["Hitmonlee"] = {level = 60, cons = 100, vida = 8000},
 ["Hitmonchan"] = {level = 60, cons = 80, vida = 6000},
 ["Lickitung"] = {level = 45, cons = 50, vida = 2350},
 ["Koffing"] = {level = 15, cons = 20, vida = 700},
 ["Weezing"] = {level = 30, cons = 61, vida = 1250},
 ["Rhyhorn"] = {level = 35, cons = 25, vida = 2500},
 ["Rhydon"] = {level = 65, cons = 80, vida = 6000},
 ["Chansey"] = {level = 60, cons = 90, vida = 3500},
 ["Tangela"] = {level = 40, cons = 70, vida = 4000},
 ["Kangaskhan"] = {level = 60, cons = 110, vida = 8000},
 ["Horsea"] = {level = 5, cons = 5, vida = 300},
 ["Seadra"] = {level = 45, cons = 45, vida = 2500},
 ["Goldeen"] = {level = 10, cons = 5, vida = 300},
 ["Seaking"] = {level = 25, cons = 25, vida = 2000},
 ["Staryu"] = {level = 15, cons = 18, vida = 1200},
 ["Starmie"] = {level = 45, cons = 50, vida = 3000},
 ["Mr Mime"] = {level = 60, cons = 60, vida = 4000},
 ["Scyther"] = {level = 70, cons = 100, vida = 8000},
 ["Jynx"] = {level = 65, cons = 90, vida = 7000},
 ["Electabuzz"] = {level = 70, cons = 120, vida = 8000},
 ["Magmar"] = {level = 70, cons = 120, vida = 8000},
 ["Pinsir"] = {level = 42, cons = 50, vida = 3000},
 ["Tauros"] = {level = 40, cons = 30, vida = 2400},
 ["Magikarp"] = {level = 1, cons = 5, vida = 120},
 ["Gyarados"] = {level = 75, cons = 110, vida = 8000},
 ["Lapras"] = {level = 70, cons = 120, vida = 7000},
 ["Ditto"] = {level = 40, cons = 30, vida = 1200},
 ["Eevee"] = {level = 20, cons = 50, vida = 1500},
 ["Vaporeon"] = {level = 55, cons = 60, vida = 3500},
 ["Jolteon"] = {level = 55, cons = 60, vida = 4000},
 ["Flareon"] = {level = 55, cons = 60, vida = 2010},
 ["Porygon"] = {level = 45, cons = 44, vida = 4000},
 ["Omanyte"] = {level = 20, cons = 25, vida = 2000},
 ["Omastar"] = {level = 70, cons = 100, vida = 6000},
 ["Kabuto"] = {level = 20, cons = 35, vida = 3000},
 ["Kabutops"] = {level = 70, cons = 110, vida = 7500},
 ["Aerodactyl"] = {level = 100, cons = 150, vida = 13000},
 ["Snorlax"] = {level = 85, cons = 150, vida = 9000},
 ["Articuno"] = {level = 120, cons = 200, vida = 200000},
 ["Zapdos"] = {level = 120, cons = 200, vida = 200000},
 ["Moltres"] = {level = 120, cons = 200, vida = 200000},
 ["Dratini"] = {level = 10, cons = 35, vida = 1500},
 ["Dragonair"] = {level = 70, cons = 70, vida = 6000},
 ["Dragonite"] = {level = 100, cons = 160, vida = 17000},
 ["Mewtwo"] = {level = 100, cons = 175, vida = 100000},
 ["Mew"] = {level = 100, cons = 125, vida = 50000},
 ["Elder Charizard"] = {level = 100, cons = 120, vida = 15000},
 ["Crystal Onix"] = {level = 100, cons = 160, vida = 18000},
 ["Shiny Abra"] = {level = 100, cons = 110, vida = 10000},
 ["Shiny Arcanine"] = {level = 100, cons = 140, vida = 13000},
 ["Shiny Alakazam"] = {level = 100, cons = 125, vida = 12000},
 ["Shiny Beedrill"] = {level = 50, cons = 80, vida = 5000},
 ["Shiny Blastoise"] = {level = 100, cons = 120, vida = 15000},
 ["Shiny Butterfree"] = {level = 50, cons = 80, vida = 5000},
 ["Shiny Dratini"] = {level = 50, cons = 75, vida = 5000},
 ["Shiny Electabuzz"] = {level = 100, cons = 140, vida = 15000},
 ["Shiny Electrode"] = {level = 70, cons = 80, vida = 5000},
 ["Shiny Cubone"] = {level = 50, cons = 80, vida = 2500},
 ["Shiny Dragonair"] = {level = 90, cons = 150, vida = 15000},
 ["Shiny Dragonite"] = {level = 150, cons = 180, vida = 20000},
 ["Shiny Farfetchd"] = {level = 60, cons = 100, vida = 10000},
 ["Shiny Flareon"] = {level = 70, cons = 110, vida = 10000},
 ["Shiny Gengar"] = {level = 100, cons = 115, vida = 13000},
 ["Shiny Golbat"] = {level = 80, cons = 90, vida = 10000},
 ["Shiny Growlithe"] = {level = 40, cons = 70, vida = 8000},
 ["Shiny Grimer"] = {level = 30, cons = 50, vida = 5000},
 ["Shiny Gyarados"] = {level = 120, cons = 150, vida = 16000},
 ["Shiny Hitmonchan"] = {level = 100, cons = 90, vida = 9000},
 ["Shiny Hitmonlee"] = {level = 100, cons = 100, vida = 14000},
 ["Shiny Horsea"] = {level = 20, cons = 40, vida = 1000},
 ["Shiny Hypno"] = {level = 70, cons = 80, vida = 10000},
 ["Shiny Jolteon"] = {level = 70, cons = 80, vida = 10000},
 ["Shiny Jynx"] = {level = 100, cons = 90, vida = 12000},
 ["Shiny Krabby"] = {level = 20, cons = 30, vida = 1000},
 ["Shiny Kingler"] = {level = 60, cons = 60, vida = 6000},
 ["Shiny Magikarp"] = {level = 10, cons = 20, vida = 1000},
 ["Shiny Marowak"] = {level = 70, cons = 70, vida = 9000},
 ["Shiny Muk"] = {level = 60, cons = 60, vida = 8000},
 ["Shiny Oddish"] = {level = 15, cons = 25, vida = 1200},
 ["Shiny Paras"] = {level = 10, cons = 20, vida = 800},
 ["Shiny Parasect"] = {level = 50, cons = 80, vida = 5000},
 ["Shiny Pidgeot"] = {level = 85, cons = 90, vida = 9000},
 ["Shiny Pinsir"] = {level = 60, cons = 80, vida = 7000},
 ["Shiny Rattata"] = {level = 10, cons = 15, vida = 800},
 ["Shiny Raticate"] = {level = 35, cons = 40, vida = 5000},
 ["Shiny Raichu"] = {level = 70, cons = 80, vida = 9000},
 ["Shiny Seadra"] = {level = 70, cons = 70, vida = 8000},
 ["Shiny Scyther"] = {level = 100, cons = 110, vida = 10000},
 ["Shiny Snorlax"] = {level = 120, cons = 160, vida = 25000},
 ["Shiny Tangela"] = {level = 70, cons = 90, vida = 8000},
 ["Shiny Tentacool"] = {level = 30, cons = 60, vida = 2000},
 ["Shiny Tentacruel"] = {level = 100, cons = 110, vida = 11000},
 ["Shiny Vaporeon"] = {level = 70, cons = 80, vida = 8000},
 ["Shiny Venomoth"] = {level = 60, cons = 70, vida = 6500},
 ["Shiny Venonat"] = {level = 30, cons = 40, vida = 3000},
 ["Shiny Venusaur"] = {level = 100, cons = 160, vida = 15000},
 ["Shiny Voltorb"] = {level = 30, cons = 40, vida = 2000},
 ["Shiny Zubat"] = {level = 15, cons = 30, vida = 2000}
}
local nao = {'4820', '4821', '4822', '4823', '4824', '4825', '1395', '1389', '1391', '1393', '460'}
local direction = {'4', '5', '6', '7'}
-- ridefly
local ridefly = {'Crystal Onix', 'Venusaur', 'Ninetales', 'Arcanine', 'Ponyta', 'Rapidash', 'Doduo', 'Dodrio', 'Onix', 'Rhyhorn', 'Tauros', 'Porygon', 'Aerodactyl', 'Dragonite', 'Charizard', 'Pidgeot', 'Fearow', 'Moltres', 'Zapdos', 'Articuno', 'Mew', 'Mewtwo', 'Elder Charizard', 'Shiny Arcanine','Crystal Onix','Shiny Pidgeot','Shiny Venusaur'}
local ride = {'Crystal Onix', 'Venusaur', 'Ninetales', 'Arcanine', 'Ponyta', 'Rapidash', 'Doduo', 'Dodrio', 'Onix', 'Rhyhorn', 'Tauros', 'Shiny Arcanine','Crystal Onix','Shiny Venusaur'}
local fly = {'Porygon', 'Aerodactyl', 'Dragonite', 'Charizard', 'Pidgeot', 'Fearow', 'Zapdos', 'Moltres', 'Articuno', 'Mew', 'Mewtwo', 'Elder Charizard','Shiny Pidgeot'}
local flys = {
 [265] = {229, 2300, 350}, -- moltres
 [283] = {230, 2100, 350}, -- artic
 [199] = {224, 2600, 350}, -- zapdos
 [9] = {232, 2200, 350}, -- 1000
 [34] = {233, 2200, 350},-- two
 [210] = {221, 1300, 350},-- nite
 [80] = {222, 900, 350}, -- geot
 [17] = {226, 800, 350}, -- fearow
 [10] = {227, 1100, 350}, -- aero
 [67] = {216, 1000, 350}, -- chari
 [97] = {316, 600, 350}, -- porygon
 [294] = {295, 600, 350}, -- elder zard
 [297] = {178, 550, 350} -- shiny geot
}
local rides = {
 [93] = {128, 780, 350}, -- tauros
 [114] = {129, 800, 350}, -- kyuubi
 [220] = {130, 800, 350}, -- rapid
 [16] = {131, 410, 350}, -- ponyta
 [77] = {132, 400, 350}, -- rhyhorn
 [88] = {12, 900, 350}, -- arcan
 [493] = {492, 1000, 350}, -- shiny arca
 [496] = {494, 420, 350}, -- shiny vneu
 [292] = {293, 480, 350}, -- cristal onix
 [248] = {126, 450, 350}, -- onix
 [22] = {134, 390, 350}, -- venu
 [120] = {133, 750, 350}, -- dodrio
 [26] = {135, 420, 350}, -- doduo
 [337] = {336, 420, 350}, -- shiny arcanine
 [340] = {338,460,350} -- shiny venu
}
local poke = {'Poliwag', 'Poliwhirl', 'Seaking', 'Dewgong', 'Blastoise', 'Tentacruel', 'Lapras', 'Gyarados', 'Omastar', 'Kabutops', 'Vaporeon', 'Staryu', 'Starmie', 'Goldeen', 'Seadra', 'Golduck', 'Squirtle', 'Wartortle', 'Tentacool', 'Snorlax', 'Poliwrath', 'Shiny Blastoise','Shiny Gyarados','Shiny Tentacool','Shiny Tentacruel','Shiny Vaporeon'}
local flie = {'4820-4825','4644-4655','6627-6638'}
local surfs = {
 ["Poliwag"] = {lookType=278, speed = 100},
 ["Poliwhirl"] = {lookType=137, speed = 150},
 ["Seaking"] = {lookType=269, speed = 140},
 ["Dewgong"] = {lookType=183, speed = 200},
 ["Blastoise"] = {lookType=184, speed = 220},
 ["Tentacruel"] = {lookType=185, speed = 210},
 ["Lapras"] = {lookType=186, speed = 250},
 ["Gyarados"] = {lookType=187, speed = 250},
 ["Omastar"] = {lookType=188, speed = 220},
 ["Kabutops"] = {lookType=189, speed = 220},
 ["Poliwrath"] = {lookType=190, speed = 210},
 ["Vaporeon"] = {lookType=191, speed = 150},
 ["Staryu"] = {lookType=266, speed = 110},
 ["Starmie"] = {lookType=267, speed = 140},
 ["Goldeen"] = {lookType=268, speed = 100},
 ["Seadra"] = {lookType=270, speed = 140},
 ["Golduck"] = {lookType=271, speed = 200},
 ["Squirtle"] = {lookType=273, speed = 140},
 ["Wartortle"] = {lookType=275, speed = 180},
 ["Tentacool"] = {lookType=277, speed = 120},
 ["Snorlax"] = {lookType=300, speed = 250},
 ["Shiny Blastoise"] = {lookType=205, speed = 350},
 ["Shiny Gyarados"] = {lookType = 225, speed = 380},
 ["Shiny Tentacool"] = {lookType = 347, speed = 150},
 ["Shiny Tentacruel"] = {lookType = 334, speed = 320},
 ["Shiny Vaporeon"] = {lookType = 308, speed = 300}
}
local bolas = {'2222', '2223', '2224'}
local ultra = {'2220', '2221', '2227'}
local etudao = 9506
local mind = 9507
-- ROCK SMASH
local rocksmash = {'Sandshrew', 'Sandslash', 'Diglett', 'Dugtrio', 'Primeape', 'Machop', 'Machoke', 'Machamp', 'Geodude', 'Graveler', 'Golem' , 'Onix', 'Cubone', 'Marowak', 'Rhyhorn', 'Rhydon', 'Kangaskhan', 'Tauros', 'Snorlax', 'Poliwrath', 'Crystal Onix', 'Shiny Cubone','Electabuzz','Shiny Marowak','Shiny Snorlax'}
local erockmash = 9502
local cdrocksmash = 0
-- ROCK SMASH
-- DIG
local digholes = {'468', '481', '483'}
local dig = {'Raticate', 'Sandshrew', 'Sandslash', 'Diglett', 'Dugtrio', 'Primeape', 'Machop', 'Machoke', 'Machamp', 'Geodude', 'Graveler', 'Golem' , 'Onix', 'Cubone', 'Marowak', 'Rhyhorn', 'Rhydon', 'Kangaskhan', 'Tauros','Arcanine', 'Snorlax', 'Shiny Arcanine', 'Shiny Cubone','Crystal Onix','Shiny Growlithe','Kingler','Shiny Kingler','Shiny Marowak'}
local edig = 9504
local cddig = 0
-- DIG
-- CUT
local cut = {'Charizard','Raticate', 'Bulbasaur', 'Ivysaur', 'Venusaur', 'Charmeleon', 'Sandshrew', 'Sandslash', 'Gloom', 'Vileplume', 'Paras', 'Parasect', 'Meowth', 'Persian', 'Bellsprout', 'Weepinbell', 'Victreebel', 'Farfetchd', 'Krabby', 'Kingler', 'Exeggutor', 'Cubone', 'Marowak', 'Tangela', 'Scyther', 'Pinsir','Shiny Beedrill','Shiny Farfetchd','Shiny Golbat','Shiny Kingler','Shiny Pinsir','Shiny Paras','Shiny Parasect','Shiny Scyther','Shiny Venusaur','Shiny Tangela'}
local ecut = 9503
local cdcut = 0
-- CUT
-- BLINK
local blink = {'Abra', 'Kadabra', 'Alakazam', 'Porygon', 'Shiny Abra', 'Shiny Alakazam',}
local exhaustblink = 9501
local cdblink = 50
-- BLINK
-- LIGHT
local light = {'Abra', 'Kadabra', 'Alakazam', 'Magnemite', 'Magneton', 'Drowzee', 'Hypno', 'Voltorb', 'Electrode', 'Mrmime', 'Electabuzz', 'Jolteon', 'Porygon', 'Pikachu', 'Raichu', 'Shiny Electabuzz', 'Shiny Electrode','Shiny Alakazam','Shiny Hypno','Shiny Jolteon','Shiny Voltorb','Shiny Raichu'}
local exhautStorage = 9500
local time = 600
local cd = 17
-- LIGHT
function onUse(cid, item, frompos, item2, topos)

  local storageAbilidade = getPlayerStorageValue(cid, 7778)

  if getPlayerItemCount(cid, item2.itemid) >= 1 then
return false
  end

  if exhaustion.get(cid, etudao) then
doPlayerSendCancel(cid, "Please wait a few seconds before using order again!")
return true
  end

  if isMonster(item2.uid) and item2.uid ~= getCreatureSummons(cid)[1] and item2.uid ~= cid then
  if #getCreatureSummons(cid) == 0 then
	doPlayerSendCancel(cid, "You need a pokemon to use order.")
	return true
  end


  local summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")

  if isMonster(item2.uid) == TRUE and summonName == "Ditto" then
	if getPlayerLevel(cid) < pokes[summonName].level then
	 doPlayerSendCancel('Você não pode usar transform em pokemons acima do seu level')
	 return true
	end

	doCreatureSay(cid, "Ditto, transform.", 1)
	doSetCreatureOutfit(getCreatureSummons(cid)[1], getCreatureOutfit(item2.uid), 5000000)
	return TRUE
  end

  if exhaustion.get(cid, mind) then
	doPlayerSendCancel(cid, "Your pokemon is too exhausted from the last control, this ability has 2 minutes cooldown.")
	return true
  end

  if isPlayer(getCreatureMaster(item2.uid)) then
	doPlayerSendCancel(cid, "You cant control the mind of someone's else pokemon.")
	return true
  end

  if not isInArray({"Alakazam","Haunter","Tentacruel", "Gengar", "Shiny Alakazam","Shiny Gengar","Shiny Tentacruel"}, summonName) then
	doPlayerSendCancel(cid, "This pokemon cant control mind.")
	return true
  end
  if  getPlayerLevel(cid) < pokes[summonName].level then
	doPlayerSendCancel(cid, "Você não tem level para usar control mind neste pokemon")
	return true
  end

  exhaustion.set(cid, mind, 240)
  doCreatureSay(getCreatureSummons(cid)[1], "CONTROL MIND!", TALKTYPE_MONSTER)
  doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), getThingPos(item2.uid), 39)
  registerCreatureEvent(item2.uid, "Controled")
  doSendMagicEffect(getThingPos(item2.uid), 136)
  doSendMagicEffect(getThingPos(item2.uid), 134)
  doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 133)
  setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1]))
  setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1]))
  doConvinceCreature(cid, item2.uid)

  if getCreatureSpeed(item2.uid) == 0 then
   doChangeSpeed(item2.uid, 180)
  end

  doCreatureSay(cid, ""..summonName..", control mind!", 1)

  local cmed = item2.uid
  local cmname = summonName
  local cmpos = getThingPos(getCreatureSummons(cid)[1])
  doRemoveCreature(getCreatureSummons(cid)[1])

  apelido = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
  if apelido == nil then
	apelido = cmname
  end

  setCreatureName(cid,""..cmname.." cm",apelido,'Its belongs to '..getCreatureName(cid))

  local cmzao = getCreatureSummons(cid)[1]

  doTeleportThing(cmzao,cmpos,false)

  setPlayerStorageValue(cid, 888, 1)

  local function check(params)
	if isCreature(params.cid) then
	  if getPlayerStorageValue(params.cid, 888) <= 0 then
	   return true
	  end

	  if not isCreature(cmed) then
		local pkcmpos = getThingPos(getCreatureSummons(cid)[1])
		doRemoveCreature(getCreatureSummons(cid)[1])

		local item = getPlayerSlotItem(cid, 8)
		pokeNome = getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")
		apelido = getItemAttribute(item.uid, "apelido")
		if apelido == nil then
		  apelido = pokeNome
		end

		setCreatureName(cid,pokeNome,apelido,'Its belongs to '..getCreatureName(cid))

		local pk = getCreatureSummons(cid)[1]
		doTeleportThing(pk,pkcmpos,false)

		doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
		registerCreatureEvent(pk, "DiePoke")
		registerCreatureEvent(pk, "Exp")
		registerCreatureEvent(cid, "PlayerPokeDeath")
		setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209)))
		doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209)))
		doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209)))
		setPlayerStorageValue(cid, 888, 0)
	  end

	  if params.rod == 60 then
		local lifecmed = getCreatureMaxHealth(cmed) - getCreatureHealth(cmed)
		local poscmed = getThingPos(cmed)
		local cmeddir = getCreatureLookDir(cmed)
		local namecmed = getCreatureName(cmed)
		doRemoveCreature(getCreatureSummons(cid)[1])
		local back = doSummonCreature(""..namecmed.."_s", poscmed)
		if getCreatureSpeed(back) == 0 then
		  doChangeSpeed(back, 180)
		end

		doCreatureSetLookDir(back, cmeddir)
		doCreatureAddHealth(back, -lifecmed)
		local item = getPlayerSlotItem(cid, 8)
		local mynewpos = getThingPos(getCreatureSummons(cid)[1])
		doRemoveCreature(getCreatureSummons(cid)[1])

		pokeNome = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
		apelido = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
		if apelido == nil then
		  apelido = pokeNome
		end

		setCreatureName(cid,pokeNome,apelido,'Its belongs to '..getCreatureName(cid))

		local pk = getCreatureSummons(cid)[1]
		doTeleportThing(pk,mynewpos,false)

		doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)
		registerCreatureEvent(pk, "DiePoke")
		registerCreatureEvent(pk, "Exp")
		registerCreatureEvent(cid, "PlayerPokeDeath")
		setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209)))
		doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209)))
		doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209)))
		setPlayerStorageValue(cid, 888, 0)
	  else
	   doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220)
	  end
	end
  end

  for rod = 1, 60 do
	addEvent(check, rod*500, {cid = cid, rod = rod})
  end
  return true
  end
if item2.uid == cid then
  if getPlayerStorageValue(cid, 888) >= 1 then
doPlayerSendCancel(cid, "You cant fly neither ride pokemons being controled.")
return true
  end
  if #getCreatureSummons(cid) == 0 and storageAbilidade <= 0 and getPlayerStorageValue(cid, 17001) <= 0 then
 doPlayerSendCancel(cid, "You need a pokemon to use order.")
 return true
  end
  summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")

  if storageAbilidade <= 0 and getPlayerStorageValue(cid, 7778) <= 0 and not isInArray(ridefly, summonName) then
 doPlayerSendCancel(cid, "You can't ride this pokemon nor fly with it.")
 return true
  end
  if storageAbilidade <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
 return true
  end

  if getPlayerStorageValue(cid, 17001) <= 0 and storageAbilidade <= 0 and isInArray(ride, summonName) then
 local pokemon = rides[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
 if getCreatureSpeed(getCreatureSummons(cid)[1]) >= 1 then
   doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
 end

 local function ride(params)
   if isCreature(params.cid) then
	 if isCreature(getCreatureSummons(params.cid)[1]) then
	   if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(cid)) <= params.d then
		 doChangeSpeed(cid, -250)
		 doChangeSpeed(cid, pokemon[2])
		 exhaustion.set(cid, etudao, 4)
		 setPlayerStorageValue(cid, 17001, 1)
		 doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
		 setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1]))
		 setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1]))
		 doRemoveCreature(getCreatureSummons(cid)[1])
	   else
		 dirh = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(params.cid))
		 if dirh == NORTHWEST then
		  if math.random(1,100) >= 51 then
			dirh = NORTH
		  else
			dirh = WEST
		  end
		 elseif dirh == SOUTHWEST then
		  if math.random(1,100) >= 51 then
			dirh = SOUTH
		  else
			dirh = WEST
		  end
		 elseif dirh == SOUTHEAST then
		  if math.random(1,100) >= 51 then
			dirh = SOUTH
		  else
			dirh = EAST
		  end
		 elseif dirh == NORTHEAST then
		  if math.random(1,100) >= 51 then
			dirh = NORTH
		  else
			dirh = EAST
		  end
		 end

		 local dirh = dirh
		 if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
		   doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1]))
		   doPushCreature(getCreatureSummons(params.cid)[1], dirh, 1, 0)
		   doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
		 else
		   doPushCreature(getCreatureSummons(params.cid)[1], dirh, 1, 0)
		   doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
		 end
	   end
	 end
   end
 end
 local function speed(params)
   if isCreature(params.cid) then
	 if isCreature(getCreatureSummons(params.cid)[1]) then
	   if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
		 doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1]))
	   end
	 end
   end
 end

 summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
 if summonName == nil then
  summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
 end
 doCreatureSay(cid, ""..summonName..", let me ride you!", 1)
 exhaustion.set(cid, etudao, 4)

 if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then
  distanc = 1
 else
  distanc = 0
 end
 local distance = distanc
 for i=1,12 do
  addEvent(ride, pokemon[3]*i, {cid = cid, d = distance})
  addEvent(speed, ((pokemon[3]*12)+100), {cid = cid})
 end

 return true
  end
  if getPlayerStorageValue(cid, 17001) >= 1 then
 setPlayerStorageValue(cid, 17001, 0)
 if getPlayerGroupId(cid) ~= 6 then
   setPlayerGroupId(cid, 8)
 end

 doCreatureSetLookDir(cid, 2)
 doChangeSpeed(cid, -(getCreatureSpeed(cid)))

 if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then
   doChangeSpeed(cid, 400*getPlayerGroupId(cid))
 else
   doChangeSpeed(cid, 250)
 end

 doRemoveCondition(cid, CONDITION_OUTFIT)

 local item = getPlayerSlotItem(cid, 8)
 summonName = getItemAttribute(item.uid, "apelido")
 if summonName == nil then
  getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")
 end

 doCreatureSay(cid, "" .. summonName..", let me get down!", 1)
 pokeNome = getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")

 setCreatureName(cid,pokeNome,summonName,'Its belongs to '..getCreatureName(cid))

 local pk = getCreatureSummons(cid)[1]
 registerCreatureEvent(cid, "PlayerPokeDeath")
 registerCreatureEvent(pk, "DiePoke")
 registerCreatureEvent(pk, "Exp")
 setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209)))
 doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209)))
 doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209)))
 return true
  end
  -- Fly Begin --
  if getPlayerStorageValue(cid, 7778) == 4 then
 if isInArray({460, 1022, 1023}, getTileInfo(getThingPos(cid)).itemid) then
   doPlayerSendCancel(cid, "You can\'t stop flying at this place!")
   return true
 end

 if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 then
   doPlayerSendCancel(cid, "You can\'t stop flying above the water!")
   return true
 end

 if getPlayerGroupId(cid) ~= 6 then
   setPlayerGroupId(cid, 8)
 end

 doCreatureSetLookDir(cid, 2)
 doChangeSpeed(cid, -(getCreatureSpeed(cid)))
 if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then
   doChangeSpeed(cid, 200*getPlayerGroupId(cid))
 else
   doChangeSpeed(cid, 250)
 end

 doRemoveCondition(cid, CONDITION_OUTFIT)
 local item = getPlayerSlotItem(cid, 8)

 --doSummonMonster(cid, getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."))
 local varNome = getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")
 local varApelido = getItemAttribute(item.uid, "apelido")
 local varSpecial = getItemAttribute(item.uid, "special")

 if(varApelido == nil)then
	 varApelido = varNome
 end
 doCreatureSay(cid, "" .. varApelido..", let me get down!", 1)
 setCreatureName(cid, varNome,varApelido ,varSpecial)
 local pk = getCreatureSummons(cid)[1]
 registerCreatureEvent(cid, "PlayerPokeDeath")
 registerCreatureEvent(pk, "DiePoke")
 registerCreatureEvent(pk, "Exp")
 setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209)))
 doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209)))
 doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209)))
 setPlayerStorageValue(cid, 7778, 0)
 return false

  end

  summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
  if summonName == nil then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
  end

  if storageAbilidade <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and isInArray(fly, summonName) then
 if storageAbilidade <= 0 then
   local pokemon = flys[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
   if not isVip(cid) then
	 doPlayerSendTextMessage(cid, 22, "Voce Precisa Ser Vip Para fly.")
	 return TRUE
   end
   local function fly(params)
	 if isCreature(params.cid) then
	   if isCreature(getCreatureSummons(params.cid)[1]) then
		 if getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), getThingPos(cid)) <= params.dd then
		   doPlayerSendTextMessage(cid,27, "Type \"up\" or \"h1\" to fly higher and \"down\" or \"h2\" to fly lower." )
		   setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1]))
		   setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1]))
		   setPlayerStorageValue(cid, 7778, 4)
		   registerCreatureEvent(cid, "Flying")
		   doChangeSpeed(cid, -250)
		   doChangeSpeed(cid, pokemon[2])
		   exhaustion.set(cid, etudao, 4)
		   doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
		   doRemoveCreature(getCreatureSummons(cid)[1])
		 else
		   dir = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(params.cid))
		   if dir == NORTHWEST then
			 if math.random(1,100) >= 51 then
			   dir = NORTH
			 else
			   dir = WEST
			 end
		   elseif dir == SOUTHWEST then
			 if math.random(1,100) >= 51 then
			   dir = SOUTH
			 else
			   dir = WEST
			 end
		   elseif dir == SOUTHEAST then
			 if math.random(1,100) >= 51 then
			   dir = SOUTH
			 else
			   dir = EAST
			 end
		   elseif dir == NORTHEAST then
			 if math.random(1,100) >= 51 then
			   dir = NORTH
			 else
			   dir = EAST
			 end
		   end

		   local dir = dir
		   if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
			 doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1]))
			 doPushCreature(getCreatureSummons(params.cid)[1], dir, 1, 0)
			 doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
		   else
			 doPushCreature(getCreatureSummons(params.cid)[1], dir, 1, 0)
			 doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
		   end
		 end
	   end
	 end
   end

   local function speed(params)
	 if isCreature(params.cid) then
	   if isCreature(getCreatureSummons(params.cid)[1]) then
		 if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
		   doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(cid)[1]))
		 end
	   end
	 end
   end
   summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
   if summonName == nil then
	summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
   end
   doCreatureSay(cid, ""..summonName..", lets fly!", 1)
   exhaustion.set(cid, etudao, 4)
   if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then
	 distancc = 1
   else
	 distancc = 0
   end
   local distancee = distancc
   for i=1,12 do
	 addEvent(fly, pokemon[3]*i, {cid = cid, dd = distancee})
	 addEvent(speed, ((pokemon[3]*12)+100), {cid = cid})
   end

   return true
 end

 return true
  end

  -- Fly End --

end
-- Ride,Fly End --
-- ROCK SMASH
if item2.itemid == 1285 and getPlayerStorageValue(cid, 63215) <= 0 then

 summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
 if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "You need a pokemon to use rock smash.")
return true
 end
 if not isInArray(rocksmash, summonName) then
doPlayerSendCancel(cid, "This pokemon can't use rock smash.")
return true
 else
if exhaustion.get(cid, erocksmash) then
  doPlayerSendCancel(cid, "Please wait a few seconds before using rock smash again!")
  return true
end
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
  return true
end

doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
local function tocut(params)
   if isCreature(params.cid) then
	 if isCreature(getCreatureSummons(params.cid)[1]) then
	   if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then
		 return true
	   end
	   if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 100) >= 1 then
		 return true
	   end

	   if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then
		 doSendMagicEffect(topos, 118)
		 doTransformItem(getTileItemById(topos, 1285).uid, 2257)
		 exhaustion.set(cid, erocksmash, cdrocksmash)

		 local function detrans(params)
			doTransformItem(getTileItemById(topos, 2257).uid, 1285)  
		 end
		 addEvent(detrans, 15*1000, {ciddd = cid})
		 doCreatureSay(getCreatureSummons(cid)[1], "ROCK SMASH!", TALKTYPE_MONSTER)
		 local function nmr(params)
		   if isCreature(params.cid) then
			 if isCreature(getCreatureSummons(params.cid)[1]) then
			   if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
				doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
			   end
			 end
		   end
		 end
		 addEvent(nmr, 400, {cid = cid})
	   else
		 local badire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos)
		 if badire == NORTHWEST then
		   if math.random(1,100) >= 51 then
			badire = NORTH
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
			 badire = NORTH
			else
			 badire = WEST
			end
		   else
			badire = WEST
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
			 badire = WEST
			else
			 badire = NORTH
			end
		   end
		 elseif badire == SOUTHWEST then
		   if math.random(1,100) >= 51 then
			badire = SOUTH
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
			 badire = SOUTH
			else
			 badire = WEST
			end
		   else
			badire = WEST
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
			 badire = WEST
			else
			 badire = SOUTH
			end
		   end
		 elseif badire == SOUTHEAST then
		   if math.random(1,100) >= 51 then
			badire = SOUTH
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
			 badire = SOUTH
			else
			 badire = EAST
			end
		   else
			badire = EAST
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
			 badire = EAST
			else
			 badire = SOUTH
			end
		   end
		 elseif badire == NORTHEAST then
		   if math.random(1,100) >= 51 then
			badire = NORTH
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
			 badire = NORTH
			else
			 badire = EAST
			end
		   else
			badire = EAST
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), badire), params.ccid, 0, 0) then
			 badire = EAST
			else
			 badire = NORTH
			end
		   end
		 end
	   end
	   local badire = badire
	   if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
		 doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
		 doPushCreature(getCreatureSummons(params.cid)[1], badire, 1, 0)
		 doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
	   else
		 doPushCreature(getCreatureSummons(params.cid)[1], badire, 1, 0)
		 doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
	   end
	 end
   end
end

summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
if summonName == nil then
  summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
doPlayerSay(cid, ""..summonName..", smash this rock!", 1)
local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
local temk = 1000 -(2.3 * speed)
addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do
  addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
end
return true
 end
end
-- ROCK SMASH END
-- Surf Begin --
local brd = bordas[item2.itemid]
if brd ~= nil then  
  if getPlayerStorageValue(cid, 7778) == 3 then

 if getPlayerGroupId(cid) ~= 6 then
   setPlayerGroupId(cid, 8)
 end

 doCreatureSetLookDir(cid, 2)



 doChangeSpeed(cid, -(getCreatureSpeed(cid)))
 if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 7 then
   doChangeSpeed(cid, 200*getPlayerGroupId(cid))
 else
   doChangeSpeed(cid, 250)
 end

 doRemoveCondition(cid, CONDITION_OUTFIT)

 setPlayerStorageValue(cid, 7778, 0)
 setPlayerStorageValue(cid, 17001, 0)
 local item = getPlayerSlotItem(cid, 8)


									--doSummonMonster(cid, getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."))
 local varNome = getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")
 local varApelido = getItemAttribute(item.uid, "apelido")
 local varSpecial = getItemAttribute(item.uid, "special")
 moveAgua(cid,item2,true)
 if(varApelido == "")then
	 varApelido = varNome
 end
 doCreatureSay(cid, ""..varApelido..", let me get out!", 1)
 setCreatureName(cid, varNome, varApelido,varSpecial)

 local pk = getCreatureSummons(cid)[1]
 registerCreatureEvent(cid, "PlayerPokeDeath")
 registerCreatureEvent(pk, "DiePoke")
 registerCreatureEvent(pk, "Exp")
 setCreatureMaxHealth(pk, (getPlayerStorageValue(cid, 61209)))
 doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61209)))
 doCreatureAddHealth(pk, (getPlayerStorageValue(cid, 61210))-(getPlayerStorageValue(cid, 61209)))


 return true
  end
  summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
  if #getCreatureSummons(cid) == 0 then

return doPlayerSendCancel(cid,"You need a Pokemon for this")

  end
  if storageAbilidade <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and isInArray(poke, summonName) then
 if storageAbilidade <= 0 then
   local pokemon = surfs[summonName]
   if not isVip(cid) then
	 doPlayerSendTextMessage(cid, 22, "Voce Precisa Ser Vip Para Surf.")
	 return TRUE
   end
   local function surf(params)
	 if isCreature(params.cid) then
	   if isCreature(getCreatureSummons(params.cid)[1]) then
		 if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) <= params.dd then
		   setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1]))
		   setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1]))
		   registerCreatureEvent(cid, "Surfing")
		   doChangeSpeed(cid, -250)
		   doChangeSpeed(cid, pokemon.speed)
		   exhaustion.set(cid, etudao, 4)
		   doSetCreatureOutfit(cid, {lookType = pokemon.lookType, lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
		   doRemoveCreature(getCreatureSummons(cid)[1])
		   setPlayerStorageValue(cid, 7778, 3)
		   moveAgua(cid,item2,false)
		 else
		   dir = getDirectionTo(getThingPos(getCreatureSummons(params.cid)[1]), topos)
		   if dir == NORTHWEST then
			 if math.random(1,100) >= 51 then
			   dir = NORTH
			 else
			   dir = WEST
			 end
		   elseif dir == SOUTHWEST then
			 if math.random(1,100) >= 51 then
			   dir = SOUTH
			 else
			   dir = WEST
			 end
		   elseif dir == SOUTHEAST then
			 if math.random(1,100) >= 51 then
			   dir = SOUTH
			 else
			   dir = EAST
			 end
		   elseif dir == NORTHEAST then
			 if math.random(1,100) >= 51 then
			   dir = NORTH
			 else
			   dir = EAST
			 end
		   end
		 end
	   end
	 end
   end

   local function speed(params)
	 if isCreature(params.cid) then
	   if isCreature(getCreatureSummons(params.cid)[1]) then
		 if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
		   doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
		   doChangeSpeed(params.cid, getCreatureBaseSpeed(params.cid))
		 end
	   end
	 end
   end
   summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
   if summonName == nil then
	summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
   end
   doCreatureSay(cid, ""..summonName..", lets Surf!", 1)
   exhaustion.set(cid, etudao, 4)
   if getPlayerGroupId(cid) >= 2 and getPlayerGroupId(cid) <= 6 then
	 distancc = 1
   else
	 distancc = 0
   end
   local distancee = distancc

   --for i=1,12 do
   --  addEvent(surf, 150*i, {cid = cid, dd = distancee, topos = topos})
   --  addEvent(speed, ((150*12)+100), {cid = cid})
   --end

   setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1]))
   setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1]))
   registerCreatureEvent(cid, "Surfing")
   --doChangeSpeed(cid, -250)
   doChangeSpeed(cid, pokemon.speed)
   exhaustion.set(cid, etudao, 4)
   doSetCreatureOutfit(cid, {lookType = pokemon.lookType, lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
   doRemoveCreature(getCreatureSummons(cid)[1])
   setPlayerStorageValue(cid, 7778, 3)
   setPlayerStorageValue(cid, 17001, 3)
   moveAgua(cid,item2,false)

   return true
 end

 return true
  end
end
  -- Surf End --

-- CUT
if item2.itemid == 2767 and getPlayerStorageValue(cid, 63215) <= 0 then
 if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "You need a pokemon to use cut.")
return true
 end

 summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
 if not isInArray(cut, summonName) then
doPlayerSendCancel(cid, "This pokemon can't use cut.")
return true
 end
 if isInArray(cut, summonName) then
if exhaustion.get(cid, ecut) then
  doPlayerSendCancel(cid, "Please wait a few seconds before using cut again!")
  return true
end
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
  return true
end
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
local function tocut(params)
  if isCreature(params.cid) then
	if isCreature(getCreatureSummons(params.cid)[1]) then
	  if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then
		return true
	  end
	  if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 101) >= 1 then
		return true
	  end
	  if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then
		doSendMagicEffect(topos, 141)
		doTransformItem(getTileItemById(topos, 2767).uid, 6216)
		exhaustion.set(cid, ecut, cdcut)

		local function detrans(params)
		  doTransformItem(getTileItemById(topos, 6216).uid, 2767)
		end

		addEvent(detrans, 15*1000, {ciddd = cid})
		doCreatureSay(getCreatureSummons(cid)[1], "CUT!", TALKTYPE_MONSTER)
		local function nmr(params)
		  if isCreature(params.cid) then
			if isCreature(getCreatureSummons(params.cid)[1]) then
			  if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
				doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
			  end
			end
		  end
		end
		addEvent(nmr, 400, {cid = cid})
	  else
		adire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos)
		if adire == NORTHWEST then
		 if math.random(1,100) >= 51 then
		  adire = NORTH
		  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
		   adire = NORTH
		  else
		   adire = WEST
		  end
		 else
		  adire = WEST
		  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
		   adire = WEST
		  else
		   adire = NORTH
		  end
		 end
		elseif adire == SOUTHWEST then
		  if math.random(1,100) >= 51 then
		   adire = SOUTH
		   if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
			adire = SOUTH
		   else
			adire = WEST
		   end
		 else
		  adire = WEST
		  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
		   adire = WEST
		  else
		   adire = SOUTH
		  end
		 end
		elseif adire == SOUTHEAST then
		 if math.random(1,100) >= 51 then
		  adire = SOUTH
		  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
		   adire = SOUTH
		  else
		   adire = EAST
		  end
		 else
		  adire = EAST
		  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
		   adire = EAST
		  else
		   adire = SOUTH
		  end
		 end
		elseif adire == NORTHEAST then
		 if math.random(1,100) >= 51 then
		  adire = NORTH
		  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
		   adire = NORTH
		  else
		   adire = EAST
		  end
		 else
		  adire = EAST
		  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), adire), params.ccid, 0, 0) then
		   adire = EAST
		  else
		   adire = NORTH
		  end
		 end
		end
		local adire = adire
		if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
		  doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
		  doPushCreature(getCreatureSummons(params.cid)[1], adire, 1, 0)
		  doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
		else
		  doPushCreature(getCreatureSummons(params.cid)[1], adire, 1, 0)
		  doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
		end
	end
  end
end
 end

 summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
 if summonName == nil then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
 end

 doPlayerSay(cid, ""..summonName..", cut this bush!", 1)

 local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
 temk = 1000 -(2.3 * speed)
 addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})

 for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do
addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
 end

 return true
 end
end
-- CUT END
-- DIG
if isInArray(digholes, item2.itemid) and getPlayerStorageValue(cid, 63215) <= 0 then
 if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "You need a pokemon to use dig.")
return true
 end

 summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
 if not isInArray(dig, summonName) then
doPlayerSendCancel(cid, "This pokemon can't use dig.")
return true
 end
 if isInArray(dig, summonName) then
if exhaustion.get(cid, edig) then
  doPlayerSendCancel(cid, "Please wait a few seconds before using dig again!")
  return true
end
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
  return true
end

doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
local function tocut(params)
  if isCreature(params.cid) then
	if isCreature(getCreatureSummons(params.cid)[1]) then
	  if getCreatureSpeed(getCreatureSummons(params.cid)[1]) >= 1 then
		return true
	  end
	  if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 99) >= 1 then
		return true
	  end

	  if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 1 then
		doSendMagicEffect(topos, 3)
		setPlayerStorageValue(getCreatureSummons(params.cid)[1], 99, 1)
		doTransformItem(getTileItemById(topos, item2.itemid).uid, item2.itemid+1)
		exhaustion.set(cid, edig, cddig)
		local function detrans(params)
		  doTransformItem(getTileItemById(topos, item2.itemid+1).uid, item2.itemid)
		  if isCreature(getCreatureSummons(params.ciddd)[1]) then
			setPlayerStorageValue(getCreatureSummons(params.ciddd)[1], 99, 0)
		  end
		end
		addEvent(detrans, 5500, {ciddd = cid})
		doCreatureSay(getCreatureSummons(cid)[1], "DIG!", TALKTYPE_MONSTER)
		local function nmr(params)
		  if isCreature(params.cid) then
			if isCreature(getCreatureSummons(params.cid)[1]) then
			  if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
				doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
			  end
			end
		  end
		end

		addEvent(nmr, 400, {cid = cid})
	  else
		local cdire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), topos)
		if cdire == NORTHWEST then
		  if math.random(1,100) >= 51 then
			cdire = NORTH
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
			 cdire = NORTH
			else
			 cdire = WEST
			end
		  else
			cdire = WEST
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
			 cdire = WEST
			else
			 cdire = NORTH
			end
		  end
		elseif cdire == SOUTHWEST then
		  if math.random(1,100) >= 51 then
			cdire = SOUTH
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
			 cdire = SOUTH
			else
			 cdire = WEST
			end
		  else
			cdire = WEST
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
			 cdire = WEST
			else
			 cdire = SOUTH
			end
		  end
		elseif cdire == SOUTHEAST then
		  if math.random(1,100) >= 51 then
			cdire = SOUTH
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
			 cdire = SOUTH
			else
			 cdire = EAST
			end
		  else
			cdire = EAST
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
			 cdire = EAST
			else
			 cdire = SOUTH
			end
		  end
		elseif cdire == NORTHEAST then
		  if math.random(1,100) >= 51 then
			cdire = NORTH
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
			 cdire = NORTH
			else
			 cdire = EAST
			end
		  else
			cdire = EAST
			if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), cdire), params.ccid, 0, 0) then
			 cdire = EAST
			else
			 cdire = NORTH
			end
		  end
		end

		local cdire = cdire
		if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
		  doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
		  doPushCreature(getCreatureSummons(params.cid)[1], cdire, 1, 0)
		  doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
		else
		  doPushCreature(getCreatureSummons(params.cid)[1], cdire, 1, 0)
		  doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
		end
	  end
	end
  end
end

summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
if summonName == nil then
 summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end

doPlayerSay(cid, ""..summonName..", open this hole!", 1)

local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
temk = 1000 -(2.3 * speed)
addEvent(tocut, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
for i = 1, getDistanceBetween(getThingPos(getCreatureSummons(cid)[1]), topos) * 2 do
  addEvent(tocut, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = topos})
end

return true
 end
end
-- DIG END
-- BLINK
if #getCreatureSummons(cid) == 0 and getPlayerStorageValue(cid, 63215) <= 0 and storageAbilidade <= 0 then
 doPlayerSendCancel(cid, "You need a pokemon to use order.")
 return true
end
if not isMonster(item2.uid) and getPlayerStorageValue(cid, 63215) <= 0 and storageAbilidade <= 0 then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
if summonName == nil then
 summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
if isInArray(blink, summonName) then
if exhaustion.get(cid, exhaustblink) then
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
doPlayerSendCancel(cid, "You can\'t order your pokemon to move now.")
return true
end
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
if summonName == nil then
 summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
doPlayerSay(cid, ""..summonName..", move!", 1)
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1)
local function move(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then
return true
end
 if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then
  if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
local function speeed(params)
if isCreature(params.sum) then
if getCreatureSpeed(params.sum) == 0 then
doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum))
end
end
end
addEvent(speeed, 600, {sum = getCreatureSummons(params.cid)[1]})
  end
 setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0)
 return true
 end
local edire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos)
if edire >= 0 and edire <= 7 then
if edire == NORTHWEST then
 if math.random(1,100) >= 51 then
 edire = NORTH
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
  edire = NORTH
  else
  edire = WEST
  end
 else
 edire = WEST
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
  edire = WEST
  else
  edire = NORTH
  end
 end
elseif edire == SOUTHWEST then
 if math.random(1,100) >= 51 then
 edire = SOUTH
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
  edire = SOUTH
  else
  edire = WEST
  end
 else
 edire = WEST
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
  edire = WEST
  else
  edire = SOUTH
  end
 end
elseif edire == SOUTHEAST then
 if math.random(1,100) >= 51 then
 edire = SOUTH
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
  edire = SOUTH
  else
  edire = EAST
  end
 else
 edire = EAST
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
  edire = EAST
  else
  edire = SOUTH
  end
 end
elseif edire == NORTHEAST then
 if math.random(1,100) >= 51 then
 edire = NORTH
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
  edire = NORTH
  else
  edire = EAST
  end
 else
 edire = EAST
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), edire), params.ccid, 0, 0) then
  edire = EAST
  else
  edire = NORTH
  end
 end
end
local edire = edire
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], edire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
end
local function voltarnormal(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
local function speeed(params)
if isCreature(params.sum) then
doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum))
end
end
addEvent(speeed, 0, {sum = getCreatureSummons(params.cid)[1]})
  end
 setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0)
end
end
end
local pois = getThingPos(item2.uid)
local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
local temk = 1000 -(2.3 * speed)
local SumPos = getThingPos(getCreatureSummons(cid)[1])
local travelx = math.abs((topos.x) - (SumPos.x))
local travely = math.abs((topos.y) - (SumPos.y))
local travel = ((travelx) + (travely))
addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid})
for i = 1, travel do
addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid})
end
addEvent(voltarnormal, temk * travel, {cid = cid})
exhaustion.set(cid, etudao, travel)
else
if not isWalkable(topos, cid, 0, 0) then
doPlayerSendCancel(cid, "Your pokemon cannot teleport there.")
return true
end
if getItemName(item2.uid) == "shallow water" then
doPlayerSendCancel(cid, "Your pokemon cannot teleport there.")
return true
end
doSendDistanceShoot(getThingPos(getCreatureSummons(cid)[1]), topos, 39)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 211)
doTeleportThing(getCreatureSummons(cid)[1], topos, false)
doSendMagicEffect(topos, 134)
doPlayerSay(cid, ""..summonName..", teleport there!", 1)
doCreatureSay(getCreatureSummons(cid)[1], "BLINK!", TALKTYPE_MONSTER)
exhaustion.set(cid, exhaustblink, cdblink)
return true
end
return true
end
end
--- BLINK END
-- LIGHT --
if isCreature(item2.uid) and getCreatureMaster(item2.uid) == cid and getPlayerStorageValue(cid, 63215) <= 0 and storageAbilidade <= 0 and item2.uid ~= cid then
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
if summonName == nil then
 summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
if summonName == "Ditto" and isMonster(item2.uid) == TRUE and summonName == "Ditto" then
doCreatureSay(cid, "Ditto, reverse transformation!", 1)
xd = doSummonCreature(summonName, topos)
doCreatureAddHealth(xd, -getCreatureHealth(xd)+getCreatureHealth(getCreatureSummons(cid)[1]))
doTeleportThing(xd, getCreaturePosition(getCreatureSummons(cid)[1]), false)
doRemoveCreature(getCreatureSummons(cid)[1])
doConvinceCreature(cid, xd)
return TRUE
elseif not isInArray(light, summonName) then
doPlayerSendCancel(cid, "This pokemon can't use flash.")
return TRUE
end
if isInArray(light, summonName) then
	if not isMonster(item2.uid) and getCreatureMaster(item2.uid) ~= cid then
	return doPlayerSendCancel(cid,"Please use flash on your pokemon.")
	end
	if exhaustion.get(cid, exhautStorage) then
	doPlayerSendCancel(cid,"Please wait a few seconds before using flash again!")
	return true
	end
exhaustion.set(cid, exhautStorage, cd)
doPlayerSay(cid, ""..summonName..", use flash!", 1)
doCreatureSay(getCreatureSummons(cid)[1], "FLASH!", TALKTYPE_MONSTER)
doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 28)
doSetCreatureLight(getCreatureSummons(cid)[1], 8, 215, time*1000)
return true
end
end
-- LIGHT END --
-- surf Begin --

-- surf end --

if #getCreatureSummons(cid) == 0 then
return true
end
if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
doPlayerSendCancel(cid, "You can\'t order your pokemon to move now.")
return true
end
if getPlayerStorageValue(getCreatureSummons(cid)[1], 12) == 1 then
doPlayerSendCancel(cid, "You can\'t order your pokemon to move now.")
return true
end
if getItemName(item2.uid) == "shallow water" then
doPlayerSendCancel(cid, "Your pokemon cannot move there.")
return true
end
summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "apelido")
if summonName == nil then
 summonName = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke"):match("This is (.-)'s pokeball.")
end
doPlayerSay(cid, ""..summonName..", move!", 1)
doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1]))
setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1)
local function move(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then
return true
end
 if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then
  if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
local function speeed(params)
if isCreature(params.sum) then
if getCreatureSpeed(params.sum) == 0 then
doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum))
end
end
end
addEvent(speeed, 600, {sum = getCreatureSummons(params.cid)[1]})
  end
 setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0)
 setPlayerStorageValue(cid, etudao, -1)
 return true
 end
local dire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos)
if dire >= 0 and dire <= 7 then
if dire == NORTHWEST then
 if math.random(1,100) >= 51 then
 dire = NORTH
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
  dire = NORTH
  else
  dire = WEST
  end
 else
 dire = WEST
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
  dire = WEST
  else
  dire = NORTH
  end
 end
elseif dire == SOUTHWEST then
 if math.random(1,100) >= 51 then
 dire = SOUTH
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
  dire = SOUTH
  else
  dire = WEST
  end
 else
 dire = WEST
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
  dire = WEST
  else
  dire = SOUTH
  end
 end
elseif dire == SOUTHEAST then
 if math.random(1,100) >= 51 then
 dire = SOUTH
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
  dire = SOUTH
  else
  dire = EAST
  end
 else
 dire = EAST
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
  dire = EAST
  else
  dire = SOUTH
  end
 end
elseif dire == NORTHEAST then
 if math.random(1,100) >= 51 then
 dire = NORTH
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
  dire = NORTH
  else
  dire = EAST
  end
 else
 dire = EAST
  if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then
  dire = EAST
  else
  dire = NORTH
  end
 end
end
local dire = dire
if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1]))
doPushCreature(getCreatureSummons(params.cid)[1], dire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
else
doPushCreature(getCreatureSummons(params.cid)[1], dire, 1, 0)
doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1]))
end
end
end
end
end
local function voltarnormal(params)
if isCreature(params.cid) then
if isCreature(getCreatureSummons(params.cid)[1]) then
setPlayerStorageValue(cid, etudao, -1)
 if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then
local function speeed(params)
if isCreature(params.sum) then
if getCreatureSpeed(params.sum) == 0 then
doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum))
end
end
end
 addEvent(speeed, 0, {sum = getCreatureSummons(params.cid)[1]})
  end
 setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0)
end
end
end
local pois = getThingPos(item2.uid)
local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1])
local temk = 1000 -(2.3 * speed)
local SummonPos = getThingPos(getCreatureSummons(cid)[1])
local travelx = math.abs((topos.x) - (SummonPos.x))
local travely = math.abs((topos.y) - (SummonPos.y))
local travel = ((travelx) + (travely))
addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid})
for i = 1, travel-1 do
addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid})
end
addEvent(voltarnormal, temk*travel, {cid = cid})
exhaustion.set(cid, etudao, travel)
return true
end

 

 

Esse erro só acontece com alguns pokémons no ride ou no surf, o fly está tudo normal.

 

Podem fechar o tópico, já resolvi tal problema.

Editado por SkyTime
Link para o comentário
Compartilhar em outros sites

Os Erros Estao Acontecendos Nessas Partes,

[07/12/2011 00:21:20] data/actions/scripts/order.lua:979: attempt to concatenate local 'varApelido' (a nil value)

 
[07/12/2011 01:22:41] data/actions/scripts/order.lua:625: attempt to concatenate global 'summonName' (a nil value)

Eu Ainda Nao Sei Oque Aconteseu Mais Você Pode Pegar Um Order Aqui Do Xtibia e Colocar Os Pokemons Novos Que Você Deseja

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...