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

Voices Management


  • Zamknięty Temat jest zamknięty
4 odpowiedzi w tym temacie

#1 Dudix

    Zaawansowany

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:101
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Internet
Offline

Napisano 02.01.2011 13:22

Witam.
Widząc zalety pluginu Voices Management, wpadłem na pomysł by rozbudować go nieco, tak aby mógł być wykorzystywany na serwerach TP. Mianowicie, aby gracze z drużyny bez względu na to czy są żywi czy nie, slyszeli siebie i mogli mówić do siebie. Czyli plugin zastępowałby działanie zewnętrznego serwera głosowego. Przeanalizowałem dokładnie kod pluginu i wprowadziłem wartość dwóch cvarów, cyfrę 3.

vm_alives 3
vm_deads 3

Następnie dodałem do dwóch switch'y "case 3"

switch( iAlives )
	{
		case 0:szAlivesStatus = "VM_ALIVES_TEAMATES"
		case 1:szAlivesStatus = "VM_ALIVES"
		case 2:szAlivesStatus = "VM_ALL"
		case 3:szAlivesStatus = "VM_TEAMATES"
	}

	switch( iDeads )
	{
		case 0:szDeadsStatus = "VM_DEADS_TEAMATES"
		case 1:szDeadsStatus = "VM_DEADS"
		case 2:szDeadsStatus = "VM_ALL"
		case 3:szDeadsStatus = "VM_TEAMATES"
	}

oraz do kolejnych dwóch switch'y "case 3".

if(g_bAlive[iReceiver])
	{
		switch(get_pcvar_num(g_pcvarAlivesHear))
		{
			case 0:
			{
				if( g_bAlive[iSender] && get_pdata_int(iReceiver, OFFSET_TEAM) == get_pdata_int(iSender, OFFSET_TEAM) )
				{
					engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
					forward_return(FMV_CELL, true)
					return FMRES_SUPERCEDE
				}
			}
			case 1:
			{
				if( g_bAlive[iSender] )
				{
					engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
					forward_return(FMV_CELL, true)
					return FMRES_SUPERCEDE
				}
			}
			case 2:
			{
				engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
				forward_return(FMV_CELL, true)
				return FMRES_SUPERCEDE
			}
			case 3:
			{
				if( get_pdata_int(iReceiver, OFFSET_TEAM) == get_pdata_int(iSender, OFFSET_TEAM) )
				{
					engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
					forward_return(FMV_CELL, true)
					return FMRES_SUPERCEDE
				}
			}
		}
	}
	else
	{
		switch(get_pcvar_num(g_pcvarDeadsHear))
		{
			case 0:
			{
				if( !g_bAlive[iSender] && get_pdata_int(iReceiver, OFFSET_TEAM) == get_pdata_int(iSender, OFFSET_TEAM) )
				{
					engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
					forward_return(FMV_CELL, true)
					return FMRES_SUPERCEDE
				}
			}
			case 1:
			{
				if( !g_bAlive[iSender] )
				{
					engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
					forward_return(FMV_CELL, true)
					return FMRES_SUPERCEDE
				}
			}
			case 2:
			{
				engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
				forward_return(FMV_CELL, true)
				return FMRES_SUPERCEDE
			}
			case 3:
			{
				if( get_pdata_int(iReceiver, OFFSET_TEAM) == get_pdata_int(iSender, OFFSET_TEAM) )
				{
					engfunc(EngFunc_SetClientListening, iReceiver, iSender, true)
					forward_return(FMV_CELL, true)
					return FMRES_SUPERCEDE
				}
			}
		}
	}

Kompilacja przebiegła pomyślnie. Niestety plugin nie działa poprawnie, gdyż po dołączeniu na serwer i wybraniu drużyny serwer się crashuje. Dzięki metodzie prób i błędów zauważyłem, że problem występuje w instrukcji warunkowej znajdującej się w "case 3". Co może być błędem?
W załączniku zamieściłem całe .sma.

Załączone pliki


  • +
  • -
  • 0

#2 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 02.01.2011 13:55

hmm... plugin związany z rozmową przez mikr - Nieoficjalny polski support AMX Mod X
  • +
  • -
  • 0

#3 Dudix

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:101
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Internet
Offline

Napisano 02.01.2011 15:14

Chciałem być pierwszy ;)
Przydałoby się plugin z tamtego tematu opublikować bo trudno go znaleźć.
  • +
  • -
  • 0

#4 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 02.01.2011 15:17

Ale tam wciąż nikt nie odpisał czy to działa, a ja nie testowałem.
  • +
  • -
  • 0

#5 Dudix

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:101
  • Steam:steam
  • Imię:Kamil
  • Lokalizacja:Internet
Offline

Napisano 10.01.2011 19:36

Tamten plugin nie działa. Ma taki sam błąd w działaniu jak mój. Mógłby ktoś przenalizować kod?
  • +
  • -
  • 0




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

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