Ir para conteúdo

Comando !rank Atualizado


Vodkart

Posts Recomendados

@Vodkart, ae thiago tem alguns sistemas de reset que nao requer storage e sim por db, entao eu dei uma atualizada no teu.

local config = {
MaxPlayer = 10,
fight_skills = {
        ['fist'] = 0,
        ['club'] = 1,
        ['sword'] = 2,
        ['axe'] = 3,
        ['distance'] = 4,
        ['shielding'] = 5,
        ['fishing'] = 6,
        ['dist'] = 4,
        ['shield'] = 5,
        ['fish'] = 6,
},
other_skills = {
[''] = "level",
['level'] = "level",
['magic'] = "maglevel",
['health'] = "healthmax",
['mana'] = "manamax",
['reset'] = "reset"
},
vocations = {
['sorcerer'] = {1,5},
['druid'] = {2,6},
['paladin'] = {3,7},
['knight'] = {4,8}
},
storages = {
['frags'] = 824544,
['resets'] = 2310
}
}
function onSay(cid, words, param)
local param,str = string.lower(param),""
if not config.fight_skills[param] and not config.other_skills[param] and not config.vocations[param] and  not config.storages[param] then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "este rank não existe.") return true
end
str = "--[ RANK "..(param == "" and "LEVEL" or string.upper(param)).." ]--\n\n"
query = config.fight_skills[param] and db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..config.fight_skills[param].." ORDER BY `value` DESC;") or config.other_skills[param] and db.getResult("SELECT `name`, `"..config.other_skills[param].."` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `"..config.other_skills[param].."` DESC, `name` ASC;") or config.storages[param] and db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..config.storages[param].." ORDER BY cast(value as INTEGER) DESC;") or db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` <= 2 AND `vocation` = "..config.vocations[param][1].." or `vocation` = "..config.vocations[param][2].." ORDER BY `level` DESC;") 
if (query:getID() ~= -1) then 
k = 1 
while true do
str = str .. "\n " .. k .. ". "..(config.fight_skills[param] and getPlayerNameByGUID(query:getDataString("player_id")) or config.storages[param] and getPlayerNameByGUID(query:getDataString("player_id")) or query:getDataString("name")).." - [" .. query:getDataInt((config.fight_skills[param] and "value" or config.storages[param] and "value" or config.vocations[param] and "level" or config.other_skills[param])) .. "]"
k = k + 1
if not(query:next()) or k > config.MaxPlayer then
break 
end 
end 
query:free()
end
doShowTextDialog(cid,6500, str)
return true
end

@EDIT botei 2 reset. o !rank reset pra ver os resets que sao por database. e o !rank resets que ver os resets por storage ^^

Editado por Maenilse
Link para o comentário
Compartilhar em outros sites

Vodkart Cara, seguinte, o erro no rank ta certinho, mais precisaria falar ctg sobre o guild frag system, tipo, eu fiz no modo por talkaction e talz, dai quando falo !guildfrags rank n aparece nenhuma guild no rank, e também mesmo se tiver a guild com 50 frags não aparece, fiz o test e tal ... sabe me dizer porq ? e se influencia a versão do servidor, bom eu não sei olhar, mais meu servidor é um baiakzik vip8 sacas ?

 

Obs: Eu ja tinha feito, e um amigo deu uma fuçada sei la no db e começo a contagem certinha, agora eu nãosei o que ele fez, minha db deu um problemaço, dai tive que trocar por outra do msm server, acho que foi isso mais n sei como resolver :C me ajuda ai por favor :c

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...