Ir para conteúdo

Troca O Templo (Todos Tipos)


Vilden

Posts Recomendados

Olá galera hoje vou colocar aqui 3 scripts muito boas, não sei se já tem aqui no Xtibia

mais estarei postando elas do mesmo jeito, as 3 são de autoria minha.

 

 

Legenda:

Primeiro ~> Trocando templo por Tele

Segundo ~> Trocando templo por Comando

Terceiro ~> Trocando templo clicando em estátua

 

* Todas as scripts são simples e não tem nenhuma ação a não ser mudar de templo e aparecer tal mensagem.

 

 

 

 

Primeiro - Troca de Templo por Tele

Explicação: Ao entrar no tele você muda o templo do character para qual informa na script a sugestão é que você redirecione o tele para o templo escolhido.

 

 

 

 

Vá em Data/Movements/Scripts e crie um arquivo .lua com o nome vildtown1.lua e cole isto dentro:

 

-------By: Vilden - Xtibia.com-----------

function onStepIn(cid, item, frompos, item2, topos)

 

if doPlayerSetTown(cid, 1) then

nome = getTownName(1)

doPlayerSendTextMessage(cid, 1, "Você virou morador de "..nome.." City")

end

return TRUE

end

 

 

Agora em Data/Movements/Movements.xml adicione uma linha assim:

 

<movevent type="StepIn" uniqueid="2320" event="script" value="test.lua"/>

 

 

Agora no map editor crie um tele-transporte coloque a direção do seu templo e aperte com o

botão direito em cima dele e clique em propiedades e em uniqueid coloque 2320 aperto ok.

 

 

 

 

 

Segundo - Troca de Templo Usando Comando

Explicação: Ao usar o comando você muda para qualquer templo, você deve indicar o id do templo exemplo, !temple 1 ira muda o player de templo para a cidade de id 1

 

 

 

 

Vá em Data/Talkactions/Scripts e crie um arquivo .lua com o nome Vildtown2.lua dentro dele

cole isto:

 

-------By: Vilden - Xtibia.com-----------

function onSay(cid, words, param)

 

 

if doPlayerSetTown(cid, param) then

 

nome = getTownName(param)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "você virou morador "..nome.." City")

 

 

return true

else

return false

end

end

 

Em Data/Talkactions/Talkactions.xml cole uma linha assim:

 

<talkaction words="!temple" event="script" value="vildtown2.lua"/>

 

 

 

 

 

 

Terceiro - Troca de Templo clicando

Explicação: Ao clica em tal local você muda para um templo definido na script, a sugestão é que seja numa estátua

 

 

 

Vá em Data/Actions/Scripts e crie um arquivo .lua com o nome vildtown3.lua e cole isto:

 

-------By: Vilden - Xtibia.com-----------

function onUse(cid, item, pos)

 

if doPlayerSetTown(cid, 2) then

nome = getTownName(2)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você virou morador "..nome.." City")

 

end

return TRUE

end

 

 

Agora em Data/Actions/Actions.xml cole uma linha assim:

 

<action uniqueid="2320" script="vildtown3.lua" />

 

 

Agora no map editor vá no local onde você queira que o player clique para mudar o templo

abra as propriedades e em uniqueid coloque o id 2320

 

 

 

 

 

Legenda Geral:

 

Azul -> Este id não pode existir na actions.xml/movments.xml caso exista troque por um que não exista

Amarelo -> Coloque aqui o id do town que será trocado

 

*Lembrando que a troca de tele por comando não precisa muda o id do templo

mais você precisa indicar o numero do templo quando usar o comando, exemplo: !temple 1 ou !temple 2 etc..

 

 

 

.::Créditos::.

Vilden

 

 

 

 

*Lembrando que essas scripts são mais simples possíveis caso queiram que eu adicione

alguma ação nela só pedir, caso os scripters de plantão souberem de alguma mais avançada post

abaixo, muito obrigado pela atenção.

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

{E}stá bom para um dos primeiros scripts...

 

:p

 

{T}ipow, acho que há um comando para pegar o nome da cidade direto só pelo id... aí vc poderia usá-lo no lugar de outra cidade ou desta cidade.

 

 

{V}ocê já sabe né... qlqr dúvida é só chamar msn ^^

Link para o comentário
Compartilhar em outros sites

Valeu pela idéia Antharaz, a script de comando já foi modificada com a opção que

você falo, e as outras estão sendo também..

 

mais idéias pls, não vão fala coisa difíceis rarairiaria

 

abraços e valeu pela ajuda Antharaz..

 

__________________

Aparecer nome do templo direto na mensagem

 

Comando - 100%

Estátua - 100%

Tele - 100%

__________________

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

Como estou aprendendo ainda e não sei muita coisa la vai uma pergunta..

 

O que seria variáveis locais e globais??

 

Responde aew para que possa modifica 'concerta' na script

 

 

 

Caso tenham mais idéias para adicionar ao script postem aew que tento fazer..

(sistemas fáceis)

Link para o comentário
Compartilhar em outros sites

Variaveis globais são quando elas tem o local

E elas funcionam apenas no trecho do script

 

por exemplo

 

doCreateItem(cid,1010,1)
  if a > b then
      local b = 1
      doPlayerSay(cid,b)
   end

 

Ai o valor da variavel b só vai valer dentro do if

Se você colocasse ela no começo ela valeria em todo os script

 

Caso queira que uma variavel só funciona no script coloque a no inicio do arquivo

 

Isso é util em npcs, pois caso dois players estejam falando a msm coisa o npc pode trocar os valores

Link para o comentário
Compartilhar em outros sites

No caso por eu não usa o local nome = getTownName(1) a opção será valida

por toda a script??

e se eu colocar o local ela valera apenas para aquela tal "linha"??

 

Foi isso que entendi?

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

Variaveis globais são quando elas tem o local

E elas funcionam apenas no trecho do script

 

por exemplo

 

doCreateItem(cid,1010,1)
  if a > b then
      local b = 1
      doPlayerSay(cid,b)
   end

 

Ai o valor da variavel b só vai valer dentro do if

Se você colocasse ela no começo ela valeria em todo os script

 

Caso queira que uma variavel só funciona no script coloque a no inicio do arquivo

 

Isso é util em npcs, pois caso dois players estejam falando a msm coisa o npc pode trocar os valores

 

Variaveis globais são quando elas tem o local

errado.

local significa que uma variável é apenas usada para tal script, caso esteja dentro de um escopo apenas pode ser usada por ações dentro do mesmo escopo.

 

variáveis globais fora do escopo são aqueles que podem ser vistas por todos os outros codigos.

variáveis globais dentro de escopos só podem ser modificadas por ações dentro do escopo.

 

variáveis locais fora de um escopo podem ser usadas para todos as ações dentro do mesmo script.

variáveis locais dentro do escopo só podem ser usadas por ações que estejam dentro do mesmo escopo.

 

Obs: Lua acessa variáveis locais muito mais rapido do que acessa variáveis globais.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...