-- 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 ?
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.
doPlayerAddMana, igual ao de cima, só que adiciona mana.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.
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
doPlayerRemoveItem (cid,2392,2) -- Ele removerá duas Fire Swords do Player.
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?
"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
doPlayerSetTown(cid, townid)doPlayerSetSex (cid,1) -- Se for uma jogadora, ele irá se transformar em homem. Isso é mais usado em talkaction, quando o jogador fala !changesex
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!