Ir para conteúdo

Featured Replies

Postado

Preciso de uma quest que quando um player qualquer dar use no baú, o servidor passe a ter exp em dobro por 5 dias

 

OBS.:

- o servidor tem exp em stage (não sei se isso interfere)

- quando um player usar o baú, ninguém mais poderá usar até que termine os 5 dias

- players que tenham um storage X não podem usar o baú

- o servidor reinicia 1x por dia (não sei se isso também interfere)

 

  • Respostas 8
  • Visualizações 461
  • Created
  • Última resposta

Top Posters In This Topic

Postado
  • Autor

Muito bem bolado.. gostei, vou esperar ver se alguém consegue também. E em outra versão, se apenas o player que clica-se no baú receberia double exp por xxx dias seria melhor ainda!

É que pretendo usar como recompensa global, para todos do servidor, por isso apenas 1 pode usar o bau, pra executar apenas uma vez. Aqueles que fizerem a quest em si terão as recompensas individuais.

Postado

Eu não tenho certeza, mas acho que isso: 

- o servidor reinicia 1x por dia (não sei se isso também interfere)

Irá sim interferir. 


De qualquer forma, eu fiz aqui espero que dê certo.

 

Em Actions/scripts crie um arquivo .lua e ponha dentro:

function onUse(cid, item, fromPosition, itemEx, toPosition)
storageTimeInit = 0001  -- storage que marca a hr feita a quest
storageTimeFinish = 0002 -- storage que marca qnd a quest acaba

   	if item.uid == 0000 then
   		queststatus = 0000
   		thetime = os.time()
   		if(getGlobalStorageValue(queststatus) == 1 and thetime > getGlobalStorageValue(storageTimeFinish)) then
            setPlayerStorageValue(queststatus,0)
            end
   		   if getGlobalStorageValue(queststatus) == 1 and thetime < getGlobalStorageValue(storageTimeFinish) then
   		      doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Alguem ja fez essa quest!")
            else
            setGlobalStorageValue(storageTimeInit, os.time())
   			doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Parabens você alterou a exp do servidor!")
      			setGlobalStorageValue(storageTimeFinish, getGlobalStorageValue(storageTimeInit)+432000)
      			setGlobalStorageValue(queststatus,1)	
      			end
    end
   	return true
end

Lembrese de modificar os valores das storages, 0000, 0001, 0002, o numero da storage 0000 você deverá por no baú pelo rme, em UNIQUEID.

 

Agora, volte para actions.xml e adicione:

<action uniqueid="0000" event="script" value="arquivo.lua"/>

Troque o valor de 0000 para o mesmo que você pois no script. E mude o nome do arquivo.lua tbm.

 

 

Agora... 

Em creaturescripts/scripts crie um arquivo .lua e ponha dentro:

function onLogin(cid)

queststatus = 0000

if getGlobalStorageValue(queststatus) == 0 then
   setPlayerExtraExpRate(cid, 1.0)
   setPlayerStorageValue(0003,0)
   end
if getGlobalStorageValue(queststatus) == 1 and getPlayerStorageValue(0003)~=1 then
   setPlayerExtraExpRate(cid, 2.0)
   setPlayerStorageValue(0003,1)
end
if getGlobalStorageValue(queststatus) == 1 and getPlayerStorageValue(0003)==1 then
    doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Todos do servidor receberam 2x exp extra por terem feito a quest!")
end
return true
end

Mude o 0003 para uma outra storage que não utilize em seu servidor, e mude o 0000 para o mesmo numero adicionado em UNIQUEID no RME e no script de action.

 

Depois em login.lua adicione:

registerCreatureEvent(cid, "QuestExp")

Em creaturescripts.xml adicione:

<event type="Login" name="QuestExp" event="script" value="arquivo.lua"/>

Altere apenas o nome do arquivo .lua que voce criou na pasta creaturescripts/scripts

 

Reinicia o servidor se ele estava aberto.. e pronto. Deve funcionar =D

 

Se der erro ou não modificar a exp, me avisa. Se der tudo certo, REP+ =D

xBlackWolf

THX @Storm Night

Best Avatar Ever

 

9p0FoTd.png

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo