←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Zmienna logiczna na cały serwer

Zablokowany

  • +
  • -
oeN. - zdjęcie oeN. 04.12.2014

Witam,

 

Jak stworzyć zmienną logiczną (bool) tak aby była ona ustalona na cały serwer a nie na na określone ID.

Czy taki zapis jest poprawny? I gdy gracz dołączy do serwera to u niego też będzie czytana taka sama zmienna?

new bool:zmienna[33];
zmienna[0] = false;
Odpowiedz

  • +
  • -
wiwi249 - zdjęcie wiwi249 04.12.2014

new bool:zmienna;
zmienna = false;

To właściwie jest tablica i niekoniecznie chodzi tu o "określone ID", tylko o indeksowanie.

Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 04.12.2014

Wytłumacz co chcesz osiągnąć , w jakim kontekście itp. itd.

Odpowiedz

  • +
  • -
oeN. - zdjęcie oeN. 04.12.2014

Myślę że ten kod wszystko Ci wyjaśni.

Załączone pliki


Użytkownik oeN. edytował ten post 04.12.2014 17:23
Odpowiedz

  • +
  • -
wiwi249 - zdjęcie wiwi249 04.12.2014

Kurcze, próbuje ogarnąć, ale średnio mi idzie, napisz coś więcej.


Użytkownik wiwi249 edytował ten post 04.12.2014 17:29
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 04.12.2014

Kod nic nie wyjaśnił 

Odpowiedz

  • +
  • -
oeN. - zdjęcie oeN. 04.12.2014

A więc jest to roundsound. Oryginalnie był stworzony by odpalać muzykę losowo, chcę go przerobić tak by była ona puszczana po kolei, i na końcowej nucie po prostu wracała na początek. Miałem zamiar wykorzystać właśnie do tego zmienne bool.

Odpowiedz

  • +
  • -
wiwi249 - zdjęcie wiwi249 04.12.2014

new const muzyka_tt[5][] = 
{
	"sound/muzyka/tt1.mp3",
	"sound/muzyka/tt2.mp3",
	"sound/muzyka/tt3.mp3",
	"sound/muzyka/tt4.mp3",
	"sound/muzyka/tt5.mp3"
}
new ostatni_rs = 0;

...
public TT_win() {
	for( new iPlayer = 1 ; iPlayer <= maxPlayers; iPlayer++){
		if( !is_user_connected( iPlayer ) || !roundsound[ iPlayer ] || cs_get_user_team(iPlayer) != CS_TEAM_T ){
			return;
		client_cmd(iPlayer, "mp3 play %s", muzyka_tt[ostatni_rs]);
	}
	if(ostatni_rs == 4)
		ostatni_rs = 0;
	else
		ostatni_rs++;
}

Podobnie zrób dla CT i będzie dobrze ;)

 

PS. No i oczywiście #include <cstrike> :)


Użytkownik wiwi249 edytował ten post 04.12.2014 17:44
Odpowiedz

  • +
  • -
oeN. - zdjęcie oeN. 04.12.2014

Arigato!

Jeszcze żeby zrobić wyświetlanie wiadomości gdy leci muza to wystarczy zrobić:

if(muzyka_tt == 1) lub if(ostatni_rs == 1)
//Kod wiadomosci do nuty 1 z TT?

Użytkownik oeN. edytował ten post 04.12.2014 17:48
Odpowiedz

  • +
  • -
wiwi249 - zdjęcie wiwi249 04.12.2014

Noo nienienie. muzyka_tt to tablica która zawiera tylko ściezki do utworów.

Zapisz sobie nazwy utworów do następnej tablicy i sobie to wczytuj ;)

new const muzyka_tt[5][] = 
{
	"sound/muzyka/tt1.mp3",
	"sound/muzyka/tt2.mp3",
	"sound/muzyka/tt3.mp3",
	"sound/muzyka/tt4.mp3",
	"sound/muzyka/tt5.mp3"
}
new const utwory_tt[5][] = 
{
	"Nazwa Utworu 1",
	"Nazwa Utworu 2",
	"Nazwa Utworu 3",
	"Nazwa Utworu 4",
	"Nazwa Utworu 5"
}
new ostatni_rs = 0;

...
public TT_win() {
	for( new iPlayer = 1 ; iPlayer <= maxPlayers; iPlayer++){
		if( !is_user_connected( iPlayer ) || !roundsound[ iPlayer ] || cs_get_user_team(iPlayer) != CS_TEAM_T ){
			return;
		client_cmd(iPlayer, "mp3 play %s", muzyka_tt[ostatni_rs]);
		ColorChat(iPlayer,  RED, "[GODLIKE]^x01 Gramy^x04 %s", utwory_tt[ostatni_rs])
	}
	if(ostatni_rs == 4)
		ostatni_rs = 0;
	else
		ostatni_rs++;
}
Odpowiedz

  • +
  • -
oeN. - zdjęcie oeN. 04.12.2014

Więcej tablic! Tędy droga... Tak więc jednym słowem, dziękuje.

 

Można zamknąć!

Odpowiedz
Zablokowany