Ir para conteúdo
  • Cadastre-se

Fly/Surf/Teleport so para Premium Account


Posts Recomendados

Eu tenho um serve de poketibia e eu gostaria de saber como eu deixo o Fly,Surf  so pra premium Account,Obrigado.

Fly-movements

local del = {'460', '1022', '1023', '1024'}
 
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
 
position.stackpos = 0
 
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
 
if getPlayerStorageValue(cid, 17000) <= 0 then
doTeleportThing(cid, fromPosition, false)
doRemoveItem(getTileThingByPos(position).uid, 1)
doPlayerSendCancel(cid, "You can't fly.")
return true
end
 
doAreaCombatHealth(cid, FLYSYSTEMDAMAGE, getThingPos(cid), splash, 0, 0, 255)
 
local pos = getThingPos(cid)
if pos.z == 7 then return true end
pos.z = pos.z + 1
 
    for i = 0, 255 do
        pos.stackpos = i
        local tile = getTileThingByPos(pos)
        if tile.itemid ~= 0 and not isCreature(tile.uid) then
            if hasProperty(tile.uid, 3) or hasProperty(tile.uid, 7) or tile.itemid == 919 then
                doTransformItem(item.uid, 11677)
            end
        end
    end
 
return true
end
 
function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)
 
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
 
local effect = 2
 
if toPosition.z == fromPosition.z and getCreatureOutfit(cid).lookType ~= 316 and getCreatureOutfit(cid).lookType ~= 648 then
doSendMagicEffect(fromPosition, effect)
end
 
local oldtpos = fromPosition
oldtpos.stackpos = STACKPOS_GROUND
 
 
if getTileThingByPos(oldtpos).itemid >= 1 then
doRemoveItem(getTileThingByPos(oldtpos).uid, 1)
end
 
return true
end    

 
Surf.lua-movements

local function doSendMagicEffecte(pos, effect)
addEvent(doSendMagicEffect, 50, pos, effect)
end
 
local waters = {11756, 4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}
 
local poke = {'Shiny Poliwag', 'Poliwag', 'Shiny Poliwhirl', 'Poliwhirl', 'Shiny Seaking', 'Seaking', 'Shiny Dewgong', 'Dewgong', 'Shiny Blastoise', 'Blastoise', 'Shiny Tentacruel', 'Tentacruel', 'Shiny Lapras', 'Lapras', 'Shiny Gyarados', 'Gyarados', 'Shiny Omastar', 'Omastar', 'Shiny Kabutops', 'Kabutops', 'Shiny Vaporeon', 'Vaporeon', 'Shiny Staryu', 'Staryu', 'Shiny Starmie', 'Starmie', 'Shiny Goldeen', 'Goldeen', 'Shiny Seadra', 'Seadra', 'Shiny Golduck', 'Golduck', 'Shiny Squirtle', 'Squirtle', 'Shiny Wartortle', 'Wartortle', 'Shiny Tentacool', 'Tentacool', 'Shiny Snorlax', 'Snorlax', 'Shiny Poliwrath', 'Poliwrath',
'Mantine', 'Totodile', 'Croconaw', 'Feraligatr', 'Marill', 'Azumarill', 'Quagsire', 'Wooper', 'Octillery', 'Kingdra', 'Sharpedo', 'Floatzel', 'Swampert', 'Marshtomp', 'Wailord', 'Milotic', 'Shiny Sharpedo', 'Shiny Floatzel', 'Shiny Totodile', 'Shiny Croconaw', 'Shiny Feraligatr', 'Barboach', 'Whiscash', 'Huntail', 'Gorebyss', 'Luvdisc', 'Relicanth', 'Spheal', 'Spheal', 'Walrein'}
 
local flie = {'4820', '4821', '4822', '4823', '4824', '4825'}
 
local surf = {
["Poliwag"] = {lookType=278, speed = 320},
["Poliwhirl"] = {lookType=137, speed = 480},
["Seaking"] = {lookType=269, speed = 520},
["Dewgong"] = {lookType=183, speed = 700},
["Blastoise"] = {lookType=184, speed = 850},
["Tentacruel"] = {lookType=185, speed = 750},
["Lapras"] = {lookType=186, speed = 960},
["Gyarados"] = {lookType=187, speed = 1050},
["Omastar"] = {lookType=188, speed = 680},
["Kabutops"] = {lookType=189, speed = 840},
["Poliwrath"] = {lookType=190, speed = 680},
["Vaporeon"] = {lookType=191, speed = 800},
["Staryu"] = {lookType=266, speed = 385},
["Starmie"] = {lookType=267, speed = 685},
["Goldeen"] = {lookType=268, speed = 355},
["Seadra"] = {lookType=270, speed = 655},
["Golduck"] = {lookType=271, speed = 760},
["Squirtle"] = {lookType=273, speed = 365},
["Wartortle"] = {lookType=275, speed = 605},
["Tentacool"] = {lookType=277, speed = 340},
["Snorlax"] = {lookType=300, speed = 500},
----------------Shiny----------------------
["Shiny Poliwag"] = {lookType=1010, speed = 352},
["Shiny Poliwhirl"] = {lookType=1011, speed = 528},
["Shiny Seaking"] = {lookType=1027, speed = 572},
["Shiny Dewgong"] = {lookType=1015, speed = 770},
["Shiny Blastoise"] = {lookType=1002, speed = 935},
["Shiny Tentacruel"] = {lookType=1014, speed = 825},
["Shiny Lapras"] = {lookType=1031, speed = 1056},
["Shiny Gyarados"] = {lookType=1030, speed = 1155},
["Shiny Omastar"] = {lookType=1033, speed = 748},
["Shiny Kabutops"] = {lookType=1034, speed = 924},
["Shiny Poliwrath"] = {lookType=1012, speed = 748},
["Shiny Vaporeon"] = {lookType=1032, speed = 880},
["Shiny Staryu"] = {lookType=1028, speed = 423.5},
["Shiny Starmie"] = {lookType=1029, speed = 753.5},
["Shiny Goldeen"] = {lookType=1026, speed = 390.5},
["Shiny Seadra"] = {lookType=1025, speed = 720.5},
["Shiny Golduck"] = {lookType=1009, speed = 836},
["Shiny Squirtle"] = {lookType=1000, speed = 401.5},
["Shiny Wartortle"] = {lookType=1001, speed = 665.5},
["Shiny Tentacool"] = {lookType=1013, speed = 374},
["Shiny Snorlax"] = {lookType=1035, speed = 550},
----------------Johto----------------------
["Mantine"] = {lookType=636, speed = 820},
["Totodile"] = {lookType=637, speed = 360},
["Croconaw"] = {lookType=638, speed = 590},
["Feraligatr"] = {lookType=645, speed = 900},
["Marill"] = {lookType=639, speed = 340},
["Azumarill"] = {lookType=642, speed = 680},
["Quagsire"] = {lookType=643, speed = 740},
["Kingdra"] = {lookType=644, speed = 1020},
["Octillery"] = {lookType=641, speed = 600},
["Wooper"] = {lookType=640, speed = 315},
["Sharpedo"] = {lookType=1139, speed = 600},
["Floatzel"] = {lookType=1138, speed = 700},
["Swampert"] = {lookType=1135, speed = 650},
["Marshtomp"] = {lookType=1134, speed = 502},
["Wailord"] = {lookType=1137, speed = 450},
["Milotic"] = {lookType=1136, speed = 780},
["Shiny Sharpedo"] = {lookType=1141, speed = 650},
["Shiny Floatzel"] = {lookType=1140, speed = 750},
["Shiny Totodile"] = {lookType=1239, speed = 360},
["Shiny Croconaw"] = {lookType=1238, speed = 590},
["Shiny Feraligatr"] = {lookType=1237, speed = 900},
["Barboach"] = {lookType=1354, speed = 315},
["Whiscash"] = {lookType=1356, speed = 740},
["Huntail"] = {lookType=1360, speed = 540},
["Gorebyss"] = {lookType=1359, speed = 740},
["Luvdisc"] = {lookType=1355, speed = 440},
["Relicanth"] = {lookType=1364, speed = 500},
["Spheal"] = {lookType=1357, speed = 300},
["Sealeo"] = {lookType=1362, speed = 500},
["Walrein"] = {lookType=1363, speed = 700},
}
 
local premium = false
 
function onStepIn(cid, item, position, fromPosition)
 
if not isPlayer(cid) or getPlayerAccess(cid) >= 6 then
return true
end
 
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
 
if isPlayer(cid) and not isPremium(cid) and premium == true then
doTeleportThing(cid, fromPosition, false)
doPlayerSendCancel(cid, "Only premium members are allowed to surf.")
return true
end
 
if getCreatureOutfit(cid).lookType == 316 or getCreatureOutfit(cid).lookType == 648 then
doSendMagicEffect(fromPosition, 136)
end
 
if (getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 17000) >= 1) then
return true
end
 
if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "You need a pokemon to surf.")
doTeleportThing(cid, fromPosition, false)
return true
end
 
if (not isInArray(poke, getPokemonName(getCreatureSummons(cid)[1]))) then
doPlayerSendCancel(cid, "This pokemon cannot surf.")
doTeleportThing(cid, fromPosition, false)
return true
end
 
doSetCreatureOutfit(cid, {lookType = surf[getPokemonName(getCreatureSummons(cid)[1])].lookType + 351}, -1)
 
doCreatureSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", lets surf!", 1)
doChangeSpeed(cid, -(getCreatureSpeed(cid)))
 
local speed = 75 + PlayerSpeed + getSpeed(getCreatureSummons(cid)[1]) * 8 * speedRate
setPlayerStorageValue(cid, 54844, speed)
doChangeSpeed(cid, speed)
 
local pct = getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1])
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", pct)
 
doRemoveCreature(getCreatureSummons(cid)[1])
 
addEvent(setPlayerStorageValue, 100, cid, 63215, 1)
 
return true
end
 
local direffects = {30, 49, 9, 51}
 
function onStepOut(cid, item, position, fromPosition)
 
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end
 
local checkpos = fromPosition
checkpos.stackpos = 0
 
if isInArray(waters, getTileInfo(checkpos).itemid) then
 
if getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 17000) >= 1 then
 
doSendMagicEffecte(fromPosition, direffects[getCreatureLookDir(cid) + 1])
 
end
 
end
 
if not isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then
 
if getPlayerStorageValue(cid, 17000) >= 1 then return true end
if getPlayerStorageValue(cid, 63215) <= 0 then return true end
 
doRemoveCondition(cid, CONDITION_OUTFIT)
setPlayerStorageValue(cid, 63215, -1)
 
local item = getPlayerSlotItem(cid, 8)
local pokemon = getItemAttribute(item.uid, "poke")
local x = pokes[pokemon]
 
if not x then return true end
 
if getItemAttribute(item.uid, "nick") then
doCreatureSay(cid, getItemAttribute(item.uid, "nick")..", I'm tired of surfing!", 1)
else
doCreatureSay(cid, getItemAttribute(item.uid, "poke")..", I'm tired of surfing!", 1)
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 surfing here.")
doTeleportThing(cid, fromPosition, false)
return true
end
doConvinceCreature(cid, pk)
end
 
doChangeSpeed(pk, getCreatureSpeed(cid))
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, PlayerSpeed)
 
doTeleportThing(pk, fromPosition, false)
doTeleportThing(pk, getThingPos(cid), true)
doCreatureSetLookDir(pk, getCreatureLookDir(cid))
 
adjustStatus(pk, item.uid, true, false, true)
 
end
 
return true
end

 
 
Editado por vitorcru (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Fly :

local del = {'460', '1022', '1023', '1024'}
 
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
 
position.stackpos = 0
 
    if not isPremium(cid) then
        doPlayerSendCancel(cid, "Only premium members are allowed to fly.")
        return true
    end
 
 
    if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
 
    if getPlayerStorageValue(cid, 17000) <= 0 then
        doTeleportThing(cid, fromPosition, false)
        doRemoveItem(getTileThingByPos(position).uid, 1)
        doPlayerSendCancel(cid, "You can't fly.")
        return true
    end
 
    doAreaCombatHealth(cid, FLYSYSTEMDAMAGE, getThingPos(cid), splash, 0, 0, 255)
 
    local pos = getThingPos(cid)
        if pos.z == 7 then return true end
        pos.z = pos.z + 1
         
            for i = 0, 255 do
                pos.stackpos = i
                local tile = getTileThingByPos(pos)
                if tile.itemid ~= 0 and not isCreature(tile.uid) then
                    if hasProperty(tile.uid, 3) or hasProperty(tile.uid, 7) or tile.itemid == 919 then
                        doTransformItem(item.uid, 11677)
                    end
                end
            end
     
        return true
    end
 
function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)
 
    if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
 
    local effect = 2
 
    if toPosition.z == fromPosition.z and getCreatureOutfit(cid).lookType ~= 316 and getCreatureOutfit(cid).lookType ~= 648 then
        doSendMagicEffect(fromPosition, effect)
    end
     
    local oldtpos = fromPosition
    oldtpos.stackpos = STACKPOS_GROUND
 
 
    if getTileThingByPos(oldtpos).itemid >= 1 then
        doRemoveItem(getTileThingByPos(oldtpos).uid, 1)
    end
 
    return true
end    

 

Surf :

 

local function doSendMagicEffecte(pos, effect)
addEvent(doSendMagicEffect, 50, pos, effect)
end
 
local waters = {11756, 4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}
 
local poke = {'Shiny Poliwag', 'Poliwag', 'Shiny Poliwhirl', 'Poliwhirl', 'Shiny Seaking', 'Seaking', 'Shiny Dewgong', 'Dewgong', 'Shiny Blastoise', 'Blastoise', 'Shiny Tentacruel', 'Tentacruel', 'Shiny Lapras', 'Lapras', 'Shiny Gyarados', 'Gyarados', 'Shiny Omastar', 'Omastar', 'Shiny Kabutops', 'Kabutops', 'Shiny Vaporeon', 'Vaporeon', 'Shiny Staryu', 'Staryu', 'Shiny Starmie', 'Starmie', 'Shiny Goldeen', 'Goldeen', 'Shiny Seadra', 'Seadra', 'Shiny Golduck', 'Golduck', 'Shiny Squirtle', 'Squirtle', 'Shiny Wartortle', 'Wartortle', 'Shiny Tentacool', 'Tentacool', 'Shiny Snorlax', 'Snorlax', 'Shiny Poliwrath', 'Poliwrath',
'Mantine', 'Totodile', 'Croconaw', 'Feraligatr', 'Marill', 'Azumarill', 'Quagsire', 'Wooper', 'Octillery', 'Kingdra', 'Sharpedo', 'Floatzel', 'Swampert', 'Marshtomp', 'Wailord', 'Milotic', 'Shiny Sharpedo', 'Shiny Floatzel', 'Shiny Totodile', 'Shiny Croconaw', 'Shiny Feraligatr', 'Barboach', 'Whiscash', 'Huntail', 'Gorebyss', 'Luvdisc', 'Relicanth', 'Spheal', 'Spheal', 'Walrein'}
 
local flie = {'4820', '4821', '4822', '4823', '4824', '4825'}
 
local surf = {
["Poliwag"] = {lookType=278, speed = 320},
["Poliwhirl"] = {lookType=137, speed = 480},
["Seaking"] = {lookType=269, speed = 520},
["Dewgong"] = {lookType=183, speed = 700},
["Blastoise"] = {lookType=184, speed = 850},
["Tentacruel"] = {lookType=185, speed = 750},
["Lapras"] = {lookType=186, speed = 960},
["Gyarados"] = {lookType=187, speed = 1050},
["Omastar"] = {lookType=188, speed = 680},
["Kabutops"] = {lookType=189, speed = 840},
["Poliwrath"] = {lookType=190, speed = 680},
["Vaporeon"] = {lookType=191, speed = 800},
["Staryu"] = {lookType=266, speed = 385},
["Starmie"] = {lookType=267, speed = 685},
["Goldeen"] = {lookType=268, speed = 355},
["Seadra"] = {lookType=270, speed = 655},
["Golduck"] = {lookType=271, speed = 760},
["Squirtle"] = {lookType=273, speed = 365},
["Wartortle"] = {lookType=275, speed = 605},
["Tentacool"] = {lookType=277, speed = 340},
["Snorlax"] = {lookType=300, speed = 500},
----------------Shiny----------------------
["Shiny Poliwag"] = {lookType=1010, speed = 352},
["Shiny Poliwhirl"] = {lookType=1011, speed = 528},
["Shiny Seaking"] = {lookType=1027, speed = 572},
["Shiny Dewgong"] = {lookType=1015, speed = 770},
["Shiny Blastoise"] = {lookType=1002, speed = 935},
["Shiny Tentacruel"] = {lookType=1014, speed = 825},
["Shiny Lapras"] = {lookType=1031, speed = 1056},
["Shiny Gyarados"] = {lookType=1030, speed = 1155},
["Shiny Omastar"] = {lookType=1033, speed = 748},
["Shiny Kabutops"] = {lookType=1034, speed = 924},
["Shiny Poliwrath"] = {lookType=1012, speed = 748},
["Shiny Vaporeon"] = {lookType=1032, speed = 880},
["Shiny Staryu"] = {lookType=1028, speed = 423.5},
["Shiny Starmie"] = {lookType=1029, speed = 753.5},
["Shiny Goldeen"] = {lookType=1026, speed = 390.5},
["Shiny Seadra"] = {lookType=1025, speed = 720.5},
["Shiny Golduck"] = {lookType=1009, speed = 836},
["Shiny Squirtle"] = {lookType=1000, speed = 401.5},
["Shiny Wartortle"] = {lookType=1001, speed = 665.5},
["Shiny Tentacool"] = {lookType=1013, speed = 374},
["Shiny Snorlax"] = {lookType=1035, speed = 550},
----------------Johto----------------------
["Mantine"] = {lookType=636, speed = 820},
["Totodile"] = {lookType=637, speed = 360},
["Croconaw"] = {lookType=638, speed = 590},
["Feraligatr"] = {lookType=645, speed = 900},
["Marill"] = {lookType=639, speed = 340},
["Azumarill"] = {lookType=642, speed = 680},
["Quagsire"] = {lookType=643, speed = 740},
["Kingdra"] = {lookType=644, speed = 1020},
["Octillery"] = {lookType=641, speed = 600},
["Wooper"] = {lookType=640, speed = 315},
["Sharpedo"] = {lookType=1139, speed = 600},
["Floatzel"] = {lookType=1138, speed = 700},
["Swampert"] = {lookType=1135, speed = 650},
["Marshtomp"] = {lookType=1134, speed = 502},
["Wailord"] = {lookType=1137, speed = 450},
["Milotic"] = {lookType=1136, speed = 780},
["Shiny Sharpedo"] = {lookType=1141, speed = 650},
["Shiny Floatzel"] = {lookType=1140, speed = 750},
["Shiny Totodile"] = {lookType=1239, speed = 360},
["Shiny Croconaw"] = {lookType=1238, speed = 590},
["Shiny Feraligatr"] = {lookType=1237, speed = 900},
["Barboach"] = {lookType=1354, speed = 315},
["Whiscash"] = {lookType=1356, speed = 740},
["Huntail"] = {lookType=1360, speed = 540},
["Gorebyss"] = {lookType=1359, speed = 740},
["Luvdisc"] = {lookType=1355, speed = 440},
["Relicanth"] = {lookType=1364, speed = 500},
["Spheal"] = {lookType=1357, speed = 300},
["Sealeo"] = {lookType=1362, speed = 500},
["Walrein"] = {lookType=1363, speed = 700},
}
 
local premium = true
 
function onStepIn(cid, item, position, fromPosition)
 
if not isPlayer(cid) or getPlayerAccess(cid) >= 6 then
return true
end
 
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
 
if isPlayer(cid) and not isPremium(cid) and premium == true then
doTeleportThing(cid, fromPosition, false)
doPlayerSendCancel(cid, "Only premium members are allowed to surf.")
return true
end
 
if getCreatureOutfit(cid).lookType == 316 or getCreatureOutfit(cid).lookType == 648 then
doSendMagicEffect(fromPosition, 136)
end
 
if (getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 17000) >= 1) then
return true
end
 
if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "You need a pokemon to surf.")
doTeleportThing(cid, fromPosition, false)
return true
end
 
if (not isInArray(poke, getPokemonName(getCreatureSummons(cid)[1]))) then
doPlayerSendCancel(cid, "This pokemon cannot surf.")
doTeleportThing(cid, fromPosition, false)
return true
end
 
doSetCreatureOutfit(cid, {lookType = surf[getPokemonName(getCreatureSummons(cid)[1])].lookType + 351}, -1)
 
doCreatureSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", lets surf!", 1)
doChangeSpeed(cid, -(getCreatureSpeed(cid)))
 
local speed = 75 + PlayerSpeed + getSpeed(getCreatureSummons(cid)[1]) * 8 * speedRate
setPlayerStorageValue(cid, 54844, speed)
doChangeSpeed(cid, speed)
 
local pct = getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1])
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", pct)
 
doRemoveCreature(getCreatureSummons(cid)[1])
 
addEvent(setPlayerStorageValue, 100, cid, 63215, 1)
 
return true
end
 
local direffects = {30, 49, 9, 51}
 
function onStepOut(cid, item, position, fromPosition)
 
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end
 
local checkpos = fromPosition
checkpos.stackpos = 0
 
if isInArray(waters, getTileInfo(checkpos).itemid) then
 
if getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 17000) >= 1 then
 
doSendMagicEffecte(fromPosition, direffects[getCreatureLookDir(cid) + 1])
 
end
 
end
 
if not isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then
 
if getPlayerStorageValue(cid, 17000) >= 1 then return true end
if getPlayerStorageValue(cid, 63215) <= 0 then return true end
 
doRemoveCondition(cid, CONDITION_OUTFIT)
setPlayerStorageValue(cid, 63215, -1)
 
local item = getPlayerSlotItem(cid, 8)
local pokemon = getItemAttribute(item.uid, "poke")
local x = pokes[pokemon]
 
if not x then return true end
 
if getItemAttribute(item.uid, "nick") then
doCreatureSay(cid, getItemAttribute(item.uid, "nick")..", I'm tired of surfing!", 1)
else
doCreatureSay(cid, getItemAttribute(item.uid, "poke")..", I'm tired of surfing!", 1)
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 surfing here.")
doTeleportThing(cid, fromPosition, false)
return true
end
doConvinceCreature(cid, pk)
end
 
doChangeSpeed(pk, getCreatureSpeed(cid))
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, PlayerSpeed)
 
doTeleportThing(pk, fromPosition, false)
doTeleportThing(pk, getThingPos(cid), true)
doCreatureSetLookDir(pk, getCreatureLookDir(cid))
 
adjustStatus(pk, item.uid, true, false, true)
 
end
 
return true
end

Editado por Summ (veja o histórico de edições)

EQD4Qy4.gif

Link para o post
Compartilhar em outros sites

Fly :

local del = {'460', '1022', '1023', '1024'}
 
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
 
position.stackpos = 0
 
    if not isPremium(cid) then
        doPlayerSendCancel(cid, "Only premium members are allowed to fly.")
        return true
    end
 
 
    if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
 
    if getPlayerStorageValue(cid, 17000) <= 0 then
        doTeleportThing(cid, fromPosition, false)
        doRemoveItem(getTileThingByPos(position).uid, 1)
        doPlayerSendCancel(cid, "You can't fly.")
        return true
    end
 
    doAreaCombatHealth(cid, FLYSYSTEMDAMAGE, getThingPos(cid), splash, 0, 0, 255)
 
    local pos = getThingPos(cid)
        if pos.z == 7 then return true end
        pos.z = pos.z + 1
         
            for i = 0, 255 do
                pos.stackpos = i
                local tile = getTileThingByPos(pos)
                if tile.itemid ~= 0 and not isCreature(tile.uid) then
                    if hasProperty(tile.uid, 3) or hasProperty(tile.uid, 7) or tile.itemid == 919 then
                        doTransformItem(item.uid, 11677)
                    end
                end
            end
     
        return true
    end
 
function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)
 
    if not isPremium(cid) then
        doPlayerSendCancel(cid, "Only premium members are allowed to fly.")
        return true
    end
 
    if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
 
    local effect = 2
 
    if toPosition.z == fromPosition.z and getCreatureOutfit(cid).lookType ~= 316 and getCreatureOutfit(cid).lookType ~= 648 then
        doSendMagicEffect(fromPosition, effect)
    end
     
    local oldtpos = fromPosition
    oldtpos.stackpos = STACKPOS_GROUND
 
 
    if getTileThingByPos(oldtpos).itemid >= 1 then
        doRemoveItem(getTileThingByPos(oldtpos).uid, 1)
    end
 
    return true
end    

 

Surf :

 

local function doSendMagicEffecte(pos, effect)
addEvent(doSendMagicEffect, 50, pos, effect)
end
 
local waters = {11756, 4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}
 
local poke = {'Shiny Poliwag', 'Poliwag', 'Shiny Poliwhirl', 'Poliwhirl', 'Shiny Seaking', 'Seaking', 'Shiny Dewgong', 'Dewgong', 'Shiny Blastoise', 'Blastoise', 'Shiny Tentacruel', 'Tentacruel', 'Shiny Lapras', 'Lapras', 'Shiny Gyarados', 'Gyarados', 'Shiny Omastar', 'Omastar', 'Shiny Kabutops', 'Kabutops', 'Shiny Vaporeon', 'Vaporeon', 'Shiny Staryu', 'Staryu', 'Shiny Starmie', 'Starmie', 'Shiny Goldeen', 'Goldeen', 'Shiny Seadra', 'Seadra', 'Shiny Golduck', 'Golduck', 'Shiny Squirtle', 'Squirtle', 'Shiny Wartortle', 'Wartortle', 'Shiny Tentacool', 'Tentacool', 'Shiny Snorlax', 'Snorlax', 'Shiny Poliwrath', 'Poliwrath',
'Mantine', 'Totodile', 'Croconaw', 'Feraligatr', 'Marill', 'Azumarill', 'Quagsire', 'Wooper', 'Octillery', 'Kingdra', 'Sharpedo', 'Floatzel', 'Swampert', 'Marshtomp', 'Wailord', 'Milotic', 'Shiny Sharpedo', 'Shiny Floatzel', 'Shiny Totodile', 'Shiny Croconaw', 'Shiny Feraligatr', 'Barboach', 'Whiscash', 'Huntail', 'Gorebyss', 'Luvdisc', 'Relicanth', 'Spheal', 'Spheal', 'Walrein'}
 
local flie = {'4820', '4821', '4822', '4823', '4824', '4825'}
 
local surf = {
["Poliwag"] = {lookType=278, speed = 320},
["Poliwhirl"] = {lookType=137, speed = 480},
["Seaking"] = {lookType=269, speed = 520},
["Dewgong"] = {lookType=183, speed = 700},
["Blastoise"] = {lookType=184, speed = 850},
["Tentacruel"] = {lookType=185, speed = 750},
["Lapras"] = {lookType=186, speed = 960},
["Gyarados"] = {lookType=187, speed = 1050},
["Omastar"] = {lookType=188, speed = 680},
["Kabutops"] = {lookType=189, speed = 840},
["Poliwrath"] = {lookType=190, speed = 680},
["Vaporeon"] = {lookType=191, speed = 800},
["Staryu"] = {lookType=266, speed = 385},
["Starmie"] = {lookType=267, speed = 685},
["Goldeen"] = {lookType=268, speed = 355},
["Seadra"] = {lookType=270, speed = 655},
["Golduck"] = {lookType=271, speed = 760},
["Squirtle"] = {lookType=273, speed = 365},
["Wartortle"] = {lookType=275, speed = 605},
["Tentacool"] = {lookType=277, speed = 340},
["Snorlax"] = {lookType=300, speed = 500},
----------------Shiny----------------------
["Shiny Poliwag"] = {lookType=1010, speed = 352},
["Shiny Poliwhirl"] = {lookType=1011, speed = 528},
["Shiny Seaking"] = {lookType=1027, speed = 572},
["Shiny Dewgong"] = {lookType=1015, speed = 770},
["Shiny Blastoise"] = {lookType=1002, speed = 935},
["Shiny Tentacruel"] = {lookType=1014, speed = 825},
["Shiny Lapras"] = {lookType=1031, speed = 1056},
["Shiny Gyarados"] = {lookType=1030, speed = 1155},
["Shiny Omastar"] = {lookType=1033, speed = 748},
["Shiny Kabutops"] = {lookType=1034, speed = 924},
["Shiny Poliwrath"] = {lookType=1012, speed = 748},
["Shiny Vaporeon"] = {lookType=1032, speed = 880},
["Shiny Staryu"] = {lookType=1028, speed = 423.5},
["Shiny Starmie"] = {lookType=1029, speed = 753.5},
["Shiny Goldeen"] = {lookType=1026, speed = 390.5},
["Shiny Seadra"] = {lookType=1025, speed = 720.5},
["Shiny Golduck"] = {lookType=1009, speed = 836},
["Shiny Squirtle"] = {lookType=1000, speed = 401.5},
["Shiny Wartortle"] = {lookType=1001, speed = 665.5},
["Shiny Tentacool"] = {lookType=1013, speed = 374},
["Shiny Snorlax"] = {lookType=1035, speed = 550},
----------------Johto----------------------
["Mantine"] = {lookType=636, speed = 820},
["Totodile"] = {lookType=637, speed = 360},
["Croconaw"] = {lookType=638, speed = 590},
["Feraligatr"] = {lookType=645, speed = 900},
["Marill"] = {lookType=639, speed = 340},
["Azumarill"] = {lookType=642, speed = 680},
["Quagsire"] = {lookType=643, speed = 740},
["Kingdra"] = {lookType=644, speed = 1020},
["Octillery"] = {lookType=641, speed = 600},
["Wooper"] = {lookType=640, speed = 315},
["Sharpedo"] = {lookType=1139, speed = 600},
["Floatzel"] = {lookType=1138, speed = 700},
["Swampert"] = {lookType=1135, speed = 650},
["Marshtomp"] = {lookType=1134, speed = 502},
["Wailord"] = {lookType=1137, speed = 450},
["Milotic"] = {lookType=1136, speed = 780},
["Shiny Sharpedo"] = {lookType=1141, speed = 650},
["Shiny Floatzel"] = {lookType=1140, speed = 750},
["Shiny Totodile"] = {lookType=1239, speed = 360},
["Shiny Croconaw"] = {lookType=1238, speed = 590},
["Shiny Feraligatr"] = {lookType=1237, speed = 900},
["Barboach"] = {lookType=1354, speed = 315},
["Whiscash"] = {lookType=1356, speed = 740},
["Huntail"] = {lookType=1360, speed = 540},
["Gorebyss"] = {lookType=1359, speed = 740},
["Luvdisc"] = {lookType=1355, speed = 440},
["Relicanth"] = {lookType=1364, speed = 500},
["Spheal"] = {lookType=1357, speed = 300},
["Sealeo"] = {lookType=1362, speed = 500},
["Walrein"] = {lookType=1363, speed = 700},
}
 
local premium = true
 
function onStepIn(cid, item, position, fromPosition)
 
if not isPlayer(cid) or getPlayerAccess(cid) >= 6 then
return true
end
 
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
 
if isPlayer(cid) and not isPremium(cid) and premium == true then
doTeleportThing(cid, fromPosition, false)
doPlayerSendCancel(cid, "Only premium members are allowed to surf.")
return true
end
 
if getCreatureOutfit(cid).lookType == 316 or getCreatureOutfit(cid).lookType == 648 then
doSendMagicEffect(fromPosition, 136)
end
 
if (getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 17000) >= 1) then
return true
end
 
if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "You need a pokemon to surf.")
doTeleportThing(cid, fromPosition, false)
return true
end
 
if (not isInArray(poke, getPokemonName(getCreatureSummons(cid)[1]))) then
doPlayerSendCancel(cid, "This pokemon cannot surf.")
doTeleportThing(cid, fromPosition, false)
return true
end
 
doSetCreatureOutfit(cid, {lookType = surf[getPokemonName(getCreatureSummons(cid)[1])].lookType + 351}, -1)
 
doCreatureSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", lets surf!", 1)
doChangeSpeed(cid, -(getCreatureSpeed(cid)))
 
local speed = 75 + PlayerSpeed + getSpeed(getCreatureSummons(cid)[1]) * 8 * speedRate
setPlayerStorageValue(cid, 54844, speed)
doChangeSpeed(cid, speed)
 
local pct = getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1])
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", pct)
 
doRemoveCreature(getCreatureSummons(cid)[1])
 
addEvent(setPlayerStorageValue, 100, cid, 63215, 1)
 
return true
end
 
local direffects = {30, 49, 9, 51}
 
function onStepOut(cid, item, position, fromPosition)
 
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end
 
local checkpos = fromPosition
checkpos.stackpos = 0
 
if isInArray(waters, getTileInfo(checkpos).itemid) then
 
if getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 17000) >= 1 then
 
doSendMagicEffecte(fromPosition, direffects[getCreatureLookDir(cid) + 1])
 
end
 
end
 
if not isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then
 
if getPlayerStorageValue(cid, 17000) >= 1 then return true end
if getPlayerStorageValue(cid, 63215) <= 0 then return true end
 
doRemoveCondition(cid, CONDITION_OUTFIT)
setPlayerStorageValue(cid, 63215, -1)
 
local item = getPlayerSlotItem(cid, 8)
local pokemon = getItemAttribute(item.uid, "poke")
local x = pokes[pokemon]
 
if not x then return true end
 
if getItemAttribute(item.uid, "nick") then
doCreatureSay(cid, getItemAttribute(item.uid, "nick")..", I'm tired of surfing!", 1)
else
doCreatureSay(cid, getItemAttribute(item.uid, "poke")..", I'm tired of surfing!", 1)
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 surfing here.")
doTeleportThing(cid, fromPosition, false)
return true
end
doConvinceCreature(cid, pk)
end
 
doChangeSpeed(pk, getCreatureSpeed(cid))
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, PlayerSpeed)
 
doTeleportThing(pk, fromPosition, false)
doTeleportThing(pk, getThingPos(cid), true)
doCreatureSetLookDir(pk, getCreatureLookDir(cid))
 
adjustStatus(pk, item.uid, true, false, true)
 
end
 
return true
end

 

Deu certo mas o unico problema é que agora nem o order ta funcionando,tipo n tem como mandar o poke andar

Link para o post
Compartilhar em outros sites

Editei acima, tente dnv.

 

Continuo mesma coisa,Acho que o problema nao esta no sistema de fly ou surf pq eles tao funcionando certin acho q é no order.lua,pq mesmo antes de vc me passar esses eu tinha testado e que nao era vip n dava pra dar order.

 

order.lua

local dirpref = {
[1] =  {[NORTH] = {[1] = {NORTH}, [2] = {EAST, WEST}, [3] = {NORTHEAST, NORTHWEST}},
[EAST] = {[1] = {EAST}, [2] = {NORTH, SOUTH}, [3] = {NORTHEAST, SOUTHEAST}},
[sOUTH] = {[1] = {SOUTH}, [2] = {EAST, WEST}, [3] = {SOUTHEAST, SOUTHWEST}},
[WEST] = {[1] = {WEST}, [2] = {SOUTH, NORTH}, [3] = {NORTHWEST, SOUTHWEST}},
[NORTHEAST] = {[1] = {NORTH, EAST}, [2] = {NORTHEAST}, [3] = {SOUTH, WEST}},
[sOUTHEAST] = {[1] = {SOUTH, EAST}, [2] = {SOUTHEAST}, [3] = {NORTH, WEST}},
[sOUTHWEST] = {[1] = {SOUTH, WEST}, [2] = {SOUTHWEST}, [3] = {NORTH, EAST}},
[NORTHWEST] = {[1] = {NORTH, WEST}, [2] = {NORTHWEST}, [3] = {EAST, SOUTH}}},
[2] =  {[NORTH] = {[1] = {NORTH}, [2] = {WEST, EAST}, [3] = {NORTHWEST, NORTHEAST}},
[EAST] = {[1] = {EAST}, [2] = {SOUTH, NORTH}, [3] = {SOUTHEAST, NORTHEAST}},
[sOUTH] = {[1] = {SOUTH}, [2] = {WEST, EAST}, [3] = {SOUTHWEST, SOUTHEAST}},
[WEST] = {[1] = {WEST}, [2] = {NORTH, SOUTH}, [3] = {SOUTHWEST, NORTHWEST}},
[NORTHEAST] = {[1] = {EAST, NORTH}, [2] = {NORTHEAST}, [3] = {WEST, SOUTH}},
[sOUTHEAST] = {[1] = {EAST, SOUTH}, [2] = {SOUTHEAST}, [3] = {WEST, NORTH}},
[sOUTHWEST] = {[1] = {WEST, SOUTH}, [2] = {SOUTHWEST}, [3] = {EAST, NORTH}},
[NORTHWEST] = {[1] = {WEST, NORTH}, [2] = {NORTHWEST}, [3] = {SOUTH, EAST}}},
}
 
function doPushCreature(uid,direction,distance,time)
   if isCreature(uid) == TRUE then
   local rand = (2*math.random(0,1))-1
   local rand2 = math.random(-1,0)
 if direction == 0 then
 signal = {0,rand,-rand,rand,-rand,0,-1,-1,-1,0,0,0}
 elseif direction == 1 then
 signal = {1,1,1,0,0,0,0,rand,-rand,rand,-rand,0}
 elseif direction == 2 then
 signal = {0,rand,-rand,rand,-rand,0,1,1,1,0,0,0}
 
 elseif direction == 3 then
 
 signal = {-1,-1,-1,0,0,0,0,rand,-rand,rand,-rand,0}
 
 elseif direction == 4 then
 
 signal = {-1,rand2,(-rand2)-1,0,1,rand2+1,rand2,0}
 
 elseif direction == 5 then
 
 signal = {1,-rand2,-((-rand2)-1),0,1,rand2+1,rand2,0}
 
 elseif direction == 6 then
 
 signal = {-1,rand2,(-rand2)-1,0,-1,(-rand2)-1,rand2,0}
 
 else
 
 signal = {1,-rand2,-((-rand2)-1),0,-1,(-rand2)-1,rand2,0}
 
 end
 
   local pos = getThingPos(uid)
 
   nsig = #signal
 
   nvar = 0
 
   
 
   repeat
 
   nvar = nvar+1
 
   newpos = {x=pos.x+(signal[nvar]),y=pos.y+(signal[(nsig/2)+nvar]),z=pos.z}
 
   newtile = {x=newpos.x,y=newpos.y,z=newpos.z,stackpos=0}
 
   until getTileThingByPos(newtile).uid ~= 0 and hasProperty(getTileThingByPos(newtile).uid,3) == FALSE and queryTileAddThing(uid,newpos) == 1 or nvar == (nsig/2)
 
   
 
 if distance == nil or distance == 1 then
 
 doTeleportThing(uid,newpos,TRUE)   
 
 else
 
 distance = distance-1
 
 doTeleportThing(uid,newpos,TRUE)
 
if time ~= nil then
 
addEvent(doPushCreature,time,uid,direction,distance,time)
 
else
 
addEvent(doPushCreature,500,uid,direction,distance,500)
 
end   
 
 end
 
   end  
 
end
 
function doComparePosition(pos1, pos2)
if pos1.x == pos2.x and pos1.y == pos2.y and pos1.z == pos2.z then
return true
end
return false
end
 
function walkTo(cid, direction, finalp, useExtraMoveOrder)
if not isCreature(cid) then return true end
 
doChangeSpeed(cid, 5)
local x = getThingPos(cid)
local ratedelaywalk = 1
local finalpos = {x = finalp.x, y = finalp.y, z = finalp.z}
 
if not canWalkOnPos(finalpos, false, false, true, true, true) then
finalpos = getClosestFreeTile(cid, finalpos)
end
 
if not finalpos then
return false
end
 
local dir = getDirectionToWalk(cid, finalpos, 2, 0, 0, false, true, 300)
if dir and tonumber(dir) ~= nil and tonumber(dir) >= 0 and tonumber(dir) <= 7 then
if dir >= 4 then
ratedelaywalk = 0.4
end
doPushCreature(cid, dir, 1, getNextStepDelay(cid, dir) * ratedelaywalk)
return getNextStepDelay(cid, dir) * ratedelaywalk
elseif useExtraMoveOrder then
 
local random = math.random(1, 2)
 
for ta = 1, 3 do
for tb = 1, #dirpref[random][direction][ta] do
local y = getPosByDir(getThingPos(cid), dirpref[random][direction][ta][tb])
local w = getCreatureLP(cid)
local z = getDirectionTo(y, getThingPos(cid)) -- direção q vai marcar
local j = getDirectionTo(getThingPos(cid), y) -- direção q ele vai
if canWalkOnPos(y, true, false, true, true, true) and w ~= j then
if dirpref[random][direction][ta][tb] >= 4 then
ratedelaywalk = 0.5
end
doPushCreature(cid, dirpref[random][direction][ta][tb], 1, getNextStepDelay(cid, dirpref[random][direction][ta][tb]) * ratedelaywalk)
markLP(cid, z)
return getNextStepDelay(cid, dirpref[random][direction][ta][tb]) * ratedelaywalk
end
end
end
end
return false
end
 
function getCreatureLP(cid)
return getPlayerStorageValue(cid, 197)
end
 
function markLP(cid, dir)
setPlayerStorageValue(cid, 197, dir)
end
 
function markPos(sid, pos)
if not isCreature(sid) then return end
setPlayerStorageValue(sid, 145, pos.x)
setPlayerStorageValue(sid, 146, pos.y)
setPlayerStorageValue(sid, 147, pos.z)
end
 
function markFlyingPos(sid, pos)
if not isCreature(sid) then return end
setPlayerStorageValue(sid, 33145, pos.x)
setPlayerStorageValue(sid, 33146, pos.y)
setPlayerStorageValue(sid, 33147, pos.z)
end
 
function getFlyingMarkedPos(sid)
if not isCreature(sid) then return end
local xx = getPlayerStorageValue(sid, 33145)
local yy = getPlayerStorageValue(sid, 33146)
local zz = getPlayerStorageValue(sid, 33147)
return {x = xx, y = yy, z = zz, stackpos = 0}
end
 
function getMarkedPos(sid)
if not isCreature(sid) then return end
local xx = getPlayerStorageValue(sid, 145)
local yy = getPlayerStorageValue(sid, 146)
local zz = getPlayerStorageValue(sid, 147)
return {x = xx, y = yy, z = zz}
end
 
function getOwnerPos(sid)
if not isCreature(sid) then return end
local xx = getPlayerStorageValue(sid, 148)
local yy = getPlayerStorageValue(sid, 149)
local zz = getPlayerStorageValue(sid, 150)
return {x = xx, y = yy, z = zz}
end
 
function markOwnerPos(sid, pos)
if not isCreature(sid) then return end
setPlayerStorageValue(sid, 148, pos.x)
setPlayerStorageValue(sid, 149, pos.y)
setPlayerStorageValue(sid, 150, pos.z)
end
 
function recheck(sid, skill, pos)
if not isCreature(sid) then return end
local cid = getCreatureMaster(sid)
 
if skill == "cut" then
 
local item = getTileItemById(pos, 2767)
doCreatureSay(sid, "CUT!", TALKTYPE_MONSTER)
markPos(sid, {x=1,y=1,z=7})
doFaceCreature(sid, pos)
doSendMagicEffect(getThingPos(item.uid), 141)
doTransformItem(item.uid, 6216)
local function growBush()
doTransformItem(getTileItemById(pos, 6216).uid, 2767)
end
addEvent(growBush, intervalToRegrowBushAndStones * 1000)
 
elseif skill == "rock smash" then
 
local item = getTileItemById(pos, 1285)
doCreatureSay(sid, "ROCK SMASH!", TALKTYPE_MONSTER)
markPos(sid, {x=1,y=1,z=7})
doFaceCreature(sid, pos)
doSendMagicEffect(getThingPos(item.uid), 118)
doTransformItem(item.uid, 3610)
local function growRock()
doTransformItem(getTileItemById(pos, 3610).uid, 1285)
end
addEvent(growRock, intervalToRegrowBushAndStones * 1000)
 
elseif skill == "headbutt" then
 
local monsters = {"Ekans", "Pidgey", "Caterpie", "Spearow", "Pidgeotto", "Paras", "Weedle", "Taillow", "Illumise", "Nincada", "Volbeat", "Pineco", "Cascoon", "Silcoon", "Anorith", "Yanma"}
 
doCreateMonster(monsters[math.random(#monsters)], getPlayerPosition(cid))
local item = getTileItemById(pos, 2706)
doCreatureSay(sid, "HEADBUTT!", TALKTYPE_MONSTER)
markPos(sid, {x=1,y=1,z=7})
doFaceCreature(sid, pos)
doSendMagicEffect(getThingPos(item.uid), 119)
doTransformItem(item.uid, 2705)
local function growHead()
doTransformItem(getTileItemById(pos, 2705).uid, 2706)
end
addEvent(growHead, intervalToRegrowBushAndStones * 5000)
 
elseif skill == "dig" then
 
local item = getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0})
doCreatureSay(sid, "DIG!", TALKTYPE_MONSTER)
markPos(sid, {x=1,y=1,z=7})
doFaceCreature(sid, pos)
doSendMagicEffect(getThingPos(item.uid), 3)
doTransformItem(item.uid, item.itemid+1)
local function closeHole()
doTransformItem(getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).uid, item.itemid)
end
addEvent(closeHole, intervalToRegrowBushAndStones * 1000)
 
elseif skill == "fly" then
 
local pokemon = flys[getPokemonName(getCreatureSummons(cid)[1])]
doPlayerSendTextMessage(cid, 27, "Type \"up\" or \"h1\" to fly higher and \"down\" or \"h2\" to fly lower.")
doChangeSpeed(cid, -getCreatureSpeed(cid))
local speed = 500 + PlayerSpeed/5 + getSpeed(sid) * 6 * speedRate
doChangeSpeed(cid, speed)
setPlayerStorageValue(cid, 54844, speed)
doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1]))
doRemoveCreature(getCreatureSummons(cid)[1])
setPlayerStorageValue(cid, 17000, 1)
return true
 
elseif skill == "ride" then
 
local pokemon = rides[getPokemonName(getCreatureSummons(cid)[1])]
doChangeSpeed(cid, -getCreatureSpeed(cid))
local speed = 150 + PlayerSpeed + getSpeed(sid) * 5 * speedRate
doChangeSpeed(cid, speed)
setPlayerStorageValue(cid, 54844, speed)
doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1)
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1]))
doRemoveCreature(getCreatureSummons(cid)[1])
setPlayerStorageValue(cid, 17001, 1)
 
return true
end
 
if getOwnerPos(sid).x ~= getThingPos(getCreatureMaster(sid)).x or getOwnerPos(sid).y ~= getThingPos(getCreatureMaster(sid)).y or isCreature(getCreatureTarget(getCreatureMaster(sid))) then
doRegainSpeed(sid)
markPos(sid, {x=1,y=1,z=7})
return true
end
 
addEvent(recheck, 120, sid)
end
 
function goThere(sid, thepos, skill, target, rept)
if not isCreature(sid) then return true end
if getCreatureNoMove(sid) or getCreatureHideHealth(sid) or isSleeping(sid) then return true end
if thepos.x ~= getMarkedPos(sid).x or thepos.y ~= getMarkedPos(sid).y then return true end
if isCreature(getCreatureTarget(getCreatureMaster(sid))) and target == false or (rept and rept <= 0) then
doRegainSpeed(sid)
markPos(sid, {x=1,y=1,z=7})
return true
end
 
if (skill == "ride" or skill == "fly") and getDistanceBetween(getThingPos(sid), getMarkedPos(sid)) <= 1 then
 
local currentPos = getThingPos(getCreatureMaster(sid))
local summonPos = getThingPos(sid)
local masterPos = getCreatureLastPosition(sid)
 
if (getThingPos(sid).x == getThingPos(getCreatureMaster(sid)).x and getThingPos(sid).y == getThingPos(getCreatureMaster(sid)).y) or (currentPos.x == masterPos.x and currentPos.y == masterPos.y) then
recheck(sid, skill, thepos)
return true
end
 
if currentPos.x == thepos.x and currentPos.y == thepos.y then
if getDirectionTo(getThingPos(sid), getThingPos(getCreatureMaster(sid))) <= 3 then
doRegainSpeed(sid)
local ndelay = getNextStepDelay(sid, 0)
doTeleportThing(sid, thepos, true)
doChangeSpeed(sid, -getCreatureSpeed(sid))
markPos(sid, getThingPos(getCreatureMaster(sid)))
addEvent(goThere, ndelay, sid, getMarkedPos(sid), skill, target)
else
doChangeSpeed(sid, - getCreatureSpeed(sid))
doRegainSpeed(sid)
markPos(sid, getThingPos(getCreatureMaster(sid)))
local x = walkTo(sid, getDirectionTo(getThingPos(sid), getMarkedPos(sid)), getMarkedPos(sid), skill == "ride" or skill == "fly")
doChangeSpeed(sid, - getCreatureSpeed(sid))
addEvent(goThere, x, sid, getMarkedPos(sid), skill, target)
end
return true
else
markPos(sid, getThingPos(getCreatureMaster(sid)))
doChangeSpeed(sid, - getCreatureSpeed(sid))
doRegainSpeed(sid)
local ndelay = getNextStepDelay(sid, 0)
if getDirectionTo(getThingPos(sid), getMarkedPos(sid)) >= 4 then
local x = walkTo(sid, getDirectionTo(getThingPos(sid), getMarkedPos(sid)), getMarkedPos(sid), skill == "ride" or skill == "fly")
else
doTeleportThing(sid, getPosByDir(getThingPos(sid), getDirectionTo(getThingPos(sid), getMarkedPos(sid))))
end
doChangeSpeed(sid, - getCreatureSpeed(sid))
addEvent(goThere, x and x or ndelay, sid, getMarkedPos(sid), skill, target)
return true
end
 
addEvent(recheck, 350, sid, skill, thepos)
return true
end
 
if getThingPos(sid).x == getMarkedPos(sid).x and getThingPos(sid).y == getMarkedPos(sid).y then
if isCreature(getCreatureTarget(sid)) then
doFaceCreature(sid, getThingPos(getCreatureTarget(sid)))
end
addEvent(recheck, 350, sid, skill, thepos)
return true
end
 
if (getOwnerPos(sid).x ~= getThingPos(getCreatureMaster(sid)).x or getOwnerPos(sid).y ~= getThingPos(getCreatureMaster(sid)).y) and isCreature(getCreatureTarget(getCreatureMaster(sid))) == false and skill == "move" then
doRegainSpeed(sid)
markPos(sid, {x=1,y=1,z=7})
return true
end
 
doRegainSpeed(sid)
 
local holeid = thepos
holeid.stackpos = 0
holeid = getTileThingByPos(holeid).itemid
 
if getDistanceBetween(getThingPos(sid), getMarkedPos(sid)) <= 1 and (not isWalkable(getPosByDir(getThingPos(sid), getDirectionTo(getThingPos(sid), getMarkedPos(sid))), true, false, false, true) or isInArray(specialabilities["digholes"], holeid)) then
if isGhostPokemon(sid) and getPlayerStorageValue(getCreatureMaster(sid), 990) <= 0 then
local todir = getDirectionTo(getThingPos(sid), getMarkedPos(sid))
if todir <= 3 then
doTeleportThing(sid, getMarkedPos(sid), true)
else
local gotopos = getPosByDir(getThingPos(sid), dirpref[math.random(1, 2)][todir][1][math.random(1, 2)])
doTeleportThing(sid, gotopos, true)
addEvent(goThere, getNextStepDelay(sid, 0), sid, getMarkedPos(sid), skill, target)
return true
end
end
doFaceCreature(sid, getMarkedPos(sid))
addEvent(recheck, 180, sid, skill, thepos)
doChangeSpeed(sid, - getCreatureSpeed(sid))
return true
end
 
local ret = 0
if getDistanceBetween(getThingPos(sid), getMarkedPos(sid)) <= 1 then
ret = walkTo(sid, getDirectionTo(getThingPos(sid), getMarkedPos(sid)), getMarkedPos(sid), skill == "ride" or skill == "fly" or isGhostPokemon(sid))
if not tonumber(ret) then
doFaceCreature(sid, getMarkedPos(sid))
addEvent(recheck, 180, sid, skill, thepos)
doChangeSpeed(sid, - getCreatureSpeed(sid))
return true
end
else
ret = walkTo(sid, getDirectionTo(getThingPos(sid), getMarkedPos(sid)), getMarkedPos(sid), skill == "ride" or skill == "fly" or not isGhostPokemon(sid))-- and isSightClear(getThingPos(sid), getMarkedPos(sid), false)))
end
 
if not tonumber(ret) then
doPlayerSendCancel(getCreatureMaster(sid), "Destination is not reachable.")
markPos(sid, {x=1,y=1,z=7})
return true
end
 
doChangeSpeed(sid, - getCreatureSpeed(sid))
addEvent(goThere, tonumber(ret), sid, getMarkedPos(sid), skill, target, rept and rept - 1 or 22)
end
 
 
 

Editado por vitorcru (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Tenta esse

Fly.lua

 

 

local del = {'460', '1022', '1023', '1024'}

 
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
 
position.stackpos = 0
 
local premium = false
battle = true
 
if isPlayer(cid) and not isPremium(cid) and premium == true then
   doTeleportThing(cid, fromPosition, false)
   doPlayerSendCancel(cid, "Você precisa ser premium account para voar.")
   return true
end
 
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
 
if getPlayerStorageValue(cid, 17000) <= 0 then
doTeleportThing(cid, fromPosition, false)
doRemoveItem(getTileThingByPos(position).uid, 1)
doPlayerSendCancel(cid, "You can't fly.")
return true
end
 
doAreaCombatHealth(cid, FLYSYSTEMDAMAGE, getThingPos(cid), splash, 0, 0, 255)
 
local pos = getThingPos(cid)
if pos.z == 7 then return true end
pos.z = pos.z + 1
 
    for i = 0, 255 do
        pos.stackpos = i
        local tile = getTileThingByPos(pos)
        if tile.itemid ~= 0 and not isCreature(tile.uid) then
            if hasProperty(tile.uid, 3) or hasProperty(tile.uid, 7) or tile.itemid == 919 then
                doTransformItem(item.uid, 11677)
            end
        end
    end
 
return true
end
 
function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)
 
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
 
local effect = 2
 
if toPosition.z == fromPosition.z and getCreatureOutfit(cid).lookType ~= 316 and getCreatureOutfit(cid).lookType ~= 648 then
doSendMagicEffect(fromPosition, effect)
end
 
local oldtpos = fromPosition
oldtpos.stackpos = STACKPOS_GROUND
 
 
if getTileThingByPos(oldtpos).itemid >= 1 then
doRemoveItem(getTileThingByPos(oldtpos).uid, 1)
end
 
return true
end    

 

Surf.lua

 

 

local function doSendMagicEffecte(pos, effect)

addEvent(doSendMagicEffect, 50, pos, effect)
end
 
local waters = {11756, 4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}
 
local poke = {'Shiny Poliwag', 'Poliwag', 'Shiny Poliwhirl', 'Poliwhirl', 'Shiny Seaking', 'Seaking', 'Shiny Dewgong', 'Dewgong', 'Shiny Blastoise', 'Blastoise', 'Shiny Tentacruel', 'Tentacruel', 'Shiny Lapras', 'Lapras', 'Shiny Gyarados', 'Gyarados', 'Shiny Omastar', 'Omastar', 'Shiny Kabutops', 'Kabutops', 'Shiny Vaporeon', 'Vaporeon', 'Shiny Staryu', 'Staryu', 'Shiny Starmie', 'Starmie', 'Shiny Goldeen', 'Goldeen', 'Shiny Seadra', 'Seadra', 'Shiny Golduck', 'Golduck', 'Shiny Squirtle', 'Squirtle', 'Shiny Wartortle', 'Wartortle', 'Shiny Tentacool', 'Tentacool', 'Shiny Snorlax', 'Snorlax', 'Shiny Poliwrath', 'Poliwrath',
'Mantine', 'Totodile', 'Croconaw', 'Feraligatr', 'Marill', 'Azumarill', 'Quagsire', 'Wooper', 'Octillery', 'Kingdra', 'Sharpedo', 'Floatzel', 'Swampert', 'Marshtomp', 'Wailord', 'Milotic', 'Shiny Sharpedo', 'Shiny Floatzel', 'Shiny Totodile', 'Shiny Croconaw', 'Shiny Feraligatr', 'Barboach', 'Whiscash', 'Huntail', 'Gorebyss', 'Luvdisc', 'Relicanth', 'Spheal', 'Spheal', 'Walrein'}
 
local flie = {'4820', '4821', '4822', '4823', '4824', '4825'}
 
local surf = {
["Poliwag"] = {lookType=278, speed = 320},
["Poliwhirl"] = {lookType=137, speed = 480},
["Seaking"] = {lookType=269, speed = 520},
["Dewgong"] = {lookType=183, speed = 700},
["Blastoise"] = {lookType=184, speed = 850},
["Tentacruel"] = {lookType=185, speed = 750},
["Lapras"] = {lookType=186, speed = 960},
["Gyarados"] = {lookType=187, speed = 1050},
["Omastar"] = {lookType=188, speed = 680},
["Kabutops"] = {lookType=189, speed = 840},
["Poliwrath"] = {lookType=190, speed = 680},
["Vaporeon"] = {lookType=191, speed = 800},
["Staryu"] = {lookType=266, speed = 385},
["Starmie"] = {lookType=267, speed = 685},
["Goldeen"] = {lookType=268, speed = 355},
["Seadra"] = {lookType=270, speed = 655},
["Golduck"] = {lookType=271, speed = 760},
["Squirtle"] = {lookType=273, speed = 365},
["Wartortle"] = {lookType=275, speed = 605},
["Tentacool"] = {lookType=277, speed = 340},
["Snorlax"] = {lookType=300, speed = 500},
----------------Shiny----------------------
["Shiny Poliwag"] = {lookType=1010, speed = 352},
["Shiny Poliwhirl"] = {lookType=1011, speed = 528},
["Shiny Seaking"] = {lookType=1027, speed = 572},
["Shiny Dewgong"] = {lookType=1015, speed = 770},
["Shiny Blastoise"] = {lookType=1002, speed = 935},
["Shiny Tentacruel"] = {lookType=1014, speed = 825},
["Shiny Lapras"] = {lookType=1031, speed = 1056},
["Shiny Gyarados"] = {lookType=1030, speed = 1155},
["Shiny Omastar"] = {lookType=1033, speed = 748},
["Shiny Kabutops"] = {lookType=1034, speed = 924},
["Shiny Poliwrath"] = {lookType=1012, speed = 748},
["Shiny Vaporeon"] = {lookType=1032, speed = 880},
["Shiny Staryu"] = {lookType=1028, speed = 423.5},
["Shiny Starmie"] = {lookType=1029, speed = 753.5},
["Shiny Goldeen"] = {lookType=1026, speed = 390.5},
["Shiny Seadra"] = {lookType=1025, speed = 720.5},
["Shiny Golduck"] = {lookType=1009, speed = 836},
["Shiny Squirtle"] = {lookType=1000, speed = 401.5},
["Shiny Wartortle"] = {lookType=1001, speed = 665.5},
["Shiny Tentacool"] = {lookType=1013, speed = 374},
["Shiny Snorlax"] = {lookType=1035, speed = 550},
----------------Johto----------------------
["Mantine"] = {lookType=636, speed = 820},
["Totodile"] = {lookType=637, speed = 360},
["Croconaw"] = {lookType=638, speed = 590},
["Feraligatr"] = {lookType=645, speed = 900},
["Marill"] = {lookType=639, speed = 340},
["Azumarill"] = {lookType=642, speed = 680},
["Quagsire"] = {lookType=643, speed = 740},
["Kingdra"] = {lookType=644, speed = 1020},
["Octillery"] = {lookType=641, speed = 600},
["Wooper"] = {lookType=640, speed = 315},
["Sharpedo"] = {lookType=1139, speed = 600},
["Floatzel"] = {lookType=1138, speed = 700},
["Swampert"] = {lookType=1135, speed = 650},
["Marshtomp"] = {lookType=1134, speed = 502},
["Wailord"] = {lookType=1137, speed = 450},
["Milotic"] = {lookType=1136, speed = 780},
["Shiny Sharpedo"] = {lookType=1141, speed = 650},
["Shiny Floatzel"] = {lookType=1140, speed = 750},
["Shiny Totodile"] = {lookType=1239, speed = 360},
["Shiny Croconaw"] = {lookType=1238, speed = 590},
["Shiny Feraligatr"] = {lookType=1237, speed = 900},
["Barboach"] = {lookType=1354, speed = 315},
["Whiscash"] = {lookType=1356, speed = 740},
["Huntail"] = {lookType=1360, speed = 540},
["Gorebyss"] = {lookType=1359, speed = 740},
["Luvdisc"] = {lookType=1355, speed = 440},
["Relicanth"] = {lookType=1364, speed = 500},
["Spheal"] = {lookType=1357, speed = 300},
["Sealeo"] = {lookType=1362, speed = 500},
["Walrein"] = {lookType=1363, speed = 700},
}
 
local premium = true
 
function onStepIn(cid, item, position, fromPosition)
 
if not isPlayer(cid) or getPlayerAccess(cid) >= 6 then
return true
end
 
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
 
if isPlayer(cid) and not isPremium(cid) and premium == true then
doTeleportThing(cid, fromPosition, false)
doPlayerSendCancel(cid, "Only premium members are allowed to surf.")
return true
end
 
if getCreatureOutfit(cid).lookType == 316 or getCreatureOutfit(cid).lookType == 648 then
doSendMagicEffect(fromPosition, 136)
end
 
if (getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 17000) >= 1) then
return true
end
 
if #getCreatureSummons(cid) == 0 then
doPlayerSendCancel(cid, "You need a pokemon to surf.")
doTeleportThing(cid, fromPosition, false)
return true
end
 
if (not isInArray(poke, getPokemonName(getCreatureSummons(cid)[1]))) then
doPlayerSendCancel(cid, "This pokemon cannot surf.")
doTeleportThing(cid, fromPosition, false)
return true
end
 
doSetCreatureOutfit(cid, {lookType = surf[getPokemonName(getCreatureSummons(cid)[1])].lookType + 351}, -1)
 
doCreatureSay(cid, ""..getPokeName(getCreatureSummons(cid)[1])..", lets surf!", 1)
doChangeSpeed(cid, -(getCreatureSpeed(cid)))
 
local speed = 75 + PlayerSpeed + getSpeed(getCreatureSummons(cid)[1]) * 8 * speedRate
setPlayerStorageValue(cid, 54844, speed)
doChangeSpeed(cid, speed)
 
local pct = getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1])
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", pct)
 
doRemoveCreature(getCreatureSummons(cid)[1])
 
addEvent(setPlayerStorageValue, 100, cid, 63215, 1)
 
return true
end
 
local direffects = {30, 49, 9, 51}
 
function onStepOut(cid, item, position, fromPosition)
 
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end
 
local checkpos = fromPosition
checkpos.stackpos = 0
 
if isPlayer(cid) and not isPremium(cid) and premium == true then
   doTeleportThing(cid, fromPosition, false)
   doPlayerSendCancel(cid, "Você precisa ser premium account para surfar.")
   return true
end
 
if isInArray(waters, getTileInfo(checkpos).itemid) then
 
if getPlayerStorageValue(cid, 63215) >= 1 or getPlayerStorageValue(cid, 17000) >= 1 then
 
doSendMagicEffecte(fromPosition, direffects[getCreatureLookDir(cid) + 1])
 
end
 
end
 
if not isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then
 
if getPlayerStorageValue(cid, 17000) >= 1 then return true end
if getPlayerStorageValue(cid, 63215) <= 0 then return true end
 
doRemoveCondition(cid, CONDITION_OUTFIT)
setPlayerStorageValue(cid, 63215, -1)
 
local item = getPlayerSlotItem(cid, 8)
local pokemon = getItemAttribute(item.uid, "poke")
local x = pokes[pokemon]
 
if not x then return true end
 
if getItemAttribute(item.uid, "nick") then
doCreatureSay(cid, getItemAttribute(item.uid, "nick")..", I'm tired of surfing!", 1)
else
doCreatureSay(cid, getItemAttribute(item.uid, "poke")..", I'm tired of surfing!", 1)
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 surfing here.")
doTeleportThing(cid, fromPosition, false)
return true
end
doConvinceCreature(cid, pk)
end
 
doChangeSpeed(pk, getCreatureSpeed(cid))
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, PlayerSpeed)
 
doTeleportThing(pk, fromPosition, false)
doTeleportThing(pk, getThingPos(cid), true)
doCreatureSetLookDir(pk, getCreatureLookDir(cid))
 
adjustStatus(pk, item.uid, true, false, true)
 
end
 
return true
end

 

w31Cm4K.png

 

PokeWorks-Pokemon Rpg Online

venha Fazer parte dessa Incrivel Aventura

Criar Conta

____________##___________

Object Builder 0.5.441 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo