Ir para conteúdo

Featured Replies

Postado

Fala galera, beleza?

 

Peguei este codigo do @Fir3element porem ele não está funcionando, gostaria de uma ajuda para resolver!

 

Ele se trata de um comando que seria o: /guildbc

 

Ele iria enviar uma mensagem para TODOS os lideres de guilds que estiverem online no momento.

 

Exemplo: /guildbc Alguem quer WAR hoje?

 

Regras para utilizar o comando:
1 - Só lideres podem utilizar o comando.
2 - Precisa ter level 250 ou mais.
3 - Só pode ser executado de 10 em 10 minutos.
4 - A guild precisa ter no mínimo 20 player adicionados.

 

UTILIZO TFS 0.4 REV3777

 

Erro:

Citar

[7:43:49.941] [Error - TalkAction Interface]
[7:43:49.941] data/talkactions/scripts/guildbc.lua:onSay
[7:43:49.942] Description:
[7:43:49.942] data/talkactions/scripts/guildbc.lua:3: attempt to concatenate a boolean value
[7:43:49.942] stack traceback:
[7:43:49.942]   data/talkactions/scripts/guildbc.lua:3: in function 'getGuildMembers'
[7:43:49.942]   data/talkactions/scripts/guildbc.lua:19: in function <data/talkactions/scripts/guildbc.lua:13>
 

 

Codigo:

 local function getGuildMembers(guildName)
	local n = 0
	local players = db.getResult("SELECT `name`, `rank_id` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " .. getGuildId(guildName) .. ");")  
	if(players:getID() ~= -1) then  
		repeat
			n = n + 1
		until not players:next()
		players:free()
		return n
	end
end

function onSay(cid, words, param, channel)
	local storage = 123456789
	local exhaust = 1 -- em segundos
	local players = 10 -- quantidade de players

	if (os.time() - getPlayerStorageValue(cid, storage)) >= exhaust then
		if(getGuildMembers(getPlayerGuildName(cid)) >= players) then
			for _, pid in ipairs(getPlayersOnline()) do
				if(getPlayerGuildLevel(pid) == GUILDLEVEL_LEADER) then
					doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, getCreatureName(cid) .. ": " .. param)
				end
			end
			setPlayerStorageValue(cid, storage, os.time())
		else
			doPlayerSendCancel(cid, "Your guild need more players (min: " .. players .. ").")
			doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
		end
	else
		doPlayerSendCancel(cid, "You need to wait " .. os.time() - getPlayerStorageValue(cid, storage) .. " seconds.")
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
	end
	return true
end

 

Obrigado e fico no aguardo! Forte abraço.

 

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

  • Respostas 8
  • Visualizações 630
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • function getGuildMembers(GuildId) local players,query = {},db.getResult("SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " .. GuildId .. ");") if (

  • @grillo1995 é que tem um bug no forum nessas code box.   copia daqui o código:   https://pastebin.com/raw/YJkD17pD

Posted Images

Postado
function getGuildMembers(GuildId)
	local players,query = {},db.getResult("SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " .. GuildId .. ");")
	if (query:getID() ~= -1) then
		repeat
			table.insert(players,query:getDataString("name"))
		until not query:next()
		query:free()
	end
	return #players > 0 and players or false
end 
function onSay(cid, words, param, channel)
	local time, storage = 10,786974
	local min_player = 20
	local level_min = 250
	if getPlayerGuildId(cid) <= 0 or getPlayerGuildLevel(cid) < GUILDLEVEL_LEADER then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "você precisa ser lider de uma guild") return true
	elseif #getGuildMembers(getPlayerGuildId(cid)) < min_player then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua guild precisa ter no min "..min_player.." players") return true
	elseif getPlayerLevel(cid) < level_min then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce precisa ser level "..min_player.."ou mais para mandars mensagens") return true
	elseif getPlayerStorageValue(cid, storage) - os.time() > 0 then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to wait " .. os.time() - getPlayerStorageValue(cid, storage) .. " seconds.") return true
	end
	for _, pid in ipairs(getPlayersOnline()) do
		if(getPlayerGuildLevel(pid) == GUILDLEVEL_LEADER) then
			doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, getCreatureName(cid) .. ": " .. param)
		end
	end
	doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Mensagem enviada com sucesso")
	setPlayerStorageValue(cid, storage, os.time()+time*60)
	return true
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado

@grillo1995 é que tem um bug no forum nessas code box.

 

copia daqui o código:

 

https://pastebin.com/raw/YJkD17pD

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

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
  • Autor

10:55 Reloading talkactions...
10:55 Reloaded successfully.
10:55 Voce precisa ser lider de uma guild

 

Parece que agora vai em!

Vou ter que sair e quando voltar vou criar uma guild e testar todo o sistema e te aviso beleza?

 

Obrigado meu querido @Vodkart

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