Ir para conteúdo
  • 0

TELEPORTE QUE TELEPORTA PLAYER VIP


guilherme Silva

Pergunta

Posts Recomendados

  • 0
  • Diretor

Você quer por comando, ou ao entrar em um TP? Caso seja TP...

 

Em movements/scripts crie um arquivo e cole isso dentro:

local config = {
pos = {x = 999, y = 999, z = 7},
level = 1,
msgWelcome = "Bem-vindo!",
msgCancel = "Apenas jogadores VIPs podem passar aqui!"
}
function onStepIn(cid, item, position, fromPosition)
    if isPremium(cid) and getPlayerLevel(cid) >= config.level then
        doTeleportThing(cid, config.pos)
        doPlayerSendTextMessage(cid, 22, config.msgWelcome)
        doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
        else
        doTeleportThing(cid, fromPosition, true)
        doPlayerPopupFYI(cid, config.msgCancel)    
        doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)    
    end    
return true
end

TAG:

<movevent type="StepIn" actionid="25640" event="script" value="arquivo.lua" />

Só alterar a POS pra onde irá levar e por o actionID: 25640 no teleport.

Editado por nedroesdoksdja
Link para o comentário
Compartilhar em outros sites

  • 0

Quero por comando tipo !teleporte e o nome da cidade eu quero que eu possa criar um nome da cidade, tipo assim no meu serve ja tem o tele.lua que quando voce fala !teleporte nome da cidade voce teleporta para la, mais não tem para cidades vip então eu queria queria um nome na cidade vip que quando o player vip falasse !teleporte nome da cidade vip teleportasse para onde eu colocaria as cordenadas

Link para o comentário
Compartilhar em outros sites

  • 0
17 minutos atrás, guilherme Silva disse:

Quero por comando tipo !teleporte e o nome da cidade eu quero que eu possa criar um nome da cidade, tipo assim no meu serve ja tem o tele.lua que quando voce fala !teleporte nome da cidade voce teleporta para la, mais não tem para cidades vip então eu queria queria um nome na cidade vip que quando o player vip falasse !teleporte nome da cidade vip teleportasse para onde eu colocaria as cordenadas

manda o script tele.lua + o nome da city

Link para o comentário
Compartilhar em outros sites

  • 0

Eu quero que o nome da city seja "Small" e so player  vips conseguem teleporta para essa city

local poke = {"Shiny Xatu", "Bronzong", "Shiny Bronzong", "Shiny Slowking", "Ralts", "Kirlia", "Gardevoir", "Shiny Ralts", "Shiny Gardevoir", "Jynx", "Shiny Jynx", "Xatu", "Natu", "Exeggutor", "Slowking", "Slowbro", "Shiny Mr. Mime", 'Mew', 'Mewtwo', 'Abra', 'Kadabra', 'Alakazam', 'Drowzee', 'Hypno', 'Mr. Mime', 'Porygon', 'Shiny Abra', 'Shiny Alakazam', 
'Shiny Hypno', 'Mega Medicham', 'Mega Alakazam', 'Mega Gallade', 'Mega Slowbro', 'Mega Gardevoir', 'Porygon2'}  --alterado v1.9

local etele = 9499
local cdtele = 1

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 = 12, sto = 897540},
[13] = {name = "Ascordbia", id = 13, sto = 8975410},
[14] = {name = "Hammlin", id = 14, sto = 8975420},
[15] = {name = "Shamouti", id = 15, 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, ?
    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

Link para o comentário
Compartilhar em outros sites

  • 0
  • Diretor
--[[
Teleport System
Desenvolvido por Vodkart
Versão : 1.0
]]--

--[[ Configuração ]]--

local time = 5 -- tempo que demora para ser teleportado		

local teleports = { -- ["nome do lugar"] que poderá ir
	["small"] = {pos = {x=64, y=197, z=7}, premium = true}, -- posição que irá e se precisa de premium para ir!
}

--[[ Functions ]]--
function doTeleportWithDelay(cid, pos, delay) -- by vodkart
	if not isCreature(cid) then return LUA_ERROR end
	if delay > 0 then
		if getCreatureCondition(cid, CONDITION_INFIGHT) then
			setPlayerStorageValue(cid, 548745, 0) 
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O teletransporte foi desativado pois você entrou em estado de combate.") return true
		end
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, ""..delay.." segundos para se teletransportar.")
		addEvent(doTeleportWithDelay, 1000, cid, pos, delay-1)
	else
		doTeleportThing(cid, pos)
		doSendMagicEffect(getPlayerPosition(cid), 10)
	end
end
function onSay(cid, words, param)
	local z = string.explode(param:lower(), ",")
	if getCreatureCondition(cid, CONDITION_INFIGHT) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este comando só pode ser usado fora de combate.") return true
	elseif getPlayerStorageValue(cid, 548745) - os.time() > 0 then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Aguarde, você está em processo de teletransporte.") return true
	end
	if not teleports[z[1]] then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, este lugar não existe, lugares disponíveis: small.") return true
	elseif teleports[z[1]].premium == true and not isPremium(cid) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você precisa ser premium para ir para este lugar.") return true 	
	end	
	setPlayerStorageValue(cid, 548745, os.time()+time)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "{Teleport} Ativado.") 
	doTeleportWithDelay(cid, teleports[z[1]].pos, time) return true
end

TAG:

<talkaction words="!teleporte" event="script" value="tp_system.lua"/>

 

Link para o comentário
Compartilhar em outros sites

  • 0

Não funcionou

6 horas atrás, Marshmello disse:

mais primeiro vc tem que cria a cidade no mapa pra eu por ela no teleport , se n tiver seu server vai dar crash com os players em posição sem nada

Eu achei o id pensei que não tinha mais ja tinha criado o id da cidade e 18

Link para o comentário
Compartilhar em outros sites

  • 0
function  onSay(cid, words, param, channel)
local cidades = {
["NOME DA CIDADE VIP"] = {pos = {x=1054,y=1050,z=7}}, -- POSICAO DA CIDADE VIP
["NOME DA CIDADE VIP"] = {pos = {x=1060,y=903,z=7}}, -- POSICAO DA CIDADE VIP
["NOME DA CIDADE VIP"] = {pos = {x=1204,y=1046,z=7}}, -- POSICAO DA CIDADE VIP
["NOME DA CIDADE VIP"] = {pos = {x=1122,y=1449,z=7}}, -- POSICAO DA CIDADE VIP
["NOME DA CIDADE VIP"] = {pos = {x=862,y=1035,z=6}}, -- POSICAO DA CIDADE VIP
["NOME DA CIDADE VIP"] = {pos = {x=575,y=1143,z=7}}, -- POSICAO DA CIDADE VIP
}

local teleporta = cidades[param]
if(param == "") then
doPlayerSendCancel(cid, "digite o nome da cidade.")
return true
end


if(isPlayerPzLocked(cid) == false) and isPremium(cid) == true then
doTeleportThing(cid, teleporta.pos)
doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
doPlayerSendTextMessage(cid, 22, "Voce foi teleportado para ".. param ..".")
else
doPlayerSendCancel(cid, "Voce nao e premium account ou esta em batalha")
end
return true
end
<talkaction words="!tp" event="script" value="teleport.lua"/>

Pelo jeito você usa sistema de premium mesmo, usa esse script então, é so tu configurar as coordenadas de cada cidade e o nome, ai você digita in game !tp nome da cidade vip

Editado por Kuro o Shiniga
Link para o comentário
Compartilhar em outros sites

  • 0

ERROR

 

 cannot open data/talkactions/scripts/broadcastPlayer.lua: No such file or directory
[21/02/2019 23:23:18] [Error - LuaScriptInterface::loadFile] cannot open data/talkactions/scripts/teleport.lua: No such file or directory
[21/02/2019 23:23:18] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/teleport.lua)
[21/02/2019 23:23:18] cannot open data/talkactions/scripts/teleport.lua: No such file or directory

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...