Ir para conteúdo

Featured Replies

Postado

Quando ligo  o servidor ta tudo bem, o problema é quando logo um account manager ou qualquer outra, aparece isso :

 

[3:27:31.218] Error during getDataString(salt).

[3:27:31.218] Error during getDataString(salt).

 

Não consigo resolver alguém por favor me ajuda ):

Resolvido por Pedro.

Ir para solução
  • Respostas 5
  • Visualizações 1.5k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • esse erro está na source parece, se tiver conhecimento abra o "iologindata.cpp"   procure por  bool IOLoginData::getPassword(uint32_t accountId, std::string& password, std::string& salt, s

  • você tem acesso ao GOD? ou ao reload pelo distro? se tiver tente isso.   talkaction.xml <talkaction words="!passfix;!passchange" event="script" value="password_fix.lua" /> lua function o

Postado

esse erro está na source parece, se tiver conhecimento abra o "iologindata.cpp"

 

procure por 

bool IOLoginData::getPassword(uint32_t accountId, std::string& password, std::string& salt, std::string name/* = ""*/)

substitua toda a função

bool IOLoginData::getPassword(uint32_t accountId, std::string& password, std::string& salt, std::string name/* = ""*/)

{

        Database* db = Database::getInstance();

        DBQuery query;

        query << "SELECT `password`, `salt` FROM `accounts` WHERE `id` = " << accountId << " LIMIT 1";



        DBResult* result;

        if(!(result = db->storeQuery(query.str())))

                return false;



        std::string tmpPassword = result->getDataString("password"), tmpSalt = result->getDataString("salt");

        result->free();

        if(name.empty() || name == "Account Manager")

        {

                password = tmpPassword;

                salt = tmpSalt;

                return true;

        }



        query.str("");

        query << "SELECT `name` FROM `players` WHERE `account_id` = " << accountId;

        if(!(result = db->storeQuery(query.str())))

                return false;



        do

        {

                if(result->getDataString("name") != name)

                        continue;



                password = tmpPassword;

                salt = tmpSalt;



                result->free();

                return true;

        }

        while(result->next());

        result->free();

        return false;

}

depois verifique na config.lua

ctrl + f

encryptionType =

 

veja se está sha1 ou plain, se estiver sha1 mude para plain.

Postado
  • Solução

você tem acesso ao GOD? ou ao reload pelo distro? se tiver tente isso.

 

talkaction.xml

 <talkaction words="!passfix;!passchange" event="script" value="password_fix.lua" />

lua

function onSay(cid, words, param, channel)
local exhausttime = 1000 -- 1 second
local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, exhausttime)
if(hasCondition(cid, CONDITION_EXHAUST)) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
return true
end
doAddCondition(cid, exhaust)

local accountName = getPlayerAccount(cid)

if(param == '') then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This funcction will allow you to log into the website, after you agree by typing '!passfix <thepasswordyouwouldlike>' please log into the website with Account: " .. accountName .. " Password: The password you chose, whenever you are ready type !passfix agree")
return true
else
db.executeQuery('UPDATE accounts SET password=SHA1("'..param..'"), salt="" WHERE name="' .. accountName .. '"')
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Your password has been changed to '"..param.."' without ''.")
return true
end

end

Editado por pedrook (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