Postado Março 9, 2019 6 anos Bom dia, eu achei um script de ban feito pelo Omega que atende aos meus requisitos. Porem ele da um erro ao tentar usar no sv. Uso tfs 0.4, 8.60 Parece q foi testado em sqlite, eu uso mysql Erro: [9/3/2019 4:53:59] [Error - TalkAction Interface] [9/3/2019 4:53:59] data/talkactions/scripts/banunban.lua:onSay [9/3/2019 4:53:59] Description: [9/3/2019 4:53:59] data/lib/004-database.lua:100: [Result:free] Result not set! [9/3/2019 4:53:59] stack traceback: [9/3/2019 4:53:59] [C]: in function 'error' [9/3/2019 4:53:59] data/lib/004-database.lua:100: in function 'free' [9/3/2019 4:53:59] data/talkactions/scripts/banunban.lua:12: in function 'isBanned' [9/3/2019 4:53:59] data/talkactions/scripts/banunban.lua:38: in function <data/talkactions/scripts/banunban.lua:16> Script: Spoiler local reasons = {[1] = 2, [2] = 5, [3] = 12, [4] = 19} function isBanned(GUID) local query = db.getResult("SELECT active FROM bans WHERE param = "..GUID) if query:getID() > -1 then repeat if query:getDataInt("active") == 1 then return true end until not query:next() end query:free() return false end function onSay(cid, words, param) if param:lower() == "reasons" then return doPlayerSendTextMessage(cid, 27, "1 - unsuitable name, 2 - spamming, 3 - use of unnoficial software, 4 - destructive behaviour.") end local param = string.explode(param, ',') if words == "!ban" then local adminid = getPlayerGUID(cid) local player_name = param[1] local days = type(tonumber(param[2])) == 'number' and tonumber(param[2]) * 24 * 3600 or false local comment = param[3] local reason = reasons[tonumber(param[4])] or 19 if not param[1] then doPlayerSendTextMessage(cid, 27, "Command requires parameters: name, days, comment, reason.") elseif not getPlayerGUIDByName(player_name) then doPlayerSendTextMessage(cid, 27, "Invalid player.") elseif not days then doPlayerSendTextMessage(cid, 27, "Invalid number of days.") else if not comment then comment = "No comment was added" end local player_to_ban = getPlayerGUIDByName(player_name) if isBanned(player_to_ban) then return doPlayerSendTextMessage(cid, 27, "This player is already banned.") end local func = db.query or db.executeQuery if func('INSERT INTO bans (type, value, param, active, expires, added, admin_id, comment, reason, action) VALUES (3, 8, '..player_to_ban..', 1, '..os.time() + days..', '..os.time()..', '..adminid..', "'..comment..'", '..reason..', 2)') then doPlayerSendTextMessage(cid, 27, "Player "..player_name.." has been banned.") local kick = getCreatureByName(player_name) if kick then doRemoveCreature(kick) end else doPlayerSendTextMessage(cid, 27, "Error while banning.") end end elseif words == "!unban" then local player_name = param[1] local unban_player = getPlayerGUIDByName(player_name) if unban_player then local func = db.query or db.executeQuery if not isBanned(unban_player) then return doPlayerSendTextMessage(cid, 27, "Player is currently not banned.") end if func("UPDATE bans SET active = 0 WHERE param = "..unban_player) then doPlayerSendTextMessage(cid, 27, "Player "..player_name.." has been successfully unbanned.") else doPlayerSendTextMessage(cid, 27, "Error while unbanning.") end else doPlayerSendTextMessage(cid, 27, "Invalid player name specified.") end end return true end Alguem pode ajudar? Rep+ @Vodkart @WooX Editado Março 18, 2019 6 anos por Jhonny Bravo (veja o histórico de edições)
Postado Março 19, 2019 6 anos Autor 4 horas atrás, WooX disse: Sem você postar o script fica complicado. Mas eu postei ta em spoiler Parece q o erro parou mas quando tento dar ban fala q deu mais n kicka bem bane o perso. Creio q é pelo fato de estar pra sqlite Editado Março 19, 2019 6 anos por Jhonny Bravo (veja o histórico de edições)
Postado Março 19, 2019 6 anos 3 horas atrás, Jhonny Bravo disse: Mas eu postei ta em spoiler Parece q o erro parou mas quando tento dar ban fala q deu mais n kicka bem bane o perso. Creio q é pelo fato de estar pra sqlite Não tinha visto. Porque ao invés de usar o script você não utiliza a função que já vem na source?
Postado Março 25, 2019 6 anos Autor Em 19/03/2019 em 01:54, WooX disse: Não tinha visto. Porque ao invés de usar o script você não utiliza a função que já vem na source? acho BAN por comando algo bem util. Tenho algumas ideias otimas para isso, so q precisava da script funcionando
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.