Resultados 1 a 7 de 7
  1. #1
    Uploader Goten's Avatar

    Data de Ingresso
    Feb 2020
    Posts
    239
    Thanks Thanks Given 
    94
    Thanks Thanks Received 
    3,854
    Thanked in
    177 Posts
    Mencionado
    7 Post(s)
    País
    Brazil

    Monitorar FPS na tela, de código básico.



    dentro de interface.h
    Código:
    class Interface
    {
    public:
    	//FPS PRIMEIRO TESTE:
    	int lastReport;
    	int frameCount;
    	int frameRate;
    	char FPS_REAL[30];
    	void UPDATE_FPS();
    	void		guiMonitore();
    private:
    	
    };
    extern Interface gInterface;
    em interface.cpp
    Código:
    void Interface::UPDATE_FPS(){
    	gInterface.frameCount++;
    	if (GetTickCount() - gInterface.lastReport >= 1000)
    	{
    		gInterface.frameRate = gInterface.frameCount / ((GetTickCount() - gInterface.lastReport) / 1000);
    		sprintf(gInterface.FPS_REAL, "FPS: %d", gInterface.frameRate);
    		gInterface.lastReport = GetTickCount();
    		gInterface.frameCount = 0;
    	}
    
    	// ======================================================================
    	if (this->MiniMapCheck() || this->CombinedChecks() )
    	{
    		return;
    	}
    	this->DrawFormat(eGold, 600, 5, 80, 1, gInterface.FPS_REAL);
    }
    
    void Interface::guiMonitore(){
    	if (this->MiniMapCheck() || this->CombinedChecks() )
    	{
    		return;
    	}
    	pSetBlend(true);
    	glColor4f((GLfloat)0.0, (GLfloat)0.0, (GLfloat)0.0, (float)0.8);
    	pDrawBarForm(495.0, 0.0, 150.0, 20.0, 0.0f, 0);
    	pGLSwitchBlend();
    }
    executar dentro de work()
    Código:
    gInterface.guiMonitore();
    gInterface.UPDATE_FPS();
    no main ao iniciar dentro da função principal
    Código:
    gInterface.lastReport = GetTickCount();
    		gInterface.frameCount = 0;
    Créditos:
    takumi12

  2. #2
    Membro Linkzr's Avatar
    Data de Ingresso
    Dec 2015
    Posts
    169
    Thanks Thanks Given 
    38
    Thanks Thanks Received 
    19
    Thanked in
    13 Posts
    Mencionado
    12 Post(s)
    MEU HUMOR
    Yeehaw
    País
    Brazil
    Lá no fórum aonde foi originalmente postado pelo takumi12, ele fala que é só uma melhor forma de exibir o FPS e PING de acordo com outro tópico...
    Pra funcionar corretamente precisa criar também uma função na source do game server.
    Last edited by Linkzr; 06/03/2020 at 12:58 AM.
    [Somente membros podem ver os links. ]

  3. #3
    Fundador PerfectZone Mentor's Avatar


    Data de Ingresso
    Jun 2013
    Posts
    2,850
    Thanks Thanks Given 
    784
    Thanks Thanks Received 
    2,194
    Thanked in
    355 Posts
    Mencionado
    804 Post(s)
    MEU HUMOR
    Twisted
    País
    Brazil
    Irei testar mais acho que essa quantidade toda de código nao é apenas para posicionar a caixinha.
    A função já está ai dentro da interface.cpp
    Perfect Zone Brasil



    Inscreva-se no meu canal clicando [Somente membros podem ver os links. ]

  4. #4
    Fundador PerfectZone Mentor's Avatar


    Data de Ingresso
    Jun 2013
    Posts
    2,850
    Thanks Thanks Given 
    784
    Thanks Thanks Received 
    2,194
    Thanked in
    355 Posts
    Mencionado
    804 Post(s)
    MEU HUMOR
    Twisted
    País
    Brazil
    Adicionei o código a minha fonte e tive alguns problemas tanto na interface season2 como na interface season6, no caso da season2 é pior que alem de não exibir o FPS, está bugando a interface como mostra na imagem abaixo:


    Na season6 não exibi o FPS:


    Eu notei que esse problema ocorre quando utilizo o gInterface.guiMonitore(); responsável pelo bg escuro onde fica o FPS, após comentar a linha o FPS é exibido sem o fundo escuro.

    Perfect Zone Brasil



    Inscreva-se no meu canal clicando [Somente membros podem ver os links. ]

  5. #5
    Membro Linkzr's Avatar
    Data de Ingresso
    Dec 2015
    Posts
    169
    Thanks Thanks Given 
    38
    Thanks Thanks Received 
    19
    Thanked in
    13 Posts
    Mencionado
    12 Post(s)
    MEU HUMOR
    Yeehaw
    País
    Brazil
    interface.h
    Código:
    bool MiniMapCheck();
    bool CombinedChecks();
    interface.cpp
    Código:
    bool Interface::MiniMapCheck()
    {
       if (this->CheckWindow(Inventory) ||
          this->CheckWindow(CashShop) ||
          this->CheckWindow(ChaosBox) ||
          this->CheckWindow(Character) ||
          this->CheckWindow(CommandWindow) ||
          this->CheckWindow(ExpandInventory) ||
          this->CheckWindow(ExpandWarehouse) ||
          this->CheckWindow(FullMap) ||
          this->CheckWindow(GensInfo) ||
          this->CheckWindow(Guild) ||
          this->CheckWindow(NPC_Dialog) ||
          this->CheckWindow(NPC_Julia) ||
          this->CheckWindow(NPC_Titus) ||
          this->CheckWindow(OtherStore) ||
          this->CheckWindow(Party) ||
          this->CheckWindow(PetInfo) ||
          this->CheckWindow(Shop) ||
          this->CheckWindow(SkillTree) ||
          this->CheckWindow(Store) ||
          this->CheckWindow(Trade) ||
          this->CheckWindow(FriendList) ||
          this->CheckWindow(FastMenu) ||
          this->CheckWindow(MuHelper) ||
          this->CheckWindow(Quest) ||
          this->CheckWindow(Lugard) ||
          this->CheckWindow(Jerint) ||
          this->CheckWindow(GoldenArcher1) ||
          this->CheckWindow(GoldenArcher2) ||
          this->CheckWindow(LuckyCoin1) ||
          this->CheckWindow(LuckyCoin2) ||
          this->CheckWindow(NPC_Duel) ||
          this->CheckWindow(NPC_Devin) ||
          this->CheckWindow(GuardNPC) ||
          this->CheckWindow(SeniorNPC) ||
          this->CheckWindow(GuardNPC2) ||
          this->CheckWindow(CastleGateSwitch) ||
          this->CheckWindow(CatapultNPC) ||
          this->CheckWindow(CreateGuild) ||
          this->CheckWindow(Warehouse))
          return true;
       return false;
    }
    
    bool Interface::CombinedChecks()
    {
       if ((this->CheckWindow(Inventory)
          && this->CheckWindow(ExpandInventory)
          && this->CheckWindow(Store)) ||
          (this->CheckWindow(Inventory)
          && this->CheckWindow(Warehouse)
          && this->CheckWindow(ExpandWarehouse)) ||
          (this->CheckWindow(Inventory)
          && this->CheckWindow(Character)
          && this->CheckWindow(Store)))
          return true;
       return false;
    }
    [Somente membros podem ver os links. ]

  6. #6
    Membro Stark's Avatar
    Data de Ingresso
    Oct 2015
    Posts
    137
    Thanks Thanks Given 
    9
    Thanks Thanks Received 
    333
    Thanked in
    13 Posts
    Mencionado
    18 Post(s)
    MEU HUMOR
    Fine
    Não funciona na 97d né?

  7. #7
    Membro Linkzr's Avatar
    Data de Ingresso
    Dec 2015
    Posts
    169
    Thanks Thanks Given 
    38
    Thanks Thanks Received 
    19
    Thanked in
    13 Posts
    Mencionado
    12 Post(s)
    MEU HUMOR
    Yeehaw
    País
    Brazil
    os códigos só dão para serem utilizados em Sources MuEMU
    [Somente membros podem ver os links. ]

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • You may not post Resposta(s)
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •  
Sobre nós
Somos uma comunidade em atividade a 8 anos que aborda assuntos relacionados a games em geral, principalmente games MMORPG. e que busca sempre ajudar os membros através de conteúdos, tutoriais e suporte...
Nossos anunciantes
Hinetworks
VelozHost
InovHost
Rede Sociais