[Admin] tierrilopes Posted May 1, 2016 Share Posted May 1, 2016 Ir até ao ficheiro game/src/char.cpp Procurar por: void CHARACTER::ReqSafeboxLoad(const char* pszPassword) { if (!*pszPassword || strlen(pszPassword) > SAFEBOX_PASSWORD_MAX_LEN) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<â°í> À߸øµÈ ¾ÏÈ£¸¦ ÀÔ·ÂÇϼ̽À´Ï´Ù.")); return; } Modificar para: void CHARACTER::ReqSafeboxLoad(const char* pszPassword) { if (!*pszPassword || strlen(pszPassword) > SAFEBOX_PASSWORD_MAX_LEN) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<â°í> À߸øµÈ ¾ÏÈ£¸¦ ÀÔ·ÂÇϼ̽À´Ï´Ù.")); return; } else if (IsGM()) { ChatPacket(CHAT_TYPE_INFO, "Proibido mover itens para o armazem como GM."); return; } Link to comment Share on other sites More sharing options...
[Admin] tierrilopes Posted May 1, 2016 Author Share Posted May 1, 2016 Alternativa para bloquear armazém aos GM, excepto para uma personagem: Ao invés de modificar como no primeiro tópico, modificar da seguinte maneira: void CHARACTER::ReqSafeboxLoad(const char* pszPassword) { std::string nNome = GetName(); if (!*pszPassword || strlen(pszPassword) > SAFEBOX_PASSWORD_MAX_LEN) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<â°í> À߸øµÈ ¾ÏÈ£¸¦ ÀÔ·ÂÇϼ̽À´Ï´Ù.")); return; } else if (IsGM() && nNome != "tierrilopes") { ChatPacket(CHAT_TYPE_INFO, "Proibido mover itens para o armazem como GM."); return; } Onde tierrilopes = nome da personagem Todos os GM não poderão abrir o armazém excepto o GM cujo nome da sua personagem seja tierrilopes. Link to comment Share on other sites More sharing options...
CoMaSkyWar Posted January 18, 2017 Share Posted January 18, 2017 Boas pessoal como faço como alternativa para desbloquear o armazém aos GM, excepto para três personagens: obg Link to comment Share on other sites More sharing options...
Dynamic Things Posted January 18, 2017 Share Posted January 18, 2017 Boas pessoal como faço como alternativa para desbloquear o armazém aos GM, excepto para três personagens: obg Olá feio não cheguei a testar mas penso que essa será a resposta para a tua questão: void CHARACTER::ReqSafeboxLoad(const char* pszPassword) { std::string nNome = GetName(); if (!*pszPassword || strlen(pszPassword) > SAFEBOX_PASSWORD_MAX_LEN) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<â°í> À߸øµÈ ¾ÏÈ£¸¦ ÀÔ·ÂÇϼ̽À´Ï´Ù.")); return; } else if ((IsGM() && nNome != "nome1") || (IsGM() && nNome != "nome2") || (IsGM() && nNome != "nome3")) { ChatPacket(CHAT_TYPE_INFO, "Proibido mover itens para o armazem como GM."); return; } só não te sei dizer se está correcto porque não tenho como testar, mas seguindo a lógica seria tipo: se nome abrir armazém, verificar a pw e se for gm e o nome for diferente de nome1 ou for gm e o nome for diferente de nome2 ou se for gm e o nome for diferente de nome3, dizer "Proibido mover itens para armazem como gm". caso de erro a compilar, altera para o seguinte: void CHARACTER::ReqSafeboxLoad(const char* pszPassword) { std::string nNome = GetName(); if (!*pszPassword || strlen(pszPassword) > SAFEBOX_PASSWORD_MAX_LEN) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<â°í> À߸øµÈ ¾ÏÈ£¸¦ ÀÔ·ÂÇϼ̽À´Ï´Ù.")); return; } else if (IsGM() && nNome != "nome1" || nNome != "nome2" || nNome != "nome3") { ChatPacket(CHAT_TYPE_INFO, "Proibido mover itens para o armazem como GM."); return; } Link to comment Share on other sites More sharing options...
CoMaSkyWar Posted January 18, 2017 Share Posted January 18, 2017 Boas Dynamic, testei as duas formas com o nome dos chares que escolhi continua com o abertura do armazém bloqueado. Link to comment Share on other sites More sharing options...
Dynamic Things Posted January 19, 2017 Share Posted January 19, 2017 Boas Dynamic, testei as duas formas com o nome dos chares que escolhi continua com o abertura do armazém bloqueado. eu tenho assim e funciona: void CHARACTER::ReqSafeboxLoad(const char* pszPassword) { std::string nNome = GetName(); if (!*pszPassword || strlen(pszPassword) > SAFEBOX_PASSWORD_MAX_LEN) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<A¢°i> A߸øμE ¾IE£¸| AO·ACI¼I½A´I´U.")); return; } else if (IsGM() && nNome != "Nomedochar1" && nNome != "Nomedochar2") { ChatPacket(CHAT_TYPE_INFO, "Proibido mover itens para o armazem como GM."); return; } Link to comment Share on other sites More sharing options...
F-Caneiras Posted August 23, 2017 Share Posted August 23, 2017 Na minha surce tenho assim void CHARACTER::ReqSafeboxLoad(const char* pszPassword) { if (!*pszPassword || strlen(pszPassword) > SAFEBOX_PASSWORD_MAX_LEN) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<창고> 잘못된 암호를 입력하셨습니다.")); return; } else if (m_pkSafebox) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<창고> 창고가 이미 열려있습니다.")); return; } Gm não pode abrir armazem da sempre PW errada Link to comment Share on other sites More sharing options...
[Admin] tierrilopes Posted August 23, 2017 Author Share Posted August 23, 2017 Tens de meter logo abaixo de if (!*pszPassword || strlen(pszPassword) > SAFEBOX_PASSWORD_MAX_LEN) como esta no tutorial Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now