Postado Agosto 25, 2018 6 anos esse script local ranks = { ['fist'] = {0}, ['club'] = {1}, ['sword'] = {2}, ['axe'] = {3}, ['distance'] = {4}, ['shield'] = {5}, ['fish'] = {6}, ['magic'] = {7}, ['level'] = {8}, } function onSay(cid, words, param) local msg = string.lower(param) if ranks[msg] ~= nil then str = getHighscoreString((ranks[msg][1])) else str = getHighscoreString((8)) end doShowTextDialog(cid,6500, str) end return TRUE dando esse erro 24/8/2018 21:20:29] [Error - TalkAction Interface] [24/8/2018 21:20:29] data/talkactions/scripts/ranking.lua:onSay [24/8/2018 21:20:29] Description: [24/8/2018 21:20:29] data/talkactions/scripts/ranking.lua:21: attempt to call global 'getHighscoreString' (a nil value) [24/8/2018 21:20:29] stack traceback: [24/8/2018 21:20:29] data/talkactions/scripts/ranking.lua:21: in function <data/talkactions/scripts/ranking.lua:17>
Postado Agosto 25, 2018 6 anos Talvez você queira ver: BestBaiak [FAQ]Remere's Map Editor - Dúvidas e soluções de bugs Contato: Discord:
Postado Agosto 25, 2018 6 anos 4 minutos atrás, Emooooo disse: não funcionou ! local maxnames = 20 -- quantos vai mostrar local minspace = 20 -- espaço minimo entre um nome e outro local skills = { ['fist'] = 0, ['club'] = 1, ['sword'] = 2, ['axe'] = 3, ['distance'] = 4, ['shielding'] = 5, ['shield'] = 5, ['fishing'] = 6, } function onSay(cid, words, param) param = string.lower(param) local msg = "" local consulta if (param == "" or param == "level") and not skills[param] then msg = msg.."Rank - Nome do Jogador [Level]\n\n" consulta = db.getResult("SELECT `name`, `level` AS `value`, `experience` FROM `players` WHERE `group_id` <= 2 ORDER BY `experience` DESC LIMIT "..(maxnames)..";") elseif param == "magic" or param == "ml" or param == "magic level" or param == "magiclevel" then msg = msg.."Rank - Nome do Jogador [Magic Level]\n\n" consulta = db.getResult("SELECT `name`, `maglevel` AS `value` FROM `players` WHERE `group_id` <= 2 ORDER BY `maglevel` DESC LIMIT "..(maxnames)..";") elseif skills[param] then msg = msg.."Rank - Nome do Jogador [".. param .."]\n\n" consulta = db.getResult("SELECT `name`, `value` FROM `player_skills` INNER JOIN `players` ON `player_skills`.`player_id` = `players`.`id` WHERE `skillid` = "..skills[param].." AND `group_id` <= 2 ORDER BY `value` DESC LIMIT "..(maxnames)..";") else doPlayerSendCancel(cid, "Não foi possivel retornar esse tipo de ranking") return false end local position = 0 repeat if consulta:getID() == -1 then break end position = position + 1 msg = msg..position.." - "..consulta:getDataString("name").." ["..consulta:getDataInt("value") .."]".. string.rep(" ", minspace - string.len(consulta:getDataString("name"))).. " ".."\n" until (not consulta:next() or position > maxnames) doShowTextDialog(cid, 6500, msg) return false end Existem vários sistemas de ranks aqui no forum, se esse também não funcionar ou não satisfaze-lo, vc pode procurar por algum outro.... Talvez você queira ver: BestBaiak [FAQ]Remere's Map Editor - Dúvidas e soluções de bugs Contato: Discord:
Postado Agosto 25, 2018 6 anos Autor 1 minuto atrás, Werner disse: local maxnames = 20 -- quantos vai mostrar local minspace = 20 -- espaço minimo entre um nome e outro local skills = { ['fist'] = 0, ['club'] = 1, ['sword'] = 2, ['axe'] = 3, ['distance'] = 4, ['shielding'] = 5, ['shield'] = 5, ['fishing'] = 6, } function onSay(cid, words, param) param = string.lower(param) local msg = "" local consulta if (param == "" or param == "level") and not skills[param] then msg = msg.."Rank - Nome do Jogador [Level]\n\n" consulta = db.getResult("SELECT `name`, `level` AS `value`, `experience` FROM `players` WHERE `group_id` <= 2 ORDER BY `experience` DESC LIMIT "..(maxnames)..";") elseif param == "magic" or param == "ml" or param == "magic level" or param == "magiclevel" then msg = msg.."Rank - Nome do Jogador [Magic Level]\n\n" consulta = db.getResult("SELECT `name`, `maglevel` AS `value` FROM `players` WHERE `group_id` <= 2 ORDER BY `maglevel` DESC LIMIT "..(maxnames)..";") elseif skills[param] then msg = msg.."Rank - Nome do Jogador [".. param .."]\n\n" consulta = db.getResult("SELECT `name`, `value` FROM `player_skills` INNER JOIN `players` ON `player_skills`.`player_id` = `players`.`id` WHERE `skillid` = "..skills[param].." AND `group_id` <= 2 ORDER BY `value` DESC LIMIT "..(maxnames)..";") else doPlayerSendCancel(cid, "Não foi possivel retornar esse tipo de ranking") return false end local position = 0 repeat if consulta:getID() == -1 then break end position = position + 1 msg = msg..position.." - "..consulta:getDataString("name").." ["..consulta:getDataInt("value") .."]".. string.rep(" ", minspace - string.len(consulta:getDataString("name"))).. " ".."\n" until (not consulta:next() or position > maxnames) doShowTextDialog(cid, 6500, msg) return false end qual comando pra ver e ? !rank axe
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.