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.