Ir para conteúdo
  • Cadastre-se

Normal [AJUDA] Recompensas a cada 30 minutos!


Posts Recomendados

Eae galera, estou com o seguinte problema: preciso de um script que, a cada 30 minutos todos os players online ganhem um determinado item:

Versão do OT: 10, TFS 1.2

 

Meu Script (globalevents):

 

local config = {
	items = {
		{itemId = 11219, count = 1}, 
	},
	
	minLevel = 100 -- level minimo para receber os items
}

function onThink(interval)
	local players = Game.getPlayers()
	if #players == 0 then
		return true
	end
	
	for _, player in ipairs(players) do
		if player:getLevel() => config.minLevel then
			local reward = config.rewards[math.random(#config.items)]
			local ret = player:addItemEx(Game.createItem(reward.itemId, reward.count))
			if ret ~= RETURNVALUE_NOERROR then
				local inbox = player:getInbox()
				if inbox then
					inbox:addItemEx(rewardItem, INDEX_WHEREEVER, FLAG_NOLIMIT)
				end
			end
			
			player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format('Did you recived %s. You can get more items within 30 minutes. %s', ItemType(reward.itemId):getName(), ret ~= 0 and "The reward was sent to your inbox due not enough capacity or room in your backpack." or ""))
		end
	end
	
    return true
end

Erro:

[Warning - Event::checkScript] Can not load script: scripts/online.lua
data/globalevents/scripts/online.lua:16: 'then' expected near '='

Agradeço desde já!!

Link para o post
Compartilhar em outros sites

tenta ai 

 

Citar

local config = {
    items = {
        {itemId = 11219, count = 1}, 
    },
    
    minLevel = 100 -- level minimo para receber os items
}

function onThink(interval)
    local players = Game.getPlayers()
    if #players == 0 then
        return true
    end
    
    for _, player in ipairs(players) do
        if player:getLevel() > 100
            local reward = config.rewards[math.random(#config.items)]
            local ret = player:addItemEx(Game.createItem(reward.itemId, reward.count))
            if ret ~= RETURNVALUE_NOERROR then
                local inbox = player:getInbox()
                if inbox then
                    inbox:addItemEx(rewardItem, INDEX_WHEREEVER, FLAG_NOLIMIT)
                end
            end
            
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format('Did you recived %s. You can get more items within 30 minutes. %s', ItemType(reward.itemId):getName(), ret ~= 0 and "The reward was sent to your inbox due not enough capacity or room in your backpack." or ""))
        end
    end
    
    return true
end

 

Editado por Antipush (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
1 hora atrás, Antipush disse:

local config = {
    items = {
        {itemId = 11219, count = 1}, 
    },
    
    minLevel = 100 -- level minimo para receber os items
}

function onThink(interval)
    local players = Game.getPlayers()
    if #players == 0 then
        return true
    end
    
    for _, player in ipairs(players) do
        if player:getLevel() > 100
            local reward = config.rewards[math.random(#config.items)]
            local ret = player:addItemEx(Game.createItem(reward.itemId, reward.count))
            if ret ~= RETURNVALUE_NOERROR then
                local inbox = player:getInbox()
                if inbox then
                    inbox:addItemEx(rewardItem, INDEX_WHEREEVER, FLAG_NOLIMIT)
                end
            end
            
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format('Did you recived %s. You can get more items within 30 minutes. %s', ItemType(reward.itemId):getName(), ret ~= 0 and "The reward was sent to your inbox due not enough capacity or room in your backpack." or ""))
        end
    end
    
    return true
end

Mesmo erro :(

Link para o post
Compartilhar em outros sites
local config = {
	items = {
		{itemId = 11219, count = 1}, 
	},
	
	minLevel = 100 -- level minimo para receber os items
}

function onThink(interval)
	local players = Game.getPlayers()
	if #players == 0 then
		return true
	end
	
	for _, player in ipairs(players) do
		if player:getLevel() >= config.minLevel then
			local reward = config.rewards[math.random(#config.items)]
			local ret = player:addItemEx(Game.createItem(reward.itemId, reward.count))
			if ret ~= RETURNVALUE_NOERROR then
				local inbox = player:getInbox()
				if inbox then
					inbox:addItemEx(rewardItem, INDEX_WHEREEVER, FLAG_NOLIMIT)
				end
			end
			
			player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format('Did you recived %s. You can get more items within 30 minutes. %s', ItemType(reward.itemId):getName(), ret ~= 0 and "The reward was sent to your inbox due not enough capacity or room in your backpack." or ""))
		end
	end
	
    return true
end

 

Link para o post
Compartilhar em outros sites
41 minutos atrás, Sekk disse:

local config = { items = { {itemId = 11219, count = 1}, }, minLevel = 100 -- level minimo para receber os items } function onThink(interval) local players = Game.getPlayers() if #players == 0 then return true end for _, player in ipairs(players) do if player:getLevel() >= config.minLevel then local reward = config.rewards[math.random(#config.items)] local ret = player:addItemEx(Game.createItem(reward.itemId, reward.count)) if ret ~= RETURNVALUE_NOERROR then local inbox = player:getInbox() if inbox then inbox:addItemEx(rewardItem, INDEX_WHEREEVER, FLAG_NOLIMIT) end end player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format('Did you recived %s. You can get more items within 30 minutes. %s', ItemType(reward.itemId):getName(), ret ~= 0 and "The reward was sent to your inbox due not enough capacity or room in your backpack." or "")) end end return true end

Não apareceu erros ao iniciar o server, mas depois apareceu isso:

Lua Script Error: [GlobalEvent Interface]
data/globalevents/scripts/online.lua:onThink
data/globalevents/scripts/online.lua:17: attempt to index field 'rewards' (a nil value)
stack traceback:
        [C]: in function '__index'
        data/globalevents/scripts/online.lua:17: in function <data/globalevents/scripts/online.lua:9>
[Error - GlobalEvents::think] Failed to execute event: OnlinePoints

 

Edit:

Funcionou agora, retirei o 'rewards' e coloquei 'items', agora funcionou.

OBRIGADO!!

 

Para quem futuramente precisar do script:

 

local config = {
	items = {
		{itemId = 11219, count = 1}, 
	},
	
	minLevel = 100 -- level minimo para receber os items
}

function onThink(interval)
	local players = Game.getPlayers()
	if #players == 0 then
		return true
	end
	
	for _, player in ipairs(players) do
		if player:getLevel() >= config.minLevel then
			local reward = config.items[math.random(#config.items)]
			local ret = player:addItemEx(Game.createItem(reward.itemId, reward.count))
			if ret ~= RETURNVALUE_NOERROR then
				local inbox = player:getInbox()
				if inbox then
					inbox:addItemEx(rewardItem, INDEX_WHEREEVER, FLAG_NOLIMIT)
				end
			end
			
			player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format('Did you recived %s. You can get more items within 30 minutes. %s', ItemType(reward.itemId):getName(), ret ~= 0 and "The reward was sent to your inbox due not enough capacity or room in your backpack." or ""))
		end
	end
	
    return true
end

 

Editado por Alberto1997 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 weeks 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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo