Jump to content
assignment_ind Existing user? Sign In

Sign In



person_add Sign Up
Go-Code.pl - Support SourceMod i Pluginy CS:GO

MAGNET

Administrator
  • Content Count

    480
  • Joined

  • Last visited

  • Days Won

    79

MAGNET last won the day on January 24

MAGNET had the most liked content!

Community Reputation

486 Programista

6 Followers

About MAGNET

  • Birthday 01/05/1997

Recent Profile Visitors

1,569 profile views
  1. Wiadomość wygenerowana automatycznie Temat został zamknięty. Powodem jest całkowite rozwiązanie problemu zawartego w temacie. Jeśli się z tym nie zgadzasz, zaraportuj ten post z prośbą o ponowne otwarcie i kontynuację dyskusji.
  2. Wiadomość wygenerowana automatycznie Temat został zamknięty. Powodem jest całkowite rozwiązanie problemu zawartego w temacie. Jeśli się z tym nie zgadzasz, zaraportuj ten post z prośbą o ponowne otwarcie i kontynuację dyskusji.
  3. Dobre pytanie Nigdzie nie znalazłem odpowiedzi na to pytanie. Idąc tym tropem, czy jak coś się zaalokuje przy pomocy new to później te pamięć też trzeba zwalniać? Czy SM ma jakiś garbage collector czy jakiekolwiek inne rozwiązanie, które zapobiega wyciekom pamięci? Czy takim rozwiązaniem jest zwykła zmiana mapy? Dużo pytań, a ode mnie żadnej odpowiedzi
  4. Wiadomość wygenerowana automatycznie Temat został zamknięty. Powodem jest całkowite rozwiązanie problemu zawartego w temacie. Jeśli się z tym nie zgadzasz, zaraportuj ten post z prośbą o ponowne otwarcie i kontynuację dyskusji.
  5. Nigdy mi nie dacie odpowiedzieć na takie fajne pytania ;'(
  6. Proszę o zmianę kolorów składni C++ w ciemnym stylu - są do dupy xd
  7. Co do zamrażania, to jeśli chcesz aby ofiara nie mogła też ruszać myszką: //Odmrozenie int buttons = GetEntityFlags(client); SetEntityFlags(client, (buttons &= ~FL_FROZEN)) //zamrozenie int buttons = GetEntityFlags(client); SetEntityFlags(client, (buttons |= FL_FROZEN)) Jeśli zaś chodzi o losowanie: nie możesz po prostu pobrać sobie ilości graczy i wylosować przez: GetRandomInt(1,Ilosc_graczy()) Załóżmy, że na serwerze masz 4 graczy. Mają oni przypisane indexy: 1 2 3 4. W momencie, gdy gracz z ID=2 wyjdzie na serwerze masz 3 graczy o indexach 1 3 4. Losowa wartość mogłaby natrafić na 2 - osobę niepołączoną Skoro tak, to może po prostu losować gracza i patrzeć, czy jest połączony - i robić to aż do skutku? bool wylosowano = false; int winner_index = -1; while (wylosowano == false) { winner_index = GetRandomInt(1,MAXPLAYERS); if (IsClientInGame(wylosowany) wylosowano = true; } // w tym miejscu mamy wygrany index Teoretycznie jest to jakieś rozwiązanie, choć baardzo słabe. O ile przy większej ilości graczy (np. 30) ma to jeszcze sens, to w sytuacji, gdyby na serwerze było ich 3, to szansa na trafienie dobrego gracza to 3/65 (4%!). Kto wie, ile razy pętla będzie się musiała obrócić zanim kogoś trafisz...do tego czasu możesz nawet złapać crasha serwera. A jeśli nie będzie nikogo? Wtedy mamy do czynienia z nieskończoną pętlą i w efekcie pewnym crashem. Oczywiście w trakcie pisania mojego wywodu vasto zdążył już podać prawidłowe rozwiązanie problemu - iterujemy pętlą po wszystkich indexach. Jesli znajdziemy gracza - wpychamy go do tablicy, by na samym końcu zwrócić z niej wartość pod losowym indexem w przedziale <0,ilość_znalezionych_graczy> Jedyny problem jaki tutaj widzę w tym kodzie to sytuacja, gdy na serwerze nie ma żadnego gracza - wówczas funkcja zwróci niechybnie 0. Dlatego pamiętaj o tym, żeby zawsze sprawdzać, czy funkcja nie zwróciła 0 - jeśli tak, na serwerze nie ma żadnego gracza. PS: Jeśli chcesz dowiedzieć się o co do cholery chodzi w kodzie na górze posta (dot. zamrażania, co to za |= &= ~flags itd.), to zapraszam tutaj:
  8. MAGNET

    Witam!

    Cześć i czołem!
  9. Dziękujemy za aktualizację <3
  10. Nie ma niczego złego w uzywaniu SDK - to w końcu narzędzia dostarczane przez deweloperów. Użyj rozwiązania z pierwszej odpowiedzi, opatrując zmianę obrażeń if'em
  11. Nazwa tematu jest niepoprawna. Powinieneś zamieścić informacje czego szukasz - tak, aby jak najbardziej zachęcić do zajrzenia jak i ułatwienia pracy

O NAS Jesteśmy społecznością łączącą ludzi, którzy dzielą pasję poznawania CS:GO od strony programistycznej. Posiadamy duże zaplecze merytoryczne i zawsze cieszymy się, gdy dołączają do nas osoby gotowe do nauki. Gwarantujemy, że z odrobiną wytrwałości i otwartym umysłem bardzo szybko napiszesz swój pierwszy plugin. Zapraszamy! 🙂
Szablon wykonany z dużą ilością przez cyberpixelz / Mesharsky / Sitefuture
Forum dumnie napędzane przez: Invision Power Services, Inc.
×
×
  • Create New...