Markowiicz 13 Postado Setembro 19, 2013 Share Postado Setembro 19, 2013 Bem Galera Do , Eu Estava Aqui Mechendo Em Um OT Para Ver Se "Coloco" Online, Mas O Fly Dele Todos Podem Usar..- Como Assim Todos?Players Free - Vips Podem Usar Ele , Gostaria Que Algum Script Colocasse (Não Sei Como Escreve ) Que o Fly Fosse ApenasPara Players Vips !Order : local skills = specialabilitieslocal surfborders = {4644, 4645, 4646, 4647, 4648, 4649, 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663}local storages = {17000, 63215, 17001, 13008, 5700} --alterado v1.9 \/local unfix = {x = 1, y = 1, z = 1}local txt = {["rock smash"] = {"break that rock!", "smash that rock!", "destroy that rock!", "smash it!", "break it!", "destroy it!"},["cut"] = {"cut that bush!", "cut it down!", "cut it off!", "cut off that bush!", "cut down that bush!", "cut that bush down!"},["move"] = {"move!", "move there!", "go there!", "walk there!"},["light"] = {"flash!", "light!", "flash this place!", "light up this place!"},["dig"] = {"open that hole!", "dig that hole!", "open it!", "dig it!"},["blink"] = {"teleport there!", "blink there!", "blink!", "teleport!"},["ride"] = {"let me ride you!", "let's ride!", "let me mount you!", "let me get on you!"},["fly"] = {"let's fly!", "let me get on you!"} ,["untransform"] = {"go back to normal!", "transform into yourself again!", "stop transformation!"},["headbutt"] = {"headbutt on three", "headbutt that three!", "headbutt it off"},["levitate_fly"] = {"let's levitate!", "let me get on you!", "let's scary someone!"}, --alterado v1.8}function onUse(cid, item, frompos, item2, topos)local checkpos = toposcheckpos.stackpos = 0if getPlayerStorageValue(cid, 75846) >= 1 then return true end --alterado v1.9if getTileThingByPos(checkpos).uid <= 0 then return true end--------END FLY/RIDE --------if getCreatureCondition(cid, CONDITION_OUTFIT) and (item2.uid == cid or getRecorderPlayer(topos) == cid) and (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1) thenif isInArray({460, 11675, 11676, 11677}, getTileInfo(getThingPos(cid)).itemid) thendoPlayerSendCancel(cid, "You can\'t stop flying at this height!")return trueendlocal item = getPlayerSlotItem(cid, 8)local pokemon = getItemAttribute(item.uid, "poke")local x = pokes[pokemon]if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 thendoPlayerSendCancel(cid, "You can\'t stop flying above the water!")return trueenddoSummonMonster(cid, pokemon)local pk = getCreatureSummons(cid)[1]if not isCreature(pk) thenpk = doCreateMonster(pokemon, backupPos)if not isCreature(pk) thendoPlayerSendCancel(cid, "You can't stop flying/riding here.")return trueenddoConvinceCreature(cid, pk)enddoTeleportThing(pk, getThingPos(cid), false)doCreatureSetLookDir(pk, getCreatureLookDir(cid))adjustStatus(pk, item.uid, true, false, true)doPlayerSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", let me get down!", 1)doRegainSpeed(cid)doRemoveCondition(cid, CONDITION_OUTFIT)setPlayerStorageValue(cid, 17000, -1)setPlayerStorageValue(cid, 17001, -1)if useOTClient thendoUpdateMoves(cid)doPlayerSendCancel(cid, '12//,show') --alterado akiendreturn trueend-----------------------------local player = getRecorderPlayer(topos) --alterado v1.8 \/-------- DUEL SYSTEM ------------------------if isPlayer(player) and player ~= cid and getPlayerStorageValue(player, 6598754) <= -1 and getPlayerStorageValue(player, 52480) <= -1 thenif getPlayerStorageValue(cid, 52480) <= -1 or (getPlayerStorageValue(cid, 52481) >= 1 and getPlayerStorageValue(cid, 52482) ~= -1) then---for s = 1, #storages doif getPlayerStorageValue(cid, storages) >= 1 thenreturn doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!")endendif getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 thenreturn doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")endif #getCreatureSummons(cid) < 1 thenreturn doPlayerSendTextMessage(cid, 20, "You need a pokemon to invit someone to duel!")end---if getPlayerStorageValue(cid, 52480) <= -1 thendoPlayerSetVocation(cid, 7)openChannelDialog(cid)setPlayerStorageValue(cid, 52480, 1)setPlayerStorageValue(cid, 6598754, 5)setPlayerStorageValue(cid, 52482, getCreatureName(cid)..",")setPlayerStorageValue(cid, 52483, getCreatureName(player)..",")doCreatureSetSkullType(cid, 2)doSendAnimatedText(getThingPosWithDebug(cid), "FIRST TEAM", 215)return trueelseif getPlayerStorageValue(cid, 52481) >= 1 and getPlayerStorageValue(cid, 52482) ~= -1 thenlocal t1 = string.explode(getPlayerStorageValue(cid, 52482), ",")local t2 = string.explode(getPlayerStorageValue(cid, 52483), ",")if (#t1 >= getPlayerStorageValue(cid, 52480) and #t2 >= getPlayerStorageValue(cid, 52480)) or (isInArray(t1, getCreatureName(player)) or isInArray(t2, getCreatureName(player))) thenreturn trueendlocal sto2, sto3, name = getPlayerStorageValue(cid, 52482), getPlayerStorageValue(cid, 52483), getCreatureName(player)if getPlayerStorageValue(cid, 52480) == 2 thensetPlayerStorageValue(cid, 52483, sto3.. name..",") --time adversariodoSendAnimatedText(getThingPosWithDebug(player), "SECOND TEAM", 215)elseif getPlayerStorageValue(cid, 52480) == 3 and #t1 < 3 thensetPlayerStorageValue(cid, 52482, sto2.. name..",") --time aliadodoSendAnimatedText(getThingPosWithDebug(player), "FIRST TEAM", 215)elseif getPlayerStorageValue(cid, 52480) == 3 and #t1 >= 3 thensetPlayerStorageValue(cid, 52483, sto3.. name..",") --time adversariodoSendAnimatedText(getThingPosWithDebug(player), "SECOND TEAM", 215)endsetPlayerStorageValue(player, 52481, getPlayerStorageValue(cid, 52481))setPlayerStorageValue(player, 52485, getCreatureName(cid))local players, pokes = getPlayerStorageValue(cid, 52480), getPlayerStorageValue(cid, 52481)local str = {}table.insert(str, getCreatureName(cid).." is inviting you to a duel! Use order in him to accept it!\n")table.insert(str, "Info Battle: Duel "..players.."x"..players.." - "..pokes.." pokes.") --alterado akidoPlayerSendTextMessage(player, 20, table.concat(str))return trueendend---elseif isPlayer(player) and player ~= cid and getPlayerStorageValue(player, 6598754) == 5 and getPlayerStorageValue(player, 52481) >= 1 thenlocal t1 = string.explode(getPlayerStorageValue(player, 52482), ",")local t2 = string.explode(getPlayerStorageValue(player, 52483), ",")---if not isInArray(t1, getCreatureName(cid)) and not isInArray(t2, getCreatureName(cid)) thenreturn trueend---for s = 1, #storages doif getPlayerStorageValue(cid, storages) >= 1 thenreturn doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!")endendif getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 thenreturn doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")endlocal pokes = getLivePokeballs(cid, getPlayerSlotItem(cid, 3).uid, true)if #pokes < getPlayerStorageValue(player, 52481) thenreturn doPlayerSendTextMessage(cid, 20, "You need atleast ".. getPlayerStorageValue(player, 52481).." pokemons to duel with this person!")endif getPlayerStorageValue(cid, 52482) ~= -1 thenreturn doPlayerSendTextMessage(cid, 20, "You already invit someone to duel!")endif #getCreatureSummons(cid) < 1 thenreturn doPlayerSendTextMessage(cid, 20, "You need a pokemon to accept a duel!")end---setPlayerStorageValue(cid, 52480, getPlayerStorageValue(player, 52480))setPlayerStorageValue(player, 52484, getPlayerStorageValue(player, 52484)-1)if getPlayerStorageValue(player, 52484) == 0 thenfor a = 1, #t1 dolocal pid, sid = getPlayerByName(t1[a]), getPlayerByName(t2[a])if not isCreature(pid) or getPlayerStorageValue(pid, 52480) <= -1 thenremoveFromTableDuel(player, t1[a])elsedoCreatureSetSkullType(pid, 1)endif not isCreature(sid) or getPlayerStorageValue(sid, 52480) <= -1 thenremoveFromTableDuel(player, t2[a])elsedoCreatureSetSkullType(sid, 1)endendbeginDuel(player, 6)elsedoCreatureSetSkullType(cid, 2)enddoSendAnimatedText(getThingPos(cid), "BATTLE", COLOR_ELECTRIC)return trueelseif isPlayer(player) and player == cid and getPlayerStorageValue(player, 52480) >= 1 thendoEndDuel(cid, true)return trueend------------------------------------------------------------------------------------if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You need a pokemon to use order!") endif getCreatureNoMove(getCreatureSummons(cid)[1]) then return true endmarkLP(getCreatureSummons(cid)[1], -1)local marked = getMarkedPos(getCreatureSummons(cid)[1]) --alterado v1.8 \/if type(marked) == "table" and marked.x == topos.x and marked.y == topos.y thenreturn trueendlocal thisball = getPlayerSlotItem(cid, 8)local mysum = getCreatureSummons(cid)[1]local sid = mysum or cidlocal maxMoveDist = getDistanceBetween(getThingPos(sid), topos) * 2 + 1markPos(mysum, topos)markOwnerPos(mysum, getThingPos(cid))-------- ROCK SMASH ---------if item2.itemid == 1285 and isInArray(skills["rock smash"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["rock smash"][math.random(1, #txt["rock smash"])].."", 1)addEvent(goThere, 500, mysum, topos, "rock smash", isCreature(getCreatureTarget(cid)))return trueend------------------------------------- HEADBUTT -----------if item2.itemid == 12591 and getPokemonLevel(mysum) >= 15 then --alterado v1.6--id do item arvore normaldoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["headbutt"][math.random(1, #txt["headbutt"])].."", 1)addEvent(goThere, 500, mysum, topos, "headbutt", isCreature(getCreatureTarget(cid)))return trueend------------------------------------- CUT ----------------if item2.itemid == 2767 and isInArray(skills["cut"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["cut"][math.random(1, #txt["cut"])].."", 1)addEvent(goThere, 500, mysum, topos, "cut", isCreature(getCreatureTarget(cid)))return trueend------------------------------------- TRANSFORM ---------- --alterado v1.7if (getCreatureName(mysum) == "Ditto" or getCreatureName(mysum) == "Shiny Ditto") and isMonster(item2.uid) and pokes[getCreatureName(item2.uid)] thenif item2.uid == mysum then --editedif isTransformed(mysum) thendeTransform(mysum, getItemAttribute(thisball.uid, "transTurn"))markPos(mysum, unfix)doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["untransform"][math.random(1, #txt["untransform"])].."", 1)if useKpdoDlls thendoUpdateMoves(cid) --alterado v1.9endreturn trueenddoPlayerSendCancel(cid, "Your ditto is not transformed.")markPos(mysum, unfix)return trueendif getCreatureName(item2.uid) == "Ditto" or getCreatureName(item2.uid) == "Shiny Ditto" then --edited transform for shiny dittodoPlayerSendCancel(cid, "Your ditto can't transform into another ditto.")markPos(mysum, unfix)return trueendif getCreatureName(item2.uid) == getPlayerStorageValue(mysum, 1010) thendoPlayerSendCancel(cid, "Your ditto is already transformed into that pokemon.")markPos(mysum, unfix)return trueendlocal cd = getCD(thisball.uid, "trans", 40)if cd > 0 thendoPlayerSendCancel(cid, "Your pokemon is too tired to transform again. Cooldown: ("..getStringmytempo(cd)..")")return trueendif getHappiness(mysum) <= 50 thendoSendMagicEffect(getThingPos(mysum), happinessRate[1].effect)markPos(mysum, unfix)return trueendlocal turn = getItemAttribute(thisball.uid, "transTurn")if not turn or turn > 10 thendoItemSetAttribute(thisball.uid, "transTurn", 0)elsedoItemSetAttribute(thisball.uid, "transTurn", turn + 1)endlocal time = 140 + 2 * getPokemonLevel(mysum)turn = getItemAttribute(thisball.uid, "transTurn")markPos(mysum, unfix)setPlayerStorageValue(mysum, 1010, getCreatureName(item2.uid))doSetCreatureOutfit(mysum, {lookType = getPokemonXMLOutfit(getCreatureName(item2.uid))}, -1) --alterado v1.8addEvent(deTransform, time * 1000, mysum, turn)doSendMagicEffect(getThingPos(mysum), 184)doCreatureSay(mysum, "TRANSFORM!", TALKTYPE_MONSTER)local name = getCreatureName(item2.uid)setCD(thisball.uid, "trans", 40)doItemSetAttribute(thisball.uid, "transBegin", os.clock())doSetItemAttribute(thisball.uid, "transLeft", time)doSetItemAttribute(thisball.uid, "transOutfit", getPokemonXMLOutfit(getCreatureName(item2.uid))) --alterado v1.8doSetItemAttribute(thisball.uid, "transName", getCreatureName(item2.uid))doFaceCreature(mysum, getThingPos(item2.uid))doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 1)if useKpdoDlls thendoUpdateMoves(cid) --alterado v1.6endif dittoCopiesStatusToo thensetPlayerStorageValue(mysum, 1001, dittoBonus*getOffense(item2.uid))setPlayerStorageValue(mysum, 1002, dittoBonus*getDefense(item2.uid))setPlayerStorageValue(mysum, 1003, getSpeed(item2.uid))setPlayerStorageValue(mysum, 1004, dittoBonus*getVitality(item2.uid))setPlayerStorageValue(mysum, 1005, dittoBonus*getSpecialAttack(item2.uid))------------------local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)local vit = (getVitality(mysum) * getMasterLevel(mysum)) / 100setCreatureMaxHealth(mysum, ( vit * HPperVITsummon )) --alterado v1.6doCreatureAddHealth(mysum, pct * vit * HPperVITsummon)endreturn trueend------------------------------------- LIGHT --------------if isMonster(item2.uid) and getCreatureMaster(item2.uid) == cid thenmarkPos(mysum, unfix)if not isInArray(skills["light"], getPokemonName(item2.uid)) thendoPlayerSendCancel(cid, "Your pokemon can't use flash.")return trueendlocal cd = getCD(thisball.uid, "light", 30)if cd > 0 thendoPlayerSendCancel(cid, "Your pokemon is too tired to use flash. Cooldown: ("..getStringmytempo(cd)..")")return trueenddoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["light"][math.random(1, #txt["light"])].."", 1)doCreatureSay(mysum, "FLASH!", TALKTYPE_MONSTER)doSendMagicEffect(getThingPos(mysum), 28)local size = 5size = size + math.floor(getSpecialAttack(mysum) / 60)size = size + math.ceil(getPokemonLevel(mysum) / 60)if size > 11 thensize = 11enddoSetCreatureLight(mysum, size, 215, 600*1000)local delay = math.floor(30 - getPokemonLevel(mysum) / 4)if delay > 0 thensetCD(thisball.uid, "light", delay)endreturn trueend------------------------------------- DIG ----------------if isInArray(skills["digholes"], item2.itemid) and isInArray(skills["dig"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["dig"][math.random(1, #txt["dig"])].."", 1)addEvent(goThere, 500, mysum, topos, "dig", isCreature(getCreatureTarget(cid)))return trueend------------------------------------- BLINK / MOVE -------if not isCreature(item2.uid) and isInArray(skills["blink"], getPokemonName(mysum)) thenlocal cd = getCD(thisball.uid, "blink", 30)if getPlayerStorageValue(mysum, 2365487) == 1 thenreturn true --alterado v1.4endif cd > 0 or not canWalkOnPos(topos, false, false, true, true, true) thendoPlayerSendCancel(cid, "Blink cooldown: ("..getStringmytempo(cd)..")")doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)return trueendlocal CD = isShinyName(getCreatureName(mysum)) and 20 or 30 --edited blinkmarkPos(mysum, topos)markOwnerPos(mysum, getThingPos(cid))setCD(thisball.uid, "blink", CD)doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["blink"][math.random(1, #txt["blink"])].."", 1)doSendDistanceShoot(getThingPos(mysum), topos, 39)doSendMagicEffect(getThingPos(mysum), 211)doTeleportThing(mysum, topos, false)doSendMagicEffect(topos, 134)doCreatureSay(mysum, "BLINK!", TALKTYPE_MONSTER)goThere(mysum, topos, "blink", isCreature(getCreatureTarget(cid))) --edited blinkreturn trueend---------------------------------START FLY or RIDE or LEVITATE ---------if (item2.uid == cid or getRecorderPlayer(topos) == cid) and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["ride"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) then--alterado v1.8 >>if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 thenreturn doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!") --alterado v1.7endif #getCreatureSummons(cid) > 1 then --alterado v1.9return doPlayerSendCancel(cid, "You can't do it right now!")endif getPlayerStorageValue(cid, 52480) >= 1 thenreturn doPlayerSendCancel(cid, "You can't do it while a duel!") --alterado v1.6endif getPlayerStorageValue(cid, 5700) >= 1 then --alterado v1.9doPlayerSendCancel(cid, "You can't do that while is mount in a bike!")return trueendif getPlayerStorageValue(cid, 22545) >= 1 and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) thenreturn doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!") --alterado v1.8endlocal pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", 1 - pct)if isInArray(skills["fly"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["fly"][math.random(1, #txt["fly"])].."", 1)addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid)))elseif isInArray(skills["levitate_fly"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["levitate_fly"][math.random(1, #txt["levitate_fly"])].."", 1) --alterado v1.8addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid)))elsedoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["ride"][math.random(1, #txt["ride"])].."", 1)addEvent(goThere, 500, mysum, topos, "ride", isCreature(getCreatureTarget(cid)))endreturn trueend---------------------------------------------------------------Control Mind-------------------------------------------- alterado v1.5if isCreature(item2.uid) and ehMonstro(item2.uid) and isInArray(skills["control mind"], getCreatureName(mysum)) and item2.uid ~= mysum thenif not isCreature(item2.uid) thenreturn trueendif isSleeping(mysum) thenreturn doPlayerSendCancel(cid, "Your pokemon is sleeping...zZzZ")endif getTileInfo(getThingPos(cid)).protection or getTileInfo(getThingPos(getCreatureSummons(cid)[1])).protection thenreturn doPlayerSendCancel(cid, "You or your pokemon are in Pz zone!")endif #getCreatureSummons(cid) == 2 thenreturn doPlayerSendCancel(cid, "You only can control one Pokemon!")endlocal cd = getCD(thisball.uid, "control", 120)if cd > 0 thendoPlayerSendCancel(cid, "You have to wait "..cd.." segs to use Control Mind again!")return trueendif getPokemonLevel(item2.uid) >= getPokemonLevel(mysum) thenreturn doPlayerSendCancel(cid, "Your pokemon can't control this mind!")endif getPlayerStorageValue(cid, 22545) >= 1 then --alterado v1.7return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!")endlocal cmed = item2.uidsetCD(thisball.uid, "control", 120)local gender = getPokemonGender(cmed)doSendDistanceShoot(getThingPos(mysum), getThingPos(cmed), 39)--------------setPlayerStorageValue(cid, 212124, 1)doConvinceCreature(cid, cmed)setPlayerStorageValue(cmed, 212123, 1)doCreatureSay(cid, ""..getCreatureName(mysum)..", control "..string.lower(getCreatureName(cmed)).."'s mind!", 1)local cmname = getCreatureName(mysum)local cmpos = getThingPos(mysum)local pokelife = (getCreatureHealth(mysum) / getCreatureMaxHealth(mysum))doItemSetAttribute(thisball.uid, "hp", pokelife)doRemoveCreature(mysum)local cmzao = doSummonCreature(""..cmname.." cm", cmpos)doConvinceCreature(cid, cmzao)setPlayerStorageValue(cid, 888, 1)if useKpdoDlls thendoUpdateMoves(cid)endlocal function check(cid, controled, rod)if isCreature(cid) thenball2 = getPlayerSlotItem(cid, 8)if getPlayerStorageValue(cid, 888) <= 0 thenreturn trueendif not isCreature(controled) thensetPlayerStorageValue(cid, 212124, 0)local sum = isCreature(getCreatureSummons(cid)[1]) and getCreatureSummons(cid)[1] or getCreatureSummons(cid)[2]local pkcmpos = getThingPos(sum)doRemoveCreature(sum)local item = getPlayerSlotItem(cid, 8)local pk = doSummonCreature(getItemAttribute(item.uid, "poke"), pkcmpos)doConvinceCreature(cid, pk)doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)addEvent(doAdjustWithDelay, 100, cid, pk, true, true, false)setPlayerStorageValue(cid, 888, -1) --alterado v1.7cleanCMcds(item.uid)registerCreatureEvent(pk, "SummonDeath") --alterado v1.6if useKpdoDlls thendoUpdateMoves(cid)endreturn trueendif rod <= 0 then--Pokemon controladolocal cmed2 = getCreatureSummons(cid)[1]local poscmed = getThingPos(cmed2)local cmeddir = getCreatureLookDir(cmed2)local namecmed = getCreatureName(cmed2)local gender = getPokemonGender(cmed2)local hp, maxHp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1])doRemoveCreature(getCreatureSummons(cid)[1])local back = doCreateMonster(namecmed, poscmed)addEvent(doCreatureSetSkullType, 150, back, gender)doWildAttackPlayer(back, cid)doCreatureSetLookDir(back, cmeddir)addEvent(doCreatureAddHealth, 100, back, hp-maxHp)-- pokemon controladorlocal mynewpos = getThingPos(getCreatureSummons(cid)[1])doRemoveCreature(getCreatureSummons(cid)[1])local pk2 = doSummonCreature(getItemAttribute(ball2.uid, "poke"), mynewpos)doConvinceCreature(cid, pk2)addEvent(doAdjustWithDelay, 100, cid, pk2, true, true, false)setPlayerStorageValue(cid, 888, -1) --alterado v1.7doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)setPlayerStorageValue(cid, 212124, 0)cleanCMcds(ball2.uid)registerCreatureEvent(pk2, "SummonDeath") --alterado v1.6if useKpdoDlls thendoUpdateMoves(cid)endelseif isInArray({"Haunter", "Gengar", "Shiny Gengar"}, cmname) thendoSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 214)elsedoSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220)endendendaddEvent(check, 500, cid, controled, rod-1)endcheck(cid, cmed, 40)return trueend----------------------------------------------------------------------------- MOVE / END ---------local onlyWater = falseif isWater(getTileThingByPos(checkpos).itemid) thenonlyWater = truefor checkwater = 0, 7 doif not isWater(getTileThingByPos(getPosByDir(checkpos, checkwater)).itemid) thenonlyWater = falseendendendif onlyWater thendoPlayerSendCancel(cid, "Destination is not reachable.")return trueenddoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)if isCreature(getCreatureTarget(cid)) thengoThere(mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)elseaddEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)end-----------------------------return trueend Aguardo Ajudas . Link para o comentário Compartilhar em outros sites More sharing options...
kttallan 318 Postado Setembro 19, 2013 Share Postado Setembro 19, 2013 (editado) manow so colocar isso na parte do ride caso queira mandar uma mensagem dizendo que ele não e vip pra poder e so vocé trocar o true por isso doPlayerSendCancel(cid, "mensagem") if not isPremium then return true end ou if not isPremium then return doPlayerSendCancel(cid, "So vip usa fly") end Editado Setembro 19, 2013 por kttallan Link para o comentário Compartilhar em outros sites More sharing options...
Markowiicz 13 Postado Setembro 20, 2013 Autor Share Postado Setembro 20, 2013 manow so colocar isso na parte do ride caso queira mandar uma mensagem dizendo que ele não e vip pra poder e so vocé trocar o true por isso doPlayerSendCancel(cid, "mensagem") if not isPremium then return true end ou if not isPremium then return doPlayerSendCancel(cid, "So vip usa fly") end No Meu Ordem Não Tem Esta Frase... Não Deu Para Você Olhar? Link para o comentário Compartilhar em outros sites More sharing options...
StyloMaldoso 330 Postado Setembro 20, 2013 Share Postado Setembro 20, 2013 (editado) Legal que o fly esta junto com o orde intao, testa aew.. vai em data/action/script/order.lua Adiciona isso.. if not isPremium then return doPlayerSendCancel(cid, "So vip usa fly") end em cima disso if isInArray({460, 11675, 11676, 11677}, getTileInfo(getThingPos(cid)).itemid) then doPlayerSendCancel(cid, "You can\'t stop flying at this height!") return true end Editado Setembro 20, 2013 por StyloMaldoso Link para o comentário Compartilhar em outros sites More sharing options...
Markowiicz 13 Postado Setembro 23, 2013 Autor Share Postado Setembro 23, 2013 Não Funciona, Ainda Dá Para Dar Fly Free Link para o comentário Compartilhar em outros sites More sharing options...
Roksas 846 Postado Setembro 23, 2013 Share Postado Setembro 23, 2013 Qual o seu sistema de vip? É premium comum? Link para o comentário Compartilhar em outros sites More sharing options...
Markowiicz 13 Postado Setembro 23, 2013 Autor Share Postado Setembro 23, 2013 Qual o seu sistema de vip? É premium comum? Se For Pelo Npc Dalk, Sim. Link para o comentário Compartilhar em outros sites More sharing options...
KuchikiKenpachi 5 Postado Setembro 23, 2013 Share Postado Setembro 23, 2013 Tenta: local skills = specialabilitieslocal surfborders = {4644, 4645, 4646, 4647, 4648, 4649, 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663}local storages = {17000, 63215, 17001, 13008, 5700} --alterado v1.9 \/local unfix = {x = 1, y = 1, z = 1}local txt = {["rock smash"] = {"break that rock!", "smash that rock!", "destroy that rock!", "smash it!", "break it!", "destroy it!"},["cut"] = {"cut that bush!", "cut it down!", "cut it off!", "cut off that bush!", "cut down that bush!", "cut that bush down!"},["move"] = {"move!", "move there!", "go there!", "walk there!"},["light"] = {"flash!", "light!", "flash this place!", "light up this place!"},["dig"] = {"open that hole!", "dig that hole!", "open it!", "dig it!"},["blink"] = {"teleport there!", "blink there!", "blink!", "teleport!"},["ride"] = {"let me ride you!", "let's ride!", "let me mount you!", "let me get on you!"},["fly"] = {"let's fly!", "let me get on you!"} ,["untransform"] = {"go back to normal!", "transform into yourself again!", "stop transformation!"},["headbutt"] = {"headbutt on three", "headbutt that three!", "headbutt it off"},["levitate_fly"] = {"let's levitate!", "let me get on you!", "let's scary someone!"}, --alterado v1.8}function onUse(cid, item, frompos, item2, topos)local checkpos = toposcheckpos.stackpos = 0if getPlayerStorageValue(cid, 75846) >= 1 then return true end --alterado v1.9if getTileThingByPos(checkpos).uid <= 0 then return true end--------END FLY/RIDE --------if getCreatureCondition(cid, CONDITION_OUTFIT) and (item2.uid == cid or getRecorderPlayer(topos) == cid) and (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1) thenif isInArray({460, 11675, 11676, 11677}, getTileInfo(getThingPos(cid)).itemid) thendoPlayerSendCancel(cid, "You can\'t stop flying at this height!")return trueendlocal item = getPlayerSlotItem(cid, 8)local pokemon = getItemAttribute(item.uid, "poke")local x = pokes[pokemon]if getTileInfo(getThingPos(cid)).itemid >= 4820 and getTileInfo(getThingPos(cid)).itemid <= 4825 thendoPlayerSendCancel(cid, "You can\'t stop flying above the water!")return trueenddoSummonMonster(cid, pokemon)local pk = getCreatureSummons(cid)[1]if not isCreature(pk) thenpk = doCreateMonster(pokemon, backupPos)if not isCreature(pk) thendoPlayerSendCancel(cid, "You can't stop flying/riding here.")return trueenddoConvinceCreature(cid, pk)enddoTeleportThing(pk, getThingPos(cid), false)doCreatureSetLookDir(pk, getCreatureLookDir(cid))adjustStatus(pk, item.uid, true, false, true)doPlayerSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", let me get down!", 1)doRegainSpeed(cid)doRemoveCondition(cid, CONDITION_OUTFIT)setPlayerStorageValue(cid, 17000, -1)setPlayerStorageValue(cid, 17001, -1)if useOTClient thendoUpdateMoves(cid)doPlayerSendCancel(cid, '12//,show') --alterado akiendreturn trueend-----------------------------local player = getRecorderPlayer(topos) --alterado v1.8 \/-------- DUEL SYSTEM ------------------------if isPlayer(player) and player ~= cid and getPlayerStorageValue(player, 6598754) <= -1 and getPlayerStorageValue(player, 52480) <= -1 thenif getPlayerStorageValue(cid, 52480) <= -1 or (getPlayerStorageValue(cid, 52481) >= 1 and getPlayerStorageValue(cid, 52482) ~= -1) then---for s = 1, #storages doif getPlayerStorageValue(cid, storages) >= 1 thenreturn doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!")endendif getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 thenreturn doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")endif #getCreatureSummons(cid) < 1 thenreturn doPlayerSendTextMessage(cid, 20, "You need a pokemon to invit someone to duel!")end---if getPlayerStorageValue(cid, 52480) <= -1 thendoPlayerSetVocation(cid, 7)openChannelDialog(cid)setPlayerStorageValue(cid, 52480, 1)setPlayerStorageValue(cid, 6598754, 5)setPlayerStorageValue(cid, 52482, getCreatureName(cid)..",")setPlayerStorageValue(cid, 52483, getCreatureName(player)..",")doCreatureSetSkullType(cid, 2)doSendAnimatedText(getThingPosWithDebug(cid), "FIRST TEAM", 215)return trueelseif getPlayerStorageValue(cid, 52481) >= 1 and getPlayerStorageValue(cid, 52482) ~= -1 thenlocal t1 = string.explode(getPlayerStorageValue(cid, 52482), ",")local t2 = string.explode(getPlayerStorageValue(cid, 52483), ",")if (#t1 >= getPlayerStorageValue(cid, 52480) and #t2 >= getPlayerStorageValue(cid, 52480)) or (isInArray(t1, getCreatureName(player)) or isInArray(t2, getCreatureName(player))) thenreturn trueendlocal sto2, sto3, name = getPlayerStorageValue(cid, 52482), getPlayerStorageValue(cid, 52483), getCreatureName(player)if getPlayerStorageValue(cid, 52480) == 2 thensetPlayerStorageValue(cid, 52483, sto3.. name..",") --time adversariodoSendAnimatedText(getThingPosWithDebug(player), "SECOND TEAM", 215)elseif getPlayerStorageValue(cid, 52480) == 3 and #t1 < 3 thensetPlayerStorageValue(cid, 52482, sto2.. name..",") --time aliadodoSendAnimatedText(getThingPosWithDebug(player), "FIRST TEAM", 215)elseif getPlayerStorageValue(cid, 52480) == 3 and #t1 >= 3 thensetPlayerStorageValue(cid, 52483, sto3.. name..",") --time adversariodoSendAnimatedText(getThingPosWithDebug(player), "SECOND TEAM", 215)endsetPlayerStorageValue(player, 52481, getPlayerStorageValue(cid, 52481))setPlayerStorageValue(player, 52485, getCreatureName(cid))local players, pokes = getPlayerStorageValue(cid, 52480), getPlayerStorageValue(cid, 52481)local str = {}table.insert(str, getCreatureName(cid).." is inviting you to a duel! Use order in him to accept it!\n")table.insert(str, "Info Battle: Duel "..players.."x"..players.." - "..pokes.." pokes.") --alterado akidoPlayerSendTextMessage(player, 20, table.concat(str))return trueendend---elseif isPlayer(player) and player ~= cid and getPlayerStorageValue(player, 6598754) == 5 and getPlayerStorageValue(player, 52481) >= 1 thenlocal t1 = string.explode(getPlayerStorageValue(player, 52482), ",")local t2 = string.explode(getPlayerStorageValue(player, 52483), ",")---if not isInArray(t1, getCreatureName(cid)) and not isInArray(t2, getCreatureName(cid)) thenreturn trueend---for s = 1, #storages doif getPlayerStorageValue(cid, storages) >= 1 thenreturn doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!")endendif getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 thenreturn doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!")endlocal pokes = getLivePokeballs(cid, getPlayerSlotItem(cid, 3).uid, true)if #pokes < getPlayerStorageValue(player, 52481) thenreturn doPlayerSendTextMessage(cid, 20, "You need atleast ".. getPlayerStorageValue(player, 52481).." pokemons to duel with this person!")endif getPlayerStorageValue(cid, 52482) ~= -1 thenreturn doPlayerSendTextMessage(cid, 20, "You already invit someone to duel!")endif #getCreatureSummons(cid) < 1 thenreturn doPlayerSendTextMessage(cid, 20, "You need a pokemon to accept a duel!")end---setPlayerStorageValue(cid, 52480, getPlayerStorageValue(player, 52480))setPlayerStorageValue(player, 52484, getPlayerStorageValue(player, 52484)-1)if getPlayerStorageValue(player, 52484) == 0 thenfor a = 1, #t1 dolocal pid, sid = getPlayerByName(t1[a]), getPlayerByName(t2[a])if not isCreature(pid) or getPlayerStorageValue(pid, 52480) <= -1 thenremoveFromTableDuel(player, t1[a])elsedoCreatureSetSkullType(pid, 1)endif not isCreature(sid) or getPlayerStorageValue(sid, 52480) <= -1 thenremoveFromTableDuel(player, t2[a])elsedoCreatureSetSkullType(sid, 1)endendbeginDuel(player, 6)elsedoCreatureSetSkullType(cid, 2)enddoSendAnimatedText(getThingPos(cid), "BATTLE", COLOR_ELECTRIC)return trueelseif isPlayer(player) and player == cid and getPlayerStorageValue(player, 52480) >= 1 thendoEndDuel(cid, true)return trueend------------------------------------------------------------------------------------if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You need a pokemon to use order!") endif getCreatureNoMove(getCreatureSummons(cid)[1]) then return true endmarkLP(getCreatureSummons(cid)[1], -1)local marked = getMarkedPos(getCreatureSummons(cid)[1]) --alterado v1.8 \/if type(marked) == "table" and marked.x == topos.x and marked.y == topos.y thenreturn trueendlocal thisball = getPlayerSlotItem(cid, 8)local mysum = getCreatureSummons(cid)[1]local sid = mysum or cidlocal maxMoveDist = getDistanceBetween(getThingPos(sid), topos) * 2 + 1markPos(mysum, topos)markOwnerPos(mysum, getThingPos(cid))-------- ROCK SMASH ---------if item2.itemid == 1285 and isInArray(skills["rock smash"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["rock smash"][math.random(1, #txt["rock smash"])].."", 1)addEvent(goThere, 500, mysum, topos, "rock smash", isCreature(getCreatureTarget(cid)))return trueend------------------------------------- HEADBUTT -----------if item2.itemid == 12591 and getPokemonLevel(mysum) >= 15 then --alterado v1.6--id do item arvore normaldoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["headbutt"][math.random(1, #txt["headbutt"])].."", 1)addEvent(goThere, 500, mysum, topos, "headbutt", isCreature(getCreatureTarget(cid)))return trueend------------------------------------- CUT ----------------if item2.itemid == 2767 and isInArray(skills["cut"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["cut"][math.random(1, #txt["cut"])].."", 1)addEvent(goThere, 500, mysum, topos, "cut", isCreature(getCreatureTarget(cid)))return trueend------------------------------------- TRANSFORM ---------- --alterado v1.7if (getCreatureName(mysum) == "Ditto" or getCreatureName(mysum) == "Shiny Ditto") and isMonster(item2.uid) and pokes[getCreatureName(item2.uid)] thenif item2.uid == mysum then --editedif isTransformed(mysum) thendeTransform(mysum, getItemAttribute(thisball.uid, "transTurn"))markPos(mysum, unfix)doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["untransform"][math.random(1, #txt["untransform"])].."", 1)if useKpdoDlls thendoUpdateMoves(cid) --alterado v1.9endreturn trueenddoPlayerSendCancel(cid, "Your ditto is not transformed.")markPos(mysum, unfix)return trueendif getCreatureName(item2.uid) == "Ditto" or getCreatureName(item2.uid) == "Shiny Ditto" then --edited transform for shiny dittodoPlayerSendCancel(cid, "Your ditto can't transform into another ditto.")markPos(mysum, unfix)return trueendif getCreatureName(item2.uid) == getPlayerStorageValue(mysum, 1010) thendoPlayerSendCancel(cid, "Your ditto is already transformed into that pokemon.")markPos(mysum, unfix)return trueendlocal cd = getCD(thisball.uid, "trans", 40)if cd > 0 thendoPlayerSendCancel(cid, "Your pokemon is too tired to transform again. Cooldown: ("..getStringmytempo(cd)..")")return trueendif getHappiness(mysum) <= 50 thendoSendMagicEffect(getThingPos(mysum), happinessRate[1].effect)markPos(mysum, unfix)return trueendlocal turn = getItemAttribute(thisball.uid, "transTurn")if not turn or turn > 10 thendoItemSetAttribute(thisball.uid, "transTurn", 0)elsedoItemSetAttribute(thisball.uid, "transTurn", turn + 1)endlocal time = 140 + 2 * getPokemonLevel(mysum)turn = getItemAttribute(thisball.uid, "transTurn")markPos(mysum, unfix)setPlayerStorageValue(mysum, 1010, getCreatureName(item2.uid))doSetCreatureOutfit(mysum, {lookType = getPokemonXMLOutfit(getCreatureName(item2.uid))}, -1) --alterado v1.8addEvent(deTransform, time * 1000, mysum, turn)doSendMagicEffect(getThingPos(mysum), 184)doCreatureSay(mysum, "TRANSFORM!", TALKTYPE_MONSTER)local name = getCreatureName(item2.uid)setCD(thisball.uid, "trans", 40)doItemSetAttribute(thisball.uid, "transBegin", os.clock())doSetItemAttribute(thisball.uid, "transLeft", time)doSetItemAttribute(thisball.uid, "transOutfit", getPokemonXMLOutfit(getCreatureName(item2.uid))) --alterado v1.8doSetItemAttribute(thisball.uid, "transName", getCreatureName(item2.uid))doFaceCreature(mysum, getThingPos(item2.uid))doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 1)if useKpdoDlls thendoUpdateMoves(cid) --alterado v1.6endif dittoCopiesStatusToo thensetPlayerStorageValue(mysum, 1001, dittoBonus*getOffense(item2.uid))setPlayerStorageValue(mysum, 1002, dittoBonus*getDefense(item2.uid))setPlayerStorageValue(mysum, 1003, getSpeed(item2.uid))setPlayerStorageValue(mysum, 1004, dittoBonus*getVitality(item2.uid))setPlayerStorageValue(mysum, 1005, dittoBonus*getSpecialAttack(item2.uid))------------------local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)local vit = (getVitality(mysum) * getMasterLevel(mysum)) / 100setCreatureMaxHealth(mysum, ( vit * HPperVITsummon )) --alterado v1.6doCreatureAddHealth(mysum, pct * vit * HPperVITsummon)endreturn trueend------------------------------------- LIGHT --------------if isMonster(item2.uid) and getCreatureMaster(item2.uid) == cid thenmarkPos(mysum, unfix)if not isInArray(skills["light"], getPokemonName(item2.uid)) thendoPlayerSendCancel(cid, "Your pokemon can't use flash.")return trueendlocal cd = getCD(thisball.uid, "light", 30)if cd > 0 thendoPlayerSendCancel(cid, "Your pokemon is too tired to use flash. Cooldown: ("..getStringmytempo(cd)..")")return trueenddoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["light"][math.random(1, #txt["light"])].."", 1)doCreatureSay(mysum, "FLASH!", TALKTYPE_MONSTER)doSendMagicEffect(getThingPos(mysum), 28)local size = 5size = size + math.floor(getSpecialAttack(mysum) / 60)size = size + math.ceil(getPokemonLevel(mysum) / 60)if size > 11 thensize = 11enddoSetCreatureLight(mysum, size, 215, 600*1000)local delay = math.floor(30 - getPokemonLevel(mysum) / 4)if delay > 0 thensetCD(thisball.uid, "light", delay)endreturn trueend------------------------------------- DIG ----------------if isInArray(skills["digholes"], item2.itemid) and isInArray(skills["dig"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["dig"][math.random(1, #txt["dig"])].."", 1)addEvent(goThere, 500, mysum, topos, "dig", isCreature(getCreatureTarget(cid)))return trueend------------------------------------- BLINK / MOVE -------if not isCreature(item2.uid) and isInArray(skills["blink"], getPokemonName(mysum)) thenlocal cd = getCD(thisball.uid, "blink", 30)if getPlayerStorageValue(mysum, 2365487) == 1 thenreturn true --alterado v1.4endif cd > 0 or not canWalkOnPos(topos, false, false, true, true, true) thendoPlayerSendCancel(cid, "Blink cooldown: ("..getStringmytempo(cd)..")")doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)return trueendlocal CD = isShinyName(getCreatureName(mysum)) and 20 or 30 --edited blinkmarkPos(mysum, topos)markOwnerPos(mysum, getThingPos(cid))setCD(thisball.uid, "blink", CD)doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["blink"][math.random(1, #txt["blink"])].."", 1)doSendDistanceShoot(getThingPos(mysum), topos, 39)doSendMagicEffect(getThingPos(mysum), 211)doTeleportThing(mysum, topos, false)doSendMagicEffect(topos, 134)doCreatureSay(mysum, "BLINK!", TALKTYPE_MONSTER)goThere(mysum, topos, "blink", isCreature(getCreatureTarget(cid))) --edited blinkreturn trueend---------------------------------START FLY or RIDE or LEVITATE ---------if not isPremium(cid) thendoPlayerSendCancel(cid, "Você não é Premium Account !")return trueendif (item2.uid == cid or getRecorderPlayer(topos) == cid) and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["ride"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) then--alterado v1.8 >>if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 thenreturn doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!") --alterado v1.7endif #getCreatureSummons(cid) > 1 then --alterado v1.9return doPlayerSendCancel(cid, "You can't do it right now!")endif getPlayerStorageValue(cid, 52480) >= 1 thenreturn doPlayerSendCancel(cid, "You can't do it while a duel!") --alterado v1.6endif getPlayerStorageValue(cid, 5700) >= 1 then --alterado v1.9doPlayerSendCancel(cid, "You can't do that while is mount in a bike!")return trueendif getPlayerStorageValue(cid, 22545) >= 1 and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) thenreturn doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!") --alterado v1.8endlocal pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", 1 - pct)if isInArray(skills["fly"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["fly"][math.random(1, #txt["fly"])].."", 1)addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid)))elseif isInArray(skills["levitate_fly"], getPokemonName(mysum)) thendoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["levitate_fly"][math.random(1, #txt["levitate_fly"])].."", 1) --alterado v1.8addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid)))elsedoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["ride"][math.random(1, #txt["ride"])].."", 1)addEvent(goThere, 500, mysum, topos, "ride", isCreature(getCreatureTarget(cid)))endreturn trueend---------------------------------------------------------------Control Mind-------------------------------------------- alterado v1.5if isCreature(item2.uid) and ehMonstro(item2.uid) and isInArray(skills["control mind"], getCreatureName(mysum)) and item2.uid ~= mysum thenif not isCreature(item2.uid) thenreturn trueendif isSleeping(mysum) thenreturn doPlayerSendCancel(cid, "Your pokemon is sleeping...zZzZ")endif getTileInfo(getThingPos(cid)).protection or getTileInfo(getThingPos(getCreatureSummons(cid)[1])).protection thenreturn doPlayerSendCancel(cid, "You or your pokemon are in Pz zone!")endif #getCreatureSummons(cid) == 2 thenreturn doPlayerSendCancel(cid, "You only can control one Pokemon!")endlocal cd = getCD(thisball.uid, "control", 120)if cd > 0 thendoPlayerSendCancel(cid, "You have to wait "..cd.." segs to use Control Mind again!")return trueendif getPokemonLevel(item2.uid) >= getPokemonLevel(mysum) thenreturn doPlayerSendCancel(cid, "Your pokemon can't control this mind!")endif getPlayerStorageValue(cid, 22545) >= 1 then --alterado v1.7return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!")endlocal cmed = item2.uidsetCD(thisball.uid, "control", 120)local gender = getPokemonGender(cmed)doSendDistanceShoot(getThingPos(mysum), getThingPos(cmed), 39)--------------setPlayerStorageValue(cid, 212124, 1)doConvinceCreature(cid, cmed)setPlayerStorageValue(cmed, 212123, 1)doCreatureSay(cid, ""..getCreatureName(mysum)..", control "..string.lower(getCreatureName(cmed)).."'s mind!", 1)local cmname = getCreatureName(mysum)local cmpos = getThingPos(mysum)local pokelife = (getCreatureHealth(mysum) / getCreatureMaxHealth(mysum))doItemSetAttribute(thisball.uid, "hp", pokelife)doRemoveCreature(mysum)local cmzao = doSummonCreature(""..cmname.." cm", cmpos)doConvinceCreature(cid, cmzao)setPlayerStorageValue(cid, 888, 1)if useKpdoDlls thendoUpdateMoves(cid)endlocal function check(cid, controled, rod)if isCreature(cid) thenball2 = getPlayerSlotItem(cid, 8)if getPlayerStorageValue(cid, 888) <= 0 thenreturn trueendif not isCreature(controled) thensetPlayerStorageValue(cid, 212124, 0)local sum = isCreature(getCreatureSummons(cid)[1]) and getCreatureSummons(cid)[1] or getCreatureSummons(cid)[2]local pkcmpos = getThingPos(sum)doRemoveCreature(sum)local item = getPlayerSlotItem(cid, 8)local pk = doSummonCreature(getItemAttribute(item.uid, "poke"), pkcmpos)doConvinceCreature(cid, pk)doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)addEvent(doAdjustWithDelay, 100, cid, pk, true, true, false)setPlayerStorageValue(cid, 888, -1) --alterado v1.7cleanCMcds(item.uid)registerCreatureEvent(pk, "SummonDeath") --alterado v1.6if useKpdoDlls thendoUpdateMoves(cid)endreturn trueendif rod <= 0 then--Pokemon controladolocal cmed2 = getCreatureSummons(cid)[1]local poscmed = getThingPos(cmed2)local cmeddir = getCreatureLookDir(cmed2)local namecmed = getCreatureName(cmed2)local gender = getPokemonGender(cmed2)local hp, maxHp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1])doRemoveCreature(getCreatureSummons(cid)[1])local back = doCreateMonster(namecmed, poscmed)addEvent(doCreatureSetSkullType, 150, back, gender)doWildAttackPlayer(back, cid)doCreatureSetLookDir(back, cmeddir)addEvent(doCreatureAddHealth, 100, back, hp-maxHp)-- pokemon controladorlocal mynewpos = getThingPos(getCreatureSummons(cid)[1])doRemoveCreature(getCreatureSummons(cid)[1])local pk2 = doSummonCreature(getItemAttribute(ball2.uid, "poke"), mynewpos)doConvinceCreature(cid, pk2)addEvent(doAdjustWithDelay, 100, cid, pk2, true, true, false)setPlayerStorageValue(cid, 888, -1) --alterado v1.7doCreatureSetLookDir(getCreatureSummons(cid)[1], 2)setPlayerStorageValue(cid, 212124, 0)cleanCMcds(ball2.uid)registerCreatureEvent(pk2, "SummonDeath") --alterado v1.6if useKpdoDlls thendoUpdateMoves(cid)endelseif isInArray({"Haunter", "Gengar", "Shiny Gengar"}, cmname) thendoSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 214)elsedoSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220)endendendaddEvent(check, 500, cid, controled, rod-1)endcheck(cid, cmed, 40)return trueend----------------------------------------------------------------------------- MOVE / END ---------local onlyWater = falseif isWater(getTileThingByPos(checkpos).itemid) thenonlyWater = truefor checkwater = 0, 7 doif not isWater(getTileThingByPos(getPosByDir(checkpos, checkwater)).itemid) thenonlyWater = falseendendendif onlyWater thendoPlayerSendCancel(cid, "Destination is not reachable.")return trueenddoPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1)if isCreature(getCreatureTarget(cid)) thengoThere(mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)elseaddEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist)end-----------------------------return trueend Link para o comentário Compartilhar em outros sites More sharing options...
Markowiicz 13 Postado Setembro 24, 2013 Autor Share Postado Setembro 24, 2013 (editado) Tenta: local skills = specialabilities local surfborders = {4644, 4645, 4646, 4647, 4648, 4649, 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663} local storages = {17000, 63215, 17001, 13008, 5700} --alterado v1.9 \/ local unfix = {x = 1, y = 1, z = 1} local txt = { ["rock smash"] = {"break that rock!", "smash that rock!", "destroy that rock!", "smash it!", "break it!", "destroy it!"}, ["cut"] = {"cut that bush!", "cut it down!", "cut it off!", "cut off that bush!", "cut down that bush!", "cut that bush down!"}, ["move"] = {"move!", "move there!", "go there!", "walk there!"}, ["light"] = {"flash!", "light!", "flash this place!", "light up this place!"}, ["dig"] = {"open that hole!", "dig that hole!", "open it!", "dig it!"}, ["blink"] = {"teleport there!", "blink there!", "blink!", "teleport!"}, ["ride"] = {"let me ride you!", "let's ride!", "let me mount you!", "let me get on you!"}, ["fly"] = {"let's fly!", "let me get on you!"} , ["untransform"] = {"go back to normal!", "transform into yourself again!", "stop transformation!"}, ["headbutt"] = {"headbutt on three", "headbutt that three!", "headbutt it off"}, ["levitate_fly"] = {"let's levitate!", "let me get on you!", "let's scary someone!"}, --alterado v1.8 } function onUse(cid, item, frompos, item2, topos) local checkpos = topos checkpos.stackpos = 0 if getPlayerStorageValue(cid, 75846) >= 1 then return true end --alterado v1.9 if getTileThingByPos(checkpos).uid <= 0 then return true end --------END FLY/RIDE -------- if getCreatureCondition(cid, CONDITION_OUTFIT) and (item2.uid == cid or getRecorderPlayer(topos) == cid) and (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1) then if isInArray({460, 11675, 11676, 11677}, getTileInfo(getThingPos(cid)).itemid) then doPlayerSendCancel(cid, "You can\'t stop flying at this height!") return true end local item = getPlayerSlotItem(cid, 8) local pokemon = getItemAttribute(item.uid, "poke") local x = pokes[pokemon] 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 doSummonMonster(cid, pokemon) local pk = getCreatureSummons(cid)[1] if not isCreature(pk) then pk = doCreateMonster(pokemon, backupPos) if not isCreature(pk) then doPlayerSendCancel(cid, "You can't stop flying/riding here.") return true end doConvinceCreature(cid, pk) end doTeleportThing(pk, getThingPos(cid), false) doCreatureSetLookDir(pk, getCreatureLookDir(cid)) adjustStatus(pk, item.uid, true, false, true) doPlayerSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", let me get down!", 1) doRegainSpeed(cid) doRemoveCondition(cid, CONDITION_OUTFIT) setPlayerStorageValue(cid, 17000, -1) setPlayerStorageValue(cid, 17001, -1) if useOTClient then doUpdateMoves(cid) doPlayerSendCancel(cid, '12//,show') --alterado aki end return true end ----------------------------- local player = getRecorderPlayer(topos) --alterado v1.8 \/ -------- DUEL SYSTEM ------------------------ if isPlayer(player) and player ~= cid and getPlayerStorageValue(player, 6598754) <= -1 and getPlayerStorageValue(player, 52480) <= -1 then if getPlayerStorageValue(cid, 52480) <= -1 or (getPlayerStorageValue(cid, 52481) >= 1 and getPlayerStorageValue(cid, 52482) ~= -1) then --- for s = 1, #storages do if getPlayerStorageValue(cid, storages) >= 1 then return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!") end end if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then return doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!") end if #getCreatureSummons(cid) < 1 then return doPlayerSendTextMessage(cid, 20, "You need a pokemon to invit someone to duel!") end --- if getPlayerStorageValue(cid, 52480) <= -1 then doPlayerSetVocation(cid, 7) openChannelDialog(cid) setPlayerStorageValue(cid, 52480, 1) setPlayerStorageValue(cid, 6598754, 5) setPlayerStorageValue(cid, 52482, getCreatureName(cid)..",") setPlayerStorageValue(cid, 52483, getCreatureName(player)..",") doCreatureSetSkullType(cid, 2) doSendAnimatedText(getThingPosWithDebug(cid), "FIRST TEAM", 215) return true elseif getPlayerStorageValue(cid, 52481) >= 1 and getPlayerStorageValue(cid, 52482) ~= -1 then local t1 = string.explode(getPlayerStorageValue(cid, 52482), ",") local t2 = string.explode(getPlayerStorageValue(cid, 52483), ",") if (#t1 >= getPlayerStorageValue(cid, 52480) and #t2 >= getPlayerStorageValue(cid, 52480)) or (isInArray(t1, getCreatureName(player)) or isInArray(t2, getCreatureName(player))) then return true end local sto2, sto3, name = getPlayerStorageValue(cid, 52482), getPlayerStorageValue(cid, 52483), getCreatureName(player) if getPlayerStorageValue(cid, 52480) == 2 then setPlayerStorageValue(cid, 52483, sto3.. name..",") --time adversario doSendAnimatedText(getThingPosWithDebug(player), "SECOND TEAM", 215) elseif getPlayerStorageValue(cid, 52480) == 3 and #t1 < 3 then setPlayerStorageValue(cid, 52482, sto2.. name..",") --time aliado doSendAnimatedText(getThingPosWithDebug(player), "FIRST TEAM", 215) elseif getPlayerStorageValue(cid, 52480) == 3 and #t1 >= 3 then setPlayerStorageValue(cid, 52483, sto3.. name..",") --time adversario doSendAnimatedText(getThingPosWithDebug(player), "SECOND TEAM", 215) end setPlayerStorageValue(player, 52481, getPlayerStorageValue(cid, 52481)) setPlayerStorageValue(player, 52485, getCreatureName(cid)) local players, pokes = getPlayerStorageValue(cid, 52480), getPlayerStorageValue(cid, 52481) local str = {} table.insert(str, getCreatureName(cid).." is inviting you to a duel! Use order in him to accept it!\n") table.insert(str, "Info Battle: Duel "..players.."x"..players.." - "..pokes.." pokes.") --alterado aki doPlayerSendTextMessage(player, 20, table.concat(str)) return true end end --- elseif isPlayer(player) and player ~= cid and getPlayerStorageValue(player, 6598754) == 5 and getPlayerStorageValue(player, 52481) >= 1 then local t1 = string.explode(getPlayerStorageValue(player, 52482), ",") local t2 = string.explode(getPlayerStorageValue(player, 52483), ",") --- if not isInArray(t1, getCreatureName(cid)) and not isInArray(t2, getCreatureName(cid)) then return true end --- for s = 1, #storages do if getPlayerStorageValue(cid, storages) >= 1 then return doPlayerSendTextMessage(cid, 20, "You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!") end end if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then return doPlayerSendTextMessage(cid, 20, "You can't do that while in PVP zone!") end local pokes = getLivePokeballs(cid, getPlayerSlotItem(cid, 3).uid, true) if #pokes < getPlayerStorageValue(player, 52481) then return doPlayerSendTextMessage(cid, 20, "You need atleast ".. getPlayerStorageValue(player, 52481).." pokemons to duel with this person!") end if getPlayerStorageValue(cid, 52482) ~= -1 then return doPlayerSendTextMessage(cid, 20, "You already invit someone to duel!") end if #getCreatureSummons(cid) < 1 then return doPlayerSendTextMessage(cid, 20, "You need a pokemon to accept a duel!") end --- setPlayerStorageValue(cid, 52480, getPlayerStorageValue(player, 52480)) setPlayerStorageValue(player, 52484, getPlayerStorageValue(player, 52484)-1) if getPlayerStorageValue(player, 52484) == 0 then for a = 1, #t1 do local pid, sid = getPlayerByName(t1[a]), getPlayerByName(t2[a]) if not isCreature(pid) or getPlayerStorageValue(pid, 52480) <= -1 then removeFromTableDuel(player, t1[a]) else doCreatureSetSkullType(pid, 1) end if not isCreature(sid) or getPlayerStorageValue(sid, 52480) <= -1 then removeFromTableDuel(player, t2[a]) else doCreatureSetSkullType(sid, 1) end end beginDuel(player, 6) else doCreatureSetSkullType(cid, 2) end doSendAnimatedText(getThingPos(cid), "BATTLE", COLOR_ELECTRIC) return true elseif isPlayer(player) and player == cid and getPlayerStorageValue(player, 52480) >= 1 then doEndDuel(cid, true) return true end ------------------------------------------------------------------------------------ if #getCreatureSummons(cid) == 0 then return doPlayerSendCancel(cid, "You need a pokemon to use order!") end if getCreatureNoMove(getCreatureSummons(cid)[1]) then return true end markLP(getCreatureSummons(cid)[1], -1) local marked = getMarkedPos(getCreatureSummons(cid)[1]) --alterado v1.8 \/ if type(marked) == "table" and marked.x == topos.x and marked.y == topos.y then return true end local thisball = getPlayerSlotItem(cid, 8) local mysum = getCreatureSummons(cid)[1] local sid = mysum or cid local maxMoveDist = getDistanceBetween(getThingPos(sid), topos) * 2 + 1 markPos(mysum, topos) markOwnerPos(mysum, getThingPos(cid)) -------- ROCK SMASH --------- if item2.itemid == 1285 and isInArray(skills["rock smash"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["rock smash"][math.random(1, #txt["rock smash"])].."", 1) addEvent(goThere, 500, mysum, topos, "rock smash", isCreature(getCreatureTarget(cid))) return true end ----------------------------- -------- HEADBUTT ----------- if item2.itemid == 12591 and getPokemonLevel(mysum) >= 15 then --alterado v1.6 --id do item arvore normal doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["headbutt"][math.random(1, #txt["headbutt"])].."", 1) addEvent(goThere, 500, mysum, topos, "headbutt", isCreature(getCreatureTarget(cid))) return true end ----------------------------- -------- CUT ---------------- if item2.itemid == 2767 and isInArray(skills["cut"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["cut"][math.random(1, #txt["cut"])].."", 1) addEvent(goThere, 500, mysum, topos, "cut", isCreature(getCreatureTarget(cid))) return true end ----------------------------- -------- TRANSFORM ---------- --alterado v1.7 if (getCreatureName(mysum) == "Ditto" or getCreatureName(mysum) == "Shiny Ditto") and isMonster(item2.uid) and pokes[getCreatureName(item2.uid)] then if item2.uid == mysum then --edited if isTransformed(mysum) then deTransform(mysum, getItemAttribute(thisball.uid, "transTurn")) markPos(mysum, unfix) doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["untransform"][math.random(1, #txt["untransform"])].."", 1) if useKpdoDlls then doUpdateMoves(cid) --alterado v1.9 end return true end doPlayerSendCancel(cid, "Your ditto is not transformed.") markPos(mysum, unfix) return true end if getCreatureName(item2.uid) == "Ditto" or getCreatureName(item2.uid) == "Shiny Ditto" then --edited transform for shiny ditto doPlayerSendCancel(cid, "Your ditto can't transform into another ditto.") markPos(mysum, unfix) return true end if getCreatureName(item2.uid) == getPlayerStorageValue(mysum, 1010) then doPlayerSendCancel(cid, "Your ditto is already transformed into that pokemon.") markPos(mysum, unfix) return true end local cd = getCD(thisball.uid, "trans", 40) if cd > 0 then doPlayerSendCancel(cid, "Your pokemon is too tired to transform again. Cooldown: ("..getStringmytempo(cd)..")") return true end if getHappiness(mysum) <= 50 then doSendMagicEffect(getThingPos(mysum), happinessRate[1].effect) markPos(mysum, unfix) return true end local turn = getItemAttribute(thisball.uid, "transTurn") if not turn or turn > 10 then doItemSetAttribute(thisball.uid, "transTurn", 0) else doItemSetAttribute(thisball.uid, "transTurn", turn + 1) end local time = 140 + 2 * getPokemonLevel(mysum) turn = getItemAttribute(thisball.uid, "transTurn") markPos(mysum, unfix) setPlayerStorageValue(mysum, 1010, getCreatureName(item2.uid)) doSetCreatureOutfit(mysum, {lookType = getPokemonXMLOutfit(getCreatureName(item2.uid))}, -1) --alterado v1.8 addEvent(deTransform, time * 1000, mysum, turn) doSendMagicEffect(getThingPos(mysum), 184) doCreatureSay(mysum, "TRANSFORM!", TALKTYPE_MONSTER) local name = getCreatureName(item2.uid) setCD(thisball.uid, "trans", 40) doItemSetAttribute(thisball.uid, "transBegin", os.clock()) doSetItemAttribute(thisball.uid, "transLeft", time) doSetItemAttribute(thisball.uid, "transOutfit", getPokemonXMLOutfit(getCreatureName(item2.uid))) --alterado v1.8 doSetItemAttribute(thisball.uid, "transName", getCreatureName(item2.uid)) doFaceCreature(mysum, getThingPos(item2.uid)) doPlayerSay(cid, ""..getPokeName(mysum)..", transform into "..getArticle(name).." "..name.."!", 1) if useKpdoDlls then doUpdateMoves(cid) --alterado v1.6 end if dittoCopiesStatusToo then setPlayerStorageValue(mysum, 1001, dittoBonus*getOffense(item2.uid)) setPlayerStorageValue(mysum, 1002, dittoBonus*getDefense(item2.uid)) setPlayerStorageValue(mysum, 1003, getSpeed(item2.uid)) setPlayerStorageValue(mysum, 1004, dittoBonus*getVitality(item2.uid)) setPlayerStorageValue(mysum, 1005, dittoBonus*getSpecialAttack(item2.uid)) ------------------ local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum) local vit = (getVitality(mysum) * getMasterLevel(mysum)) / 100 setCreatureMaxHealth(mysum, ( vit * HPperVITsummon )) --alterado v1.6 doCreatureAddHealth(mysum, pct * vit * HPperVITsummon) end return true end ----------------------------- -------- LIGHT -------------- if isMonster(item2.uid) and getCreatureMaster(item2.uid) == cid then markPos(mysum, unfix) if not isInArray(skills["light"], getPokemonName(item2.uid)) then doPlayerSendCancel(cid, "Your pokemon can't use flash.") return true end local cd = getCD(thisball.uid, "light", 30) if cd > 0 then doPlayerSendCancel(cid, "Your pokemon is too tired to use flash. Cooldown: ("..getStringmytempo(cd)..")") return true end doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["light"][math.random(1, #txt["light"])].."", 1) doCreatureSay(mysum, "FLASH!", TALKTYPE_MONSTER) doSendMagicEffect(getThingPos(mysum), 28) local size = 5 size = size + math.floor(getSpecialAttack(mysum) / 60) size = size + math.ceil(getPokemonLevel(mysum) / 60) if size > 11 then size = 11 end doSetCreatureLight(mysum, size, 215, 600*1000) local delay = math.floor(30 - getPokemonLevel(mysum) / 4) if delay > 0 then setCD(thisball.uid, "light", delay) end return true end ----------------------------- -------- DIG ---------------- if isInArray(skills["digholes"], item2.itemid) and isInArray(skills["dig"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["dig"][math.random(1, #txt["dig"])].."", 1) addEvent(goThere, 500, mysum, topos, "dig", isCreature(getCreatureTarget(cid))) return true end ----------------------------- -------- BLINK / MOVE ------- if not isCreature(item2.uid) and isInArray(skills["blink"], getPokemonName(mysum)) then local cd = getCD(thisball.uid, "blink", 30) if getPlayerStorageValue(mysum, 2365487) == 1 then return true --alterado v1.4 end if cd > 0 or not canWalkOnPos(topos, false, false, true, true, true) then doPlayerSendCancel(cid, "Blink cooldown: ("..getStringmytempo(cd)..")") doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1) addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist) return true end local CD = isShinyName(getCreatureName(mysum)) and 20 or 30 --edited blink markPos(mysum, topos) markOwnerPos(mysum, getThingPos(cid)) setCD(thisball.uid, "blink", CD) doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["blink"][math.random(1, #txt["blink"])].."", 1) doSendDistanceShoot(getThingPos(mysum), topos, 39) doSendMagicEffect(getThingPos(mysum), 211) doTeleportThing(mysum, topos, false) doSendMagicEffect(topos, 134) doCreatureSay(mysum, "BLINK!", TALKTYPE_MONSTER) goThere(mysum, topos, "blink", isCreature(getCreatureTarget(cid))) --edited blink return true end ----------------------------- ----START FLY or RIDE or LEVITATE --------- if not isPremium(cid) then doPlayerSendCancel(cid, "Você não é Premium Account !") return true end if (item2.uid == cid or getRecorderPlayer(topos) == cid) and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["ride"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) then --alterado v1.8 >> if getPlayerStorageValue(cid, 6598754) == 1 or getPlayerStorageValue(cid, 6598755) == 1 then return doPlayerSendCancel(cid, "You can't do it while in the PVP Zone!") --alterado v1.7 end if #getCreatureSummons(cid) > 1 then --alterado v1.9 return doPlayerSendCancel(cid, "You can't do it right now!") end if getPlayerStorageValue(cid, 52480) >= 1 then return doPlayerSendCancel(cid, "You can't do it while a duel!") --alterado v1.6 end if getPlayerStorageValue(cid, 5700) >= 1 then --alterado v1.9 doPlayerSendCancel(cid, "You can't do that while is mount in a bike!") return true end if getPlayerStorageValue(cid, 22545) >= 1 and (isInArray(skills["fly"], getPokemonName(mysum)) or isInArray(skills["levitate_fly"], getPokemonName(mysum))) then return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!") --alterado v1.8 end local pct = getCreatureHealth(mysum) / getCreatureMaxHealth(mysum) doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", 1 - pct) if isInArray(skills["fly"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["fly"][math.random(1, #txt["fly"])].."", 1) addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid))) elseif isInArray(skills["levitate_fly"], getPokemonName(mysum)) then doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["levitate_fly"][math.random(1, #txt["levitate_fly"])].."", 1) --alterado v1.8 addEvent(goThere, 500, mysum, topos, "fly", isCreature(getCreatureTarget(cid))) else doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["ride"][math.random(1, #txt["ride"])].."", 1) addEvent(goThere, 500, mysum, topos, "ride", isCreature(getCreatureTarget(cid))) end return true end ----------------------------- ----------------------------------Control Mind-------------------------------------------- alterado v1.5 if isCreature(item2.uid) and ehMonstro(item2.uid) and isInArray(skills["control mind"], getCreatureName(mysum)) and item2.uid ~= mysum then if not isCreature(item2.uid) then return true end if isSleeping(mysum) then return doPlayerSendCancel(cid, "Your pokemon is sleeping...zZzZ") end if getTileInfo(getThingPos(cid)).protection or getTileInfo(getThingPos(getCreatureSummons(cid)[1])).protection then return doPlayerSendCancel(cid, "You or your pokemon are in Pz zone!") end if #getCreatureSummons(cid) == 2 then return doPlayerSendCancel(cid, "You only can control one Pokemon!") end local cd = getCD(thisball.uid, "control", 120) if cd > 0 then doPlayerSendCancel(cid, "You have to wait "..cd.." segs to use Control Mind again!") return true end if getPokemonLevel(item2.uid) >= getPokemonLevel(mysum) then return doPlayerSendCancel(cid, "Your pokemon can't control this mind!") end if getPlayerStorageValue(cid, 22545) >= 1 then --alterado v1.7 return doPlayerSendCancel(cid, "You can't do that while in the Golden Arena!") end local cmed = item2.uid setCD(thisball.uid, "control", 120) local gender = getPokemonGender(cmed) doSendDistanceShoot(getThingPos(mysum), getThingPos(cmed), 39) -------------- setPlayerStorageValue(cid, 212124, 1) doConvinceCreature(cid, cmed) setPlayerStorageValue(cmed, 212123, 1) doCreatureSay(cid, ""..getCreatureName(mysum)..", control "..string.lower(getCreatureName(cmed)).."'s mind!", 1) local cmname = getCreatureName(mysum) local cmpos = getThingPos(mysum) local pokelife = (getCreatureHealth(mysum) / getCreatureMaxHealth(mysum)) doItemSetAttribute(thisball.uid, "hp", pokelife) doRemoveCreature(mysum) local cmzao = doSummonCreature(""..cmname.." cm", cmpos) doConvinceCreature(cid, cmzao) setPlayerStorageValue(cid, 888, 1) if useKpdoDlls then doUpdateMoves(cid) end local function check(cid, controled, rod) if isCreature(cid) then ball2 = getPlayerSlotItem(cid, 8) if getPlayerStorageValue(cid, 888) <= 0 then return true end if not isCreature(controled) then setPlayerStorageValue(cid, 212124, 0) local sum = isCreature(getCreatureSummons(cid)[1]) and getCreatureSummons(cid)[1] or getCreatureSummons(cid)[2] local pkcmpos = getThingPos(sum) doRemoveCreature(sum) local item = getPlayerSlotItem(cid, 8) local pk = doSummonCreature(getItemAttribute(item.uid, "poke"), pkcmpos) doConvinceCreature(cid, pk) doCreatureSetLookDir(getCreatureSummons(cid)[1], 2) addEvent(doAdjustWithDelay, 100, cid, pk, true, true, false) setPlayerStorageValue(cid, 888, -1) --alterado v1.7 cleanCMcds(item.uid) registerCreatureEvent(pk, "SummonDeath") --alterado v1.6 if useKpdoDlls then doUpdateMoves(cid) end return true end if rod <= 0 then --Pokemon controlado local cmed2 = getCreatureSummons(cid)[1] local poscmed = getThingPos(cmed2) local cmeddir = getCreatureLookDir(cmed2) local namecmed = getCreatureName(cmed2) local gender = getPokemonGender(cmed2) local hp, maxHp = getCreatureHealth(getCreatureSummons(cid)[1]), getCreatureMaxHealth(getCreatureSummons(cid)[1]) doRemoveCreature(getCreatureSummons(cid)[1]) local back = doCreateMonster(namecmed, poscmed) addEvent(doCreatureSetSkullType, 150, back, gender) doWildAttackPlayer(back, cid) doCreatureSetLookDir(back, cmeddir) addEvent(doCreatureAddHealth, 100, back, hp-maxHp) -- pokemon controlador local mynewpos = getThingPos(getCreatureSummons(cid)[1]) doRemoveCreature(getCreatureSummons(cid)[1]) local pk2 = doSummonCreature(getItemAttribute(ball2.uid, "poke"), mynewpos) doConvinceCreature(cid, pk2) addEvent(doAdjustWithDelay, 100, cid, pk2, true, true, false) setPlayerStorageValue(cid, 888, -1) --alterado v1.7 doCreatureSetLookDir(getCreatureSummons(cid)[1], 2) setPlayerStorageValue(cid, 212124, 0) cleanCMcds(ball2.uid) registerCreatureEvent(pk2, "SummonDeath") --alterado v1.6 if useKpdoDlls then doUpdateMoves(cid) end else if isInArray({"Haunter", "Gengar", "Shiny Gengar"}, cmname) then doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 214) else doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 220) end end end addEvent(check, 500, cid, controled, rod-1) end check(cid, cmed, 40) return true end --------------------------------------------------------------------- -------- MOVE / END --------- local onlyWater = false if isWater(getTileThingByPos(checkpos).itemid) then onlyWater = true for checkwater = 0, 7 do if not isWater(getTileThingByPos(getPosByDir(checkpos, checkwater)).itemid) then onlyWater = false end end end if onlyWater then doPlayerSendCancel(cid, "Destination is not reachable.") return true end doPlayerSay(cid, ""..getPokeName(mysum)..", "..txt["move"][math.random(1, #txt["move"])].."", 1) if isCreature(getCreatureTarget(cid)) then goThere(mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist) else addEvent(goThere, 500, mysum, topos, "move", isCreature(getCreatureTarget(cid)), maxMoveDist) end ----------------------------- return true end Thanks + Curtir / Rep + Podem Mover o Tópico Editado Setembro 24, 2013 por Lostnick Link para o comentário Compartilhar em outros sites More sharing options...
Gabrieltxu 736 Postado Outubro 3, 2013 Share Postado Outubro 3, 2013 Tópico movido para a seção de dúvidas e pedidos resolvidos. Link para o comentário Compartilhar em outros sites More sharing options...
Stigal 584 Postado Abril 21, 2018 Share Postado Abril 21, 2018 A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta. + Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda. * Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados