Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

então gente tem um  lugar onde as pessoas vão e podem morrer sem o risco de perder lvl, muitos abusam dessa falha para poder caçar sem a chance de perder lvl por morte,
a entrada é por movement o jogador ganha uma storage e uma outfit com isso ele pode morrer naquele local que não perdera lvl,
mas eles estão usando o teleport para saírem de lá sendo assim eles continuam com a storage que não permite a perca de lvl se eles saírem usando o portal a storage  é removida junto com a outfit
QUERO IMPIDIR DE USAR OS COMANDOS (((((((>>> h "cidade)))))) e ((((((>>>!desbug))))) penso em 2 jeitos possíveis de fazer isso, no próprio comando adicionando algo que o comando falhe se o jogador tiver a storage
ou no movement adicionando algo que impeça usar os comandos citados
MOVEMENT que da a storage

Spoiler

function onStepIn(cid, item, position, fromPosition)       --alterado v1.7 reformulado e melhorado ^^

if isSummon(cid) or ehMonstro(cid) then return false end     --alterado v1.8

local posis = { --{{pos}, storage, cor da roupa},
[25695] = {{x = 1004, y = 997, z = 13}, 6598754, 113},
[25696] = {{x = 965, y = 997, z = 13}, 6598755, 107},
[25697] = {{x = 973, y = 1065, z = 13}},
[25698] = {{x = 973, y = 1065, z = 13}},
}
local action = posis[item.actionid]
local out = getPlayerSex(cid) == 0 and 511 or 510
                                                                           --alterado v1.9
if getPlayerStorageValue(cid, 17001) == 1 or getPlayerStorageValue(cid, 5700) >= 1 or getPlayerStorageValue(cid, 17000) == 1 then
   doPlayerSendCancel(cid, "You can't do that while ride/fly/or in a bike.")
   doTeleportThing(cid, fromPosition, false)  --alterado v1.6
   return true
end
if getPlayerStorageValue(cid, 52480) >= 1 then
   doPlayerSendCancel(cid, "You are already dueling!")
   doTeleportThing(cid, fromPosition, false)  --alterado v1.6
   return true
end

if posis[item.actionid] then
   if isInArray({25695, 25696}, item.actionid) then
      setPlayerStorageValue(cid, action[2], 1)
      doSetCreatureOutfit(cid, {lookType = out, lookBody = action[3], lookHead = action[3], lookLegs = action[3], lookFeet = action[3]}, -1)
   else
      setPlayerStorageValue(cid, 6598754, -1)
      setPlayerStorageValue(cid, 6598755, -1)
      doRemoveCondition(cid, CONDITION_OUTFIT)
   end
   doTeleportThing(cid, getClosestFreeTile(cid, action[1]), false)  
elseif item.actionid == 24158 then
   if getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then
      doPlayerSendCancel(cid, "You can't do that while is in battle!")
      doTeleportThing(cid, fromPosition, false)
   end
end
   
return true
end

TALKACTION TELEPORT

Spoiler

local poke = {"Shiny Xatu", "Bronzong", "Mine Mewtwo", "Chimecho", "Bronzor", "Claydol", "Grumpig", "Shiny Slowking", "Sua Ralts", "Gardevoir", "Seu Ralts", "Seu Kirlia", "Gallade", "Sua Kirlia", "Jynx", "Shiny Jynx", "Slowking", "Slowbro", "Exeggutor", "Shiny Mr. Mime", 'Mew', 'Mewtwo', 'Abra', 'Kadabra', 'Alakazam', 'Drowzee', 'Hypno', 'Mr. Mime', 'Porygon', 'Shiny Abra', 'Shiny Alakazam', 'Shiny Hypno', 'Porygon2'}  --alterado v1.9

local etele = 9499
local cdtele = 300

local config = {
premium = false, -- se precisa ser premium account (true or false)
battle = true    -- se precisa estar sem battle (true). Se colocar false, poderá usar teleport no meio de batalhas
}

local places = {
[1] = {name = "Saffron", id = 1, sto = 897530},
[2] = {name = "Cerulean", id = 2, sto = 897531},
[3] = {name = "Lavender", id = 3, sto = 897532},
[4] = {name = "Fuchsia", id = 4, sto = 897533},
[5] = {name = "Celadon", id = 5, sto = 897534},
[6] = {name = "Viridian", id = 6, sto = 897535},  --alterado v1.7
[7] = {name = "Vermilion", id = 7, sto = 897536},
[8] = {name = "Pewter", id = 8, sto = 897537},          
[9] = {name = "Pallet", id = 9},
[10] = {name = "Cinnabar", id = 10, sto = 897538},
[11] = {name = "Snow", id = 11, sto = 897539},
[12] = {name = "Golden", id = 14, sto = 897540},
[13] = {name = "Ascordbia", id = 15, sto = 8975410},
[14] = {name = "Hammlin", id = 16, sto = 8975420},
[15] = {name = "Shamouti", id = 17, sto = 8975430},
}

function onSay(cid, words, param)

    if #getCreatureSummons(cid) == 0 then
        doPlayerSendCancel(cid, "You need a pokemon to use teleport.")
    return true
    end

    if not isInArray(poke, getCreatureName(getCreatureSummons(cid)[1])) then
    return 0
    end
    
    if getPlayerStorageValue(cid, 22545) == 1 then      --golden arena
       doPlayerSendCancel(cid, "You can't do that while the golden arena!")
    return true
    end
    
    if getPlayerStorageValue(cid, 212124) >= 1 then         --alterado v2.6
       return doPlayerSendCancel(cid, "You can't do it with a pokemon with mind controlled!")
    end

    if getPlayerStorageValue(cid, 52480) >= 1 then
       return doPlayerSendCancel(cid, "You can't do it while a duel!")  --alterado v2.6
    end
    
    if exhaustion.get(cid, etele) and exhaustion.get(cid, etele) > 0 then
        local tempo = tonumber(exhaustion.get(cid, etele)) or 0
        local min = math.floor(tempo)
        doPlayerSendCancel(cid, "Your pokemon is tired, wait "..getStringmytempo(tempo).." to teleport again.")
    return true
    end

    if config.premium and not isPremium(cid) then
        doPlayerSendCancel(cid, "Only premium members are allowed to use teleport.")
    return true
    end

    if config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
        doPlayerSendCancel(cid, "Your pokemon can't concentrate during battles.")
    return true
    end

    if (param == '') then
        local str = ""
        str = str .. "Places to go :\n\nHouse\n"
            for a = 1, #places do
                str = str..""..places[a].name.."\n"
            end
        doShowTextDialog(cid, 7416, str)
    return true
    end

    local item = getPlayerSlotItem(cid, 8)
    local nome = getPokeballName(item.uid)
    local summon = getCreatureSummons(cid)[1]
    local lastppos = getThingPos(cid)
    local lastspos = getThingPos(summon)
    local telepos = {}
    local myplace = ""
    local townid = 0

    if string.lower(param) == "house" then

        if not getHouseByPlayerGUID(getPlayerGUID(cid)) then
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You don't own a house.")
        return true
        end

        telepos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))
        myplace = "our home"

    else

        for x = 1, #places do
            if string.find(string.lower(places[x].name), string.lower(param)) then
                townid = places[x].id
                myplace = places[x].name
            end
        end

        if myplace == "" then
            doPlayerSendCancel(cid, "That place doesn't exist.")
        return true
        end

    end

    if myplace ~= "" and townid > 0 then
        telepos = getTownTemplePosition(townid)
    end

    if getDistanceBetween(getThingPos(cid), telepos) <= 15 then
        doPlayerSendCancel(cid, "You are too near to the place you want to go!")
    return true
    end

    doSendMagicEffect(getThingPos(summon), 29)
    doSendMagicEffect(getThingPos(cid), 29)

    doTeleportThing(cid, telepos, false)

    local pos2 = getClosestFreeTile(cid, getPosByDir(getThingPos(cid), SOUTH))

    doTeleportThing(summon, pos2, false)

    doSendMagicEffect(getThingPos(cid), 29)

    doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1)
    doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1, false, 0, lastppos)
    doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER)
    doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER, false, 0, lastspos)

    doCreatureSetLookDir(cid, SOUTH)
    doCreatureSetLookDir(summon, SOUTH)

    doSendMagicEffect(getThingPos(summon), CONST_ME_TELEPORT)
    exhaustion.set(cid, etele, cdtele)

return true
end

 

  • Respostas 15
  • Visualizações 512
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • no piso que da a storage vc coloca esse script:     e no script do teleporte coloque esse:     agora você vai ter que colocar um TP que tira o player do pvp e agora v

Postado
1 hora atrás, wevertonvrb disse:

então gente tem um  lugar onde as pessoas vão e podem morrer sem o risco de perder lvl, muitos abusam dessa falha para poder caçar sem a chance de perder lvl por morte,
a entrada é por movement o jogador ganha uma storage e uma outfit com isso ele pode morrer naquele local que não perdera lvl,
mas eles estão usando o teleport para saírem de lá sendo assim eles continuam com a storage que não permite a perca de lvl se eles saírem usando o portal a storage  é removida junto com a outfit
QUERO IMPIDIR DE USAR OS COMANDOS (((((((>>> h "cidade)))))) e ((((((>>>!desbug))))) penso em 2 jeitos possíveis de fazer isso, no próprio comando adicionando algo que o comando falhe se o jogador tiver a storage
ou no movement adicionando algo que impeça usar os comandos citados
MOVEMENT que da a storage

  Mostrar conteúdo oculto

function onStepIn(cid, item, position, fromPosition)       --alterado v1.7 reformulado e melhorado ^^

if isSummon(cid) or ehMonstro(cid) then return false end     --alterado v1.8

local posis = { --{{pos}, storage, cor da roupa},
[25695] = {{x = 1004, y = 997, z = 13}, 6598754, 113},
[25696] = {{x = 965, y = 997, z = 13}, 6598755, 107},
[25697] = {{x = 973, y = 1065, z = 13}},
[25698] = {{x = 973, y = 1065, z = 13}},
}
local action = posis[item.actionid]
local out = getPlayerSex(cid) == 0 and 511 or 510
                                                                           --alterado v1.9
if getPlayerStorageValue(cid, 17001) == 1 or getPlayerStorageValue(cid, 5700) >= 1 or getPlayerStorageValue(cid, 17000) == 1 then
   doPlayerSendCancel(cid, "You can't do that while ride/fly/or in a bike.")
   doTeleportThing(cid, fromPosition, false)  --alterado v1.6
   return true
end
if getPlayerStorageValue(cid, 52480) >= 1 then
   doPlayerSendCancel(cid, "You are already dueling!")
   doTeleportThing(cid, fromPosition, false)  --alterado v1.6
   return true
end

if posis[item.actionid] then
   if isInArray({25695, 25696}, item.actionid) then
      setPlayerStorageValue(cid, action[2], 1)
      doSetCreatureOutfit(cid, {lookType = out, lookBody = action[3], lookHead = action[3], lookLegs = action[3], lookFeet = action[3]}, -1)
   else
      setPlayerStorageValue(cid, 6598754, -1)
      setPlayerStorageValue(cid, 6598755, -1)
      doRemoveCondition(cid, CONDITION_OUTFIT)
   end
   doTeleportThing(cid, getClosestFreeTile(cid, action[1]), false)  
elseif item.actionid == 24158 then
   if getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then
      doPlayerSendCancel(cid, "You can't do that while is in battle!")
      doTeleportThing(cid, fromPosition, false)
   end
end
   
return true
end

TALKACTION TELEPORT

  Ocultar conteúdo

local poke = {"Shiny Xatu", "Bronzong", "Mine Mewtwo", "Chimecho", "Bronzor", "Claydol", "Grumpig", "Shiny Slowking", "Sua Ralts", "Gardevoir", "Seu Ralts", "Seu Kirlia", "Gallade", "Sua Kirlia", "Jynx", "Shiny Jynx", "Slowking", "Slowbro", "Exeggutor", "Shiny Mr. Mime", 'Mew', 'Mewtwo', 'Abra', 'Kadabra', 'Alakazam', 'Drowzee', 'Hypno', 'Mr. Mime', 'Porygon', 'Shiny Abra', 'Shiny Alakazam', 'Shiny Hypno', 'Porygon2'}  --alterado v1.9

local etele = 9499
local cdtele = 300

local config = {
premium = false, -- se precisa ser premium account (true or false)
battle = true    -- se precisa estar sem battle (true). Se colocar false, poderá usar teleport no meio de batalhas
}

local places = {
[1] = {name = "Saffron", id = 1, sto = 897530},
[2] = {name = "Cerulean", id = 2, sto = 897531},
[3] = {name = "Lavender", id = 3, sto = 897532},
[4] = {name = "Fuchsia", id = 4, sto = 897533},
[5] = {name = "Celadon", id = 5, sto = 897534},
[6] = {name = "Viridian", id = 6, sto = 897535},  --alterado v1.7
[7] = {name = "Vermilion", id = 7, sto = 897536},
[8] = {name = "Pewter", id = 8, sto = 897537},          
[9] = {name = "Pallet", id = 9},
[10] = {name = "Cinnabar", id = 10, sto = 897538},
[11] = {name = "Snow", id = 11, sto = 897539},
[12] = {name = "Golden", id = 14, sto = 897540},
[13] = {name = "Ascordbia", id = 15, sto = 8975410},
[14] = {name = "Hammlin", id = 16, sto = 8975420},
[15] = {name = "Shamouti", id = 17, sto = 8975430},
}

function onSay(cid, words, param)

    if #getCreatureSummons(cid) == 0 then
        doPlayerSendCancel(cid, "You need a pokemon to use teleport.")
    return true
    end

    if not isInArray(poke, getCreatureName(getCreatureSummons(cid)[1])) then
    return 0
    end
    
    if getPlayerStorageValue(cid, 22545) == 1 then      --golden arena
       doPlayerSendCancel(cid, "You can't do that while the golden arena!")
    return true
    end
    
    if getPlayerStorageValue(cid, 212124) >= 1 then         --alterado v2.6
       return doPlayerSendCancel(cid, "You can't do it with a pokemon with mind controlled!")
    end

    if getPlayerStorageValue(cid, 52480) >= 1 then
       return doPlayerSendCancel(cid, "You can't do it while a duel!")  --alterado v2.6
    end
    
    if exhaustion.get(cid, etele) and exhaustion.get(cid, etele) > 0 then
        local tempo = tonumber(exhaustion.get(cid, etele)) or 0
        local min = math.floor(tempo)
        doPlayerSendCancel(cid, "Your pokemon is tired, wait "..getStringmytempo(tempo).." to teleport again.")
    return true
    end

    if config.premium and not isPremium(cid) then
        doPlayerSendCancel(cid, "Only premium members are allowed to use teleport.")
    return true
    end

    if config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
        doPlayerSendCancel(cid, "Your pokemon can't concentrate during battles.")
    return true
    end

    if (param == '') then
        local str = ""
        str = str .. "Places to go :\n\nHouse\n"
            for a = 1, #places do
                str = str..""..places[a].name.."\n"
            end
        doShowTextDialog(cid, 7416, str)
    return true
    end

    local item = getPlayerSlotItem(cid, 8)
    local nome = getPokeballName(item.uid)
    local summon = getCreatureSummons(cid)[1]
    local lastppos = getThingPos(cid)
    local lastspos = getThingPos(summon)
    local telepos = {}
    local myplace = ""
    local townid = 0

    if string.lower(param) == "house" then

        if not getHouseByPlayerGUID(getPlayerGUID(cid)) then
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You don't own a house.")
        return true
        end

        telepos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))
        myplace = "our home"

    else

        for x = 1, #places do
            if string.find(string.lower(places[x].name), string.lower(param)) then
                townid = places[x].id
                myplace = places[x].name
            end
        end

        if myplace == "" then
            doPlayerSendCancel(cid, "That place doesn't exist.")
        return true
        end

    end

    if myplace ~= "" and townid > 0 then
        telepos = getTownTemplePosition(townid)
    end

    if getDistanceBetween(getThingPos(cid), telepos) <= 15 then
        doPlayerSendCancel(cid, "You are too near to the place you want to go!")
    return true
    end

    doSendMagicEffect(getThingPos(summon), 29)
    doSendMagicEffect(getThingPos(cid), 29)

    doTeleportThing(cid, telepos, false)

    local pos2 = getClosestFreeTile(cid, getPosByDir(getThingPos(cid), SOUTH))

    doTeleportThing(summon, pos2, false)

    doSendMagicEffect(getThingPos(cid), 29)

    doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1)
    doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1, false, 0, lastppos)
    doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER)
    doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER, false, 0, lastspos)

    doCreatureSetLookDir(cid, SOUTH)
    doCreatureSetLookDir(summon, SOUTH)

    doSendMagicEffect(getThingPos(summon), CONST_ME_TELEPORT)
    exhaustion.set(cid, etele, cdtele)

return true
end

 

 

 

no piso que da a storage vc coloca esse script:

 

Spoiler

function onStepIn(cid, item, position, fromPosition)       --alterado v1.7 reformulado e melhorado ^^
if isSummon(cid) or ehMonstro(cid) then return false end     --alterado v1.8
local posis = { --{{pos}, storage, cor da roupa},
[25695] = {{x = 1004, y = 997, z = 13}, 6598754, 113},
[25696] = {{x = 965, y = 997, z = 13}, 6598755, 107},
[25697] = {{x = 973, y = 1065, z = 13}},
[25698] = {{x = 973, y = 1065, z = 13}},
}
local action = posis[item.actionid]
local out = getPlayerSex(cid) == 0 and 511 or 510
 
setPlayerStorageValue(cid, 111111111, 1)

                                                                           --alterado v1.9
if getPlayerStorageValue(cid, 17001) == 1 or getPlayerStorageValue(cid, 5700) >= 1 or getPlayerStorageValue(cid, 17000) == 1 then
   doPlayerSendCancel(cid, "You can't do that while ride/fly/or in a bike.")
   doTeleportThing(cid, fromPosition, false)  --alterado v1.6
   return true
end
if getPlayerStorageValue(cid, 52480) >= 1 then
   doPlayerSendCancel(cid, "You are already dueling!")
   doTeleportThing(cid, fromPosition, false)  --alterado v1.6
   return true
end
if posis[item.actionid] then
   if isInArray({25695, 25696}, item.actionid) then
      setPlayerStorageValue(cid, action[2], 1)
      doSetCreatureOutfit(cid, {lookType = out, lookBody = action[3], lookHead = action[3], lookLegs = action[3], lookFeet = action[3]}, -1)
   else
      setPlayerStorageValue(cid, 6598754, -1)
      setPlayerStorageValue(cid, 6598755, -1)
      doRemoveCondition(cid, CONDITION_OUTFIT)
   end
   doTeleportThing(cid, getClosestFreeTile(cid, action[1]), false)  
elseif item.actionid == 24158 then
   if getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then
      doPlayerSendCancel(cid, "You can't do that while is in battle!")
      doTeleportThing(cid, fromPosition, false)
   end
end
   
return true
end

 

e no script do teleporte coloque esse:

 

Spoiler

local poke = {"Shiny Xatu", "Bronzong", "Mine Mewtwo", "Chimecho", "Bronzor", "Claydol", "Grumpig", "Shiny Slowking", "Sua Ralts", "Gardevoir", "Seu Ralts", "Seu Kirlia", "Gallade", "Sua Kirlia", "Jynx", "Shiny Jynx", "Slowking", "Slowbro", "Exeggutor", "Shiny Mr. Mime", 'Mew', 'Mewtwo', 'Abra', 'Kadabra', 'Alakazam', 'Drowzee', 'Hypno', 'Mr. Mime', 'Porygon', 'Shiny Abra', 'Shiny Alakazam', 'Shiny Hypno', 'Porygon2'}  --alterado v1.9
local etele = 9499
local cdtele = 300
local config = {
premium = false, -- se precisa ser premium account (true or false)
battle = true    -- se precisa estar sem battle (true). Se colocar false, poderá usar teleport no meio de batalhas
}
local places = {
[1] = {name = "Saffron", id = 1, sto = 897530},
[2] = {name = "Cerulean", id = 2, sto = 897531},
[3] = {name = "Lavender", id = 3, sto = 897532},
[4] = {name = "Fuchsia", id = 4, sto = 897533},
[5] = {name = "Celadon", id = 5, sto = 897534},
[6] = {name = "Viridian", id = 6, sto = 897535},  --alterado v1.7
[7] = {name = "Vermilion", id = 7, sto = 897536},
[8] = {name = "Pewter", id = 8, sto = 897537},          
[9] = {name = "Pallet", id = 9},
[10] = {name = "Cinnabar", id = 10, sto = 897538},
[11] = {name = "Snow", id = 11, sto = 897539},
[12] = {name = "Golden", id = 14, sto = 897540},
[13] = {name = "Ascordbia", id = 15, sto = 8975410},
[14] = {name = "Hammlin", id = 16, sto = 8975420},
[15] = {name = "Shamouti", id = 17, sto = 8975430},
}
function onSay(cid, words, param)
if not getPlayerStorageValue(cid, 111111111) == 1 then
    if #getCreatureSummons(cid) == 0 then
        doPlayerSendCancel(cid, "You need a pokemon to use teleport.")
    return true
    end
    if not isInArray(poke, getCreatureName(getCreatureSummons(cid)[1])) then
    return 0
    end
    
    if getPlayerStorageValue(cid, 22545) == 1 then      --golden arena
       doPlayerSendCancel(cid, "You can't do that while the golden arena!")
    return true
    end
    
    if getPlayerStorageValue(cid, 212124) >= 1 then         --alterado v2.6
       return doPlayerSendCancel(cid, "You can't do it with a pokemon with mind controlled!")
    end
    if getPlayerStorageValue(cid, 52480) >= 1 then
       return doPlayerSendCancel(cid, "You can't do it while a duel!")  --alterado v2.6
    end
    
    if exhaustion.get(cid, etele) and exhaustion.get(cid, etele) > 0 then
        local tempo = tonumber(exhaustion.get(cid, etele)) or 0
        local min = math.floor(tempo)
        doPlayerSendCancel(cid, "Your pokemon is tired, wait "..getStringmytempo(tempo).." to teleport again.")
    return true
    end
    if config.premium and not isPremium(cid) then
        doPlayerSendCancel(cid, "Only premium members are allowed to use teleport.")
    return true
    end
    if config.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
        doPlayerSendCancel(cid, "Your pokemon can't concentrate during battles.")
    return true
    end
    if (param == '') then
        local str = ""
        str = str .. "Places to go :\n\nHouse\n"
            for a = 1, #places do
                str = str..""..places[a].name.."\n"
            end
        doShowTextDialog(cid, 7416, str)
    return true
    end
    local item = getPlayerSlotItem(cid, 8)
    local nome = getPokeballName(item.uid)
    local summon = getCreatureSummons(cid)[1]
    local lastppos = getThingPos(cid)
    local lastspos = getThingPos(summon)
    local telepos = {}
    local myplace = ""
    local townid = 0
    if string.lower(param) == "house" then
        if not getHouseByPlayerGUID(getPlayerGUID(cid)) then
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You don't own a house.")
        return true
        end
        telepos = getHouseEntry(getHouseByPlayerGUID(getPlayerGUID(cid)))
        myplace = "our home"
    else
        for x = 1, #places do
            if string.find(string.lower(places[x].name), string.lower(param)) then
                townid = places[x].id
                myplace = places[x].name
            end
        end
        if myplace == "" then
            doPlayerSendCancel(cid, "That place doesn't exist.")
        return true
        end
    end
    if myplace ~= "" and townid > 0 then
        telepos = getTownTemplePosition(townid)
    end
    if getDistanceBetween(getThingPos(cid), telepos) <= 15 then
        doPlayerSendCancel(cid, "You are too near to the place you want to go!")
    return true
    end
    doSendMagicEffect(getThingPos(summon), 29)
    doSendMagicEffect(getThingPos(cid), 29)
    doTeleportThing(cid, telepos, false)
    local pos2 = getClosestFreeTile(cid, getPosByDir(getThingPos(cid), SOUTH))
    doTeleportThing(summon, pos2, false)
    doSendMagicEffect(getThingPos(cid), 29)
    doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1)
    doCreatureSay(cid, ""..nome..", teleport to "..myplace.."!", 1, false, 0, lastppos)
    doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER)
    doCreatureSay(summon, "TELEPORT!", TALKTYPE_MONSTER, false, 0, lastspos)
    doCreatureSetLookDir(cid, SOUTH)
    doCreatureSetLookDir(summon, SOUTH)
    doSendMagicEffect(getThingPos(summon), CONST_ME_TELEPORT)
    exhaustion.set(cid, etele, cdtele)
    
    else
    
    doPlayerSendCancel(cid, "para teleportar saia da zona PVP")

end
return true
end

 

agora você vai ter que colocar um TP que tira o player do pvp e agora vc vai em movements e crie um arquivo chamado de pvpsto.lua e dentro coloque esse script:

Spoiler

local tp = {x=, y=, z=} -- posição do templo


function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition)
doTeleportThing(cid, tp)
setPlayerStorageValue(cid, 111111111, 2)
return true
end

 

a tag vai ser:

 

<movevent type="StepIn" actionid="111111" event="script" value="pvpsto.lua"/>

 

 

agora o actionId coloque no portal que tira o player da zona pvp para que a storage seja modificada e assim o player poder teleportar

Postado
  • Autor

obrigado por ajudar mas mechendo no script encontrei um jeito mais simples
no script do teleport apenas adicionei isso  que é as storages que o script do pvp dá

    if getPlayerStorageValue(cid, 6598754) >= 1 then         --alterado v2.6
       return doPlayerSendCancel(cid, "voce nao pode fazer isso!")
    end
    if getPlayerStorageValue(cid, 6598755) >= 1 then         --alterado v2.6
       return doPlayerSendCancel(cid, "voce nao pode fazer isso!")
    end

Postado
33 minutos atrás, wevertonvrb disse:

obrigado por ajudar mas mechendo no script encontrei um jeito mais simples
no script do teleport apenas adicionei isso  que é as storages que o script do pvp dá

    if getPlayerStorageValue(cid, 6598754) >= 1 then         --alterado v2.6
       return doPlayerSendCancel(cid, "voce nao pode fazer isso!")
    end
    if getPlayerStorageValue(cid, 6598755) >= 1 then         --alterado v2.6
       return doPlayerSendCancel(cid, "voce nao pode fazer isso!")
    end

sim é mais simples ^^ eu pensei assim mas sei la

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo