ja tentou mudar essa parte
function onSay(cid, words, param)
local max = 10 -- para 100
?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

ja tentou mudar essa parte
function onSay(cid, words, param)
local max = 10 -- para 100
?
info
Grupo: Barão
Registrado: 07/03/08
Posts: 231
Reputação: +17
Gênero: Masculino

Vodkart, comigo a mesma coisa. Eu alterei o que você mandou e deu certo.
Valeu aí ![]()
ja tentou mudar essa parte
function onSay(cid, words, param) local max = 10 -- para 100
?
Não deu certo, so apareceu 28 players em vez de 10 o/
edit:
olha acho que se der para fazer isso aqui deve funcionar:
db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = 1020 ORDER BY `value` DESC LIMIT 0,"..(max)..";")
em vez de ler storage id e talz ler: players/resets (datebase)
da para fazer isso?
Editado Julho 30 por Cykotitan
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

tenta assim:
function getPlayerNameByGUID2(n)
local c = db.getResult("SELECT `name` FROM `players` WHERE `id` = "..n..";")
if c:getID() == -1 then
return "SQL_ERROR["..n.."]"
end
return c:getDataString("name")
end
function onSay(cid, words, param)
local max = 100
local letters_to_next = 20
local skills = {
['fist'] = 0,
['club'] = 1,
['sword'] = 2,
['axe'] = 3,
['distance'] = 4,
['shielding'] = 5,
['fishing'] = 6,
['dist'] = 4,
['shield'] = 5,
['fish'] = 6,
}
local name_now
local name = "Highscore for level\n"
local rkn = 0
local no_break = 0
param = string.lower(param)
dofile('config.lua')
if param == "" or param == "level" and ( param ~= "magic" and param == "ml") and skills[param] == nil then
name = name.."\n"
name = name.."Rank Level - Nome do Jogador\n"
local v = db.getResult("SELECT `name`, `level`, `experience` FROM `players` WHERE `group_id` <= 2 ORDER BY `experience` DESC LIMIT 0,"..(max)..";")
repeat
no_break = no_break +1
if v:getID() == -1 then
break
end
rkn = rkn+1
name_now, l = v:getDataString("name"), string.len(v:getDataString("name"))
space = ""
for i=1, letters_to_next-l do
space = space.." "
end
name = name..rkn..". "..v:getDataInt("level") .." - "..name_now..space.." ".."\n"
if no_break >= 20 then
break
end
until v:next() == false
elseif param == "magic" or param == "ml" then
name = name.."\n"
name = name.."Rank Magic - Nome do Jogador\n"
local v = db.getResult("SELECT `name`, `level`, `maglevel` FROM `players` WHERE `group_id` <= 2 ORDER BY `maglevel` DESC LIMIT 0,"..(max)..";")
repeat
if v:getID() == -1 then
break
end
rkn = rkn+1
name_now, l = v:getDataString("name"), string.len(v:getDataString("name"))
space = ""
for i=1, letters_to_next-l do
space = space.." "
end
name = name..rkn..". "..v:getDataInt("maglevel").." - "..name_now..space.." ".." ".."".."\n"
until v:next() == false
elseif param == "resets" then
name = name.."Rank Resets - Nome do Jogador\n"
local v = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = 1020 ORDER BY `value` DESC LIMIT 0,"..(max)..";")
local kk = 0
repeat
if kk == max or v:getID() == -1 then
break
end
kk = kk+1
name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("player_id")))
space = ""
for i=1, letters_to_next-l do
space = space.." "
end
if name_now == nil then
name_now = 'sql error['..v:getDataInt("player_id")..']'
end
name = name..kk..". "..v:getDataInt("value").." - "..name_now..space.." ".." ".."".."\n"
until v:next() == false
elseif skills[param] ~= nil then
name = name.."\n"
name = name.."Rank "..param.." fighting - Nome do Jogador\n"
local v = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..skills[param].." ORDER BY `value` DESC;")
local kk = 0
repeat
if kk == max or v:getID() == -1 then
break
end
kk = kk+1
name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("player_id")))
space = ""
for i=1, letters_to_next-l do
space = space.." "
end
if name_now == nil then
name_now = 'sql error['..v:getDataInt("player_id")..']'
end
name = name..kk..". "..v:getDataInt("value").." - "..name_now..space.." \n"
until v:next() == false
end
if name ~= "Highscore\n" then
doShowTextDialog(cid, 6500, name)
end
return true
end
Editado Julho 30 por Vodkart
ainda não funcionou =/
edit:
apareceu mais ficou meio estranho oO:
Highscore for levelRank Resets - Nome do Jogador
1. 9 - Mago Duu Mall
2. 9 - Position Of Power
3. 9 - Myon Mecchi Akechi
4. 6 - This Is It
5. 5 - Pullyed Rox
6. 4 - Elf'ng
7. 4 - Heaven Style
8. 4 - Puff Style
9. 4 - Xyis
10. 3 - Rapaziada
11. 3 - Dual Bomb
12. 3 - Knight Rushes
13. 2 - Lacta
14. 2 - Arzack Mululu
15. 2 - Love You
16. 2 - Delegado do tibia
17. 2 - Drunou Sexy
18. 2 - Lord Paulistinha
19. 2 - [GOD]
20. 14 - Mechainy
21. 12 - Mestre Bengalao
22. 12 - Jokker Style
23. 10 - Anjo Demonio
24. 10 - Nerd
25. 10 - Pally Style
26. 1 - Drunouziinho
27. 1 - Gregzin
28. 1 - Pal na lonba
29. 1 - Khryz
30. 1 - Chebereliih
31. 1 - Master Akamaru
32. 1 - Sir Trevus
33. 1 - Mata Vaka
34. 1 - Snapp
Editado Julho 30 por Cykotitan
info
Grupo: Barão
Registrado: 07/03/08
Posts: 231
Reputação: +17
Gênero: Masculino

Cara, aqui funcionou normal.. num servidor de versão 8.6.. mas eu só testei, não coloquei ainda pois o sistema de resets eu irei colocar depois.. coloquei agora, resetei 2 chars test, e funcionou normal
'
Lol, eu nem sabia que os resets eram por storage
'
Será que não tem como criar uma tabela resets em PLAYERS, e modificar o script?
Cara, aqui funcionou normal.. num servidor de versão 8.6.. mas eu só testei, não coloquei ainda pois o sistema de resets eu irei colocar depois.. coloquei agora, resetei 2 chars test, e funcionou normal
'
Lol, eu nem sabia que os resets eram por storage
'
Será que não tem como criar uma tabela resets em PLAYERS, e modificar o script?
eu criei mais não sei modifica o script =/
ja consegui arruma
Editado Agosto 1 por Cykotitan
info
Grupo: Campones
Registrado: 11/07/10
Posts: 84
Reputação: +16
1- Meu problema é o seguinte, tenho meu script de ranks, eu coloquei o sistema de reset nele, mais no !rank resets aparece so até o 9 reset, apartir do 9 não aparece mais no rank.
Script:
elseif param == "resets" then name = name.."Rank Resets - Nome do Jogador\n" local v = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = 1020 ORDER BY `value` DESC LIMIT 0,"..(max)..";") local kk = 0 repeat if kk == max or v:getID() == -1 then break end kk = kk+1 name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("player_id"))) space = "" for i=1, letters_to_next-l do space = space.." " end if name_now == nil then name_now = 'sql error['..v:getDataInt("player_id")..']' end name = name..kk..". "..v:getDataInt("value").." - "..name_now..space.." ".." ".."".."\n" until v:next() == falseScript completo:
function getPlayerNameByGUID2(n) local c = db.getResult("SELECT `name` FROM `players` WHERE `id` = "..n..";") if c:getID() == -1 then return "SQL_ERROR["..n.."]" end return c:getDataString("name") end function onSay(cid, words, param) local max = 10 local letters_to_next = 20 local skills = { ['fist'] = 0, ['club'] = 1, ['sword'] = 2, ['axe'] = 3, ['distance'] = 4, ['shielding'] = 5, ['fishing'] = 6, ['dist'] = 4, ['shield'] = 5, ['fish'] = 6, } local name_now local name = "Highscore for level\n" local rkn = 0 local no_break = 0 param = string.lower(param) dofile('config.lua') if param == "" or param == "level" and ( param ~= "magic" and param == "ml") and skills[param] == nil then name = name.."\n" name = name.."Rank Level - Nome do Jogador\n" local v = db.getResult("SELECT `name`, `level`, `experience` FROM `players` WHERE `group_id` <= 2 ORDER BY `experience` DESC LIMIT 0,"..(max)..";") repeat no_break = no_break +1 if v:getID() == -1 then break end rkn = rkn+1 name_now, l = v:getDataString("name"), string.len(v:getDataString("name")) space = "" for i=1, letters_to_next-l do space = space.." " end name = name..rkn..". "..v:getDataInt("level") .." - "..name_now..space.." ".."\n" if no_break >= 20 then break end until v:next() == false elseif param == "magic" or param == "ml" then name = name.."\n" name = name.."Rank Magic - Nome do Jogador\n" local v = db.getResult("SELECT `name`, `level`, `maglevel` FROM `players` WHERE `group_id` <= 2 ORDER BY `maglevel` DESC LIMIT 0,"..(max)..";") repeat if v:getID() == -1 then break end rkn = rkn+1 name_now, l = v:getDataString("name"), string.len(v:getDataString("name")) space = "" for i=1, letters_to_next-l do space = space.." " end name = name..rkn..". "..v:getDataInt("maglevel").." - "..name_now..space.." ".." ".."".."\n" until v:next() == false elseif param == "resets" then name = name.."Rank Resets - Nome do Jogador\n" local v = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = 1020 ORDER BY `value` DESC LIMIT 0,"..(max)..";") local kk = 0 repeat if kk == max or v:getID() == -1 then break end kk = kk+1 name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("player_id"))) space = "" for i=1, letters_to_next-l do space = space.." " end if name_now == nil then name_now = 'sql error['..v:getDataInt("player_id")..']' end name = name..kk..". "..v:getDataInt("value").." - "..name_now..space.." ".." ".."".."\n" until v:next() == false elseif skills[param] ~= nil then name = name.."\n" name = name.."Rank "..param.." fighting - Nome do Jogador\n" local v = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..skills[param].." ORDER BY `value` DESC;") local kk = 0 repeat if kk == max or v:getID() == -1 then break end kk = kk+1 name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("play er_id"))) space = "" for i=1, letters_to_next-l do space = space.." " end if name_now == nil then name_now = 'sql error['..v:getDataInt("player_id")..']' end name = name..kk..". "..v:getDataInt("value").." - "..name_now..space.." \n" until v:next() == false end if name ~= "Highscore\n" then doPlayerPopupFYI(cid, name) end return true end2- Bom eu criei um tabela em players chamada resets, dai quando alguem diz !reset (comando para resetar), adiciona uma storage value e adiciona na tabela resets, mais o script está lendo pelo storage id e não pela tabela, tem como alguem por para ele ler pela tabela?
Olha, depois que o player pega o décimo reset ou mais, já não aparece mais no rank =/
Editado Julho 30 por Cykotitan