Jump to content

Mário.

Members
  • Content Count

    82
  • Joined

Community Reputation

218 Excellent

About Mário.

  • Rank
    Rookie

Recent Profile Visitors

3748 profile views
  1. error: 'struct TItemPriceInfo' has no member named 'dwCheque' error: 'const struct SItemPriceInfo' has no member named 'dwCheque' common/tables.h Procura por: typedef struct SItemPriceInfo { DWORD dwVnum; ///< ¾ÆÀÌÅÛ vnum DWORD dwPrice; ///< °¡°Ý } TItemPriceInfo; Substitui por: typedef struct SItemPriceInfo { DWORD dwVnum; ///< ¾ÆÀÌÅÛ vnum DWORD dwPrice; ///< °¡°Ý DWORD dwCheque; /// ENABLE_CHEQUE_SYSTEM } TItemPriceInfo; 3688: error: duplicate case value 3570: error: previously used here char.cpp Na linha 3688,
  2. 1º Tens que fornecer o sistema para estarmos a par de qual o erro, não somos bruxos para saber qual é a linha que está errada. 2º Se isso acontece ao teleportar, significa que sempre que a personagem altera/teleporta, os valores do gaya resetam, por isso vê o que se passa no input_main.cpp, se existe algum ch->SetGaya ou algo do gênero (o meu conhecimento desse sistema é 0, tens que fornecer o sistema no total para conseguirmos ajudar).
  3. Retire a parte onde diz if (ModoBatalha) bPKMode = PK_MODE_BATALHA; else e diga-me se resolveu. Isso é um novo modo que não está presente no cliente.
  4. Muito provavelmente o erro está no source do game. Se nesse mapa não consegues mudar o modo pvp, é porque algo não o permite. Mostra-nos a parte completa disto, que está no char_battle.cpp: void CHARACTER::SetPKMode(BYTE bPKMode) { if (bPKMode >= PK_MODE_MAX_NUM) return; if (m_bPKMode == bPKMode) return; if (bPKMode == PK_MODE_GUILD && !GetGuild()) bPKMode = PK_MODE_FREE; m_bPKMode = bPKMode; UpdatePacket(); sys_log(0, "PK_MODE: %s %d", GetName(), m_bPKMode); } Vê se o teu está desta forma. Se não estiver, utiliza, compila e diz-nos o res
  5. Utilize uma das três: mob_proto.sql <- Estrutura oficial datada a 03/02/2018 | Não contêm nenhuma informação [5 kb] mob_proto_.sql <- Estrutura oficial datada a 03/02/2018 | Contém todo o mob_proto oficial [751 kb] mob_proto.txt <- Estrutura oficial em txt datada a 03/02/2018 [352 kb]
  6. Procura por: PACK * Adiciona depois: metin2_patch_6th_armor pack/ metin2_patch_monster_card pack/ Em primeiro lugar é o nome do ficheiro seguidamente pelo diretório da pasta.
  7. messenger_manager.cpp: void MessengerManager::Login(MessengerManager::keyA account) { if (m_set_loginAccount.find(account) != m_set_loginAccount.end()) return; DBManager::instance().FuncQuery(std::bind1st(std::mem_fun(&MessengerManager::LoadList), this), "SELECT account, companion FROM messenger_list%s WHERE account='%s'", get_table_postfix(), __account); #ifdef ENABLE_MESSENGER_TEAM DBManager::instance().FuncQuery(std::bind1st(std::mem_fun(&MessengerManager::LoadTeamList), this), "SELECT '%s' as account, mName as companion FROM common.gmlist", account.c_str()); #endif
  8. Quem puder testar que dê feedback pls: questlua_global.cpp: int _set_quest_state_other (lua_State* L) { if (!lua_isstring(L, 1) || !lua_isstring(L, 2) || !lua_isstring(L, 3)) return 0; CQuestManager& q = CQuestManager::instance(); PC* pPC = q.GetCurrentNPC(); QuestState * pqs = q.GetCurrentState(); const string stPlayerName(lua_tostring(L, 1)); if (L!=pqs->co) { luaL_error(L, "running thread != current thread???"); sys_log(0,"running thread != current thread???"); return -1; } if (pPC) { const string stQuestName(lua_tostring(L, 2));
  9. Obrigado, fiz a quest à pressa e nem reparei nisso E sim, tens razão, será melhor utilizar um ficheiro externo: when login begin a = io.open(get_locale_base_path().."/admin_whisper.txt", "r") this = a:read() cmdchat(string.format("admin_whisper %s %s",this,this)) end Desta forma ficaria o ficheiro ficaria: mário paci Resultado: O @Marco e o Daryl (GalaxyMT2) deram a ideia da mensagem ser enviada de X a X tempos de acordo com a hora que eles queriam, então para isso é só utilizar esta quest: quest admin_whisper begin
  10. Em baixo estão cerca 9 quests totalmente otimizados para droparem itens do biólogo em jogador. Alguns extras: Tem verificação vs IP (Jogadores com o mesmo IP não irão dropar itens); Com um pet, terão mais possibilidade de droparem ou não o item; As quests estão interligadas uma com a outra, ou seja, assim que acabam uma missão a outra é logo ativada (se tiverem o nível requerido); Possibilidade de saberem vários detalhes de cada morte (logs): O jogador, o adversário, em que canal, em qual missão e a hora; Se o jogador matar a mesma pessoa 5x, a mesma é posta
  11. Antes de começar com o tópico, se esperam algo complexo deste sistema, então poderão voltar para trás porque isto foi em apenas 1 hora de trabalho. Têm todo o direito de melhorar isto à vontade. Bem, eu ando a fazer alguns testes no que toca a performance entre quest-client e game-client e sendo sincero, quase ou pouco noto a diferença (já deu para entender que sou fanboy de lua certo?), apenas há 1 ~ 3 comandos extras a serem feitos. O que é este sistema? Isto dá-se como o nome de Admin Whisper (Mensagens de Equipa em português) e tem como objetivo enviar um
  12. 1. Procura por (game.py): onPressKeyDict[app.DIK_X] = lambda : 2. Comenta/Apaga: #onPressKeyDict[app.DIK_X] = lambda : self.__OpenBonus() <- Isto é um exemplo, não é igual ao que tens 3. Procura por: (uitooltip.py): if isCostumeSash: 4. Substitui por: if itemVnum >= 85001 and itemVnum <= 85024: # São os IDs das faixas, se tens de outra forma, substitui
  13. O default encontra-se em inglês de momento. De momento utilizo a opção de reiniciar o cliente por motivos de estética até conseguir ter um código perfeitamente aceitável. - Utilizo somente alguns ficheiros para a parte /locale/country sendo que o resto fica no default que é o pt. A ideia do item_names e de meter nas opções é muito bem vinda mesmo, é algo que irei adaptar para o sistema. O locale_string foi totalmente complicado para mim mas deixo já um obrigado ao @Sil3nce por me ter salvado. Tens razão, a parte da quest não causa problemas nenhuns e torna-se super a
  14. Estou a pensar em publicar mas não posso garantir.
×
×
  • Create New...