Postado Fevereiro 6, 2015 10 anos 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) ~~ [show Off] Lolksky ~~
Postado Fevereiro 6, 2015 10 anos 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!
Postado Fevereiro 6, 2015 10 anos 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. ~~ [show Off] Lolksky ~~
Postado Fevereiro 6, 2015 10 anos 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
Postado Fevereiro 6, 2015 10 anos Autor Testarei aqui! @UP Precisa reiniciar o servidor após alguém usar o bau? Editado Fevereiro 6, 2015 10 anos por lolksky (veja o histórico de edições) ~~ [show Off] Lolksky ~~
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.