Skocz do zawartości
  • Chmurka
  • Boróweczka
  • Jabłuszko
  • Limonka
  • Czekoladka
  • Węgielek

Avgariat

Administrator
  • Zawartość

    68
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    12

Avgariat wygrał w ostatnim dniu 16 Luty

Avgariat ma najbardziej lubianą zawartość!

Reputacja

71 Klawiaturowy klikacz

2 obserwujących

Personal Information

Ostatnio na profilu byli

333 wyświetleń profilu
  1. Widziałem kod "[n.o.x] JackPot". Autor w tym pluginie złamał niemal wszystkie zasady programowania. Przykładem takiego działania jest identyfikacja graczy po ilości wpłaconych środków. XD? Autor w tym momencie napotkał dużą przeszkodę, mianowicie spadł na to, że ilości środków mogą być takie same. Aby tego uniknąć postanowił przejść pętlą po wszystkich graczach i w przypadku, gdy się okaże, że dany gracz ma taką samą ilość środków, to autor zwiększał ilość środków gracza wpłacającego. Jako, że robił to w pętli po graczach, to jest możliwa następująca sytuacja: Mamy graczy x, y, z. Gracz Z wpłaca środki w ilości k, a gracz Y w ilości k+1. Następnie gracz X wpłaca środki w ilości k. Wtedy algorytm autora przechodzi po graczach w kolejności X->Y->Z, co za tym idzie? Dla X: k+1 != k, więc inkrementacja nie zachodzi. Dla Y: k == k, więc dla Z następuje inkrementacja, czyli zmiana wartości na k+1. Wówczas pętla się kończy. W rezultacie gracz X i gracz Z mają taką samą ilość k+1. Autor prawdopodobnie napotkał błędy z tego powodu przy testowaniu, więc pod wspomnianą wyżej pętlą dodał kolejną taką samą pętlę. XDD? W wymienionym wyżej przypadku problem zostanie rozwiązany, ale chyba nie muszę już rozpisywać sytuacji, gdzie gracze wpłacą środki w ilości k, k+1, k+2, k i będą odpowiednio ustawieni w pętli. W takim wypadku niewątpliwie błąd znowu się pojawi. Fun fact: W opisanym wyżej przypadku inkrementacja następuje w pętli while, dopóki wartości są różne dla dwóch, tych samych graczy. Prawdopodobnie if był niegodny tego zacnego algorytmu. 😉
  2. Funkcje EmitSound(...) i PrechacheSound kierują od razu do folderu csgo/sound/, a AddFileToDownload nie. Dlatego ścieżki przy precache i emit powinny być z pominięciem folderu csgo/sound/.
  3. Ale wiesz, że każdy case zawiera idealnie to samo? XD stock void SendMessageToAll(int client) { if(g_bIsNoscopeRound) return; char soundPath[PLATFORM_MAX_PATH]; Format(soundPath, sizeof(soundPath), "%s", nameOfMusicMatrixVar[GetRandomInt(0, sizeof(nameOfMusicMatrixVar)-1)]); for(int i = 1; i <= MaxClients; i++) if(IsValidClient(i)) EmitSoundToClient(i, soundPath, -2, 0, 0, 0, 0.55); } nameOfMusicMatrixVar - tablica ze ścieżkami do plików muzycznych z pominięciem folderu sound. To @up tak dla samej idei zrobiłem. Co do tematu, to zrób sobie komendę, która będzie wywoływać SendMessageToAll i sprawdź, czy w ogóle Ci te odtwarzanie działa. Jeżeli tak, to błąd jest w innym miejscu. W przeciwnym wypadku proponuję sprawdzić format plików muzycznych.
  4. Sprzedam skiny do csgo za 75% ceny na rynku Steam. PaySafeCard / PayPal Profil Steam: https://steamcommunity.com/id/everyonelies/
  5. Nie musi być w rejestrze KRS. Prostym przykładem takiego przypadku jest jednoosobowa działalność gospodarcza.
  6. Forum, którego nawet nie zobaczysz bez rejestracji. GJ!
  7. To zostało naprawione tak z pół roku temu przez VALVE. https://blog.counter-strike.net/index.php/2018/04/20400/
  8. Sprzedam środki wirtualnego portfela na liveserver.pl. Ilość: dowolna kurs / przelicznik: 0.75 ze względu na to, że LS pobiera prowizję 5% przy przekazie. Płatność: PayPal
  9. Mamy taki system kredytów na AS. Plugin z tematu to odwzorowanie naszego. XD
  10. Jeżeli serwer nie jest na domyślnym porcie, to po prostu adres będzie wyglądał tak: dowolnytekst.twojadomena.pl:PORT Czyli np. arena.go-code.pl:30050
  11. @MAGNET Chodzi o to, że jak połączenie się nie uda, to działanie sklepu nie ma sensu, więc można zrobić ponowienie połączenia lub zatrzymać plugin, tak jak to zrobił @Mesharsky .
  12. No fajnie, fajnie, ale... Plugin łączy się z bazą danych tylko przy starcie i jak nie wyjdzie, to kontynuuje działanie. Jeżeli się łączy tylko raz, to równie dobrze można go zatrzymać przez FailState, czy coś w ten deseń. Aczkolwiek nie wiem, czy o to tutaj chodzi. Rozwiązaniem w tym przypadku jest wielokrotne połączenie, czyli ponowna próba połączenia w przypadku nieudanej. 🙂
  13. //zmienna globalna bool is_used[65]; //po użyciu is_used[client] = true; //przy starcie rundy for(int i = 0; i < 65; i++) is_udes[i] = false;
  14. Z tego co pamiętam, to przy Sourcebans++ wszystko jest w sbpp_main.sp i sourcebans.phrases.txt. Plugin używa langów do wyświetlania informacji w różnych językach. Co do samego miejsca występowania tej informacji, to wyszukaj w kodzie "KickClient" i "Banned Check Site".
×