Ir para conteúdo

Featured Replies

Postado

Bom Dia , Boa Tarde , Boa Noite...

 

Queria Uma Ajuda Com Script de Vocação

e o Seguinte Quando Eu Dou !rank ou /rank da Esse Error na Distro

 

[15/06/2021 16:40:59] [Error - TalkAction Interface]
[15/06/2021 16:40:59] data/talkactions/scripts/rank.lua:onSay
[15/06/2021 16:40:59] Description:
[15/06/2021 16:40:59] data/talkactions/scripts/rank.lua:70: attempt to concatenate local 'vocacao' (a nil value)
[15/06/2021 16:40:59] stack traceback:
[15/06/2021 16:40:59]     data/talkactions/scripts/rank.lua:70: in function <data/talkactions/scripts/rank.lua:9>

O Script que Estou Usando é esse Aqui...

 

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 = 15
         
         local letters_to_next = 20 -- dont change
         
 

         --
    local tabela = {
"Sorcerer",
"Druid",
"Paladin",
"Knight",
"Mixed",
"Spin",
"Sacred Martyr",
"Lonely Star",
"Falling Star",
"Hellborn Deathdriver",
"Supreme Hellborn King",
"Apocalypse Deathbringer",
"Nova Hero",
"Zealot",
"Addicted Zealot",
"Dark Follower",
"Dark Assassin",
"Dark Lord",
"Elemental Warrior",
}
         local skills = {
          ['fist'] = 0,
          ['club'] = 1,
          ['sword'] = 2,
          ['axe'] = 3,
          ['distance'] = 4,
          ['shielding'] = 5,
          ['fishing'] = 6,
          -- outros nomes
          ['dist'] = 4,
          ['shield'] = 5,
          ['fish'] = 6,
         }
         local name_now
         local name = "Ranks\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.."Name                          Level                     Voc\n"
         local v = db.getResult("SELECT `name`, `level`, `vocation` FROM `players` WHERE `group_id` <= 2 ORDER BY `vocation` DESC, `level` 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
local vocacao = tabela[v:getDataInt("vocation")]
         name = name..rkn.."º "..name_now..space..""..v:getDataInt("level")  .."           "..""..vocacao.."".."\n"        
         if no_break >= 20 then
            break
         end
         until v:next() == false
         elseif param == "magic" or param == "ml" then
                name = name.."Name                  Level             MLp\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.."º "..name_now..space.."|"..v:getDataInt("level").."|  ".."           ".."|"..v:getDataInt("maglevel").."|".."\n"        
                      until v:next() == false
         elseif skills[param] ~= nil then
            name = name.."Name                  "..param.." fighting.\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.."º "..name_now..space.."|"..v:getDataInt("value").."|  \n"
            until v:next() == false
         end
         if name ~= "Ranks\n" then
         doPlayerPopupFYI(cid, name)
         end
         --doPlayerSendTextMessage(cid, 25, name)
 
 
         return TRUE
end

 

Preciso Muito desse Script , Por Usa Uma Antigo mapa Rozinx...

Editado por djteteh (veja o histórico de edições)

  • 1 month later...
Postado
  • Autor

8.6
E rank com level Temos quest no ot que da a Promotion

Tipo quanto mais promotion mais life ganha etc...
Por isso Seria Legal ver Promotion e Level para saber quem ta na Frente de Promotion Tbm

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.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo