Postado Fevereiro 4, 2020 5 anos 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 Fevereiro 4, 2020 5 anos por grillo1995 (veja o histórico de edições)
Postado Fevereiro 4, 2020 5 anos 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 [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Fevereiro 5, 2020 5 anos @grillo1995 é que tem um bug no forum nessas code box. copia daqui o código: https://pastebin.com/raw/YJkD17pD Editado Fevereiro 5, 2020 5 anos por Vodkart (veja o histórico de edições) [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Fevereiro 5, 2020 5 anos 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.