[Admin] tierrilopes Posted May 1, 2016 at 02:05 PM Share Posted May 1, 2016 at 02:05 PM 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
[Admin] tierrilopes Posted May 1, 2016 at 03:59 PM Author Share Posted May 1, 2016 at 03:59 PM 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
CoMaSkyWar Posted January 18, 2017 at 02:09 PM Share Posted January 18, 2017 at 02:09 PM Boas pessoal como faço como alternativa para desbloquear o armazém aos GM, excepto para três personagens: obg Link to comment
Dynamic Things Posted January 18, 2017 at 04:11 PM Share Posted January 18, 2017 at 04:11 PM 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
CoMaSkyWar Posted January 18, 2017 at 11:29 PM Share Posted January 18, 2017 at 11:29 PM Boas Dynamic, testei as duas formas com o nome dos chares que escolhi continua com o abertura do armazém bloqueado. Link to comment
Dynamic Things Posted January 19, 2017 at 01:50 PM Share Posted January 19, 2017 at 01:50 PM 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
F-Caneiras Posted August 23, 2017 at 05:01 AM Share Posted August 23, 2017 at 05:01 AM 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
[Admin] tierrilopes Posted August 23, 2017 at 10:05 AM Author Share Posted August 23, 2017 at 10:05 AM Tens de meter logo abaixo de if (!*pszPassword || strlen(pszPassword) > SAFEBOX_PASSWORD_MAX_LEN) como esta no tutorial Link to comment
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