Ir para conteúdo

Featured Replies

Postado

.Qual servidor ou website você utiliza como base? 

OtservBr 12.60

 

Qual o motivo deste tópico? 

Bom dia Galera do TK

Quero colocar a função de FreeBless no meu servidor até level 100

Porém esta dando esse erro. Alguma luz ?

 

Desde já agradeço !

 

Está surgindo algum erro? Se sim coloque-o aqui. 

Citar

 in function '__index'
        ...lobal/data/scripts/creaturescripts/customs/freebless.lua:17: in main chunk
 

 

Você tem o código disponível? Se tiver publique-o aqui: 

local freeBlessMaxLevel = 100   --- your max lvl to get free bless
function onLogin(player)
    if player:getLevel() <= freeBlessMaxLevel and not player:hasBlessing(1) then
        for b = 1, 5 do
            player:addBlessing(b)   --- here it add the bless
        end
        player:say("You got free bless, because your level lower than ".. freeBlessMaxLevel .."", TALKTYPE_MONSTER_SAY)   --- info why he get bless
        player:getPosition():sendMagicEffect(CONST_ME_HOLYDAMAGE)

        elseif player:hasBlessing(1) then
            player:say("You are blessed!", TALKTYPE_MONSTER_SAY)
        else
            player:say("You are not blessed.", TALKTYPE_MONSTER_SAY)
    end
    return true
end
freeBless:register()

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Postado

Creio que o motivo do erro foi a falta de registro ao revscript nas primeiras linhas.

Exemplo:

local freeBless = CreatureEvent("freeBless")
function freeBless.onLogin(player)

 

Porém esse script q vc mandou ai tem algumas falhas. Um deles é que só dará a bless 1~5, ou seja, como a twist of fate é a bless numero 1, poderia ainda haver episódios de drop de items com essa bless.

 

 

Exemplo desse script mais otimizado:

local freeBless = CreatureEvent("freeBless")

function freeBless.onLogin(player)
local freeBlessMaxLevel = 100
    if player:getLevel() <= freeBlessMaxLevel then
    	for i = 1, 6 do
    		if not player:hasBlessing(i) then
    			player:addBlessing(i, 1)
    		end
    	end
    	player:sendTextMessage(MESSAGE_EVENT_ADVANCE,'You received adventurers blessings for you to be level less than ' .. freeBlessMaxLevel .. '!')
        player:getPosition():sendMagicEffect(CONST_ME_HOLYDAMAGE)
    end
    return true
end

freeBless:register()

 

  • 2 weeks later...
Postado
Em 30/03/2021 em 11:50, Toruk disse:

Creio que o motivo do erro foi a falta de registro ao revscript nas primeiras linhas.

Exemplo:


local freeBless = CreatureEvent("freeBless")
function freeBless.onLogin(player)

 

Porém esse script q vc mandou ai tem algumas falhas. Um deles é que só dará a bless 1~5, ou seja, como a twist of fate é a bless numero 1, poderia ainda haver episódios de drop de items com essa bless.

 

 

Exemplo desse script mais otimizado:


local freeBless = CreatureEvent("freeBless")

function freeBless.onLogin(player)
local freeBlessMaxLevel = 100
    if player:getLevel() <= freeBlessMaxLevel then
    	for i = 1, 6 do
    		if not player:hasBlessing(i) then
    			player:addBlessing(i, 1)
    		end
    	end
    	player:sendTextMessage(MESSAGE_EVENT_ADVANCE,'You received adventurers blessings for you to be level less than ' .. freeBlessMaxLevel .. '!')
        player:getPosition():sendMagicEffect(CONST_ME_HOLYDAMAGE)
    end
    return true
end

freeBless:register()

 

 

 

Deu certo na minha distro OtServ 12.65.
Valeu mano

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo