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

MAGNET

Administrator
  • Ilość treści

    357
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    48

MAGNET wygrał w ostatnim dniu 18 Maj

MAGNET ma najbardziej lubianą zawartość!

Reputacja

271 Programista

6 obserwujących

O MAGNET

  • Urodziny 05.01.1997

Ostatnio na profilu byli

836 wyświetleń profilu
  1. Dzięki serdeczne za zwrócenie uwagi 😄 miałem drobny błąd: SetMoney(client, GetMoney(client - CENA)); wprowadzałem niepoprawny index gracza, będący różnicą Twojego id i ceny tarczy (stąd index -699). Powinno być: SetMoney(client, GetMoney(client) - CENA); czyli pobranie gotówki gracza i odjęcie ceny Kod został już poprawiony
  2. https://www.youtube.com/watch?v=42BcZh6brDE If - funkcja warunkowa; kod znajdujący się w jej środku wykona się tylko wtedy, jeżeli podany przez nas warunek jest prawdziwy if (tutaj podajemy nasz warunek) { // ciało warunku } if (true) { // wykona się zawsze, ponieważ powiedzieliśmy bezpośrednio programowi że warunek jest "prawdziwy" } Operacje: 1. Znak równości (==) - zwróci prawdę, jeśli wyrażenia stojące po jego lewej i prawej stronie są identyczne Przykład: int a = 5; // tworzymy zmienną o wartości 5 if (a == 5) { // warunek jest prawdziwy, ponieważ a jest równe 5... } 2. Negacja (!) - zaprzecza warunkowi, który postawiliśmy: int a = 8; if (a != 5) { // zmienna a nie wynosi 5, więc warunek jest prawdziwy :) } Hint: Jeśli chcielibyśmy sprawdzić, czy wartość danej zmiennej wynosi zero, możemy to zrobić na dwa sposoby: // 1. zwyczajnie przyrównujemy wartość a do zera... if (a == 0) { } // 2. Negujemy a. Można to sobie tłumaczyć dosłownie "jeśli nie ma 'a'", a więc jeśli jej wartość wynosi równo 0 if (!a) { } // metoda numer 2 każe nam wnioskować, że zastosowanie takiego zapisu: if (a) { } // spowoduje, że warunek wykona się, jeśli a ma wartość RÓŻNĄ od zera. Słownie: "jeśli w 'a' coś jest". Może to być wartość 1, -1, 1024, -214124...chyba zrozumiałe :) 3. Koniunkcja (operacja AND ) - wykona się, jeśli wartości po jej lewej i prawej stronie są prawdziwe: int a = 10; int b = 5; // jeśli zmienna 'a' wynosi 10 I JEDNOCZEŚNIE zmienna 'b' wynosi 5, warunek jest spełniony. Wymagane są obydwa if (a == 10 && b == 5) { } 4. Alternatywa (operacja OR [lub]) - wykona się, jeśli przynajmniej jedna z wartości jest prawdziwa: int a = 10; int b = 5; // wykona się, ponieważ pomimo że a nie wynosi 31, b już ma wartość zgodną z założeniem if (a == 31 || b == 5) { } else, else if - używamy ich, kiedy chcemy wykonać inną akcję, w momencie, gdy nasz if nie zostanie spełniony. W takiej konstrukcji na samym początku zawsze jest JEDEN if, następnie używamy tyle else ifów ile tylko chcemy, a następnie na samym końcu możemy opcjonalnie (nie jest to wymagane) postawić else, który spowoduje, że jeśli żadna z przedstawionych powyżej alternatyw się nie wykona, funkcja wejdzie do ciała 'else' if (pierwszy warunek) { } else if (drugi warunek) { } ... else { // tutaj wchodzi, jeśli żaden z powyższych if'ów się nie wykona } Jest jeszcze jedna ważna rzecz, której nie zaakcentowałem wystarczająco mocno w filmie: jeżeli funkcja wejdzie do któregoś ciała w naszej "choince" 'if'---'else if'---'else', na pewno nie wejdzie do pozostałych. Przykład: int a = 10; // tworzymy sobie zmienną // oczywiście wejdzie do środka... if (a == 10) { } else if (a > 5) { // pomimo że ten warunek również jest prawdziwy, funkcja weszła już do ciała warunku powyżej. Oznacza to, że dalsze alternatywy nie będą już rozpatrywane } GetClientHealth - pobiera zdrowie gracza SetEntityHealth - ustawia nową wartość zdrowia (niekoniecznie graczowi - może to zrobić jakiemukolwiek innemy bytowi, który jest do tego "zdolny") GetUserFlagBits - pobiera wszystkie flagi danego gracza w formie bitowej (nie masz zielonego pojęcia o co chodzi? Ten temat Ci wszystko rozjaśni 🙂)
  3. Każdy event z linku który Brum Brum podał wyżej odpowiada za inne wydarzenie, które można przechwycic i wyciągnąc z niego informacje. Nie jestem pewien czy dokładnie o to Ci chodziło - musisz doprecyzować Na marginesie - błędów w ortografii się nie doszukałem, ale interpunkcja zostawia dużo do życzenia. Nie potrafię rozgryźć o czym piszesz. I nie jest to kwestia złej klawiatury. Niby głupie kropki i przecinki, a jak dużo zmieniają... 😄
  4. Wiadomość wygenerowana automatycznie Pomoc udzielona
  5. Wiadomość wygenerowana automatycznie Pomoc udzielona
  6. https://www.youtube.com/watch?v=uxvUUn9TxEI Dokumentacja: https://go-code.pl/dokumentacja-sourcemod/ (znajdziecie ją na forum w pasku zakładek -> Sourcemod) Dokumentacja -> OnPluginStart(): https://go-code.pl/dokumentacja-sourcemod/sourcemod/OnPluginStart Funkcja - kawałek kodu, który może być wykonywany wielokrotnie. Ograniczany przez nawiasy klamrowe { } Zawsze musi zwrócić wartość - "rezultat działania" (służy do tego wyrażenie return TWOJA_WARTOŚĆ). Odstępstwem od normy jest funkcja typu void, która takiego wymogu nie posiada. WAŻNE: wykonanie akcji return oznacza przerwanie wykonywania się całej funkcji. Przykład: void JakasFunkcja() { Operacja1; Operacja2; return; // zwracam rezultat. Funkcja jest void, więc nie zwraca niczego, jednak return może być użyte, aby zwyczajnie wcześniej przerwać funkcję Operacja3; // nigdy się nie wykona; linijka powyżej zakończyła działanie całej funkcji } Typy danych: int - typ całkowitoliczbowy. Przechowuje wartości całkowite (bez przecinka) np. 1, 5, 2214124, 6 float - liczby z wartościami po przecinku np. 1.2, 20.4134, 3.1319 bool - wartośći typy true/false, czyli prawda/fałsza char - znaki. Służą do przechowywania tekstu. Dla jednego chara: 'A', 'f", '*' | Dla zbioru charów(tablic): "GO-code.pl", "mikrofon" (pamiętajmy, aby zarezerwować odpowiednio dużą przestrzeń, aby tekst mógł się zmieścić - 1 znak to jedna "szufladka") Zmienna - można w niej tymczasowo przechowywać dane. Musi ona być określonego typu, które zostały opisane powyżej. Deklaracja zmiennej typu całkowitoliczbowego: int tutajNazwaNaszejZmiennej; nazwa jest całkowicie dowolna Deklaracje zmiennej typu bool: bool mojaZmiennaPrawdaFalsz; RegConsoleCmd - "wyłapuje" z czatu tekst napisany przez gracza i wywołuje funkcję, która tą wiadomość obsługuje (może ją na przykład zablokować). Poza obsługą wiadomości może robić cokolwiek innego - na przykład stworzyć menu. Komentarze - służą do komentowania (obviously) Możliwe warianty: 1. Komentarz jednej linii: // To jest komentarz a to już nie 2. Komentarz wieloliniowy: /* to jest komentarz dalej komentarz... */ a tu już nie GetClientAuthId - pobiera steamID Reguły formatujące - podmieniają w stringu (czyli ciągu znaków) specjalny "zrost" %X na coś, co zostało podane w kolejnych argumentach (dla znających choć trochę angielski: LINK ) Podstawowe typy: %d - podmienia liczbę całkowitą ("Moje zdrowie: %d", hp); %f - podmienia floata (możemy sterować liczbą zer po przecinku, np. %.2f wypisze floata z dwoma miejscami) ("odległość: %.2f", jakasOdleglosc); %s - podmienia stringa ("Twoja informacja: %s", jakasInformacja); %N - w jego miejscu pojawi się nick gracza ("Nazywasz się: %N", client); Akcja zwracana przez typ Action: return Plugin_Continue - wypisz wiadomość, którą wprowadził gracz, np. jeśli zarejestrowana została komenda !info, zostanie ona pokaza na czacie return Plugin_Handled - akcja zostanie zablokowana (wiadomość !info nie pokaże się na czacie)
  7. @darknessgod wypatruj jutrzejszego filmu. Pokazuję w nim jak pisze się na czacie 🙂
  8. @supertimor o jakim błędzie mowa?
  9. Plugin napisany na szybkości podczas wykładów na prośbę zawartą w tym temacie Po wpisaniu na czacie !t lub !tarcza gracz może kupić sobie tarczę. Domyślna cena to 700 i może być regulowana na początku pluginu: #define CENA 700 // <- to zmieniamy Programik kompilujemy i wrzucamy na serwer 🙂
  10. Wiadomość wygenerowana automatycznie Pomoc udzielona
  11. Kompilator: https://www.sourcemod.net/downloads.php Visual Studio Code: https://code.visualstudio.com/ Program: #include <sourcemod> public void OnPluginStart() { RegConsoleCmd("sm_hej", FunkcjaHej); } public Action FunkcjaHej(int client, int args) { PrintToChat(client, "Siemanko %N", client); } Po wpisaniu przez użytkownika na czacie frazy !hej, w programie zostanie wywołana funkcja FunkcjaHej, w której znajduje się operacja wypisania komunikatu na czacie użytkownika o identyfikatorze client. %N jest regułą formatującą, w której miejsce zostanie wstawiony nick
×