DA

[ Resolvido ]Um Fly Diferente

Por davialves, 09 de mai. de 2010 em Scripts

otserv
tibia
11
4.4k
davialvesD
09 de maio de 2010 às 11:22

Olá, Novamente estou aqui.. :whistle:

Desta Vez eu queroo um Sistema fly Diferente

Só player's vip Poderão utilizar ele.

Exemplo : o player fala !fly temple

Feito Isso , o Player ira diretamente Para o templo... outro exemplo : !fly arena

Feito isso , O player ira diretamente para a arena...

aqui está a lista que eu quero , de onde o player vai voar

 

Para o depot - !fly depot

Para a arena - !fly arena

Para a area Vip - !fly viparea

Para o templo - !fly temple

 

ée issso... :D

TonynhT
09 de maio de 2010 às 12:17

Não sou um scripter expert.. mais sei o básico..

Creio que este script precisará das cordenadas.. (temple,arena...)

(x,y,z)

 

Creio que assim, ficará mais fácil de ser atendido.

Abraços.

guedes100G
09 de maio de 2010 às 12:43

vai em talkactions/script crie um arquivo.lua e renomeie para tps.lua

dentro coloque:

function onSay(cid, words, param)

 

-------------Config----------------

local places = {

["depot"] = {{x=129, y=54, z=6}, 1, TRUE, 2000, FALSE},

["templo"] = {{x=160, y=54, z=7}, 10, TRUE, 20, FALSE},

["arena"] = {{x=162, y=54, z=7}, 10, TRUE, 20, FALSE},

["area vip"] = {{x=163, y=54, z=7}, 10, TRUE, 20, FALSE}

}

-------------/Config----------------

local place = places[param]

if (param == "check") then

for name, pos in pairs(places) do

text = "Destino: "..name..", Level necessario: "..pos[2]..","

if (pos[5] == TRUE) then

text = text.." Voce pode usar estando PZ: SIM"

else

text = text.." Voce pode usar estando PZ: Não"

end

if (pos[3] == TRUE) then

text = text..", Cost: "..pos[4]..";"

end

doPlayerSendTextMessage(cid, 20, ""..text.."")

end

return TRUE

end

if not(place) then

doPlayerSendTextMessage(cid, 22, "desculpe, você não pode teleportar para lá")

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)

return TRUE

end

if (getPlayerLevel(cid) <= place[2]) then

doPlayerSendTextMessage(cid, 22, "Desculpe,Voce não tem level. voce precisa "..place[2].." level para ser teleportado.")

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)

return TRUE

end

if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then

doPlayerSendCancel(cid, "Você nao tem Vip account.")

return TRUE

end

 

if (place[5] == TRUE) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then

doPlayerSendTextMessage(cid, 22, "Você nao pode ser Teleportado com PZ.")

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)

return TRUE

end

if (place[3] == TRUE) and (doPlayerRemoveMoney(cid, place[4]) == FALSE) then

doPlayerSendTextMessage(cid, 22, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..place[4].." gp para ser teleportado.")

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)

return TRUE

end

doTeleportThing(cid, place[1])

doSendMagicEffect(place[1], CONST_ME_TELEPORT)

doPlayerSendTextMessage(cid, 22, "Voce foi teleportado para \n "..param..".")

return TRUE

end

 

Verde: Coordenadas dos lugares

Vermelho: Level que precisa para poder usar

azul: Custo em Gps

laranja: se pode teleportar estando PZ.

 

 

 

em talkactions.xml adicione a tag:

 

<talkaction words="!fly" hide="yes" event="script" value="tps.lua"/>

 

comandos:

!fly check -checka oque precisa para ser teleportado

!fly nome_da_area -comando que é usado para ser teleportado

exemplo:

!fly depot

Editado Maio 9 por Nicekid

davialvesD
09 de maio de 2010 às 13:13

vai em talkactions/script crie um arquivo.lua e renomeie para tps.lua

dentro coloque:

 

Verde: Coordenadas dos lugares

Vermelho: Level que precisa para poder usar

azul: Custo em Gps

laranja: se pode teleportar estando PZ.

 

 

 

em talkactions.xml adicione a tag:

 

 

 

comandos:

 

exemplo:

 

legal, funfo :D'

 

queria adicionar uma coisa..

Exemplo: o player vip fala !fly depot, ele sera transportado para o depot e tal..

 

 

ai Toda vez que fizesse isso, eu queria que aparecesse um broadcast assim :

(NOME PLAYER) has flown to depot using !fly

Editado Maio 9 por davialves

guedes100G
09 de maio de 2010 às 13:25

só trocar esse linha:

 

doPlayerSendTextMessage(cid, 22, "Voce foi teleportado para \n "..param..".")

 

por essa:

 

doBroadcastMessage("" .. getPlayerName(cid) .. " has flown to: \n " .. param .. "", MESSAGE_STATUS_WARNING)
davialvesD
09 de maio de 2010 às 13:42

só trocar esse linha:

 

 

 

por essa:

 

Valeu cara , Funfo 100% Muito Obrigado (; .... POREM

os player ta usando ele mesmo estando fora de pz

eeu quero que eles usam só em Area pz..

Editado Maio 9 por davialves

Henrique MouraH
09 de maio de 2010 às 14:54

Tópico fechado.

1 mês depois...
brunin86B
19 de junho de 2010 às 21:05

qual versão é o seu ot @davialves ?

VodkartV
19 de junho de 2010 às 22:51

tópico era pra tar fechado eu ja tinha resolvido esse...

 

nova versao do script aki:

 

http://www.xtibia.com/forum/topic/134593-talkaction-teleport-por-talk-para-vip/

Editado Junho 19 por Vodkart

19 de junho de 2010 às 23:26

Movido para a seção Pedidos Entregues.

5 meses depois...
ericbrasilE
26 de novembro de 2010 às 10:43

Tem como fazer esse mesmo script mas sendo que o player prescisa ter um certo item.. e toda vez que ele fala por exemplo.. > !fly Temple < ai o item desaparecesse... Tem como?