Ir para conteúdo

Featured Replies

Postado

Opah galera.. Tranquilo ?!.. :tongue:

Então, eu criei esse evento para meu WODBO, mas resolvi compartilhar com vocês.. Então, sem mais enrolação, como funciona:



1• O evento é iniciado por um administrador manualmente.
2• O DoubleExp dura X tempo (Determinado pelo administrador)
3• O DoubleExp irá continuar durante o tempo que o player estiver offline, ou seja, irá acabar no tempo determinado pelo administrador. Sem exceções.
4• O administrador irá determinar a quantia de exp dobrada.
5• O evento pode ser cancelado em qualquer momento pelo administrador.
6• O DoubleExp só se aplica aos jogadores online
7• O Ganho de Exp Padrão é alterado para 0.5
8• O Double Exp acaba ao deslogar.
AVISO: Eu criei o sistema já faz um bom tempo, então seria comum eu ter esquecido de comentar algo.


Então, para começar, crie doubleexpevent.lua em data/creaturescripts/scripts e dentro dele:

 

 


function onLogin(cid)
if getPlayerStorageValue(cid, 100002) == 1 then
doPlayerSendTextMessage(cid, 18, "Você perdeu o seu Double Exp!")
setPlayerStorageValue(cid, 100002, -1)
end
end
function onLogout(cid)
if getPlayerStorageValue(cid, 100001) > 1 then
setPlayerStorageValue(cid, 100001, -getPlayerStorageValue(cid, 100001))
if getPlayerStorageValue(cid, 223291) < 1 then
doPlayerSetExperienceRate(cid, 1)
else
doPlayerSetExperienceRate(cid, 0.5)
end
setPlayerStorageValue(cid, 100002, 1)
end
end
function onThink(cid, interval)
interval = 50 --Intervalo do efeito do double exp
if getPlayerStorageValue(cid, 100001) >= 1 then
local pos = getThingPos(cid)
local interval2 = 100
local poseff1 = {x=pos.x, y=pos.y, z=pos.z} --Posição do efeito
addEvent(doSendMagicEffect, interval, poseff1, 116) --116 É o número do efeito
addEvent(doSendAnimatedText, interval2, getCreaturePosition(cid), 'DoubleExp!', 144)
end
if getPlayerStorageValue(cid, 223291) >= 1 then
if getPlayerStorageValue(cid, 223492) < 1 then
doPlayerSetExperienceRate(cid, 0.5)
setPlayerStorageValue(cid, 223492, 1)
end
local pos = getThingPos(cid)
local poseff1 = {x=pos.x, y=pos.y-1, z=pos.z} -- posição do efeito
addEvent(doSendMagicEffect, interval, poseff1, 1) -- 1 é o número do efeito
end
return true
end

 

Agora, adicione as tags em creaturescripts.xml:

 


<event type="login" name="DoubleLogin" event="script" value="doubleexpevent.lua">
<event type="think" name="DoubleThink" event="script" value="doubleexpevent.lua">
<event type="logout" name="DoubleLogout" event="script" value="doubleexpevent.lua">

 

Em seguida, em data/creaturescripts/scripts, abra Login.lua e adicione em baixo de alguma tag parecida as tags:

 


registerCreatureEvent(cid, "DoubleLogin")
registerCreatureEvent(cid, "DoubleThink")
registerCreatureEvent(cid, "DoubleLogout")
 

Ok, agora o comando para iniciar o evento..

Em data/talkactions abra talkactions.xml e adicione a tag:

 

 


<talkaction log="yes" words="/doubleexp;!doubleexp" acess="5" event="script" value="doubleexp.lua"/>
 

 

E para terminar, crie doubleexp.lua em data/talkactions/scripts e dentro dele:

 

 


function onSay(cid, words, param)
local p = string.explode(param, ",")
if p[1] == "on" then
if not p[2] or not p[1] then
doPlayerSendCancel(cid, "Complete com o tempo e a quantia. \n Ex: /doubleexp on, 60, 2")
return true
end
local timeduration = p[2]*1000
local online = getPlayersOnline()
for i=1, #online do
doPlayerSetExperienceRate(online[1], p[3])
setPlayerStorageValue(online[1], 100001, 1)
addEvent(setGlobalStorageValue, timeduration, 200001, 1)
doBroadcastMessage("O Staff ".. getCreatureName(cid) .." iniciou o evento doubleexp. \n Tempo: ".. timeduration/1000 .." segundos \b Dobrando: "..p[3].."x mais de exp.", 21)
end
elseif param == "off" then
local online = getPlayersOnline()
for i=1, #online do
setGlobalStorageValue(200001, -getGlobalStorageValue(200001))
setPlayerStorageValue(online, 100001, 0)
doPlayerSetExperienceRate(online[1], 1)
doBroadcastMessage("O staff ".. getCreatureName(cid) .." desativou o evento double exp.", 21)
end
else
doPlayerSendCancel(cid, "Complete com ON ou OFF.")
return true
end
return true
end
 

 

 

Comando utilizado para iniciar o evento:

Citar

 

/doubleexp on, 60, 2

Ou também: !doubleexp on, 60, 2

Nesse caso seria:

ON- A função usada para ligar.

60- O tempo que o evento dura, em segundos

2- Quantas vezes vai dobrar

 

 

Editado por Vinicius Xxgamexx (veja o histórico de edições)

Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais...

________________________________________________________________________________

Minhas Sprites:

Mega Metagross

Mega Abomasnow

Pack de Shinys

[Posso atualizá-lo com novos shinys a qualquer momento]

Tutoriais:

[Completo] Criando e adicionando um novo Pokémon

[Actions] Criando quest no RME

Editores Lua/Xml/Sync Entre outros:

Editores Win/Mac/Linux

  • Respostas 7
  • Visualizações 2.1k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Boa tarde, peço que utilize a bbcode de code ao invés de utilizar quotes para postar os códigos.

Após arrumar o tópico, aprovarei.

Postado
  • Autor

Editado* Boa tarde..

Obs: O script foi testado em um servidor da versão 8.54

Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais...

________________________________________________________________________________

Minhas Sprites:

Mega Metagross

Mega Abomasnow

Pack de Shinys

[Posso atualizá-lo com novos shinys a qualquer momento]

Tutoriais:

[Completo] Criando e adicionando um novo Pokémon

[Actions] Criando quest no RME

Editores Lua/Xml/Sync Entre outros:

Editores Win/Mac/Linux

Postado

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

  • 1 month later...

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.6k

Informação Importante

Confirmação de Termo