Ir para conteúdo

[Action] Magic Teleport'


Posts Recomendados

Bom galera, vim trazer pra vcs um script criado POR MIM, (é um dos meus primeiros)...

 

E reparado por Kydrai... ' :thumbsupsmiley:

 

Ele e um 'Teleport Magico' , que quando usado, irá teleportar o player para sua 'townId' ou para cidade principal, onde vc colocará as cordenadas...

 

Então Vamos la:

 

 

 

--[[ SCRIPT BY: MarcelloMkez ]]

function onUse(cid, item, pos, item2, topos)

config = {

ptemp ="no",      --[[ Teleportar para ciade principal  "yes ou no". ]]
townp ="yes",      --[[ Teleportar para Cidade onde o player mora,  "yes ou no". ]]
rmvitem ="yes",      --[[ Remover item quando for usado?  "yes ou no". ]]
vip ="no",             --[[ Precisa ser Premium Account para usar o item?  "yes ou no" ]]
batlle ="yes",            --[[ Precisa estar sem Batlle para usar o item? "yes ou no "]] 
possibilidade = 10 ,         --[[ Possibilidade do player ser teleportado em porcentagem. ]] 
princ = {x=100, y=40, z=7},      --[[ Posição da Cidade Principal. ]]
pz ="yes"                  --[[ Precisa estar em Protection Zone para Usar o Magic Teleport? "yes ou no"]]
}

local p = getPlayerTown(cid)
local townpos = getTownTemplePosition(p)
local cityname = getTownName(p)
local chance = math.random(1, 100)  --[[ de 1 a 100 % de chance, Não mude. ]]

local msgp ="~ "..getPlayerName(cid).." Foi Teleportado para Cidade Principal. ~"  
local msgt ="~ "..getPlayerName(cid).." Foi Teleportado para "..cityname..". ~"   
local fail ="'O Teleport Falhou.'" 

if(config.vip =="yes") and not isPremium(cid) then
doPlayerSendCancel(cid, "Você precisa ser Premium Account Para usar o Teleport Magico.")
return 1

elseif (config.batlle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendCancel(cid, "Você precisa estar sem o batlle para usar o Teleport Magico.")
return 1

elseif (config.pz =="yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendCancel(cid, "Você precisa estar em Protection Zone para usar o Teleport Magico.")
return 1

elseif (config.ptemp =="yes" and config.townp =="yes") then
doPlayerPopupFYI(cid, "'ERROR': Não é Possivel teleportar para duas cidades ao mesmo tempo.")  return 1
--[[ Menssagem quando o player marcar 'yes' para as duas opçoes de teleport. ]]

elseif chance >= 1 and chance <= config.possibilidade then
doCreatureSay(cid, fail, TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
return 1

elseif(config.ptemp == "yes") then
doTeleportThing(cid, config.princ)
doCreatureSay(cid, msgp, TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
return 1

elseif(config.townp == "yes") then
doTeleportThing(cid, townpos)
doCreatureSay(cid, msgt, TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
return 1
end

if(config.rmvitem =="yes") then
doRemoveItem(item.uid, 1)
end

return TRUE


end

 

Tag: <action itemid="2349" script="teleportmagico.lua"/>

 

Vermelho: Id do item quer vc quer usar como Teleport Magico.

 

Bom como ta explicando ali no script...

 

Qualquer duivida poste e irei ajuda-los...

 

Muito Obrigado Galera

Espero que gostem!!!

 

o/

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

Simplesmente... Perfeito...

 

Coloque mais uma opção...

 

Exemplo, "Usado apenas em Protection Zone "yes or no".

 

Pois eu quero esses itens para vip, e toda area hunt teria tipo um tapete com PZ, sendo que era só eles pisarem e usarem...

 

Se conseguir eu agradeço, valeu...

 

-- Fail → Não entendi a parte da possibilidade, se eu colocar 2, o que acontece?

 

+1 Rep :thumbsupsmiley:

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

--[[ SCRIPT BY: MarcelloMkez ]]

function onUse(cid, item, pos, item2, topos)

config = {

ptemp ="no",      --[[ Teleportar para ciade principal  "yes ou no". ]]
townp ="yes",      --[[ Teleportar para Cidade onde o player mora,  "yes ou no". ]]
rmvitem ="yes",      --[[ Remover item quando for usado?  "yes ou no". ]]
vip ="no",             --[[ Precisa ser Premium Account para usar o item?  "yes ou no" ]]
batlle ="yes",            --[[ Precisa estar sem Batlle para usar o item? "yes ou no "]] 
possibilidade = 1 ,          --[[ Possibilidade do player ser teleportado em porcentagem. ]] 
princ = {x=100, y=40, z=7},      --[[ Posição da Cidade Principal. ]]
pz ="yes"                 --[[ Precisa estar em Protectiopn Zone para ser teleportado? ]]
} 

local p = getPlayerTown(cid)
local townpos = getTownTemplePosition(p)
local cityname = getTownName(p)
local chance = math.random(1, 5)  --[[ de 1 a 5 % de chance, Não mude. ]]

local msgp ="~ "..getPlayerName(cid).." Foi Teleportado para Cidade Principal. ~"  
local msgt ="~ "..getPlayerName(cid).." Foi Teleportado para "..cityname..". ~"   
local fail ="'O Teleport Falhou.'" 

if(config.vip =="yes") and not isPremium(cid) then
doPlayerSendCancel(cid, "Você precisa ser Premium Account Para usar o Teleport Magico.")

elseif (config.batlle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendCancel(cid, "Você precisa estar sem o batlle para usar o Teleport Magico.")

elseif (config.ptemp =="yes" and config.townp =="yes") then
doPlayerPopupFYI(cid, "'ERROR', Não é Possivel teleportar para duas cidades ao mesmo tempo.")  --[[ Menssagem quando o player marcar 'yes' para as duas opçoes de teleport. ]]

elseif (config.pz =="yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendCancel(cid, "você precisa estar em Protection Zone pra ser Teleportado.")

elseif chance >= 1 and chance <= config.possibilidade then
doCreatureSay(cid, fail, TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)


elseif(config.ptemp == "yes") then
doTeleportThing(cid, config.princ)
doCreatureSay(cid, msgp, TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)

elseif(config.townp == "yes") then
doTeleportThing(cid, townpos)
doCreatureSay(cid, msgt, TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)

end

if(config.rmvitem =="yes") then
doRemoveItem(item.uid, 1)
end

return TRUE


end 

 

'

 

Tenta assim e me fala se funcionou...

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

Obrigado, irei testar aqui e edito...

 

[16/07/2010 15:12:17] [Error - LuaScriptInterface::loadFile] data/actions/scripts/tpscroll.lua:14: '}' expected (to close '{' at line 5) near 'pz'

[16/07/2010 15:12:17] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/tpscroll.lua)

[16/07/2010 15:12:17] data/actions/scripts/tpscroll.lua:14: '}' expected (to close '{' at line 5) near 'pz'

:confused: Editado por TheSleeper
Link para o comentário
Compartilhar em outros sites

só falto uma virgula rs

 

--[[ SCRIPT BY: MarcelloMkez ]]

function onUse(cid, item, pos, item2, topos)

config = {

ptemp ="no", --[[ Teleportar para ciade principal "yes ou no". ]]
townp ="yes", --[[ Teleportar para Cidade onde o player mora, "yes ou no". ]]
rmvitem ="yes", --[[ Remover item quando for usado? "yes ou no". ]]
vip ="no", --[[ Precisa ser Premium Account para usar o item? "yes ou no" ]]
batlle ="yes", --[[ Precisa estar sem Batlle para usar o item? "yes ou no "]] 
possibilidade = 1 , --[[ Possibilidade do player ser teleportado em porcentagem. ]] 
princ = {x=100, y=40, z=7}, --[[ Posição da Cidade Principal. ]]
pz ="yes" --[[ Precisa estar em Protectiopn Zone para ser teleportado? ]]
} 

local p = getPlayerTown(cid)
local townpos = getTownTemplePosition(p)
local cityname = getTownName(p)
local chance = math.random(1, 5) --[[ de 1 a 5 % de chance, Não mude. ]]

local msgp ="~ "..getPlayerName(cid).." Foi Teleportado para Cidade Principal. ~" 
local msgt ="~ "..getPlayerName(cid).." Foi Teleportado para "..cityname..". ~" 
local fail ="'O Teleport Falhou.'" 

if(config.vip =="yes") and not isPremium(cid) then
doPlayerSendCancel(cid, "Você precisa ser Premium Account Para usar o Teleport Magico.")

elseif (config.batlle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendCancel(cid, "Você precisa estar sem o batlle para usar o Teleport Magico.")

elseif (config.ptemp =="yes" and config.townp =="yes") then
doPlayerPopupFYI(cid, "'ERROR', Não é Possivel teleportar para duas cidades ao mesmo tempo.") --[[ Menssagem quando o player marcar 'yes' para as duas opçoes de teleport. ]]

elseif (config.pz =="yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendCancel(cid, "você precisa estar em Protection Zone pra ser Teleportado.")

elseif chance >= 1 and chance <= config.possibilidade then
doCreatureSay(cid, fail, TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)


elseif(config.ptemp == "yes") then
doTeleportThing(cid, config.princ)
doCreatureSay(cid, msgp, TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)

elseif(config.townp == "yes") then
doTeleportThing(cid, townpos)
doCreatureSay(cid, msgt, TALKTYPE_ORANGE_1)
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)

end

if(config.rmvitem =="yes") then
doRemoveItem(item.uid, 1)
end

return TRUE


end 

Link para o comentário
Compartilhar em outros sites

@Vodkart

 

isso vodkart vlww caraa sdkaokodsakodsads

 

eu sempre esqueco dessa virgula ;x

 

abraço

___________________________________________________

 

@TheSleeper

 

-- Fail → Não entendi a parte da possibilidade, se eu colocar 2, o que acontece?

 

 

possibilidade = 1 ,

 

possibilidade = a porcentagem, ou seja, o numero de chance que tem do teleport fuincionar, de 1 a 5 % igual ta aki :

 

local chance = math.random(1, 5) --[[ de 1 a 5 % de chance, Não mude. ]]

 

Ou seja, o teleport tem Umaa chance de funcionar , de 1 a 5% ...

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

  • 3 weeks later...
  • 1 month later...

Correçao pra vc :) :

--[[ SCRIPT BY: MarcelloMkez ]]

 

function onUse(cid, item, pos, item2, topos)

 

config = {

 

ptemp ="no", --[[ Teleportar para ciade principal "yes ou no". ]]

townp ="yes", --[[ Teleportar para Cidade onde o player mora, "yes ou no". ]]

rmvitem ="yes", --[[ Remover item quando for usado? "yes ou no". ]]

vip ="no", --[[ Precisa ser Premium Account para usar o item? "yes ou no" ]]

batlle ="yes", --[[ Precisa estar sem Batlle para usar o item? "yes ou no "]]

possibilidade = 1 , --[[ Possibilidade do player ser teleportado em porcentagem. Exemplo:1 = Certeza de Teleport! ]]

princ = {x=100, y=40, z=7}, --[[ Posição da Cidade Principal. ]]

pz ="yes" --[[ Precisa estar em Protectiopn Zone para ser teleportado? ]]

}

 

local p = getPlayerTown(cid)

local townpos = getTownTemplePosition(p)

local cityname = getTownName(p)

local chance = math.random(1, 5) --[[ de 1 a 5 % de chance, Não mude. ]]

 

local msgp ="~ "..getPlayerName(cid).." Foi Teleportado para Cidade Principal. ~"

local msgt ="~ "..getPlayerName(cid).." Foi Teleportado para "..cityname..". ~"

local fail ="'O Teleport Falhou.'"

 

if(config.vip =="yes") and not isPremium(cid) then

doPlayerSendCancel(cid, "Você precisa ser Premium Account Para usar o Teleport Magico.")

 

elseif (config.batlle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then

doPlayerSendCancel(cid, "Você precisa estar sem o batlle para usar o Teleport Magico.")

 

elseif (config.ptemp =="yes" and config.townp =="yes") then

doPlayerPopupFYI(cid, "'ERROR', Não é Possivel teleportar para duas cidades ao mesmo tempo.") --[[ Menssagem quando o player marcar 'yes' para as duas opçoes de teleport. ]]

 

elseif (config.pz =="yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then

doPlayerSendCancel(cid, "você precisa estar em Protection Zone pra ser Teleportado.")

 

elseif chance >= 1 and chance <= config.possibilidade then

doCreatureSay(cid, fail, TALKTYPE_ORANGE_1)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

 

 

elseif(config.ptemp == "yes") then

doTeleportThing(cid, config.princ)

doCreatureSay(cid, msgp, TALKTYPE_ORANGE_1)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)

 

elseif(config.townp == "yes") then

doTeleportThing(cid, townpos)

doCreatureSay(cid, msgt, TALKTYPE_ORANGE_1)

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)

 

end

 

if(config.rmvitem =="yes") then

doRemoveItem(item.uid, 1)

end

 

return TRUE

 

 

end

 

Espero ter Ajudado!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...