Ir para conteúdo

{Duvidasimples} Como Registra.lua


exorcist

Posts Recomendados

quero saber como registra um script .lua como esse do HEARTNB que eu achei q quando o player morre aparece o coraçao dentro dele falando pra quem ele morreu eo lv q ele morreu eu intendi td desse script.lua mais n sei registra ele da uma ajudinha ae pow sei q é simples mais eu nao sei kk

 

 

if getPlayerLevel(cid) >= 1 then

mh = doPlayerAddItem(cid5943,1)

doSetItemSpecialDescription(mh,"This is the heart of ".. getPlayerName(cid) ..", killed at level ".. getPlayerLevel(cid) .." by ".. getPlayerName(killer) ..".")

 

 

 

 

Att: Dark kingdom

 

 

he.gif

 

pq nimguem ajuda ? D: :'(

Link para o comentário
Compartilhar em outros sites

1- script ta errado

2- falto uma virgula apos o cid,

3- faltou uma funcao

 

.. Dependendo da funcao vc ira registrar..

No caso e onkill ..

 

Cola uma tag la do creaturecripts.xml , e muda o evento para kill , e nime voce pom tipo Test.

Em seguida voce vai la no login.lua e registra com o nome Test.

 

Estou no celular responde, se nao intendeu eu edito mais tar o topico.

Link para o comentário
Compartilhar em outros sites

Da para usar esse tipo de código em um Creaturescript! Existem varios tipos posiveis de creaturescripts. Alguns tipos:

onDeath -- executa ao morrer.

onAttack -- executa ao atacar.

onCombat -- semelhante ao onAttack.

onLogin -- executa ao logar.

 

Para criar esse tipo de script, primeiramente vai na pasta data/creaturescripts/scripts e duplica um arquivo e salve com "nomedesejado";

Você vai fazer uma função "onDeath"(ao morrer), para ativar esse seu script.

Code vai ficar mais ou menos assim:

1 function onDeath(cid, corpse, killer)

2 if getPlayerLevel(cid) >= 1 then
3    mh = doPlayerAddItem(cid,5943,1)
4    doSetItemSpecialDescription(mh,"This is the heart of ".. getPlayerName(cid) ..", killed at level ".. getPlayerLevel(cid) .." by ".. getPlayerName(killer) ..".")
5 end

6 return true
7 end

 

Numerei as linhas pare melhor intendimento.

Linha 1 = Inicio da função onDeath, essa linha recebe algumas informações do player que morreu, como seu id, o id do player que matou e o corpse.

'' 2 = Iniciase um if onde verifica se o level do player morto era maior ou igual a 1. Se for verdadeiro, o script executa as linhas 3 e 4, senão pula direto a linha 5.

'' 3 = Adiciona um item com o id 5943 ao player morto e salva o uid do item na variavel "mh".

'' 4 = Adiciona o texto ao item. "This is the heart of ".. retorna nome do morto ..", killed at level ".. retorna level do morto .." by ".. retorna nome do matador .."."

'' 5 = Finaliza o if que se iniciou na linha 2.

'' 6 = Retorna a função ao character, sempre use return no final dos seus scripts.

'' 7 = Finaliza a função onDeath.

 

Acho que esta bem explicadinho, por fim para funcionamento do seu script precisa adicionar 2 tags:

1º No "creaturescripts.xml"

2º No arquivo "login.lua"

 

Vai em data/creaturescripts/creaturescripts.xml e cole a tag:

<event type="death" name="QualquerNome" event="script" value="nomedesejado.lua"/>

 

O nome desejado é o nome com qual você salvou o script.

 

Agora em data/creaturescripts/scripts/login.lua, sempre antes do último return true:

registerCreatureEvent(cid, "QualquerNome")

 

QualquerNome é o nome que você adicionou na tag do creaturescripts.xml.

 

Acho que é isso aew, espero ter ajudado. E para auciliar em seus scripts sempre use uma lista de funções como essa:

http://www.xtibia.com/forum/topic/138081-lualista-de-funcoes/

E procure por tutoriais e scripts como sua base;

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...