Ir para conteúdo

Featured Replies

Postado
  • 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 :D

ca.png?1422745283

 

CONQUISTASdesigner-king.png   Designer.png    

 

  • Respostas 46
  • Visualizações 4.8k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Consegui testar agora. player.cpp, troque sua função getDescription por essa:

  • Fir3element
    Fir3element

    function onSay(cid, words, param)     local player = Player(cid)     local hasAccess = player:getGroup():getAccess()     local players = Game.getPlayers()     local playerCount = Game.getPlayerCount()

Postado

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
  • 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 por JonatasLucasf (veja o histórico de edições)

ca.png?1422745283

 

CONQUISTASdesigner-king.png   Designer.png    

 

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