Ir para conteúdo

Featured Replies

Postado

Olá garotada, tudo tranks com vocês?

Bom, cmg, tá tudo suave, mas Então: Venho aqui encarecidamente pedir ajuda para eu conseguir completar de fazer uma transição do comando !rank para um servidor de ot global no qual o protocolo é 9.60. Ele venho sem esse comando, então resolvi pegar de um servidor q eu tinha aqui antigo do alissow, e lá funcionava normalmente. Então fui na pasta talkactions/script onde se encontra a script do comando !rank e copiei ela para a minha pasta talkactions do servidor global e acrescentei a linha <talkaction words="!rank;/rank;!ranks;/ranks" event="script" value="rank.lua"/> em talkactions.xml, até ai tudo certo... Porém na hora que uso o comando !ranks não aparece nada de rank na tela do tibia e dá 1 error no meu distro: 

[12:28:25.864] [Error - TalkAction Interface]
[12:28:25.865] data/talkactions/scripts/rank.lua:onSay
[12:28:25.866] Description:
[12:28:25.867] data/talkactions/scripts/rank.lua:109: attempt to call global 'ad
dDialog' (a nil value)
[12:28:25.868] stack traceback:
[12:28:25.869]  data/talkactions/scripts/rank.lua:109: in function <data/talkact
ions/scripts/rank.lua:108>

Então resolvi abrir a script e tentar achar o erro, mas procuro e nada encontro, já vi ela e revi, mas não vejo erros de programação, então resolvi apelar para internet e procurar esse erro, mas não encontrei ninguém com o mesmo error e resolvi criar esse post para ver se alguém poderia me ajudar.

Segue abaixo a Script do comando !ranks / !rank:

 

modaldialog2 = {title = "Rank",
message = "Escolha o rank que você quer visualizar:",
buttons = {
{ id = 1, value = "Ver" },
{ id = 2, value = "Cancelar" },
},
buttonEnter = 1,
buttonEscape = 2,
choices = {
{ id = 1, value = "Fist" },
{ id = 2, value = "Club" },
{ id = 3, value = "Sword" },
{ id = 4, value = "Axe" },
{ id = 5, value = "Distance" },
{ id = 6, value = "Shield" },
{ id = 7, value = "Fish" },
{ id = 8, value = "Magic" },
{ id = 9, value = "Level" },
{ id = 10, value = "Frags" }
},
popup = false
}


function callback2(cid, button, choice)
if (button == 1) then
local str = ""
local name_now
if (choice == 1) then
str = "--[ Fist Rank ]--\n"
query = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 0 ORDER BY `value` DESC;")
if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end
str = str .. "\n " .. k .. ". "..(getPlayerNameByGUID(query:getDataString("player_id"))).." - [" .. query:getDataInt("value") .. "]"
k = k + 1 until not query:next()
end
elseif (choice == 2) then
str = "--[ Club Rank ]--\n"
query = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 1 ORDER BY `value` DESC;")
if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end
str = str .. "\n " .. k .. ". "..(getPlayerNameByGUID(query:getDataString("player_id"))).." - [" .. query:getDataInt("value") .. "]"
k = k + 1 until not query:next()
end
elseif (choice == 3) then
str = "--[ Sword Rank ]--\n"
query = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 2 ORDER BY `value` DESC;")
if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end
str = str .. "\n " .. k .. ". "..(getPlayerNameByGUID(query:getDataString("player_id"))).." - [" .. query:getDataInt("value") .. "]"
k = k + 1 until not query:next()
end
elseif (choice == 4) then
str = "--[ Axe Rank ]--\n"
query = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 3 ORDER BY `value` DESC;")
if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end
str = str .. "\n " .. k .. ". "..(getPlayerNameByGUID(query:getDataString("player_id"))).." - [" .. query:getDataInt("value") .. "]"
k = k + 1 until not query:next()
end
elseif (choice == 5) then
str = "--[ Distance Rank ]--\n"
query = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 4 ORDER BY `value` DESC;")
if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end
str = str .. "\n " .. k .. ". "..(getPlayerNameByGUID(query:getDataString("player_id"))).." - [" .. query:getDataInt("value") .. "]"
k = k + 1 until not query:next()
end
elseif (choice == 6) then
str = "--[ Shield Rank ]--\n"
query = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 5 ORDER BY `value` DESC;")
if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end
str = str .. "\n " .. k .. ". "..(getPlayerNameByGUID(query:getDataString("player_id"))).." - [" .. query:getDataInt("value") .. "]"
k = k + 1 until not query:next()
end
elseif (choice == 7) then
str = "--[ Fish Rank ]--\n"
query = db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 6 ORDER BY `value` DESC LIMIT 20;")
if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end
str = str .. "\n " .. k .. ". "..(getPlayerNameByGUID(query:getDataString("player_id"))).." - [" .. query:getDataInt("value") .. "]"
k = k + 1 until not query:next()
end
elseif (choice == 8) then
str = "--[ Magic Rank ]--\n"
query = db.getResult("SELECT `maglevel`, `name` FROM `players` WHERE `group_id` < 3 ORDER BY `maglevel` DESC LIMIT 20;")
if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end
str = str .. "\n " .. k .. ". "..(query:getDataString("name")).." - [" .. query:getDataInt("maglevel") .. "]"
k = k + 1 until not query:next()
end
elseif (choice == 9) then
str = "--[ Level Rank ]--\n"
query = db.getResult("SELECT `name`, `level`, `experience` FROM `players` WHERE `group_id` < 3 ORDER BY `experience` DESC LIMIT 20;")
if (query:getID() ~= -1) then k = 1 repeat if k > 20 then break end
str = str .. "\n " .. k .. ". "..(query:getDataString("name")).." - [" .. query:getDataInt("level") .. "]"
k = k + 1 until not query:next()
end
elseif (choice == 10) then
str = "--[ Kills Rank ]--\n"
query = db.getResult("SELECT `p`.`name` AS `name`, COUNT(`p`.`name`) as `frags` FROM `killers` k LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id` LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id` WHERE `k`.`unjustified` = 1 GROUP BY `name` ORDER BY `frags` DESC;")
if query:getID() == -1 then
str = str .. "\nNinguém matou ninguém." 
end
if (query:getID() >= 0) then k = 1 repeat if k > 20 then break end
name_now, l = query:getDataString("name"), string.len(query:getDataString("name"))
str = str .. "\n " .. k ..". ".. name_now .." - [" .. query:getDataInt("frags") .. "]" 
k = k + 1 until not query:next()
end
end
doShowTextDialog(cid, 2529, str)
end
end


function onSay(cid, words, param)
addDialog(modaldialog2, 1002, cid, callback2);
return true
end

Lembrando que essa mesma script do jeito que está funciona corretamente no outro servidor, não sei por qual motivo não funciona no meu sv de global map :S

Então se alguém pode me ajudar, quem manjda de programação ou de ot server, eu agradeceria mt msm!

 

PS: Li as regras, porém sou novo aqui, então se eu desrespeitei alguma, por favor peço que me perdoem e vou fazer de tudo para corrigir meu erro. Tbm peço encarecidamente para que aos que sacam disso, por favor estou com esse problema e preciso resolver urgente, pois pretendo colocar ele online, mas sem esse comando fica difícil, os players vão reclamar muito. (E no momento to sem host para site com ranks online e tals, pois já estou hosteando 3 Servidores de jogos).

 

 

Obrigado desde já pela atenção de todos,

 

Att: VicDrive (Owner/Host Server Admin)

 

 
Postado

O seu servidor não tem a função 

addDialog(modaldialog2, 1002, cid, callback2)

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Postado
  • Autor
 

 

O seu servidor não tem a função 

addDialog(modaldialog2, 1002, cid, callback2)
 

 

Saberia me dizer como faço para adicioná-la?!

 

Origado desde já,

 

Att: VicDrive

Editado por vicdrive (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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.1k
  • Posts 512.6k

Informação Importante

Confirmação de Termo