Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Inny

Plugin vip crashuje serwer

inny

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 csMaster

    Wszechwiedzący

  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 07.07.2017 14:21

Dodałem na serwer plugin VIP i lekko go edytowałem, tzn dodałem w nim prefixy przed nickiem [Zombie], [Czlowiek], [VIP][Czlowiek] i teraz jak tylko coś napisze na say to wywala serwer z tym logiem:

Segmentation fault (core dumped)

Da się jakoś ustawić te prefixy żeby nie wywalały serwera ?

Załączony plik  zm_vip.sma   17,48 KB  51 Ilość pobrań
  zm_vip.amxx


  • +
  • -
  • 0

#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 08.07.2017 09:33


public handleSayText(msgId,msgDest,msgEnt){

	new id = get_msg_arg_int(1);
	
	new spec = (get_user_team(id) == 3);
	new unteam = (get_user_team(id) == 0);

	

	if(!is_user_connected(id))	return PLUGIN_CONTINUE;

	

	new szTmp[256],szTmp2[256],szTmp3[256],szTmp4[256],szTmp5[256],szTmp6[256],szTmp7[256],szTmp8[256],szTmp9[256],szTmp10[256],szTmp11[256];
	new szTmp12[256],szTmp13[256],szTmp14[256],szTmp15[256],szTmp16[256],szTmp17[256],szTmp18[256],szTmp19[256],szTmp20[256],szTmp21[256];
	new szTmp22[256],szTmp23[256],szTmp24[256],szTmp25[256],szTmp26[256],szTmp27[256];

	get_msg_arg_string(2,szTmp, charsmax( szTmp ) );

	

	new szPrefix0[64] = "^4[VIP]";
	new szPrefix20[64] = "^4[Super VIP]";
	new szPrefixZM0[64] = "\r[Zombie]";
	new szPrefixH0[64] = "\b[Czlowiek]";
	new szPrefixN0[64] = "^3[Nemesis]";
	new szPrefixSU0[64] = "^3[Survivor]";
	new szPrefixA0[64] = "\y[Assassin]";
	new szPrefixSN0[64] = "^4[Sniper]";
	new szPrefixB0[64] = "\r[Bombardier]";
	new szPrefixO0[64] = "^3[Obserwator]";
	new szPrefixZM1[64] = "\g[VIP]\r[Zombie]";
	new szPrefixH1[64] = "\g[VIP]\b[Czlowiek]";
	new szPrefixN1[64] = "^4[VIP]^3[Nemesis]";
	new szPrefixSU1[64] = "^4[VIP]^3[Survivor]";
	new szPrefixA1[64] = "\g[VIP]\y[Assassin]";
	new szPrefixSN1[64] = "^4[VIP][Sniper]";
	new szPrefixB1[64] = "\g[VIP]\r[Bombardier]";
	new szPrefixO1[64] = "^4[VIP]^3[Obserwator]";
	new szPrefixZM2[64] = "\g[Super VIP]\r[Zombie]";
	new szPrefixH2[64] = "\g[Super VIP]\b[Czlowiek]";
	new szPrefixN2[64] = "^4[Super VIP]^3[Nemesis]";
	new szPrefixSU2[64] = "^4[Super VIP]^3[Survivor]";
	new szPrefixA2[64] = "\g[Super VIP]\y[Assassin]";
	new szPrefixSN2[64] = "^4[Super VIP][Sniper]";
	new szPrefixB2[64] = "\g[Super VIP]\r[Bombardier]";
	new szPrefixO2[64] = "^4[Super VIP]^3[Obserwator]";

	

	if(!equal(szTmp,"#Cstrike_Chat_All")){

		add(szTmp2,charsmax(szTmp2),szPrefix0);
		add(szTmp2,charsmax(szTmp2)," ");
		add(szTmp2,charsmax(szTmp2),szTmp);
		add(szTmp3,charsmax(szTmp3),szPrefix20);
		add(szTmp3,charsmax(szTmp3)," ");
		add(szTmp3,charsmax(szTmp3),szTmp);
		add(szTmp4,charsmax(szTmp4),szPrefixZM0);
		add(szTmp4,charsmax(szTmp4)," ");
		add(szTmp4,charsmax(szTmp4),szTmp);
		add(szTmp5,charsmax(szTmp5),szPrefixH0);
		add(szTmp5,charsmax(szTmp5)," ");
		add(szTmp5,charsmax(szTmp5),szTmp);
		add(szTmp6,charsmax(szTmp6),szPrefixN0);
		add(szTmp6,charsmax(szTmp6)," ");
		add(szTmp6,charsmax(szTmp6),szTmp);
		add(szTmp7,charsmax(szTmp7),szPrefixSU0);
		add(szTmp7,charsmax(szTmp7)," ");
		add(szTmp7,charsmax(szTmp7),szTmp);
		add(szTmp8,charsmax(szTmp8),szPrefixA0);
		add(szTmp8,charsmax(szTmp8)," ");
		add(szTmp8,charsmax(szTmp8),szTmp);
		add(szTmp9,charsmax(szTmp9),szPrefixSN0);
		add(szTmp9,charsmax(szTmp9)," ");
		add(szTmp9,charsmax(szTmp9),szTmp);
		add(szTmp10,charsmax(szTmp10),szPrefixB0);
		add(szTmp10,charsmax(szTmp10)," ");
		add(szTmp10,charsmax(szTmp10),szTmp);
		add(szTmp11,charsmax(szTmp11),szPrefixO0);
		add(szTmp11,charsmax(szTmp11)," ");
		add(szTmp11,charsmax(szTmp11),szTmp);
		add(szTmp12,charsmax(szTmp12),szPrefixZM1);
		add(szTmp12,charsmax(szTmp12)," ");
		add(szTmp12,charsmax(szTmp12),szTmp);
		add(szTmp13,charsmax(szTmp13),szPrefixH1);
		add(szTmp13,charsmax(szTmp13)," ");
		add(szTmp13,charsmax(szTmp13),szTmp);
		add(szTmp14,charsmax(szTmp14),szPrefixN1);
		add(szTmp14,charsmax(szTmp14)," ");
		add(szTmp14,charsmax(szTmp14),szTmp);
		add(szTmp15,charsmax(szTmp15),szPrefixSU1);
		add(szTmp15,charsmax(szTmp15)," ");
		add(szTmp15,charsmax(szTmp15),szTmp);
		add(szTmp16,charsmax(szTmp16),szPrefixA1);
		add(szTmp16,charsmax(szTmp16)," ");
		add(szTmp16,charsmax(szTmp16),szTmp);
		add(szTmp17,charsmax(szTmp17),szPrefixSN1);
		add(szTmp17,charsmax(szTmp17)," ");
		add(szTmp17,charsmax(szTmp17),szTmp);
		add(szTmp18,charsmax(szTmp18),szPrefixB1);
		add(szTmp18,charsmax(szTmp18)," ");
		add(szTmp18,charsmax(szTmp18),szTmp);
		add(szTmp19,charsmax(szTmp19),szPrefixO1);
		add(szTmp19,charsmax(szTmp19)," ");
		add(szTmp19,charsmax(szTmp19),szTmp);
		add(szTmp20,charsmax(szTmp20),szPrefixZM2);
		add(szTmp20,charsmax(szTmp20)," ");
		add(szTmp20,charsmax(szTmp20),szTmp);
		add(szTmp21,charsmax(szTmp21),szPrefixH2);
		add(szTmp21,charsmax(szTmp21)," ");
		add(szTmp21,charsmax(szTmp21),szTmp);
		add(szTmp22,charsmax(szTmp22),szPrefixN2);
		add(szTmp22,charsmax(szTmp22)," ");
		add(szTmp22,charsmax(szTmp22),szTmp);
		add(szTmp23,charsmax(szTmp23),szPrefixSU2);
		add(szTmp23,charsmax(szTmp23)," ");
		add(szTmp23,charsmax(szTmp23),szTmp);
		add(szTmp24,charsmax(szTmp24),szPrefixA2);
		add(szTmp24,charsmax(szTmp24)," ");
		add(szTmp24,charsmax(szTmp24),szTmp);
		add(szTmp25,charsmax(szTmp25),szPrefixSN2);
		add(szTmp25,charsmax(szTmp25)," ");
		add(szTmp25,charsmax(szTmp25),szTmp);
		add(szTmp26,charsmax(szTmp26),szPrefixB2);
		add(szTmp26,charsmax(szTmp26)," ");
		add(szTmp26,charsmax(szTmp26),szTmp);
		add(szTmp27,charsmax(szTmp27),szPrefixO2);
		add(szTmp27,charsmax(szTmp27)," ");
		add(szTmp27,charsmax(szTmp27),szTmp);

	}

	else
	{

		add(szTmp2,charsmax(szTmp2),szPrefix0);
		add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 :  %s2");
		add(szTmp3,charsmax(szTmp3),szPrefix20);
		add(szTmp3,charsmax(szTmp3),"^x03 %s1^x01 :  %s2");
		add(szTmp4,charsmax(szTmp4),szPrefixZM0);
		add(szTmp4,charsmax(szTmp4),"^x03 %s1^x01 :  %s2");
		add(szTmp5,charsmax(szTmp5),szPrefixH0);
		add(szTmp5,charsmax(szTmp5),"^x03 %s1^x01 :  %s2");
		add(szTmp6,charsmax(szTmp6),szPrefixN0);
		add(szTmp6,charsmax(szTmp6),"^x03 %s1^x01 :  %s2");
		add(szTmp7,charsmax(szTmp7),szPrefixSU0);
		add(szTmp7,charsmax(szTmp7),"^x03 %s1^x01 :  %s2");
		add(szTmp8,charsmax(szTmp8),szPrefixA0);
		add(szTmp8,charsmax(szTmp8),"^x03 %s1^x01 :  %s2");
		add(szTmp9,charsmax(szTmp9),szPrefixSN0);
		add(szTmp9,charsmax(szTmp9),"^x03 %s1^x01 :  %s2");
		add(szTmp10,charsmax(szTmp10),szPrefixB0);
		add(szTmp10,charsmax(szTmp10),"^x03 %s1^x01 :  %s2");
		add(szTmp11,charsmax(szTmp11),szPrefixO0);
		add(szTmp11,charsmax(szTmp11),"^x03 %s1^x01 :  %s2");
		add(szTmp12,charsmax(szTmp12),szPrefixZM1);
		add(szTmp12,charsmax(szTmp12),"^x03 %s1^x01 :  %s2");
		add(szTmp13,charsmax(szTmp13),szPrefixH1);
		add(szTmp13,charsmax(szTmp13),"^x03 %s1^x01 :  %s2");
		add(szTmp14,charsmax(szTmp14),szPrefixN1);
		add(szTmp14,charsmax(szTmp14),"^x03 %s1^x01 :  %s2");
		add(szTmp15,charsmax(szTmp15),szPrefixSU1);
		add(szTmp15,charsmax(szTmp15),"^x03 %s1^x01 :  %s2");
		add(szTmp16,charsmax(szTmp16),szPrefixA1);
		add(szTmp16,charsmax(szTmp16),"^x03 %s1^x01 :  %s2");
		add(szTmp17,charsmax(szTmp17),szPrefixSN1);
		add(szTmp17,charsmax(szTmp17),"^x03 %s1^x01 :  %s2");
		add(szTmp18,charsmax(szTmp18),szPrefixB1);
		add(szTmp18,charsmax(szTmp18),"^x03 %s1^x01 :  %s2");
		add(szTmp19,charsmax(szTmp19),szPrefixO1);
		add(szTmp19,charsmax(szTmp19),"^x03 %s1^x01 :  %s2");
		add(szTmp20,charsmax(szTmp20),szPrefixZM2);
		add(szTmp20,charsmax(szTmp20),"^x03 %s1^x01 :  %s2");
		add(szTmp21,charsmax(szTmp21),szPrefixH2);
		add(szTmp21,charsmax(szTmp21),"^x03 %s1^x01 :  %s2");
		add(szTmp22,charsmax(szTmp22),szPrefixN2);
		add(szTmp22,charsmax(szTmp22),"^x03 %s1^x01 :  %s2");
		add(szTmp23,charsmax(szTmp23),szPrefixSU2);
		add(szTmp23,charsmax(szTmp23),"^x03 %s1^x01 :  %s2");
		add(szTmp24,charsmax(szTmp24),szPrefixA2);
		add(szTmp24,charsmax(szTmp24),"^x03 %s1^x01 :  %s2");
		add(szTmp25,charsmax(szTmp25),szPrefixSN2);
		add(szTmp25,charsmax(szTmp25),"^x03 %s1^x01 :  %s2");
		add(szTmp26,charsmax(szTmp26),szPrefixB2);
		add(szTmp26,charsmax(szTmp26),"^x03 %s1^x01 :  %s2");
		add(szTmp27,charsmax(szTmp27),szPrefixO2);
		add(szTmp27,charsmax(szTmp27),"^x03 %s1^x01 :  %s2");

	}

	

	if(is_vip(id))
	{
		if(zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && !zp_get_user_assassin(id) && !zp_get_user_bombardier(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp12);
		}
		else if(!zp_get_user_zombie(id) && !zp_get_user_survivor(id) && !zp_get_user_sniper(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp13);
		}
		else if(zp_get_user_nemesis(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp14);
		}
		else if(zp_get_user_survivor(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp15);
		}
		else if(zp_get_user_assassin(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp16);
		}
		else if(zp_get_user_sniper(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp17);
		}
		else if(zp_get_user_bombardier(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp18);
		}
		else if(spec)
		{
			set_msg_arg_string(2,szTmp19);
		}
		else if(unteam)
		{
			set_msg_arg_string(2,szTmp2);
		}
	}
	else if(is_svip(id))
	{
		if(zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && !zp_get_user_assassin(id) && !zp_get_user_bombardier(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp20);
		}
		else if(!zp_get_user_zombie(id) && !zp_get_user_survivor(id) && !zp_get_user_sniper(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp21);
		}
		else if(zp_get_user_nemesis(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp22);
		}
		else if(zp_get_user_survivor(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp23);
		}
		else if(zp_get_user_assassin(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp24);
		}
		else if(zp_get_user_sniper(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp25);
		}
		else if(zp_get_user_bombardier(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp26);
		}
		else if(spec)
		{
			set_msg_arg_string(2,szTmp27);
		}
		else if(unteam)
		{
			set_msg_arg_string(2,szTmp3);
		}
	}
	else if(!is_vip(id) && !is_svip(id))
	{
		if(zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && !zp_get_user_assassin(id) && !zp_get_user_bombardier(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp4);
		}
		else if(!zp_get_user_zombie(id) && !zp_get_user_survivor(id) && !zp_get_user_sniper(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp5);
		}
		else if(zp_get_user_nemesis(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp6);
		}
		else if(zp_get_user_survivor(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp7);
		}
		else if(zp_get_user_assassin(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp8);
		}
		else if(zp_get_user_sniper(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp9);
		}
		else if(zp_get_user_bombardier(id) && !spec && !unteam)
		{
			set_msg_arg_string(2,szTmp10);
		}
		else if(spec)
		{
			set_msg_arg_string(2,szTmp11);
		}
	}

	

	return PLUGIN_CONTINUE;

}

To całe się wykonuje w momencie gdy coś powiesz.... Teksty prefixów przenieś moze do globalnych, pooptymalizuj troche warunki itp


  • +
  • -
  • 0

#3 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 08.07.2017 17:26

A jest sposób na to żeby te prefixy połączyć używając get_msg_arg_string ?

tzn. Zostały by pojedyncze zmienne więc połowa niepotrzebna ale żeby gdy gracz ma VIP dodało przed prefixem kolejny ? Jakoś połączyć tego mi nie szło :/


  • +
  • -
  • 0

#4 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 08.07.2017 17:54

tablica + formatex + na końcu set_msg_arg


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: inny

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych