-- 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.
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.
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? "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)
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!