VO
talkaction

[ Talkaction ]Teleport Por Talk. Para Vip

Por Vodkart, 09 de jun. de 2010 em Actions e Talkactions

script
77
18.5k
VodkartV
20 de fevereiro de 2012 às 17:10

@up

 

 

 

function onSay(cid, words, param)

local config = {
pz = true, -- players precisam estar em protection zone para usar? (true or false)
battle = true, -- players deve estar sem battle (true or false)
custo = true, -- se os teleport irão custa (true or false)
need_level = true, -- se os teleport irão precisar de level (true or false)
vip = true, -- se precisa ser vip account (true or false)
Need_Item = true, -- se precisa de item para usar
Item = 2123 -- ID do seu item 
}

--[[ Config lugares]]--
local lugar = {
["depot"] = { -- nome do lugar
pos = {x=129, y=54, z=6},level = 5,price = 1000},
["templo"] = { -- nome do lugar
pos = {x=160, y=54, z=7},level = 10, price = 2000},
["arena"] = { -- nome do lugar
pos = {x=125, y=351, z=9},level = 15,price = 3000},
["area vip"] ={ -- nome do lugar
pos = {x=280, y=87, z=4},level = 20,price = 4000}
}

--[[ Lista de Viagem (Não mexa) ]]--
if (param == "lista") then
local str = ""
str = str .. "lista de viagem :\n\n"
for name, pos in pairs(lugar) do
str = str..name.."\n"
end
str = str .. ""
doShowTextDialog(cid, 6579, str)
return TRUE
end


local a = lugar[param]
if not(a) then
doPlayerSendTextMessage(cid, 22, "desculpe,este lugar não existe")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return TRUE
elseif config.pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.")
return TRUE
elseif config.vip == true and isVip(cid) == FALSE then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players com VIP podem teleportar.")
return TRUE
elseif config.Need_Item == true and getPlayerItemCount(cid,config.Item) < 1 then
doPlayerSendCancel(cid,"Você não tem o item " .. getItemNameById(config.Item))
return TRUE
elseif config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.")
return TRUE
elseif config.need_level == true and getPlayerLevel(cid) < a.level then
doPlayerSendTextMessage(cid, 22, "Desculpe,Voce não tem level. voce precisa "..a.level.." level ou mais para ser teleportado.")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return TRUE
elseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE then
doPlayerSendTextMessage(cid, 22, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return TRUE
end
doTeleportThing(cid, a.pos)
doSendMagicEffect(a.pos, CONST_ME_TELEPORT)
doPlayerSendTextMessage(cid, 22, "" .. getPlayerName(cid) .. " foi teleportado para: \n " .. param .. ".")
return TRUE
end

 

 

LeoxtibiaL
22 de fevereiro de 2012 às 19:08

Vlw cara, funcionou direitinho! vc é fera =P Rep +

coyotestarkC
23 de fevereiro de 2012 às 00:45

Otimo parabens XD, daria REP+ se nao tivese alcançado o limit

muito util

AlexandreKGA
26 de fevereiro de 2012 às 16:49

Nossa eu estava procurando justamente isso rep++

5 meses depois...
delderwakkuD
11 de julho de 2012 às 23:47

Parabens, como sempre otimos scripts '-' +REP

2 semanas depois...
AlexandreKGA
21 de julho de 2012 às 23:04

Muito Bom,Estarei colocando em meu server

lukas13onL
23 de julho de 2012 às 11:18

Vodkart, será que seria possível fazer isso só que tipo

você seleciona o lugar e clica em ok e será teleportado, será possível isso no tibia?

VodkartV
23 de julho de 2012 às 13:38

se eu não me engano para dar o "ok" teria que fazer por c++

 

mas dá para fazer pelo texto sim, vc digita e vai teleportado

Nathan96N
23 de julho de 2012 às 13:47

Entra msn ai Thiago para você mi tirar uma duvida :p

lukas13onL
23 de julho de 2012 às 21:02

Hm se alguem fizesse por "OK" seria mto mais da hora a vida

HushUSHusHSUhsuHSU ' mais valeu pelo script REP+ !

Editado Julho 23 por HarpiaLOOK

\Mattheus ~*\
26 de julho de 2012 às 13:52

onde posso colocar storage só para meus vip ?

SkySevenS
26 de julho de 2012 às 14:16

Obrigado,pelo script estarei botando no meu servidor.

VodkartV
26 de julho de 2012 às 14:19

onde posso colocar storage só para meus vip ?

qual seu sistema vip?

\Mattheus ~*\
26 de julho de 2012 às 14:21

http://www.xtibia.com/forum/topic/133661-moveevent-action-perfect-vip-system-20/

 

Esse aqui, o meu storage: 13700 mesmo ..

VodkartV
26 de julho de 2012 às 14:40

storage 13700? blz

 

 

--[[script By Vodkart]]--

function onSay(cid, words, param)

local config = {
pz = true, -- players precisam estar em protection zone para usar? (true or false)
battle = true, -- players deve estar sem battle (true or false)
custo = true, -- se os teleport irão custa (true or false)
need_level = true, -- se os teleport irão precisar de level (true or false)
vip = true -- se precisa ser vip (true or false)
}

--[[ Config lugares]]--
local lugar = {
["depot"] = { -- nome do lugar
pos = {x=129, y=54, z=6},level = 5,price = 1000},
["templo"] = { -- nome do lugar
pos = {x=160, y=54, z=7},level = 10, price = 2000},
["arena"] = { -- nome do lugar
pos = {x=125, y=351, z=9},level = 15,price = 3000},
["area vip"] ={ -- nome do lugar
pos = {x=280, y=87, z=4},level = 20,price = 4000}
}

--[[ Lista de Viagem (Não mexa) ]]--
if (param == "lista") then
local str = ""
str = str .. "lista de viagem :\n\n"
for name, pos in pairs(lugar) do
str = str..name.."\n"
end
str = str .. ""
doShowTextDialog(cid, 6579, str)
return TRUE
end


local a = lugar[param]
if not(a) then
doPlayerSendTextMessage(cid, 22, "desculpe,este lugar não existe")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return TRUE
elseif config.pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.")
return TRUE
elseif config.vip == true and getPlayerStorageValue(cid, 13700) - os.time() <= 0 then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players vips podem teleportar.")
return TRUE
elseif config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.")
return TRUE
elseif config.need_level == true and getPlayerLevel(cid) < a.level then
doPlayerSendTextMessage(cid, 22, "Desculpe,Voce não tem level. voce precisa "..a.level.." level ou mais para ser teleportado.")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return TRUE
elseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE then
doPlayerSendTextMessage(cid, 22, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return TRUE
end
doTeleportThing(cid, a.pos)
doSendMagicEffect(a.pos, CONST_ME_TELEPORT)
doPlayerSendTextMessage(cid, 22, "" .. getPlayerName(cid) .. " foi teleportado para: \n " .. param .. ".")
return TRUE
end