Postado Dezembro 12, 2018 6 anos Boa noite galera, gostaria de pedir uma script que ao digitar !support exibisse todos os nomes da staff e falasse se está online ou offline. Um exemplo: TFS 0.4 REP++ Editado Dezembro 12, 2018 6 anos por Matheuus (veja o histórico de edições)
Postado Dezembro 12, 2018 6 anos Cria a talkaction no xml e referencia pra um arquivo lua com o seguinte código: -- by Nazo (tibiaking.com) local function getStaffPlayers() return db.getResult("SELECT name FROM `players` WHERE `access` >= 2;") end function onSay(cid, words, param, channel) staff = getStaffPlayers() text = "Equipe:\n" for _, name in ipairs(staff) do text = text .. "Nome: " .. name .. " | Status: " if (isPlayer(getCreatureByName(name))) then text = text .. "Online\n" else text = text .. "Offline\n" end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, text) return true end Escrevi sem testar, caso algo dê errado, me informe. Programador PHP, Lua, Java, database administrator. "Nada é verdade, tudo é permitido." Requiescat in pace.
Postado Dezembro 12, 2018 6 anos Autor Em 12/12/2018 em 13:42, Nazo disse: Cria a talkaction no xml e referencia pra um arquivo lua com o seguinte código: -- by Nazo (tibiaking.com) local function getStaffPlayers() return db.getResult("SELECT name FROM `players` WHERE `access` >= 2;") end function onSay(cid, words, param, channel) staff = getStaffPlayers() text = "Equipe:\n" for _, name in ipairs(staff) do text = text .. "Nome: " .. name .. " | Status: " if (isPlayer(getCreatureByName(name))) then text = text .. "Online\n" else text = text .. "Offline\n" end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, text) return true end Escrevi sem testar, caso algo dê errado, me informe. Não deu certo. Deu um erro de mysql, mas troquei o acces por group_id e o erro saiu. Porém não exibe o nome dos admins, apenas aparece Equipe:. E não exibe nenhum erro.
Postado Dezembro 12, 2018 6 anos Eu havia errado no group_id mesmo, perdão. Testa agora: -- by Nazo (tibiaking.com) local function getStaffPlayers() query = db.getResult("SELECT `name` FROM `players` WHERE `group_id` >= 2;") return query:getDataString("name") end function onSay(cid, words, param, channel) staff = getStaffPlayers() text = "Equipe:\n" for _, name in ipairs(staff) do text = text .. "Nome: " .. name .. " | Status: " if (isPlayer(getCreatureByName(name))) then text = text .. "Online\n" else text = text .. "Offline\n" end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, text) return true end Programador PHP, Lua, Java, database administrator. "Nada é verdade, tudo é permitido." Requiescat in pace.
Postado Dezembro 12, 2018 6 anos Autor Em 12/12/2018 em 22:23, Nazo disse: Eu havia errado no group_id mesmo, perdão. Testa agora: -- by Nazo (tibiaking.com) local function getStaffPlayers() query = db.getResult("SELECT `name` FROM `players` WHERE `group_id` >= 2;") return query:getDataString("name") end function onSay(cid, words, param, channel) staff = getStaffPlayers() text = "Equipe:\n" for _, name in ipairs(staff) do text = text .. "Nome: " .. name .. " | Status: " if (isPlayer(getCreatureByName(name))) then text = text .. "Online\n" else text = text .. "Offline\n" end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, text) return true end O comando agora n funciona, quando tento usar da esse erro na distro: [12/12/2018 20:29:20] [Error - TalkAction Interface] [12/12/2018 20:29:20] data/talkactions/scripts/support.lua:onSay [12/12/2018 20:29:20] Description: [12/12/2018 20:29:20] data/talkactions/scripts/support.lua:9: bad argument #1 to 'ipairs' (table expected, got string) [12/12/2018 20:29:20] stack traceback: [12/12/2018 20:29:20] [C]: in function 'ipairs' [12/12/2018 20:29:20] data/talkactions/scripts/support.lua:9: in function <data/talkactions/scripts/support.lua:6> Editado Dezembro 13, 2018 6 anos por Matheuus (veja o histórico de edições)
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.