Functie chat global c++

Înainte de a posta o problemă, caută în acest forum și poate găsești rezolvare.
Avatar utilizator
Nazir a.k.a. Zorke
Traficant de ouă

Traficant de ouă
Mesaje: 1250
Membru din: 05 Sep 2014, 19:41
Server: Metin2 Kotoba
Regat: Shinsoo
Aprecieri: 5  
Mulţumiri: 44  
 Contact:
Medalii

Nici asa nu vrea?
Ma dispera :))

Cod: Selectaţi tot

      const char * ColoredEmpireNames[4] = {"\0", "|cFFFF0000[Rosu]|r", "|cFFFFFF00[Galben]|r", "|cFF0080FF[Albastru]|r",};
      const char * zGM = "|cFFFFC700[GM]|r";
     const char * zSGM = "|cFFFFC700[SGM]|r";
     const char * zGA = "|cFFFFC700[GA]|r";
	 const chat * pGM = strchr(GetName(),[GM]);
	 const chat * pSGM = strchr(GetName(),[SGM])
	 const chat * pGA = strchr(GetName(),[GA])
    len = snprintf(chatbuf, sizeof(chatbuf), "%s - [Lv.%d] - [CH%d] - %s : %s",
         ch->GetGMLevel() != GM_PLAYER && pGM !=0 ? zGM || pSGM !=0 ? zSGM  || pGA !=0 ? zGA  : ColoredEmpireNames[ch->GetEmpire()], ch->GetLevel(), g_bChannel, ch->GetName(), buf);


Securizează website-ul la serverul tău chiar acum ! Sfaturi gratuite !
Schimbă codul din spatele template-ului cu ceva mai nou ! Același design alt cod !!
https://www.facebook.com/ZorkeOfficial/

Imagine
Afișează semnătura
Avatar utilizator
Iηfιηιт²⁴ᵏ
Utilizator interzis !

Utilizator interzis !
Mesaje: 1008
Membru din: 19 Dec 2013, 09:40
Server: Metin2 s-a dus pe pl
Regat: Jinno
Aprecieri: 40  
Mulţumiri: 11  
 Contact:
Medalii

Afișează semnătura
Avatar utilizator
redbull12
Nivel 5

Nivel 5
Mesaje: 851
Membru din: 13 Iul 2014, 14:27
Server: In lucru!
Regat: Jinno
Aprecieri: 232  
Mulţumiri: 40  
  Rezolvări prob.: 1
 Contact:
Medalii

Iηfιηιт²⁴ᵏ scrie:http://prntscr.com/dpn26w

:))
Incearca sa stergi z si p din fata gradelor si sa o compilezi inca o data
Avatar utilizator
Nazir a.k.a. Zorke
Traficant de ouă

Traficant de ouă
Mesaje: 1250
Membru din: 05 Sep 2014, 19:41
Server: Metin2 Kotoba
Regat: Shinsoo
Aprecieri: 5  
Mulţumiri: 44  
 Contact:
Medalii

redbull12 scrie:
Iηfιηιт²⁴ᵏ scrie:http://prntscr.com/dpn26w

:))
Incearca sa stergi z si p din fata gradelor si sa o compilezi inca o data
Tu esti nebun ? Cum adica sa le stearga ? Stii macar pentru ce sunt? Stii C++ ? Nu mai fa mesaje aiurea. alea cu z[GM] etc sunt niste variabile si le poate denumii cum vrea . Nu mai posta aiurea

Revin cu reply sau edit cu o noua incercare sa ma mai gandesc .. :))


SALUT UITE AICI O POSIBILIA REUSITA + EXPLICATIA:

Cod: Selectaţi tot

      const char* kingdoms[3] = { "|cFFff0000|H|h[Shinsoo]|cFFA7FFD4|H|h", "|cFFFFFF00|H|h[Chunjo]|cFFA7FFD4|H|h", "|cFF0080FF|H|h[Jinno]|cFFA7FFD4|H|h" };
      const char* grade[3] = {"|cFFFFC700[GM]|r", "|cFFFFC700[SGM]|r", "|cFFFFC700[GA]|r"}
     char chatbuf_global[CHAT_MAX_LEN + 1];
     char zGM = strchr(GetName(),[GM]);
      char zSGM = strchr(GetName(),[SGM]);
      char zGA = strchr(GetName(),[GA]);
     if (zGM == 0 && zSGM == 0 && zGA == 0)
      int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s", kingdoms[ch->GetEmpire() - 1], chatbuf);
     else
       if (zGM !=0 && zSGM == 0 && zGA ==0 )
         int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s", grade[1], chatbuf);
      else
         if (zGM == 0 && zSGM != 0 && zGA ==0 )
            int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s", grade[2], chatbuf);
         else
            if (zGM == 0 && zSGM == 0 && zGA !=0 )
               int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s", grade[3], chatbuf);
               
/* -----------------------------------------------------------------------------------  
                                           Functie noua chat 
---------------------------------------------------------------------- * /


EXPLICATIE:

Cod: Selectaţi tot

	  char zGM = strchr(GetName(),[GM]);
      char zSGM = strchr(GetName(),[SGM]);
      char zGA = strchr(GetName(),[GA]);
Aici se cauta daca numele incepe cu [gm] etc.

In primul if , daca rezultatele cautarilor is = 0 , inseamna ca nu e gm si scrie pe chat normal cu [Jinno] Nume: bla bla..

de la al doilea if se cauta daca vreunu din acele variabile zGM, zSGM, zGA sunt diferite de 0 adica daca numele respectivului incepe cu vreuna din alea.. ii afiseaza [GM], [SGM] sau [GA] nu cu [Jinno ] etc.. .. Teoretic e scris ok acum nu iti pot garanta .. o sa dezvolt functia asta momentan incearca asa..
Securizează website-ul la serverul tău chiar acum ! Sfaturi gratuite !
Schimbă codul din spatele template-ului cu ceva mai nou ! Același design alt cod !!
https://www.facebook.com/ZorkeOfficial/

Imagine
Afișează semnătura
Avatar utilizator
redbull12
Nivel 5

Nivel 5
Mesaje: 851
Membru din: 13 Iul 2014, 14:27
Server: In lucru!
Regat: Jinno
Aprecieri: 232  
Mulţumiri: 40  
  Rezolvări prob.: 1
 Contact:
Medalii

Zorke scrie:
redbull12 scrie:
Iηfιηιт²⁴ᵏ scrie:http://prntscr.com/dpn26w

:))
Incearca sa stergi z si p din fata gradelor si sa o compilezi inca o data
Tu esti nebun ? Cum adica sa le stearga ? Stii macar pentru ce sunt? Stii C++ ? Nu mai fa mesaje aiurea. alea cu z[GM] etc sunt niste variabile si le poate denumii cum vrea . Nu mai posta aiurea

Revin cu reply sau edit cu o noua incercare sa ma mai gandesc .. :))


SALUT UITE AICI O POSIBILIA REUSITA + EXPLICATIA:

Cod: Selectaţi tot

      const char* kingdoms[3] = { "|cFFff0000|H|h[Shinsoo]|cFFA7FFD4|H|h", "|cFFFFFF00|H|h[Chunjo]|cFFA7FFD4|H|h", "|cFF0080FF|H|h[Jinno]|cFFA7FFD4|H|h" };
      const char* grade[3] = {"|cFFFFC700[GM]|r", "|cFFFFC700[SGM]|r", "|cFFFFC700[GA]|r"}
     char chatbuf_global[CHAT_MAX_LEN + 1];
     char zGM = strchr(GetName(),[GM]);
      char zSGM = strchr(GetName(),[SGM]);
      char zGA = strchr(GetName(),[GA]);
     if (zGM == 0 && zSGM == 0 && zGA == 0)
      int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s", kingdoms[ch->GetEmpire() - 1], chatbuf);
     else
       if (zGM !=0 && zSGM == 0 && zGA ==0 )
         int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s", grade[1], chatbuf);
      else
         if (zGM == 0 && zSGM != 0 && zGA ==0 )
            int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s", grade[2], chatbuf);
         else
            if (zGM == 0 && zSGM == 0 && zGA !=0 )
               int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s", grade[3], chatbuf);
               
/* -----------------------------------------------------------------------------------  
                                           Functie noua chat 
---------------------------------------------------------------------- * /


EXPLICATIE:

Cod: Selectaţi tot

	  char zGM = strchr(GetName(),[GM]);
      char zSGM = strchr(GetName(),[SGM]);
      char zGA = strchr(GetName(),[GA]);
Aici se cauta daca numele incepe cu [gm] etc.

In primul if , daca rezultatele cautarilor is = 0 , inseamna ca nu e gm si scrie pe chat normal cu [Jinno] Nume: bla bla..

de la al doilea if se cauta daca vreunu din acele variabile zGM, zSGM, zGA sunt diferite de 0 adica daca numele respectivului incepe cu vreuna din alea.. ii afiseaza [GM], [SGM] sau [GA] nu cu [Jinno ] etc.. .. Teoretic e scris ok acum nu iti pot garanta .. o sa dezvolt functia asta momentan incearca asa..
Eram sarcastic dar fie..... :))
Avatar utilizator
Iηfιηιт²⁴ᵏ
Utilizator interzis !

Utilizator interzis !
Mesaje: 1008
Membru din: 19 Dec 2013, 09:40
Server: Metin2 s-a dus pe pl
Regat: Jinno
Aprecieri: 40  
Mulţumiri: 11  
 Contact:
Medalii

Zorke scrie:
redbull12 scrie:
Iηfιηιт²⁴ᵏ scrie:http://prntscr.com/dpn26w

:))
Incearca sa stergi z si p din fata gradelor si sa o compilezi inca o data
Tu esti nebun ? Cum adica sa le stearga ? Stii macar pentru ce sunt? Stii C++ ? Nu mai fa mesaje aiurea. alea cu z[GM] etc sunt niste variabile si le poate denumii cum vrea . Nu mai posta aiurea

Revin cu reply sau edit cu o noua incercare sa ma mai gandesc .. :))


SALUT UITE AICI O POSIBILIA REUSITA + EXPLICATIA:

Cod: Selectaţi tot

      const char* kingdoms[3] = { "|cFFff0000|H|h[Shinsoo]|cFFA7FFD4|H|h", "|cFFFFFF00|H|h[Chunjo]|cFFA7FFD4|H|h", "|cFF0080FF|H|h[Jinno]|cFFA7FFD4|H|h" };
      const char* grade[3] = {"|cFFFFC700[GM]|r", "|cFFFFC700[SGM]|r", "|cFFFFC700[GA]|r"}
     char chatbuf_global[CHAT_MAX_LEN + 1];
     char zGM = strchr(GetName(),[GM]);
      char zSGM = strchr(GetName(),[SGM]);
      char zGA = strchr(GetName(),[GA]);
     if (zGM == 0 && zSGM == 0 && zGA == 0)
      int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s", kingdoms[ch->GetEmpire() - 1], chatbuf);
     else
       if (zGM !=0 && zSGM == 0 && zGA ==0 )
         int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s", grade[1], chatbuf);
      else
         if (zGM == 0 && zSGM != 0 && zGA ==0 )
            int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s", grade[2], chatbuf);
         else
            if (zGM == 0 && zSGM == 0 && zGA !=0 )
               int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s", grade[3], chatbuf);
               
/* -----------------------------------------------------------------------------------  
                                           Functie noua chat 
---------------------------------------------------------------------- * /


EXPLICATIE:

Cod: Selectaţi tot

	  char zGM = strchr(GetName(),[GM]);
      char zSGM = strchr(GetName(),[SGM]);
      char zGA = strchr(GetName(),[GA]);
Aici se cauta daca numele incepe cu [gm] etc.

In primul if , daca rezultatele cautarilor is = 0 , inseamna ca nu e gm si scrie pe chat normal cu [Jinno] Nume: bla bla..

de la al doilea if se cauta daca vreunu din acele variabile zGM, zSGM, zGA sunt diferite de 0 adica daca numele respectivului incepe cu vreuna din alea.. ii afiseaza [GM], [SGM] sau [GA] nu cu [Jinno ] etc.. .. Teoretic e scris ok acum nu iti pot garanta .. o sa dezvolt functia asta momentan incearca asa..
nu merge.. :(

http://prntscr.com/dpvabq
Afișează semnătura
Avatar utilizator
Nazir a.k.a. Zorke
Traficant de ouă

Traficant de ouă
Mesaje: 1250
Membru din: 05 Sep 2014, 19:41
Server: Metin2 Kotoba
Regat: Shinsoo
Aprecieri: 5  
Mulţumiri: 44  
 Contact:
Medalii

Cod: Selectaţi tot

		//New Chat Functions Start - Zorke - 
		const char * ColoredEmpireNames[4] = {"0", "|cFFFF0000[Shinshoo]|r", "|cFFFFFF00[Chunjo]|r", "|cFF0080FF[Jinno]|r",};
		const char * ColoredTeamName = "|cFFFFC700[STAFF]|r";
		if (charName.find("[GM]"))
		{
		// RED -GM - 
		len = snprintf(chatbuf, sizeof(chatbuf), "%s %s : %s",
		ch->GetGMLevel() != GM_PLAYER ? ColoredTeamName : ColoredEmpireNames[ch->GetEmpire()], ch->GetName(), "|cFFFF0000|H|h", buf);
		}
		else
		{
		// DEFAULT COLOR(For players)
		len = snprintf(chatbuf, sizeof(chatbuf), "%s %s : %s",
		ch->GetGMLevel() != GM_PLAYER ? ColoredTeamName : ColoredEmpireNames[ch->GetEmpire()], ch->GetName(), buf);
		}
		if (charName.find("[SGM]"))
		{
		// GREEN -SGM - 
		len = snprintf(chatbuf, sizeof(chatbuf), "%s %s : %s",
		ch->GetGMLevel() != GM_PLAYER ? ColoredTeamName : ColoredEmpireNames[ch->GetEmpire()], ch->GetName(), "|CFF20C000|H|h", buf);
		}
		else
		{
		// DEFAULT COLOR(For players)
		len = snprintf(chatbuf, sizeof(chatbuf), "%s %s : %s",
		ch->GetGMLevel() != GM_PLAYER ? ColoredTeamName : ColoredEmpireNames[ch->GetEmpire()], ch->GetName(), buf);
		}
		if (charName.find("[GA]"))
		{
		// BLUE -GA - 
		len = snprintf(chatbuf, sizeof(chatbuf), "%s %s : %s",
		ch->GetGMLevel() != GM_PLAYER ? ColoredTeamName : ColoredEmpireNames[ch->GetEmpire()], ch->GetName(), "|CFF0042FF|H|h", buf);
		}
		else
		{
		// DEFAULT COLOR(For players)
		len = snprintf(chatbuf, sizeof(chatbuf), "%s %s : %s",
		ch->GetGMLevel() != GM_PLAYER ? ColoredTeamName : ColoredEmpireNames[ch->GetEmpire()], ch->GetName(), buf);
		}
		//New Chat Functions End - Zorke - 
Bafta ! :D
Pentru acest mesaj, Nazir a.k.a. Zorke for the post:
Iηfιηιт²⁴ᵏ
Securizează website-ul la serverul tău chiar acum ! Sfaturi gratuite !
Schimbă codul din spatele template-ului cu ceva mai nou ! Același design alt cod !!
https://www.facebook.com/ZorkeOfficial/

Imagine
Afișează semnătura
Avatar utilizator
Iηfιηιт²⁴ᵏ
Utilizator interzis !

Utilizator interzis !
Mesaje: 1008
Membru din: 19 Dec 2013, 09:40
Server: Metin2 s-a dus pe pl
Regat: Jinno
Aprecieri: 40  
Mulţumiri: 11  
 Contact:
Medalii

rezolvat
Afișează semnătura
Închis
Răspunsuri
9
Vizualizări
3794
Răspunsuri
2
Vizualizări
117
Răspunsuri
5
Vizualizări
371

Înapoi la “Probleme rezolvate”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Google [Bot] și 22 vizitatori