Ir para conteúdo

Featured Replies

Postado

Bom dia, queria saber a tirar os membros da staff do TOP level? do GroupID 4 até 6? 

andei pesquisando e achei essa parte na source em game.cpp 

bool Game::reloadHighscores()
{
lastHighscoreCheck = time(NULL);
for(int16_t i = 0; i < 9; ++i)
highscoreStorage[i] = getHighscore(i);
 
return true;
}
 
void Game::checkHighscores()
{
reloadHighscores();
uint32_t tmp = g_config.getNumber(ConfigManager::HIGHSCORES_UPDATETIME) * 60 * 1000;
if(tmp <= 0)
return;
 
Scheduler::getInstance().addEvent(createSchedulerTask(tmp, boost::bind(&Game::checkHighscores, this)));
}
 
std::string Game::getHighscoreString(uint16_t skill)
{
Highscore hs = highscoreStorage[skill];
std::stringstream ss;
ss << "Highscore for " << getSkillName(skill) << "\n\nRank Level - Player Name";
for(uint32_t i = 0; i < hs.size(); i++)
ss << "\n" << (i + 1) << ".  " << hs[i].second << "  -  " << hs[i].first;
 
ss << "\n\nLast updated on:\n" << std::ctime(&lastHighscoreCheck);
return ss.str();
}
 
Highscore Game::getHighscore(uint16_t skill)
{
Highscore hs;
 
Database* db = Database::getInstance();
DBResult* result;
 
DBQuery query;
if(skill >= SKILL__MAGLEVEL)
{
if(skill == SKILL__MAGLEVEL)
query << "SELECT `maglevel`, `name` FROM `players` ORDER BY `maglevel` DESC, `manaspent` DESC LIMIT " << g_config.getNumber(ConfigManager::HIGHSCORES_TOP);
else
query << "SELECT `level`, `name` FROM `players` ORDER BY `level` DESC, `experience` DESC LIMIT " << g_config.getNumber(ConfigManager::HIGHSCORES_TOP);
 
if(!(result = db->storeQuery(query.str())))
return hs;
 
do
{
uint32_t level;
if(skill == SKILL__MAGLEVEL)
level = result->getDataInt("maglevel");
else
level = result->getDataInt("level");
 
std::string name = result->getDataString("name");
if(name.length() > 0)
hs.push_back(std::make_pair(name, level));
}
while(result->next());
result->free();
}
else
{
query << "SELECT `player_skills`.`value`, `players`.`name` FROM `player_skills`,`players` WHERE `player_skills`.`skillid`=" << skill << " AND `player_skills`.`player_id`=`players`.`id` ORDER BY `player_skills`.`value` DESC, `player_skills`.`count` DESC LIMIT " << g_config.getNumber(ConfigManager::HIGHSCORES_TOP);
if(!(result = db->storeQuery(query.str())))
return hs;
 
do
{
std::string name = result->getDataString("name");
if(name.length() > 0)
hs.push_back(std::make_pair(name, result->getDataInt("value")));
}
while(result->next());
result->free();
}
 
return hs;

}

 
eu estou achando que onde tem que editar para isso é nessa query aqui
if(skill == SKILL__MAGLEVEL)
query << "SELECT `maglevel`, `name` FROM `players` ORDER BY `maglevel` DESC, `manaspent` DESC LIMIT " << g_config.getNumber(ConfigManager::HIGHSCORES_TOP);
else


query << "SELECT `level`, `name` FROM `players` ORDER BY `level` DESC, `experience` DESC LIMIT " << g_config.getNumber(ConfigManager::HIGHSCORES_TOP);
creio que é só colocar uma verificação de GroupID < 3 nessa query ai
Obs: eu acho 
  • Respostas 12
  • Visualizações 1.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • luanluciano93
    luanluciano93

    SELECT `level`, `name` FROM `players` WHERE group_id < 3 ORDER BY `level` DESC, `experience` DESC LIMIT

  • luanluciano93
    luanluciano93

    Só usar isso: WHERE group_id < x 

  • Tibia2015br
    Tibia2015br

    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

Postado
  • Autor
SELECT `level`, `name` FROM `players` WHERE group_id < 3 ORDER BY `level` DESC, `experience` DESC LIMIT 

esse magic level pode ter alguma coisa haver com o top fishing? porque eu não achei o rank do fishing

 

ou é aqui?

query << "SELECT `player_skills`.`value`, `players`.`name` FROM `player_skills`,`players` WHERE `player_skills`.`skillid`=" << skill << " AND `player_skills`.`player_id`=`players`.`id` ORDER BY `player_skills`.`value` DESC, `player_skills`.`count` DESC LIMIT " << g_config.getNumber(ConfigManager::HIGHSCORES_TOP);

não sei onde achar o do fishing ;( 

Ou também pode editar nesse script para de senior tutor pra cima não aparece no rank? eu acho que é na source mesmo :( 

local fishing = {
["Magikarp"] = {skill = 0, level = -2},
--["Qwilfish"] = {skill = 18, level = 3},
--["Remoraid"] = {skill = 16, level = 2},
["Staryu"] = {skill = 22, level = 6},
["Tentacool"] = {skill = 20, level = 7},
["Goldeen"] = {skill = 17, level = 5},
["Krabby"] = {skill = 14, level = 2},
["Horsea"] = {skill = 16, level = 3},
["Poliwag"] = {skill = 15, level = 2},
--["Marill"] = {skill = 21, level = 3},
--["Azumarill"] = {skill = 37, level = 16},
["Kingler"] = {skill = 35, level = 14},
["Seaking"] = {skill = 28, level = 11},
["Starmie"] = {skill = 49, level = 20},
--["Chinchou"] = {skill = 23, level = 6},
["Poliwhirl"] = {skill = 27, level = 9},
["Seadra"] = {skill = 41, level = 15},
--["Lanturn"] = {skill = 38, level = 14},
--["Octillery"] = {skill = 30, level = 9},
--["Corsola"] = {skill = 46, level = 16},
}
 
local storage = 15458
local bonus = 1
local limite = 80
 
 
local function doFish(cid, pos, ppos, chance, interval, number)
        if not isCreature(cid) then return false end
 
        if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then
        return false end
 
        if getPlayerStorageValue(cid, storage) ~= number then return false end
 
        doSendMagicEffect(pos, CONST_ME_LOSEENERGY)
 
local peixe = 0
local playerpos = getClosestFreeTile(cid, getThingPos(cid))
local level = 1
local fishes = {}
local randomfish = ""
 
 
if getPlayerSkillLevel(cid, 6) < limite then
doPlayerAddSkillTry(cid, 6, bonus)
end
 
for a, b in pairs (fishing) do
if getPlayerSkillLevel(cid, 6) >= b.skill then
table.insert(fishes, a)
end
end
 
if math.random(1, 100) <= chance then
if getPlayerSkillLevel(cid, 6) < limite then
doPlayerAddSkillTry(cid, 6, bonus)
end
randomfish = fishes[math.random(#fishes)]
level = getPlayerSkillLevel(cid, 6) / 3
level = level + getPlayerLevel(cid) / 5
level = math.random(level * 0.6, level)
level = level + fishing[randomfish].level
peixe = doSummonCreature(randomfish, playerpos)
if level <= 0 then
level = math.random(getPlayerLevel(cid))
end
if not isCreature(peixe) then
addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
return true
end
setWildPokemonLevel(peixe, level)
doSetMonsterPassive(peixe)
doWildAttackPlayer(peixe, cid)
if #getCreatureSummons(cid) >= 1 then
         doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173)
doChallengeCreature(getCreatureSummons(cid)[1], peixe)
         else
doSendMagicEffect(getThingPos(cid), 173)
doChallengeCreature(cid, peixe)
         end
return true
end
addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
return true
end
 
local waters = {4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}
 
function onUse(cid, item, fromPos, itemEx, toPos)
 
if getPlayerGroupId(cid) == 11 then
return true
end
 
local checkPos = toPos
checkPos.stackpos = 0
 
if getTileThingByPos(checkPos).itemid <= 0 then
doPlayerSendCancel(cid, '!')
return true
end
 
if not isInArray(waters, getTileInfo(toPos).itemid) then
return true
end
 
if (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1) and not canFishWhileSurfingOrFlying then
doPlayerSendCancel(cid, "You can't fish while surfing/flying.")
return true
end
 
if isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then
doPlayerSendCancel(cid, "You can\'t fish while surfing neither flying above water.")
return true
end
 
if getTileInfo(getThingPos(getCreatureSummons(cid)[1] or cid)).protection then
doPlayerSendCancel(cid, "You can't fish pokémons if you or your pokémon is in protection zone.")
return true
end
 
if not tonumber(getPlayerStorageValue(cid, storage)) then
local test = io.open("data/sendtobrun123.txt", "a+")
local read = ""
if test then
read = test:read("*all")
test:close()
end
read = read.."\n[fishing.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, storage)..""
local reopen = io.open("data/sendtobrun123.txt", "w")
reopen:write(read)
reopen:close()
setPlayerStorageValue(cid, storage, 1)
end
 
setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1)
if getPlayerStorageValue(cid, storage) >= 800 then
setPlayerStorageValue(cid, storage, 1)
end
 
local delay = 3500 - getPlayerSkillLevel(cid, 6) * 25
local chance = 10 + getPlayerSkillLevel(cid, 6) / 2.5
 
doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage))
 
return true
end

Editado por TopllDanStar (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.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo