Ir para conteúdo

prodarky

Campones
  • Total de itens

    0
  • Registro em

  • Última visita

Posts postados por prodarky

  1. kkkkkkkk , maals ae =D esqueci de postar mais ta aii ele é por Order

     

     

    -- feito por brun123, editado por glugluguga
    
    
    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'}
    local ride = {'Crystal Onix', 'Venusaur', 'Ninetales', 'Arcanine', 'Ponyta', 'Rapidash', 'Doduo', 'Dodrio', 'Onix', 'Rhyhorn', 'Tauros'}
    local fly = {'Porygon', 'Aerodactyl', 'Dragonite', 'Charizard', 'Pidgeot', 'Fearow', 'Zapdos', 'Moltres', 'Articuno', 'Mew', 'Mewtwo'}
    local flys = {
    [265] = {229, 2300, 350}, -- moltres
    [283] = {230, 2100, 350}, -- artic
    [199] = {224, 2600, 350}, -- zapdos
    [9] = {232, 2200, 525}, -- 1000
    [34] = {233, 2200, 525},-- two
    [210] = {221, 1300, 410},-- nite
    [80] = {222, 900, 375}, -- geot
    [17] = {226, 800, 400}, -- fearow
    [10] = {227, 1100, 410}, -- aero
    [67] = {216, 1000, 410}, -- chari
    [97] = {316, 600, 440}, -- porygon
    }
    
    local rides = {
    [93] = {128, 780, 400}, -- tauros
    [114] = {129, 800, 375}, -- kyuubi
    [220] = {130, 800, 395}, -- rapid
    [16] = {131, 410, 500}, -- ponyta
    [77] = {132, 400, 510}, -- rhyhorn
    [88] = {12, 900, 390}, -- arcan
    [493] = {492, 1000, 360}, -- shiny arca
    [496] = {494, 420, 420}, -- shiny vneu
    [292] = {293, 480, 430}, -- cristal onix
    [248] = {126, 450, 450}, -- onix
    [22] = {134, 390, 450}, -- venu
    [120] = {133, 750, 380}, -- dodrio
    [26] = {135, 420, 500}, -- doduo
    }
    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'}
    local erockmash = 9502
    local cdrocksmash = 5
    -- 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', 'Snorlax'}
    local edig = 9504
    local cddig = 5
    -- DIG
    
    -- CUT
    local cut = {'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'}
    local ecut = 9503
    local cdcut = 5
    -- CUT
    
    -- BLINK
    local blink = {'Abra', 'Kadabra', 'Alakazam', 'Porygon'}
    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'}
    local exhautStorage = 9500
    local time = 600
    local cd = 17
    -- LIGHT
    
    function onUse(cid, item, frompos, item2, topos)
    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
    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", "Tentacruel", "Gengar"}, getCreatureName(getCreatureSummons(cid)[1])) then
    doPlayerSendCancel(cid, "This pokemon cant control minds.")
    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, ""..getCreatureName(getCreatureSummons(cid)[1])..", control "..string.lower(getCreatureName(item2.uid)).."'s mind!", 1)
    local cmed = item2.uid
    local cmname = getCreatureName(getCreatureSummons(cid)[1])
    local cmpos = getThingPos(getCreatureSummons(cid)[1])
    doRemoveCreature(getCreatureSummons(cid)[1])
    local cmzao = doSummonCreature(""..cmname.." cm", cmpos)
    doConvinceCreature(cid, cmzao)
    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)
    local pk = doSummonCreature(getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."), pkcmpos)
    doConvinceCreature(cid, pk)
    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 == 20 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])
    pk = doSummonCreature(getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."), mynewpos)
    doConvinceCreature(cid, pk)
    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, 20 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 getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 then
    doPlayerSendCancel(cid, "You need a pokemon to use order.")
    return true
    end
    
    if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and not isInArray(ridefly, getCreatureName(getCreatureSummons(cid)[1])) then
    doPlayerSendCancel(cid, "You can't ride this pokemon nor fly with it.")
    return true
    end
    
    if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then
    return true
    end
    
    
    if getPlayerStorageValue(cid, 17001) <= 0 and getPlayerStorageValue(cid, 17000) <= 0 and isInArray(ride, getCreatureName(getCreatureSummons(cid)[1])) 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
    doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", 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)
    doCreatureSay(cid, "" .. getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")..", let me get down!", 1)
    doSummonMonster(cid, getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."))
    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
    
    
    if getPlayerStorageValue(cid, 17000) >= 1 then
    if isInArray({460, 1022, 1023}, getTileInfo(getThingPos(cid)).itemid) then
    doPlayerSendCancel(cid, "You can\'t stop flying at this height!")
    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)
    setPlayerStorageValue(cid, 17000, 0)
    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)
    doCreatureSay(cid, "" .. getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball.")..", let me get down!", 1)
    doSummonMonster(cid, getItemAttribute(item.uid, "poke"):match("This is (.-)'s pokeball."))
    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
    
    if getPlayerStorageValue(cid, 17000) <= 0 and getPlayerStorageValue(cid, 17001) <= 0 and isInArray(fly, getCreatureName(getCreatureSummons(cid)[1])) then
    if getPlayerStorageValue(cid, 17000) <= 0 then
    local pokemon = flys[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType]
    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, 17000, 1)
    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
    
    doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", 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
    end
    -- ROCK SMASH
    if item2.itemid == 1285 and getPlayerStorageValue(cid, 63215) <= 0 then
    if #getCreatureSummons(cid) == 0 then
    doPlayerSendCancel(cid, "You need a pokemon to use rock smash.")
    return true
    end
    if not isInArray(rocksmash, getCreatureName(getCreatureSummons(cid)[1])) then
    doPlayerSendCancel(cid, "This pokemon can't use rock smash.")
    return true
    end
    if isInArray(rocksmash, getCreatureName(getCreatureSummons(cid)[1])) then
    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)
    setPlayerStorageValue(getCreatureSummons(params.cid)[1], 100, 1)
    	local function detrans(params)
    	doTransformItem(getTileItemById(topos, 2257).uid, 1285)
    		if isCreature(getCreatureSummons(params.ciddd)[1]) then
    		setPlayerStorageValue(getCreatureSummons(params.ciddd)[1], 100, 0)
    		end
    	end
    addEvent(detrans, 5500, {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
    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
    end
    
    doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", 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
    
    -- 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
    if not isInArray(cut, getCreatureName(getCreatureSummons(cid)[1])) then
    doPlayerSendCancel(cid, "This pokemon can't use cut.")
    return true
    end
    if isInArray(cut, getCreatureName(getCreatureSummons(cid)[1])) 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)
    setPlayerStorageValue(getCreatureSummons(params.cid)[1], 101, 1)
    	local function detrans(params)
    	doTransformItem(getTileItemById(topos, 6216).uid, 2767)
    		if isCreature(getCreatureSummons(params.ciddd)[1]) then
    		setPlayerStorageValue(getCreatureSummons(params.ciddd)[1], 101, 0)
    		end
    	end
    addEvent(detrans, 5500, {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
    
    doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", 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
    if not isInArray(dig, getCreatureName(getCreatureSummons(cid)[1])) then
    doPlayerSendCancel(cid, "This pokemon can't use dig.")
    return true
    end
    if isInArray(dig, getCreatureName(getCreatureSummons(cid)[1])) 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
    
    doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", 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 getPlayerStorageValue(cid, 17000) <= 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 getPlayerStorageValue(cid, 17000) <= 0 then
    if isInArray(blink, getCreatureName(getCreatureSummons(cid)[1])) 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
    doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", 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, ""..getCreatureName(getCreatureSummons(cid)[1])..", 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 getPlayerStorageValue(cid, 17000) <= 0 and item2.uid ~= cid then
    if not isInArray(light, getCreatureName(getCreatureSummons(cid)[1])) then
    doPlayerSendCancel(cid, "This pokemon can't use flash.")
    return true
    end
    if isInArray(light, getCreatureName(getCreatureSummons(cid)[1])) 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, ""..getCreatureName(getCreatureSummons(cid)[1])..", 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 --
    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
    doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", 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

     

  2. Só que não tem nada do tipo , no TalkActions , eu peguei esse VipTile , foi de 1 topico do IRockStar. ,

     

    Achei 1 nos MODS !buypremium vê se esse serve

     

    <?xml version="1.0" encoding="UTF-8"?>
    <mod name="Buy premium command" version="1.0" author="The Forgotten Server" contact="otland.net" enabled="yes">
    <config name="buypremium_config"><![CDATA[
    	config = {
    		days = 90,
    		cost = 10000,
    		maxDays = 360
    	}
    ]]></config>
    <talkaction words="!buypremium; !pacc" event="buffer"><![CDATA[
    	domodlib('buypremium_config')
    	if(getPlayerPremiumDays(cid) > config.maxDays) then
    		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You can not buy more than " .. config.days + config.maxDays .. " days of Premium Account.")
    		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
    		return
    	end
    
    	if(not doPlayerRemoveMoney(cid, config.cost)) then
    		doPlayerSendCancel(cid, "You don't have enough money, " .. config.days .. " days premium account costs " .. config.cost .. " gold coins.")
    		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
    		return
    	end
    
    	doPlayerAddPremiumDays(cid, config.days)
    	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have bought " .. config.days .. " days of premium account.")
    ]]></talkaction>
    </mod>
    

  3. Achei , 1 vipTile.lua

     

    function onStepIn(cid, item, position, fromPosition)
    
    local tileConfig = {
           kickPos = fromPosition,
           kickEffect = CONST_ME_POFF,
           kickMsg = "Voce nao e vip , desculpe.",
           enterMsg = "Bem vindo a area vip",
           enterEffect = CONST_ME_MAGIC_BLUE,
           vipStorage = 13540,
    }
    
       if(getPlayerStorageValue(cid, tileConfig.vipStorage) <= 0) then
           doTeleportThing(cid, tileConfig.kickPos)
           doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
           doPlayerSendCancel(cid, tileConfig.kickMsg)
           return
       end
    
           doPlayerSendTextMessage(cid, 25, tileConfig.enterMsg)
           doSendMagicEffect(position, tileConfig.enterEffect)
           return true
    end
    

  4. esse script do mark ta com um problema mesmo se tu compra uma quantidade ele pega e te da um container junto e esse container é o que começa no pokemon o badge case bugando assim o carinha nao consegue mover o item, alguem sabe como resolver isso?

     

    eu falo tipo alterar pro caso de ser muitos item ao invés de ele dar o badge case da uma bag ou otro item eu edito so queria saber se tem como mudar isso ;x

    se nao em ultimo caso eu vo ter q alterar o sistema desse npc ou alterar os status do item pra moveable e nao to afim de fazer isso.

     

    Eita , cara isso é foda de arrumar ? pq tentei pegar um outro NPC de entros servers , so que eles entram em Conflito =/

    c tiver como me passar outro NPC ai sei lah , me ajuda pf =]

  5. Olha esse aqui é o script do Mark

     

     

    <?xml version="1.0" encoding="UTF-8"?>
    <npc name="Mark" script="default.lua" walkinterval="350000" floorchange="0" speed="0">
    <health now="150" max="150"/>
    <look type="255" head="91" body="114" legs="86" feet="0"/>
    <parameters>
    		<parameter key="message_greet" value="Hello dear customer! Are you here to see my offers? Come on, lets {trade}!"/>
    		<parameter key="message_farewell" value="Good bye!"/>
    		<parameter key="message_idletimeout" value="Good bye!"/>
    		<parameter key="message_walkaway" value="Good bye!"/>
    		<parameter key="module_shop" value="1"/>
    		<parameter key="shop_buyable" value="pokeball,2147,550;ultraball,2146,11000;potion,2272,400;super potion,2274,1500;mega potion,2271,4000;hyper potion,2275,8000;"/>
    		<parameter key="shop_sellable" value="nail,8868,1250;psychic spoon,8870,3000;future orb,8869,2000;pot of lava,8867,2250;essence of fire,8866,200;sandbag,8865,950;stone orb,8864,2050;small stone,1294,90;pot of moss bug,8858,250;electric box,8862,1300;screw,8861,85;imam,8863,900;bug antenna,8859,1600;straw,2694,65;water gems,6528,20;remains of magikarp,2687,100;water pendant,8820,800;bird beak,8822,1300;feather,8823,500;pena grande,8849,2500;coisinha verde,8850,25;pair of leaves,8851,500;bag of polem,8852,1000;bitten apple,8853,450;rat tail,8854,1300;bat wing,8855,550;garrafa veneno,8856,40;gosme,8857,2000;"/>
    </parameters>
    </npc> 

     

    Esse aqui é o Script que ele ta ligado [ defaut.lua ]

     

     local keywordHandler = KeywordHandler:new()
    local npcHandler = NpcHandler:new(keywordHandler)
    NpcSystem.parseParameters(npcHandler)
    
    function onCreatureAppear(cid)			npcHandler:onCreatureAppear(cid)			end
    function onCreatureDisappear(cid)		npcHandler:onCreatureDisappear(cid)			end
    function onCreatureSay(cid, type, msg)		npcHandler:onCreatureSay(cid, type, msg)		end
    function onThink()				npcHandler:onThink()					end
    
    npcHandler:addModule(FocusModule:new())
    
    

     

    Só que o meu items.xml não tem as outras pokeballs '-' , acho que elas estão bugadas.

  6. Ola galera da XTibia , estou aqui pra pedir uma ajuda pra vocês, meu Poke ta com 1 probleminha no Fly

    quando eu deslogo no Fly , ele depois não loga , fica no connecting server ...

    e nãooo vaaai =/ , alguem podiria me ajudar ? Obg =D

  7. Tipo do script: Npc e Catch

    Protocolo (versão do Tibia): 8.54

    Servidor utilizado: Pokemon Dash V6.0

    Nível de experiência:Baixo

    Adicionais/Informações: Galera, estou precisando desses scripts

    o NPC Mark que esta no meu Poke , esta so com Ultra Ball e Pokeball ,queria todas

    e o Catch de Todos Pokemons ( Os Lendarios Nem Precisa ) , tentei pegar do Pokemon Flash , mais não da certo

    Obrigado . se alguem puder de ajudar vou dar rep++.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...