Ir para conteúdo
  • Cadastre-se

(Resolvido)Talkaction Teleport


Ir para solução Resolvido por Caronte,

Posts Recomendados

Olá! Muito bom dia (tarde)(noite) a todos! Então, estou precisando de um comando, exemplo !teleportar , que faça o player teleportar para um determinado local. Eu fiz um script e obtive uma parte do sucesso:

 

function onSay(cid, words, param)
pos = {x=32369, y=32241, z=7}
doSendMagicEffect(getPlayerPosition(cid),53)
doPlayerSendCancel(cid,"Boa Sorte!")
doTeleportThing(cid,pos)
end
 
 
 
Porém, eu preciso que o player só teleporte se ESTIVER em uma área protect zone! Uma área pz! E um level restrito!
 
Será que alguém pode me ajudar? Muito obrigado!
Editado por alexxjuniorr (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução
function onSay(cid, words, param)

local pos = {x=32369, y=32241, z=7}
local level = 8

    if getTileInfo(getPlayerPosition(cid)).protection then
      if getPlayerLevel(cid) <= level then
     doSendMagicEffect(getPlayerPosition(cid),53)
     doPlayerSendTextMessage(cid, "Boa Sorte!")
     doTeleportThing(cid,pos)
    else
    doPlayerSendCancel(cid,"You dont have level.")
   end
   else  
  doPlayerSendCancel(cid,"You need stay in a pz zone.")
end
return true 
end

EDIT: Corrigi um erro.

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

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

 

function onSay(cid, words, param)

local pos = {x=32369, y=32241, z=7}
local level = 8

    if getTileInfo(getPlayerPosition(cid)).protection then
      if getPlayerLevel(cid) <= level then
     doSendMagicEffect(getPlayerPosition(cid),53)
     doPlayerSendTextMessage(cid, "Boa Sorte!")
     doTeleportThing(cid,pos)
    else
    doPlayerSendCancel(cid,"You dont have level.")
   end
   else  
  doPlayerSendCancel(cid,"You need stay in a pz zone.")
end
return true 
end

EDIT: Corrigi um erro.

 

Olá meu amigo, funcionou perfeitamente, muito obrigado! Rep +!

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Aproveitando este post, tem como colocar dupla função ? Tipo só poderar usar se estiver sem Batle ou em Protection Zone ?

Necessito que pudesse usar em ambas as funções.

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

Aproveitando este post, tem como colocar dupla função ? Tipo só poderar usar se estiver sem Batle ou em Protection Zone ?

Necessito que pudesse usar em ambas as funções.

Dei 1 editada, veja se é assim que você quer:

function onSay(cid, words, param)
local config = {
pos = {x=160, y=54, z=7},
level = 16,
}


if getCreatureCondition(cid, CONDITION_INFIGHT) == FALSE then
if getPlayerLevel(cid) <= config.level then
     doSendMagicEffect(getPlayerPosition(cid),53)
     doTeleportThing(cid,config.pos)
 elseif getTileInfo(getPlayerPosition(cid)).protection == true then
      if getPlayerLevel(cid) <= config.level then
     doSendMagicEffect(getPlayerPosition(cid),53)
     doTeleportThing(cid,config.pos)
    else
    doPlayerSendCancel(cid,"You dont have level.")
  end
   else  
  doPlayerSendCancel(cid,"You need stay in a pz zone,")
  end
  else 
    doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce nao pode teleportar com battle.")
  end
return true 
end

@Edit, tirei a config.battle por que se colocasse false bugava o script inteiro, mais acho que nem precisa dela.

Editado por Wakon (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
function onSay(cid, words, param)

local pos = {x=32369, y=32241, z=7}
local level = 8

	if not getCreatureCondition(cid, CONDITION_INFIGHT) then 
		if getTileInfo(getPlayerPosition(cid)).protection then
			if getPlayerLevel(cid) <= level then
				doSendMagicEffect(getPlayerPosition(cid),53)
				doPlayerSendTextMessage(cid, "Boa Sorte!")
				doTeleportThing(cid,pos)
			else
				doPlayerSendCancel(cid,"You dont have level.")
			end
		else  
			doPlayerSendCancel(cid,"You need stay in a pz zone.")
		end
	else
		doPlayerSendCancel(cid, "You can not be in battle")
	end
	
return true 
end

EQD4Qy4.gif

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