Postado Maio 4, 2015 10 anos Autor Consegui testar agora. player.cpp, troque sua função getDescription por essa: std::string Player::getDescription(int32_t lookDistance) const { int32_t intValue; getStorageValue((uint32_t)500, intValue); if(intValue < 0) intValue = 0; std::ostringstream s; if (lookDistance == -1) { s << "yourself [Resets: " << intValue << "]."; if (group->access) { s << " You are " << group->name << '.'; } else if (vocation->getId() != VOCATION_NONE) { s << " You are " << vocation->getVocDescription() << '.'; } else { s << " You have no vocation."; } } else { s << name; if (!group->access) { s << " (Level " << level << ") [Resets: " << intValue << "]"; } s << '.'; if (sex == PLAYERSEX_FEMALE) { s << " She"; } else { s << " He"; } if (group->access) { s << " is " << group->name << '.'; } else if (vocation->getId() != VOCATION_NONE) { s << " is " << vocation->getVocDescription() << '.'; } else { s << " has no vocation."; } } if (party) { if (lookDistance == -1) { s << " Your party has "; } else if (sex == PLAYERSEX_FEMALE) { s << " She is in a party with "; } else { s << " He is in a party with "; } size_t memberCount = party->getMemberCount() + 1; if (memberCount == 1) { s << "1 member and "; } else { s << memberCount << " members and "; } size_t invitationCount = party->getInvitationCount(); if (invitationCount == 1) { s << "1 pending invitation."; } else { s << invitationCount << " pending invitations."; } } if (guild) { const GuildRank* rank = guild->getRankByLevel(guildLevel); if (rank) { if (lookDistance == -1) { s << " You are "; } else if (sex == PLAYERSEX_FEMALE) { s << " She is "; } else { s << " He is "; } s << rank->name << " of the " << guild->getName(); if (!guildNick.empty()) { s << " (" << guildNick << ')'; } size_t memberCount = guild->getMemberCount(); if (memberCount == 1) { s << ", which has 1 member, " << guild->getMembersOnline().size() << " of them online."; } else { s << ", which has " << memberCount << " members, " << guild->getMembersOnline().size() << " of them online."; } } } return s.str(); } obrigado fire deu certo e quanto aquele erro de ADM da look nos item e da erro foi arrumado também era problema nas lib na atualização que o mark fez arrumei CONQUISTAS
Postado Maio 4, 2015 10 anos Mostra mais da apenas um problema : !online do Player Killer : 18:29 2 players online. 18:29 Killer (208) [Resets: 2], {ADM} Master Viciado (8) [Resets: 2]. !online do {ADM} : 18:29 2 players online. 18:29 Killer (208) [Resets: 20], {ADM} Master Viciado (8) [Resets: 20]. EDIT* Killer tem 2 resets, {ADM} tem 20** function onSay(cid, words, param) local player = Player(cid) local hasAccess = player:getGroup():getAccess() local players = Game.getPlayers() local playerCount = Game.getPlayerCount() player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, playerCount .. " players online.") local i = 0 local msg = "" for k, tmpPlayer in ipairs(players) do local function getPlayerResets() local resets = tmpPlayer:getStorageValue(500) return resets < 0 and 0 or resets end if hasAccess or not tmpPlayer:isInGhostMode() then if i > 0 then msg = msg .. ", " end msg = msg .. tmpPlayer:getName() .. " (" .. tmpPlayer:getLevel() .. ") [Resets: " .. getPlayerResets() .. "]" i = i + 1 end if i == 10 then if k == playerCount then msg = msg .. "." else msg = msg .. "," end player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, msg) msg = "" i = 0 end end if i > 0 then msg = msg .. "." player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, msg) end return false end
Postado Maio 5, 2015 10 anos Ual!!! Muitoo Obrigado!! TOP ;-) Parabéns!! Obs: E se tiver como um rank reset Poderia até ser separado do rank normal:) Obrigado:)
Postado Maio 6, 2015 10 anos Autor tenho um ranking aqui só que não ta funcionando ta dando erro quando fala !rank aparece na tfs in function 'getResult' poderia adpatar pra funcionar tfs 1.1 FAZENDO FAVOR. 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 = 20 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 == "reset" or param == "resets" then name = name.."\n" name = name.."Rank Reset - Nome do Jogador\n" local v = db.getResult("SELECT `id`, `reset` FROM `players` ORDER BY reset DESC;") local kk = 0 repeat if kk == max or v:getID() == -1 then break end kk = kk+1 name_now, l = getPlayerNameByGUID2(v:getDataInt("id")), string.len(getPlayerNameByGUID2(v:getDataInt("id"))) space = "" for i=1, letters_to_next-l do space = space.." " end if name_now == nil then name_now = 'sql error['..v:getDataInt("id")..']' end name = name..kk..". "..v:getDataInt("reset").." - "..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 doPlayerPopupFYI(cid, name) end return TRUE end Editado Maio 6, 2015 10 anos por JonatasLucasf (veja o histórico de edições) CONQUISTAS
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.