SK
action

Evento Double Exp

Por SkyLigh, 14 de out. de 2015 em Actions e Talkactions

22
7.9k
robiie123R
15 de janeiro de 2016 às 10:17

ainda nao funciona no TFS 1.2

siginorS
19 de janeiro de 2016 às 01:56

Muito bom esse script, está funcionando.

Eu só tive que mudar o calculo da exp nessa parte aqui:

 

local count = ((getMonsterInfo(string.lower(getCreatureName(target))).experience*0.5*exp))

 

Pois no meu server não esta adicionando diretamente na exp que o monstro dá, pula uma segunda exp depois de matar o mob.

 

Dai estava ficando exp do mob + 2x exp.

 

Rep+

2 meses depois...
otfunO
16 de março de 2016 às 22:50

gostaria q passase pra um item isso, um anel por exemplo e depois q 30 dias saisse o 2x o bonus

9 meses depois...
09 de dezembro de 2016 às 09:43

Aqui não deu nenhum, porem a exp não ativa aalguem sabe me dizer?

1 mês depois...
RobsonSilvaR
26 de janeiro de 2017 às 13:44

o meu não ta dando double exp mesmo eu ativando ele.

[26/01/2017 12:37:52] > Broadcasted message: "Exp bonus ativado 50% + EXP  por 2 horas! Aproveite.".

3 anos depois...
KaboFlowK
07 de maio de 2020 às 22:24
Em 14/10/2015 em 21:47, SkyLigh disse:

Fala galera tudo bem? Essa semana teve um membro que pediu um evento de double exp até que consegui fazer usando alguns scripts como base, então vamos ao código.

INSTALAÇÃO

Separador.PNG

 

Vá em data/creaturescripts/scripts e em creaturescripts.xml adicione a seguinte tag.

<event type="kill" name="ExpBonus" event="script" value="exp.lua"/>

Em data/creaturescripts/scripts crie um arquivo .lua e renomeie para exp.lua e adicione o seguinte código.

function onKill(cid, target)
if isPlayer(cid) and isMonster(target) then
if getGlobalStorageValue(102590) - os.time() >= 1 then
local exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier)
local count = ((getMonsterInfo(string.lower(getCreatureName(target))).experience*1.5*exp)/2)
doPlayerAddExperience(cid, count)
addEvent(doSendAnimatedText, 500, getCreaturePosition(cid), '+'..count, math.random(50,60))
end
else
return TRUE
end
return TRUE
end


Agora no data/creaturescripts/scripts e login.lua adicione a seguinte tag.

registerCreatureEvent(cid, "ExpBonus")


Agora vá em data/talkactions/scripts talkactions.xml

<talkaction words="/doubleexp" access="5" event="script" value="exp.lua"/>

Em data/talkactions/scripts crie um arquivo.lua e o renomeio para exp.lua e adicione o seguinte código dentro.

function onSay(cid, words, param, channel)
local config = {
storage = 102590,
}
if(param == 'cancel') then
if getGlobalStorageValue(config.storage) > 0 then
setGlobalStorageValue(config.storage, -1)
doBroadcastMessage("Double Exp cancelado")
end
return true
end
	
param = tonumber(param)
if(not param or param < 0) then
doPlayerSendCancel(cid, "Digite por quantas horas o evento ira durar")
return true
end
if getGlobalStorageValue(config.storage) - os.time() <= 0 then
setGlobalStorageValue(config.storage, os.time()+param*60*60)
doBroadcastMessage("Exp bonus ativado 50% + EXP  por "..param.." horas! Aproveite.")
end
return true
end

Separador.PNG

 

COMO UTILIZAR

 

Para ativar o comando digite /doubleexp Quantidade de horas que vai durar o evento Exemplo /doubleexp 3 o evento ira durar por 3 horas.

Para cancelar o evento basta digitar /doubleexp cancel apenas os GOD'S podem utilizar os 2 comandos.

 

Separador.PNG

Créditos

--- Pela postagem do tópico e edição nos códigos.

--- Por eu tê pego uma parte de um script dele do creaturescripts.

 

Espero que gostem :)

 

 

 

na base pokemon d DXP

 

activa mais nao da exp 

 

 


[07/05/2020 20:23:39] > Broadcasted message: "Exp bonus ativado 50% + EXP  por 3 horas! Aproveite.".

MattchopzM
08 de maio de 2020 às 20:44

Desculpa reviver o tópico. Alguém resolveu essa questão de funcionar o broadcast, mas não a exp?

Valeu!