M4
action

Erro scritp evento global exp

Por M4Go, 25 de out. de 2015 em Scripts

13
2.5k
M4GoM
25 de outubro de 2015 às 13:42

The Forgotten Server - Version 1.2
Compilied on Oct 24 2015 18:24:02 for arch x64

Bom dia pessoal, resolvi o erro abaixo. Ele fala que ativo o exp 50% a mais e tudo mais

so que isso não acontece so aparece a msg e não aumenta a exp.

 

Lua Script Error: [TalkAction Interface]

data/talkactions/scripts/exp.lua:onSay

data/talkactions/scripts/exp.lua:20: attempt to call global 'BroadcaltMessage' <a nil value>

stack traceback:

[c]: in function 'BroadcastMessage'

data/talkactions/scripts/exp.lua:20: in function <data/talkactions/scripts/exp.lua:1>

 

 

 

Script "Funcionando"

function onSay(cid, words, param, channel)

local config = {

storage = 102590,

}

if(param == 'cancel') then

if getGlobalStorageValue(config.storage) > 0 then

setGlobalStorageValue(config.storage, -1)

broadcastMessage("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)

broadcastMessage("Exp bonus ativado 50% + EXP por "..param.." horas! Aproveite.")

end

return true

end

Editado Outubro 25 por M4Go

KilluaK
26 de outubro de 2015 às 12:29

Esse script aí não está mechendo na exp, só tá setando uma storage pelo tempo... Deve ter algum outro que usa ela pra setar.

 

Se não tiver vc pode fazer um onLogin q checa se tá com a storage, se tiver doPlayerSetExperienceRate(cid,2), se não doPlayerSetExperienceRate(cid,1). Além de rodar um loop setando ela pra 2 em todos que estão que já estão online pra eles não precisarem deslogar

M4GoM
26 de outubro de 2015 às 13:40

Obrigado pela resposta Killua

 

usa essa outra script

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))).exp*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
KilluaK
26 de outubro de 2015 às 16:02

Então acho que está funcionando mas ele não adiciona a XP de uma vez. Faça o teste reparando na barra de exp e não na exp que sobe no player

M4GoM
26 de outubro de 2015 às 18:55

Nada Killua so aparece a mensagem mesmo :/, vo da mais umas pesquisadas pelos fóruns se aparecer uma solução compartilho

obrigado pela ajuda

1 mês depois...
M4GoM
03 de novembro de 2015 às 02:22

Ressuscitando o tópico...

procurei um monte tudo o que achei nada funcionou será que alguém por acender uma vela

servidor 10.82

 

Desde ja agradeço

SkyLighS
03 de novembro de 2015 às 09:21

O script funciona normalmente, eu postei aqui no fórum eu testei qual seu tfs?

M4GoM
03 de novembro de 2015 às 20:59

O script funciona normalmente, eu postei aqui no fórum eu testei qual seu tfs?

 

The Forgotten Server - Version 1.2

Compilied on Oct 24 2015 18:24:02 for arch x64

SkyLighS
03 de novembro de 2015 às 21:29

Quando você ativa o script aparece a mensagem falando que a exp aumentou?

M4GoM
04 de novembro de 2015 às 06:31

Quando você ativa o script aparece a mensagem falando que a exp aumentou?

sim aparece, mais so a mensagem

SkyLighS
04 de novembro de 2015 às 07:07

Então o exp não ativa?

M4GoM
04 de novembro de 2015 às 13:02

Então o exp não ativa?

a exp não ativa

SkyLighS
04 de novembro de 2015 às 14:57

seu servidor é 10.82 num é?

 

se for está explicado por que o script foi testado apenas em 8.6