Ir para conteúdo

Featured Replies

Postado

O problema em si não esta relacionado ao script e sim a forma que é feita a mudança, ele esta mudando apenas o sexo do personagem ou seja, na hora que ele "reloga" o servidor interpreta a mudança de sexo e altera para a outfit referente ao "sex" dele ou seja:

<outfit id="3">
    <list gender="0" lookType="339" name="Mage"/>
    <list gender="1" lookType="412" name="Mage"/>
</outfit>

Como você estava de Mage (masculino) na hora que tu muda de sex, o próprio servidor entende que você vai estar de Mage (feminino).

  • Respostas 12
  • Visualizações 688
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado
  • Autor
13 horas atrás, Anderson Sacani disse:

Faz teste invertendo os looktype do Summoner e do Mage, mas apenas do sexo que ta dando problema.

E mais uma coisa... Esse teu script não precisa ser tão grande, recomendo substituir por esse:


function onUse(cid, item, itemEx, toPosition)
    local sex = 1
    if getPlayerSex(cid) == 1 then sex = 0 end

    doPlayerSetSex(cid, sex)
    doRemoveItem(item.uid, 1)
    doPlayerSendTextMessage(cid, 22, "Changesex successfully!")

    addEvent(function()
        if isPlayer(cid) then
            doRemoveCreature(cid)
        end
    end, 1500)

    return true
end

 

coloquei esse script e deu certinho também, agradeço pela dica, mas em questão ao meu problema, não teria como deixar os outfits normais e na hora que usa o item de trocar de sexo, o script detectar se tiver o hat do mage masculino, remover esse addon e storage e adicionar o hat do summoner femino?

10 horas atrás, Aspect disse:

O problema em si não esta relacionado ao script e sim a forma que é feita a mudança, ele esta mudando apenas o sexo do personagem ou seja, na hora que ele "reloga" o servidor interpreta a mudança de sexo e altera para a outfit referente ao "sex" dele ou seja:


<outfit id="3">
    <list gender="0" lookType="339" name="Mage"/>
    <list gender="1" lookType="412" name="Mage"/>
</outfit>

Como você estava de Mage (masculino) na hora que tu muda de sex, o próprio servidor entende que você vai estar de Mage (feminino).

entendi, mas não teria outra maneira de mudar isso sem trocar a ordem dos outfits?

Postado

Agora entendi tua pergunta haha

Quando for masculino, ele terá o mage full, que no caso tem hat;

Quando for feminino, ele terá o summoner full, que também tem o hat;

Modifique o script já existente para este:

function onUse(cid, item, itemEx, toPosition)
    local sex, outfit = 1, getCreatureOutfit(cid)
    if getPlayerSex(cid) == 1 then sex = 0 end
    local look = outfit.lookType
    if (((look == 412) or (look == 316)) and (outfit.lookAddons > 1)) then
        doPlayerSetStorageValue(cid, 5937910, 1)
    end

    doPlayerSetSex(cid, sex)
    doRemoveItem(item.uid, 1)
    doPlayerSendTextMessage(cid, 22, "Changesex successfully!")

    addEvent(function()
        if isPlayer(cid) then
            doRemoveCreature(cid)
        end
    end, 1500)

    return true
end

E no script de login.lua adicione essas linhas:

if getPlayerStorageValue(cid, 5937910) ~= -1 then
    if getPlayerSex(cid) == 1 then
        doPlayerAddOutfit(cid, 412, 2)
    else
        doPlayerAddOutfit(cid, 316, 2)
    end
end

 

Postado
  • Autor
1 hora atrás, Anderson Sacani disse:

Agora entendi tua pergunta haha

Quando for masculino, ele terá o mage full, que no caso tem hat;

Quando for feminino, ele terá o summoner full, que também tem o hat;

Modifique o script já existente para este:


function onUse(cid, item, itemEx, toPosition)
    local sex, outfit = 1, getCreatureOutfit(cid)
    if getPlayerSex(cid) == 1 then sex = 0 end
    local look = outfit.lookType
    if (((look == 412) or (look == 316)) and (outfit.lookAddons > 1)) then
        doPlayerSetStorageValue(cid, 5937910, 1)
    end

    doPlayerSetSex(cid, sex)
    doRemoveItem(item.uid, 1)
    doPlayerSendTextMessage(cid, 22, "Changesex successfully!")

    addEvent(function()
        if isPlayer(cid) then
            doRemoveCreature(cid)
        end
    end, 1500)

    return true
end

E no script de login.lua adicione essas linhas:


if getPlayerStorageValue(cid, 5937910) ~= -1 then
    if getPlayerSex(cid) == 1 then
        doPlayerAddOutfit(cid, 412, 2)
    else
        doPlayerAddOutfit(cid, 316, 2)
    end
end

 

deu o seguinte erro na distro:
image.png.e0c5e8f694e54bc14ea30a6d2aff0a45.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