Ir para conteúdo

Funções Dos Scrips De Lua #2


Izaiasousa

Posts Recomendados

-- Funções usadas nos scripts de Lua #2

 

 

"Bem, você, iniciante, já deve ter se perguntado pra quê aquilo tudo serve e saber diferenciar uma da outra, e também quando eu vou



 

usar aquela função onde,como e etc. Eu trouxe aqui para o Xtibia algumas funções usadas, que você iniciante e que está aprendendo

 

ao longo do tempo, a fazer scripts etc. "

 

 

Bem.. mãos à obra.

 

 

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

 

Essa está presente em todas, não ? :laugh:

Vou explicar parte por parte pra quê e como ela serve.

onUse significa ação, função, script que dá uma função a algum item. Exemplo, uma ham de tibia tem a função de ao ser clicada encher a vida e mana do jogador por um certo tempo né? (Depois irei fazer um tutorial abrangendo mais sobre as estruturas dos scripts.)

 

Cid é o jogador que, no caso usou o item. Por exemplo, o jogador que clicou na ham.

Item é o item usado, que será usado no script. No caso, a ham é o item. Retorna ao script com o Id ou Uid do item.

 

Frompos ou Pos é a posição do item.

Item2 ou Itemex é quando é usado o item em outra coisa, no chão ou em outro canto. É o tipo "Use with..."

Topos é a posição onde o item foi usado.

 

--Perceba que Frompos é para Item e Topos é para Item2.

 

 

 

doPlayerAddHealth



 

É usado para adicionar algo ao jogador cid. Temos:

 

doPlayerAddHealth (cid,Quantidade Que ele irá receber de life)

 

doPlayerAddHealth, que serve para adicionar life ao jogador.

 

doPlayerAddHealth (cid,100) -- Adiciona 100 de life para o jogador quando usar o item, health potion ou uh por exemplo.

doPlayerAddHealth (cid,-100) -- Neste caso ele perde 100 de life.

doPlayerAddMana, igual ao de cima, só que adiciona mana.

 

doPlayerAddItem



 

Neste caso ele irá adicionar um item ao jogadorcid

 

Por exemplo..

 

Você irá adicionar uma Fire Sword (2392) ao jogador.

doPlayerAddItem (cid,2392,1)

 

O número "1" no final, significa a quantidade. Ou seja, se eu quiser que o jogador receba duas Fire Swords eu apenos substituo o 1 por 2.

doPlayerAddItem (cid,2392,2)

 

doPlayerAddSkillTry



 

Adiciona níveis de skill para o cid.

doPlayerAddSkillTry (cid,O Skill Desejado,Quantidade de níveis que ele irá ganhar de skill)

 

O skill desejado é dado em número, segue uma lista:

 

0 Fist.

1 Club.

2 Sword.

3 Axe.

4 Distance.

5 Shielding.

6 Fishing.

doPlayerRemoveItem



 

Diferente do doPlayerAddItem, ele remove o item do jogador cid.


 

doPlayerRemoveItem (cid,2392,2) -- Ele removerá duas Fire Swords do Player.

doPlayerSendTextMessage

 

Neste caso ele enviará uma mensagem ao jogador cid.

 

 

doPlayerSendTextMessage (cid,22,"Olá a todos.") -- Envia a mensagem Olá A todos!

 

22 é a cor da mensagem, no caso é branca. OiaeuMae

A mensagem deve ser escrita entre aspas, para que o script reconheça aquilo como uma mensagem.

doPlayerSay

 

Essa function faz com que o player cid fale uma coisa.

 

 

doPlayerSay (cid,"Eu estou fazendo um tutorial de script",2)

 

Mas tio.. e esse 2? :cry:

 

"Esse dois diz o tipo da mensagem que será enviada. Por exemplo, temos o tipo de mensagem de God, que é aquela vermelha e tals.. temos o tipo de mensagem de placa, que é a verde.. temos a de vozes dos animais que é mais uma cor laranjinha e tals.. e a dos players, normais.. que é a 2. Eu não tenho a lista dos tipos de mensagens. Quando eu achar eu boto aqui, tá? :)"

 

doPlayerSendCancel

 

Envia uma mensagem em baixo da tela do jogador. Por exemplo, quando você esbarra em algo e aparece "Sorry, not is possible.".

 

 

doPlayerSendCancel (cid,"Sorry, not is possible") -- Envia a mensagem Sorry, not is possible na tela debaixo do jogador.

 

doPlayerSetVocation

 

Dá uma nova vocação ao jogador. Por exemplo, em seu Ot tem rookgaard e o jogador cid tem que escolher um baú e clicar nele. Quando ele clicar no de Knight, ele irá ser Knight.

 

 

doPlayerSetVocation (cid,1) -- Escolheu a vocação do jogador para sorcerer.

 

Agora se você quiser botar outra, é so mudar o 1 pelos seguintes números...

 

1 - Sorcerer

2 - Druid

3 - Paladin

4 - Knight

5 - Master Sorcerer

...





 

doSetItemSpecialDescription



Neste caso, não tem cid! :w00t:

 

Este caso é quando o jogador for em uma quest e clicar no baú ele irá receber o item (doPlayerAddItem) certo? E se eu quiser colocar uma mensagem quando ele receber o item? Por exemplo, quando ele for na quest da magic sword, aparecer:

 

"THis a sword of valor"

 

Entendem o que eu quero dizer? :louco:

 

doItemSpecialDescription (item.id, "This a Sword o Valor") -- Neste caso quando ele abrir o baú com o item.id ele irá receber essa mensagem.

Revisão rapidinha...

 

item.id é o id do item, no caso, o id da Magic Sword é 2400. Então o quê eu faço? Apenas substituo o item.id por 2400.

 

doSummonCreature

 

Neste caso, irá sumonar um monstro em uma posição topos.

 



doSummonCreature (Demon,{x=188,y=60,z=7})

ou

 

topos = {x=188,y=60,z=7}

 

 

doSummonCreature ("Demon", topos)

Nome da criatura entre aspas, ok?!

 

 

doTransformItem

 

Transforma um item em outro. Por exemplo quando eu tiver 100gp e clicar ele irá logo se transformar em 1 platinum coin, certo ? É baseado nisso que temos:

 

 

doTransformItem (item.id,2400) -- Tranforma o item inicial item.id em Magic Sword

 

doPlayerSetSex(cid, newSex)

 

Seleciona o novo sexo do Jogador cid. No caso,

 

0 -- Feminino

1 -- Masculino

 

doPlayerSetSex (cid,1) -- Se for uma jogadora, ele irá se transformar em homem. Isso é mais usado em talkaction, quando o jogador fala !changesex

doPlayerSetTown(cid, townid)

 

Neste caso aqui, ele irá fazer com que o jogador vá vire cidadão de uma cidade escolhida por você. Por exemplo, em uma cidade criada por você, você faz um portal e todo jogador que passar por lá, virá automaticamente cidadão daquela cidade.

 

doPlayerSetTown (cid,1) -- Neste caso ele fará com que o jogador cid

vire cidadão da cidade de id 1!

 

doPlayerAddExp(cid, exp)

 

Esta função é excelente quando você quer fazer uma quest de por exemplo... 1 kk de experiência para quando um jogador clicar em um item escolhido por você. :lol:

A função desse script é adicionar uma taxa de experiência ao jogador cid.

 

doPlayerAddExp (cid,1000) -- Neste caso eu adiciono 1.000 de experiência para o jogador cid.

 

doPlayerAddOutfit(cid,looktype, addons)

 

Este script aqui, adiciona uma addon para o jogador cid.

 

Looktype é o número de identificação da outifit.

Addons é qual addon será adiciona, se é o primeiro 1, o segundo 2 ou completo 3!

 

Obs: Para remover um addon, basta substituir o Add para Remove. :louco:

 

doPlayerAddPremiumDays(cid, days)

Esta function tem a função de adicionar dias de premium para o jogador cid!

 

doChangeSpeed(cid, delta)

 

Adiciona uma velocidade ao jogador cid.

 

-------------------------------------------------------------------------

 

Atividade

 

"Faça um script cuja função é:

 

•O jogador ao clicar numa pedra;

•Mudar o sexo dele para o oposto;

•Mostrar uma mensagem no centro da tela dizendo "VoCê caiu numa armadilha"

•Sumonar um Demon;

•Tirar 100 de life do jogador e tirar 300 de mana do jogador;

•Remover 10 dias de premium do jogador;

•Adicionar a ele o outfit de jester com todos os addons;

•Faça com que o jogador fale automaticamente a mensagem "Lasquei me negada";

•E por fim apareça uma mensagem no canto inferior da tela "Tio Izaias rox"

 

=D

 

Depois eu coloco a resposta aqui, ou se alguém quiser botar, bote =D

 

Até mais!

-------------------------------------------------------------------------

Bem, é isso pessoal, continuamos na próxima com Funções dos scripts de lua # 3 com GET e outros =D

Tomara que vocês inicantes tenham aprendido :)

Me ajudou bastante e resolvi compartilhar meu conhecimento. Quando você ensina, você aprende mais =D

Até a proxima pessoal!

 

:bye:

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

TIpo eu irie adicionar mais ao longo do tempo, por que nao quero mostrar tudo de uma vez logo...

TEm alguns faltando.. mas vou botar mm outros posts, assim pros iniciantes aprenderem uma parte de cada vez

 

=]

 

OBrigado pelos elogios

 

Vou fazer mais essa semana ainda =]

Não tenho nada pra fazer ultimamente, entao me dedico a aprender e transmitir meus conhecimentos aos outros:weight_lift:

 

##

 

Adicionei mais algumas. Ae só tá as mais IMPORTANTES. Não quero que os inciantes se assustem com essa enorme variedade de funções. Só quero as principais e tals :tongue2:

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

  • 1 month later...
  • 1 month later...

Descobri ke eu tinha conta no forum hj

entao vou tentar neh

"Faça um script cuja função é:

•O jogador ao clicar numa pedra;
•Mudar o sexo dele para o oposto;
•Mostrar uma mensagem no centro da tela dizendo "VoCê caiu numa armadilha"
•Sumonar um Demon;
•Tirar 100 de life do jogador e tirar 300 de mana do jogador;
•Remover 10 dias de premium do jogador;
•Adicionar a ele o outfit de jester com todos os addons;
•Faça com que o jogador fale automaticamente a mensagem "Lasquei me negada";
•E por fim apareça uma mensagem no canto inferior da tela "Tio Izaias rox"

 

Sei ke vai ta errado mais vo tenta neh

nao sei como faze o negocio da msg no centro da tela

 

doPlayerSetSex(cid, newSex)

doPlayerSetSex (cid,1)

 

topos = {x=160,y=51,z=7}

doSummonCreature ("Demon", topos)

 

doPlayerAddHealth (cid,-100) -- Nao seria RemoveHealth ?

doPlayerAddMana (cid,-200) -- Nao seria Remove Mana ? -- Ou os 2 funcionam ?

 

doPlayerAddPremiumDays(cid, -10)

 

doPlayerAddOutfit(cid,1, 3) -- nao sei o numero do outfit jester

 

doPlayerSendTextMessage (cid,22,"Lasquei me negada.")

 

doPlayerSendCancel (cid,"Tio Izaias rox")

 

Quase certeza ke ta errado ksaopsopakopsa

 

no meu talkaction do meu ot o changender ta asim

 

function onSay(cid, words, param, channel)
if(getPlayerSex(cid) >= 2) then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You cannot change your gender.")

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

  • 4 weeks later...
  • 1 month later...

o tutorial está muito bom para quem já sabe usar perfeitamente if else etc...

mas eu achei que faltou ensinar coisas que foram pedidas no exercicío, por exemplo como fazer o use na pedra? :|

talvez eu tenha deixado passar algo mas valew!

Link para o comentário
Compartilhar em outros sites

  • 5 months later...

ta certo ?

 

function onUse (cid,item,frompos,item2,topos)
if item2.itemid == 2178
doPlayerSetSex(cid, 0)
doPlayerSetSex(cid, 1)
doItemSpecialDescription (item.id, "Você caiu em uma armadilha!")
doSummonCreature ("Demon", topos)
doPlayerRemoveHealth (cid,100)
doPlayerRemoveMana (cid,100)
doPlayerRemovePremiumDays(cid, 10 days)
doPlayerAddOutfit(cid,"?", 2)
doPlayerSendTextMessage (cid,17,"Lasquei me negada.")
doPlayerSendCancel (cid,"Tio Izaias rox")

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

×
×
  • Criar Novo...