Skocz do zawartości

Konsola i porty w GM.


Rekomendowane odpowiedzi

Witam!

Domyślam się, że w standardzie GM'a nie ma wbudowanych komend do obsługi portów. Czy zna ktoś jakąś biblioteke do operacji na portach? Chodzi mi głównie o to żeby sprawdzić jakie porty są aktualnie otwarte / zamknięte i o blokowanie portów.

Drugi problem mam z konsolą. Mam taki kod w obiekcie Console:

W Create:

i = 1; // musze zadeklarować zmienną wewnętrzną,

W Press Enter:

a = get_string("","");

switch a

{

case "window_alpha="+string(i): global.window_alpha = i; break;

// inne komendy...

default: show_message("Złe polecenie"); break;

}

Chodzi mi o to żeby ustawić alpha dla okna przy użyciu konsoli, wpisuje polecenie window_alpha=i, gdzie i jest zmienną, którą mogę podać, np. pisze window_alpha=0.4 i alpha ustawia się na 0.4. Problem w tym, że w create nadałem zmiennej "i" wartość 1 i teraz polecenia działa mi tylko dla i = 1. W sumie to oczywiste, że tak działa, ale jak to zmienić żebym mógł podać dowolną wartość zmiennej "i"?

Odnośnik do komentarza
Udostępnij na innych stronach

Jemu chodzi o to żeby podawać do konsoli całe komendy, np. "window_alpha=5", a nie tylko "5" :P Mam nadzieje że to ci pomoże

var_string = get_string('Wpisz komende do konsoli:', '');  // string wpisany przez usera
var_name = string_copy(var_string, 0, string_pos('=', var_string) - 1);  // nazwa komendy
var_value = string_copy(var_string, string_pos('=', var_string) + 1, string_length(var_string));  // wartosc komendy

Odnośnik do komentarza
Udostępnij na innych stronach

Hmm, niby rozumiem o co chodzi, ale nie umiem umiejscowić tego w kodzie :mellow: . Rozumiem to tak, że w moim przypadku var_stringiem jest "a", a var_value to wartość zmiennej którą chce zmienić (w moim przypadku global.window_alpha). Zakol musze zrobić tak jak mówisz, ale przy użyciu "switch a", czyli nie wiem co wpisać po case ???

Odnośnik do komentarza
Udostępnij na innych stronach

switch (var_name)
{
case (jakas_nazwa1): {global.jakasnazwa1 = var_value; break;}
case (jakas_nazwa2): {global.jakasnazwa2 = var_value; break;}
case (jakas_nazwa3): {global.jakasnazwa3 = var_value; break;}
}

Do tego mozesz jeszcze dorobic jakies zabezpieczenia, np. zeby ktos nie wpisal zlej skladni (komenda === 15, 5) itp. etc.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...