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.




