Ir para conteúdo
  • Cadastre-se

(Resolvido)bug no look e showvoc


Ir para solução Resolvido por Jeanfersonsp,

Posts Recomendados

Servidor Derivado

 

bom eu to um problema com o ShowVoc ja tem bastante tempo, pelo incrivel que pareça agora bugou tbem o frags, antes eu dava look e o frags aparecia, agora so aparece para mim, e ai eu tenho apenas 3 scripts de look, 1 do jinchuuriki do kotz, que por acaso quem da look distance ver mas o proprio player nao, o showvoc normal, e a script de frags. e ai acontece isso

 

 

image.thumb.png.4f6af7ee113b25fc985b1eb8d2a89a6b.png

 

 

 

 

agora dou look em mim mesmo e aparece isso

 

 

 

image.thumb.png.ee0e18d64bef7f4b4096ad7305e527a7.png

 

 

image.thumb.png.32b9893fe8f24550fdddd31e557b37f5.png

 

 

 

image.thumb.png.f921a4d4063b01588b30c8c5fb9acc33.png

 

 

 

alguem poderia me ajudar, agradeço desde !

Editado por weslwy (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Por favor, poste o script para que possamos te ajudar.

Link para o post
Compartilhar em outros sites

@Lyu ai as Scripts

 

showVoc

 

Spoiler

function onLook(cid, thing, position, lookDistance)
if isPlayer(thing.uid) then
local type = getPlayerStorageValue(thing.uid, 89745)
doPlayerSetSpecialDescription(thing.uid, "\n "..(getPlayerSex(cid) == 0 and "She" or "He").." are "..(type < 0 and "Shinobi" or type == 1 and "Genin" or type == 2 and "Chunin" or type == 3 and "Jounin" or type == 4 and "Anbu" or type == 5 and "Captain Anbu" or type == 6 and "Akatsuki"))
end
return true
end 

 

Frags 

 

Spoiler

function getPlayerFrags(cid)
    local time = os.time()
    local times = {today = (time - 86400), week = (time - (7 * 86400))}
 
    local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC")
    if(result:getID() ~= -1) then
        repeat
            local content = {date = result:getDataInt("date")}
            if(content.date > times.today) then
                table.insert(contents.day, content)
            elseif(content.date > times.week) then
                table.insert(contents.week, content)
            else
                table.insert(contents.month, content)
            end
        until not result:next()
        result:free()
    end
 
    local size = {
        day = table.maxn(contents.day),
        week = table.maxn(contents.week),
        month = table.maxn(contents.month)
    } 
    return size.day + size.week + size.month
end 
 
function onLogin(cid)
    registerCreatureEvent(cid, "fraglook")
    return true
end
 
function onLook(cid, thing, position, lookDistance)
    if isPlayer(thing.uid) and thing.uid ~= cid then
        doPlayerSetSpecialDescription(thing.uid,' [Frags: '..getPlayerFrags(thing.uid)..']')
        return true
    elseif thing.uid == cid then
        doPlayerSetSpecialDescription(cid,' [Frags: '..getPlayerFrags(cid)..']')
        local string = 'You see yourself.'
        if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then
            string = string..' You are '.. getPlayerGroupName(cid) ..'.'
        elseif getPlayerVocation(cid) ~= 0 then
            string = string..' You are '.. getPlayerVocationName(cid) ..'.'
        else
            string = string..' You have no vocation.'
        end
        string = string..getPlayerSpecialDescription(cid)..''
 
        if getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil then
            string = string..' You are '.. (getPlayerSex(cid) == 0 and 'wife' or 'husband') ..' of '.. getPlayerNameByGUID(getPlayerPartner(cid)) ..'.'
        end
 
        if getPlayerGuildId(cid) > 0 then 
            string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid)
            string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.'
        end 
 
        if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then
            string = string..'\nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].'
            string = string..'\nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.'
        end
 
        if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then
            string = string..'\nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].'
        end
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string)  
        return false
    end
    return true
end
 

 

Jinchuuriki

 

Spoiler

function onLook(cid, thing, position, lookDistance)
if isPlayer(thing.uid) then
 if jin.getPlayerBijuu(thing.uid) ~= 0 then
  doPlayerSetSpecialDescription(thing.uid, "\nJinchuuriki de: ["..jin.getPlayerBijuu(thing.uid).."]")
 else
  doPlayerSetSpecialDescription(thing.uid, "\nNao e um Jinchuuriki.")
 end
end 
 return true
end

 

 

 

Editado por weslwy (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Algo que percebi, é que os 3 scripts utilizam "doPlayerSetSpecialDescription" para alteração de descrição. O possível problema, é simplesmente um conflito entre os 3 scripts, pois "doPlayerSetSpecialDescription" seta uma nova string na variável "desc". Faça o seguinte, deixe somente um dos scripts rodando e veja se funcionará corretamente.

Link para o post
Compartilhar em outros sites

@Lyu fiz o teste

 

DEIXEI APENAS O SISTEMA DO KOTZ

image.thumb.png.68ef4ad8aa0caa8fde24b42577675dc3.png

 

 

image.thumb.png.a767d89b6584cf946dd37424b213a774.png

 

 

 

eu dei uma fuçada em uma possivel script de task e encontrei a mesma string, deletei ela tambem para ver mas continua a mesma coisa.

Editado por weslwy (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

É conflito mesmo. O chato é que esses scripts setam uma nova descrição toda vez que um jogador dar look em outro, independente de qual jogador seja, isso é errado. O certo mesmo seria concatenar uma nova descrição com a atual uma única vez, exemplo :

local newDesc = '\nnova descrição'

local desc = getPlayerSpecialDescription(thing.uid)
desc = desc .. newDesc

doPlayerSetSpecialDescription(thing.uid, desc)

 

Tô terminando umas coisas, e se der tempo, vejo se ainda hoje faço alguma coisa por você.

Link para o post
Compartilhar em outros sites

será que a gente consegue conectar essas scripts para mostrar as descrições certinho? mano nao precisa quebrar a cabeça hoje a gente tem tempo, eu so irei utilizar essas 3 scripts, pq tenho outro sistema, mas é so por a mesma storage e o value que vai da certo. 

 

voce podendo me ajudar eu te agradeço de mais cara. @Lyu

Link para o post
Compartilhar em outros sites
  • Solução
Spoiler

 

function getPlayerFrags(cid)
    local time = os.time()
    local times = {today = (time - 86400), week = (time - (7 * 86400))}
    local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC")
    if(result:getID() ~= -1) then
        repeat
            local content = {date = result:getDataInt("date")}
            if(content.date > times.today) then
                table.insert(contents.day, content)
            elseif(content.date > times.week) then
                table.insert(contents.week, content)
            else
                table.insert(contents.month, content)
            end
        until not result:next()
        result:free()
    end
    local size = {
        day = table.maxn(contents.day),
        week = table.maxn(contents.week),
        month = table.maxn(contents.month)
    }
    return size.day + size.week + size.month
end
function getDeathsAndKills(cid, type) -- by vodka
    local query,d = db.getResult("SELECT `player_id` FROM "..(tostring(type) == "kill" and "`player_killers`" or "`player_deaths`").." WHERE `player_id` = "..getPlayerGUID(cid)),0
        if (query:getID() ~= -1) then
            repeat
                d = d+1
            until not query:next()
            query:free()
        end
    return d  
end
 
function onLook(cid, thing, position, lookDistance)
    if isPlayer(thing.uid) and thing.uid ~= cid then
    local gradusto = getPlayerStorageValue(thing.uid, 89745)    local jinchuurike = jin.getPlayerBijuu(thing.uid)
    local graduation = (gradusto < 0 and "Shinobi" or gradusto == 1 and "Genin" or gradusto == 2 and "Chunin" or gradusto == 3 and "Jounin" or gradusto == 4 and "Anbu" or gradusto == 5 and "Sannin" or gradusto == 6 and "Akatsuki")
       local jinlook = (jinchuurike == 0 and "Nao é Jinchuuriki" or jinchuurike ~= 0 and "Jinchuuriki: "..jinchuurike.."")
       local killsedeath = "[Kills: "..getDeathsAndKills(thing.uid, "kill").." , Deaths: "..getDeathsAndKills(thing.uid, "death").."]"
       doPlayerSetSpecialDescription(thing.uid,"\n"..(getPlayerSex(cid) == 0 and "She" or "He").." are "..graduation.."\n"..jinlook.."\n"..killsedeath.."")
        return true
    elseif thing.uid == cid then
    local gradusto = getPlayerStorageValue(cid, 89745)
local jinchuurike = jin.getPlayerBijuu(cid)
local graduation = (gradusto < 0 and "Shinobi" or gradusto == 1 and "Genin" or gradusto == 2 and "Chunin" or gradusto == 3 and "Jounin" or gradusto == 4 and "Anbu" or gradusto == 5 and "Sannin" or gradusto == 6 and "Akatsuki")
    local jinlook = (jinchuurike == 0 and "Nao é Jinchuuriki" or jinchuurike ~= 0 and "Jinchuuriki: "..jinchuurike.."")
     local killsedeath = "[Kills: "..getDeathsAndKills(cid, "kill").." , Deaths: "..getDeathsAndKills(cid, "death").."]"
       doPlayerSetSpecialDescription(cid,"\nYou are "..graduation.."\n"..jinlook.."\n"..killsedeath.."")
local string = 'You see yourself.'
        if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then
            string = string..' You are '.. getPlayerGroupName(cid) ..'.'
        elseif getPlayerVocation(cid) ~= 0 then
            string = string..' You are '.. getPlayerVocationName(cid) ..'.'
        else
            string = string..' You have no vocation.'
        end 
        string = string..getPlayerSpecialDescription(cid)..''
 
        if getPlayerGuildId(cid) > 0 then
            string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid)
            string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.'
        end
 
        if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then
            string = string..'Health: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].'
            string = string..'\nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.'
        end
 
        if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then
            string = string..'\nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].'
        end
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string)  
        return false
    end
    return true
end

 

Desativa o do Frag e o Jin look e dps apaga tudo do Showvoc e poe isso

Editado por Jeanfersonsp
erro na gramatica (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo