LE
pedido

Mensagem ao pegar certo level

Por leleeuh, 13 de fev. de 2014 em Scripts

resolvido
script
9
1.3k
leleeuhL
13 de fevereiro de 2014 às 11:13

Olá, gostaria de saber, pois já procurei com diversos nomes diferentes e não achei, o script feito o do global, que ao alcançar certo nível (no global por exemplo, é 8) aparecer uma mensagem no meio da tela em branco dizendo que ele tem uma nova missão neste level.

 

Grato desde já.

13 de fevereiro de 2014 às 11:50

creaturescripts / scripts ..

function onAdvance(cid, oldLevel, newLevel)


local level = 100 -- level
local msg = " Messagem Aqui " -- messagem entre  " ... "


if getPlayerLevel(cid) == level then
 doPlayerSendTextMessage(cid, 22, msg)
end
return TRUE
end

creaturescripts / scripts / login.lua

registerCreatureEvent(cid, "NomeAkii")

creaturescripts / creaturescripts.xml

<event type="advance" name="MSM nome que VC colocou em LOGIN" event="script" value="NomeDoArquivo.lua"/>

.. é isso que vc quer ?

Editado Fevereiro 13 por DuuhCarvalho

AvronexA
13 de fevereiro de 2014 às 11:59


function onAdvance(cid, skill, oldlevel, newlevel)


local level = 8
local mensagem = "You reached level 8, now you have one a new mission!"
          
            if(getPlayerStorageValue(cid, 99963) ~= 1 and skill == SKILL__LEVEL and newlevel >= level) then
                            doPlayerAddItem(cid, 2160, 5)
                            setPlayerStorageValue(cid, 99963, 1)
                            doPlayerSendTextMessage(cid, 22, mensagem)
            end


            return TRUE
end
<event type="advance" name="MissionMessage" event="script" value="missionmessage.lua"/>

Isso tudo é na pasta Creaturescripts. Caso nao funcione ainda va em login.lua e adicione após "registerCreatureEvent(cid, "KillingInTheNameOf"):

 

registerCreatureEvent(cid, "MissionMessage")

 

<quote>creaturescripts / scripts ..

function onAdvance(cid, oldLevel, newLevel)local level = 100 -- levellocal msg = " Messagem Aqui " -- messagem entre  " ... "if getPlayerLevel(cid) == level then doPlayerSendTextMessage(cid, 22, msg)endreturn TRUEend
creaturescripts / scripts / login.lua
registerCreatureEvent(cid, "NomeAkii")
creaturescripts / creaturescripts.xml
<event type="advance" name="MSM nome que VC colocou em LOGIN" event="script" value="NomeDoArquivo.lua"/>
.. é isso que vc quer ?

 

O seu caso o player morra e volte para o level 7, ele ira receber a mensagem novamente e nao a missao. Teria que ter um storage no script para funcionar apenas uma vez por character.

Editado Fevereiro 13 por Avronex

13 de fevereiro de 2014 às 12:07

Eu sei disso , mais achei que não seria necessário ;s

pq pensei que se caso o player morra e pegue o lvl novamente , ele tenha que fazer a missão denovo.

leleeuhL
13 de fevereiro de 2014 às 12:08

@Avronex:

Pelo o quê vi no seu, o player ganha 50k certo?

Tem como fazer com que ele ganhe um livro (certo, nessa parte eu me viro), mas, que neste livro, esteja algo escrito relacionado a nova missão do jogador?

 

 

@Duuh:

Obrigado, já não é a primeira vez que você atende meus tópicos, mas é verdade, o jogador caso morresse ele receberia a missão novamente.

AvronexA
13 de fevereiro de 2014 às 12:14

@Avronex:

Pelo o quê vi no seu, o player ganha 50k certo?

Tem como fazer com que ele ganhe um livro (certo, nessa parte eu me viro), mas, que neste livro, esteja algo escrito relacionado a nova missão do jogador?

 

 

@Duuh:

Obrigado, já não é a primeira vez que você atende meus tópicos, mas é verdade, o jogador caso morresse ele receberia a missão novamente.

 

Sim, no caso vou refazer algumas partes ficando assim...

function onAdvance(cid, skill, oldlevel, newlevel)

local itemid = 2160
local level = 8
local mensagem = "You reached level 8, now you have one a new mission!"
          
            if(getPlayerStorageValue(cid, 99963) ~= 1 and skill == SKILL__LEVEL and newlevel >= level) then
                            doPlayerAddItem(cid, itemid, 1)
                            setPlayerStorageValue(cid, 99963, 1)
                            doPlayerSendTextMessage(cid, 22, mensagem)
            end


            return TRUE
end

Sinceramente com o livro escrito eu nao vou saber, é ate bom vc pedir que vou procurar saber mais sobre isso e quando eu descobrir posto aqui pra vc!

 

Se ajudei Rep+!

leleeuhL
13 de fevereiro de 2014 às 12:18

Perfeito, meus reps estão esgotados, breve estarei dando a você e ao Duuh que também tentou.

Pesquisarei sobre o script do livro...

 

Grato, e pedido solucionado.

13 de fevereiro de 2014 às 12:24

ta ae ..

function onAdvance(cid, oldLevel, newLevel) 




local level = 100 -- level
local msg = " Messagem Aqui " -- messagem entre  " ... "
local texto = " Oque vai aparecer no livro Aqui " -- oq vai aparecer no livro
local itemid = 1950 -- id do livro
local storage = 45461 -- coloca uma storage

if getPlayerLevel(cid) >= level then
 if (getPlayerStorageValue(cid, storage) <= 0) then
 doPlayerSendTextMessage(cid, 22, msg)
 doPlayerAddItem(cid, itemid, 1)
 doShowTextDialog(cid, itemid, texto)
 setPlayerStorageValue(cid, storage, 1)
 end
end


return TRUE
end

Editado Fevereiro 13 por DuuhCarvalho

zipter98Z
13 de fevereiro de 2014 às 18:43

Tópico movido para a seção de dúvidas e pedidos resolvidos.