KE

[Creaturescripts] Mensagem Ao Receber Parcel

Por kelvinvictor, 19 de abr. de 2012 em Scripts

otserv
tibia
script
9
1.7k
kelvinvictorK
19 de abril de 2012 às 08:33

Tipo do script: Creaturescript

Protocolo (versão do Tibia): 8.60

Servidor utilizado: Baiak

Nível de experiência: Médio

Adicionais/Informações: Gostaria de um script, que ao player receber uma parcel, letter... Ele receberá uma mensagem: [NOME DO PLAYER(getCreatureName)] você recebeu alguma coisa em seu depot (DP), vá verificar rapidamente. Creio que vá usar a função onReceiveMail(cid, sender, item, openBox). Tá ai o link de um post com algumas funções, Até +. ALENDO REP +

 

http://www.xtibia.com/forum/topic/182113-tutorial-basico-creaturescripts/

jhon992J
19 de abril de 2012 às 09:14

Meu tuto como referencia, que bom. happy.png

Nunca usei essa função, mais vou tentar criar algo aqui sem testar; Dae tu testa.

 

data/creaturescripts/scripts, duplica uma arquivo e nomeia para "receive" e nele cole:

function onReceiveMail(cid, sender, item, openBox)
   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getCreatureName(cid) .." você recebeu alguma coisa em seu depot (DP), vá verificar rapidamente.")
   return true
end

 

em creaturescripts.xml

<event type="receivemail" name="Receive" event="script" value="receive.lua"/>

 

no login.lua antes do último return true:

registerCreatureEvent(cid, "Receive")

 

Bem simples néh, só não sei se ta funcional.

kelvinvictorK
19 de abril de 2012 às 09:39

Eu tenho noções básicas de script, pensei em fazer mais achei que no script teria mais coisas, mais só uma dúvida, esse: getCreatureName(cid).. ele é usado para pegar o nome do player, mais nesse caso aparecerá o nome do player seguindo pela mensagem não é?

Exemplo

 

Makevili Kelvin você recebeu alguma coisa em seu depot (DP), vá verificar rapidamente. Isso? Anoite eu testo, agora estou no PC do trabalho :D

 

@EDIT

 

Percebi que você está muito na ativa não só no xtibia, mais nos scripts, onde você aprendeu? Aqui mesmo? Como?

Editado Abril 19 por kelvinvictor

jhon992J
19 de abril de 2012 às 09:54

Sim, alim aparecera o nome do player. Provavelmente o nome do player que recebeu. No cabeçalho da função ela recebe alguns parametros e "cid", creio que seja o creatureid do player que recebeu e o "sender" o do que enviou.

 

Aprendi scripts .lua a partir da minha necessidade de criação para meu otserv, jah tinha logica de programação razoavel e foi de facil entendimento essa lingaguem pra min pois jah tinha base em outra linguagem. Nunca li em toturial, aprendi pegando scripts prontos, vasculhando, modificando e testando.

kelvinvictorK
21 de abril de 2012 às 11:06

Não funciounou :S

jhon992J
21 de abril de 2012 às 11:43

Quais erros ocorreram, vc testou certinho? Apareceu algum erro no executavel? Explique melhor.

2 semanas depois...
kelvinvictorK
28 de abril de 2012 às 13:12

Jhon, Desculpas, é que não tinha percebido, chega uma mensagem no console, ou seja, funcionou o script, mais queria que chegasse no console e na tela. no console em azul (Como está, então não precisa mecher) e na tela, verde. A mesma mensagem

VildenV
28 de abril de 2012 às 13:18

function onReceiveMail(cid, sender, item, openBox)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getCreatureName(cid) .." você recebeu alguma coisa em seu depot (DP), vá verificar rapidamente.")

doPlayerSendTextMessage(cid,25, getCreatureName(cid) .." você recebeu alguma coisa em seu depot (DP), vá verificar rapidamente.")

return true

end

kelvinvictorK
30 de abril de 2012 às 09:23

Vou testar e qualquer coisa posto aqui.

 

@EDIT

 

Meu irmão, vocês 2 (dois) são FOD#. Funcionou certinho, Valeu, rep + pra 1 e amanhã pra outro

Editado Maio 1 por kelvinvictor