Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Wewnętrzne drukowanie na konsoli - potrzebujesz wyjaśnienia
#1
Wewnętrzne drukowanie na konsoli - potrzebujesz wyjaśnienia
Reply
#2
Dlaczego miałbyś drukować coś w konsoli do gier? To najgorszy sposób na debugowanie lub dostarczenie użytkownikowi jakichkolwiek informacji. Zamiast tego spróbuj użyć AllocConsole lub narysuj własną konsolę w grze.
Reply
#3
Zacytować: Originally Posted by exodia1232 Dlaczego miałbyś drukować coś w konsoli do gier? To najgorszy sposób na debugowanie lub dostarczenie użytkownikowi jakichkolwiek informacji. Zamiast tego spróbuj użyć AllocConsole lub narysuj własną konsolę w grze. Hej, uczę się, muszę zacząć gdzieś, prawda? Zauważyłem, że jest to łatwe dzięki funkcji "Ostrzeżenie" na moim poziomie wiedzy I przy okazji wiem, jak przydzielić konsolę, robiłem to wcześniej, nie myślę, że jestem kompletnym nowicjuszem, dopiero zaczynam od wewnętrznych
Reply
#4
Zacytować: Originally Posted by exodia1232 Dlaczego miałbyś drukować coś w konsoli do gier? To najgorszy sposób na debugowanie lub dostarczenie użytkownikowi jakichkolwiek informacji. Zamiast tego spróbuj użyć AllocConsole lub narysuj własną konsolę w grze. W jaki sposób jest najgorszym sposobem debugowania lub dostarczania użytkownikowi jakichkolwiek informacji? Jeśli grasz w trybie pełnoekranowym, nie możesz korzystać z konsoli Windows.
Reply
#5
Chłopaki, proszę, nie idźcie na randkę. Naprawdę jestem zdezorientowany. Doceń swoją pomoc
Reply
#6
Jeśli twój projekt jest już połączony z tier0.lib, możesz po prostu użyć tego: Kod: __declspec (dllimport) void __cdecl Ostrzeżenie (char const *, ...);
Reply
#7
Tak, możesz oczywiście sformatować strunę samodzielnie ... ale dlaczego, kiedy jest to już zrobione przez wyeksportowaną funkcję?
Reply
#8
Nie musisz też przechwytywać adresu za każdym razem, gdy wywołasz funkcję. A jeśli chcesz być l33t, możesz użyć szablonów Variadic C ++ (aka Parameter Pack): Kod: template void Ostrzeżenie (const char * pMsg, Args ... args) {// Zwróć, jeśli nie została przesłana wiadomość, jeśli (pMsg == nullptr) return; // Używanie tutaj statycznych wywołań GetModuleHandle / GetProcAddress tylko raz statyczny HMODULE hModule = GetModuleHandle ("tier0.dll"); static SDK :: Warning warning = (SDK :: Warning) GetProcAddress (hModule, "Warning"); // Zwróć, jeśli nie znaleziono adresu funkcji "Ostrzeżenie", jeśli (ostrzeżenie == nullptr) powróci; ostrzeżenie (pMsg, args ...); } Teraz nie potrzebujesz gówna va_list. tak. I jest znacznie krótszy
Reply
#9
Zacytować: Napisał MarkHC Nie musisz też przechwytywać adresu za każdym razem, gdy wywołasz funkcję. A jeśli chcesz być l33t, możesz użyć szablonów Variadic C (aka Parameter Pack): Kod: szablon Teraz nie potrzebujesz gówna va_list. tak. I jest znacznie krótszy Och, nie wiedziałem, że możesz to zrobić, dzięki Dziękuję wszystkim za pomoc, uczę się coraz bardziej każdego dnia
Reply
#10
Zacytować: Originally Posted by daavid245 Och, nie wiedziałem, że możesz to zrobić, dzięki Dziękuję wszystkim za pomoc, uczę się coraz bardziej każdego dnia dziękuję CIEBIE, nigdy nie zapomnimy o twoim rewolucyjnym pomyśle, jakim jest GlowESP jako usługa. Byliście już wielką pomocą dla tej społeczności i za to powinniśmy być wdzięczni.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)