Skocz do zawartości

Znajdź zawartość

Wyświetlanie wyników dla tagów 'kod' .



Więcej opcji wyszukiwania

  • Wyszukaj za pomocą tagów

    Wpisz tagi, oddzielając je przecinkami.
  • Wyszukaj przy użyciu nazwy użytkownika

Typ zawartości


Kategorie

  • Error'y w kompilatorze
  • Warning'i w kompilatorze
  • Fatal error'y w kompilatorze

Forum

  • Go-Code.pl - Ogólne
    • Informacje
    • O serwisie
  • Sourcemod Scripting
    • Baza wiedzy
    • Masz problem?
    • Pytania na temat kodowania
  • Pluginy Sourcemod
    • Wszystko o pluginach
    • Duże modyfikacje
    • Dodatki
  • Konfiguracja serwera
    • Baza wiedzy
    • Pytania
    • Problemy
  • Counter-Strike: Global Offensive
    • Nowości
    • Artykuły, poradniki, tutoriale
    • Pytania
    • Problemy
  • Hostingi serwerów & WWW
    • Oferty firm
    • Opinie o hostingach
    • Pytania
  • Poza tematyką forum, OFF-TOPIC
    • Życie społeczności
    • Biznes
    • Zareklamuj swoją sieć/serwer
    • RoundSoundy
  • Archiwum
    • Przestarzałe tematy
    • Kosz

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Od tej daty

    Do tej daty


Ostatnia aktualizacja

  • Od tej daty

    Do tej daty


Filtruj po ilości...

Dołączył

  • Od tej daty

    Do tej daty


Grupa podstawowa


Imię


Lokalizacja


Zawód


O mnie


Strona WWW

Znaleziono 15 wyników

  1. Witam! Prosty plugin wyświetlający w pierwszej kolejności menu, a następnie panel z dowolną informacją. Wystarczy dostosować pod własny serwer.
  2. Witam, napotkałem problem z prefixem na serwerze nie działa to tak jak powinno. Chodzi o to że publiczny czat dział dobrze, ale teamowy już nie. Możecie zobaczyć w kodzie co jest nie tak i podpowiedzieć mi co mam poprawić. KLIKNIJ:
  3. Usuwanie niepotrzebnego, zbędnego kodu z naszego projektu jest istotnym elementem dobrej opieki nad nim. Ale są ludzie, którzy powiedzą "Hej! Panie! Ja tu się namęczyłem z pisaniem tego kodu i NIE MA OPCJI żebym go teraz kasował nawet jeśli już go nie używam". Ten artykuł ma wszystkich upartych przekonać, dlaczego martwy kod trzeba zakopywać głęboko klawiszem backspace. Nad projektem może pracować więcej niż jedna osoba. A jeśli produkujesz oprogramowanie open-source, to kod będzie przeglądać o wiele więcej ludzi niż Twój zespół programistyczny. Jak dobrze wiemy kod jest przede wszystkim komunikacją między programistami, a to, że działa i spełnia swoje zadania jest sprawą drugorzędną. Obca osoba czytając martwy kod musi poświęcić dwa razy więcej czasu niż w przypadku kodu który jest w użytku ponieważ a) Musi zrozumieć jak działa b) Musi zrozumieć dlaczego ten kod nie jest używany i czy na pewno nie jest nigdzie używany i może go usunąć; Za każdym razem przeglądając kod po raz dziesiąty czy setny, ktoś spędzi dłuuugie sekundy myśląc sobie "ah, to tu jest martwy kod, moje oczy muszą go ominąć". Taki kod to po prostu hałas dla oczu. Niepotrzebny żwir na naszym asfalcie. Dlaczego na naszym płaskim, idealnym asfalcie jest wysypany żwir? To na pewno nie jest sposób w jaki chcemy produkować a tym bardziej przeglądać kod; Martwy kod jest martwy. Nie jest rozwijany. Został pozostawiony sam sobie kilka, kilkadziesiąt, kilkaset iteracji temu. Programista może użyć go bez wiedzy, że jest martwy. "Jest tam, więc czemu miałby być źle napisany?" Otóż nierozwijany kod zostawiony sam sobie może już nie spełniać obecnych standardów projektu, lub nawet jego autor mógł go nie dokończyć. Wtedy przy jego użyciu mogą wystąpić konsekwencje - bugi Jeśli używasz jakiegokolwiek systemu kontroli wersji kodu i to na Ciebie spada odpowiedzialność za utrzymanie i konserwację kodu (zachowując jednocześnie martwy kod w projekcie), to masz więcej linii kodu do przejrzenia, więcej odpowiedzialności na Twoich barkach oraz większe pole do popisu dla błędów w zarządzaniu kodem Konsekwencją chomikowania martwego kodu jest to, że ten kod się kumuluje. Normalnie, zachowuje się tylko najpotrzebniejsze rzeczy, tylko rzeczy używane, tylko rzeczy które spełniają jakąś rolę w naszym programie. Dlatego opiekujemy się nim, optymalizujemy go, refaktorujemy. W przeciwieństwie do martwego kodu. Ten, kumuluje się i zbiera, rosnąc diametralnie, a swoim rozmiarem zniechęca maksymalnie kogokolwiek, żeby zrobił co trzeba - przejrzał jeszcze raz kod, zrozumiał go i wyrzucił do kosza Nie martw się, że kod który napisałeś zostanie skasowany, bo nie jest już potrzebny. W dzisiejszych czasach praktycznie zawsze używa się systemu kontroli wersji (np. GIT). Twój kod, który kiedyś w swojej świetności działał idealnie, jest zakopany gdzieś w commitach. Nie ma powodu żeby za nim płakać. Z czasem, szansa na ponowne użycie nieużywanego kodu maleje. Nie musisz go trzymać w każdej iteracji. Odpuść, zrób przysługę sobie w przyszłości i skasuj go. Jeśli był naprawdę ważny i kiedyś zdarzy się sytuacja, gdzie będziesz potrzebował tego kodu, odkopiesz go z czeluści GITa. Tutaj widzę dobrą okazję na przedstawienie jednej z reguły tworzenia oprogramowania w trybie extreme programming: YAGNI (ang. You aren't gonna need it). Mówi nam ona o tym, że mamy pisać tylko i wyłącznie funkcjonalności których potrzebujemy teraz. Nie mamy przewidywać jakich funkcjonalności będziemy potrzebować. Skupiamy się na chwili obecnej. Można to też interpretować w drugą stronę - jeśli czegoś już nie potrzebujesz to skasuj to natychmiast Bibliografia https://stackoverflow.com/questions/15699995/why-unused-code-should-be-deleted https://en.wikipedia.org/wiki/You_aren't_gonna_need_it https://www.infoq.com/news/2017/02/dead-code/
  4. Opis Funkcja liczy ilość wystąpień danego char'u/znaku/stringu w innym podanym stringu i zwraca nam tę wartość. Jeśli coś pójdzie nie tak, funkcja zwróci wartość -1. Funkcja napisana na szybko bo nie mogłem czegoś takiego znaleźć w SourceMod'zie. Funkcja przyjmuje w kolejności: string w którym chcemy policzyć wystąpienia, string szukanych wystąpień, oraz wartość true/false czy funkcja ma brać pod uwagę małe i duże znaki. Stock stock int CountSubstringInString (char[] string, char[] substring, bool caseSensitive) { if (strlen(string) < strlen(substring)) return -1; return ReplaceString(string, sizeof(string), substring, substring, caseSensitive); }
  5. Czesc , przychodze do was z pytaniem dopiero zaczynam z SourcePawnem nie zaczynam dopiero z programowaniem bo mam juz stycznosc z innymi jezykami takimi jak C++ , Pytanie: Jak dodawac eventy korzystam z kanalu @MAGNET'a ktory wszystko dokladnie tlumaczy , Gdy pisze kod zaczynam od #include <sourcemod> public void OnPluginStart() { RegConsoleCmd("sm_win", DaneWin "Pokazuje komunikat na srodku ekranu Monitora) } itd .... Jak dodac te Eventy z dokumentacji SourceMod ? ? ? Glownie chodzi mi o to jak dodawac te eventy i skladac to , przepraszam za ortografie , ale moja klawiatura odmawia mi posluszenstwa po dwoch latach.
  6. Opis Funkcja bezpiecznie usuwa broń graczowi. Jako argumenty podajemy id gracza oraz id entity broni. Funkcja zwraca true jeśli broń została poprawnie usunięta, false jeśli nie została usunięta Stock stock bool SafeRemoveWeapon(int client, int weapon) { if (!IsValidEntity(weapon) || !IsValidEdict(weapon)) return false; if (!HasEntProp(weapon, Prop_Send, "m_hOwnerEntity")) return false; int iOwnerEntity = GetEntPropEnt(weapon, Prop_Send, "m_hOwnerEntity"); if (iOwnerEntity != client) SetEntPropEnt(weapon, Prop_Send, "m_hOwnerEntity", client); CS_DropWeapon(client, weapon, false); if (HasEntProp(weapon, Prop_Send, "m_hWeaponWorldModel")) { int iWorldModel = GetEntPropEnt(weapon, Prop_Send, "m_hWeaponWorldModel"); if (IsValidEdict(iWorldModel) && IsValidEntity(iWorldModel)) { if (!AcceptEntityInput(iWorldModel, "Kill")) return false; } } if (!AcceptEntityInput(weapon, "Kill")) { return false; } return true; } Źródło https://forums.alliedmods.net/archive/index.php/t-288614.html
  7. Hi ? Oto mały kodzik do tworzenia kolorowych latarek float playerPos[3]; float playerAng[3]; GetEntPropVector(client, Prop_Send, "m_vecOrigin", playerPos); GetEntPropVector(client, Prop_Send, "m_angRotation", playerAng); entlight = CreateEntityByName("light_dynamic"); if (entlight != -1) { DispatchKeyValue(entlight, "_light", "0 132 255"); DispatchKeyValue(entlight, "brightness", "5"); DispatchKeyValueFloat(entlight, "distance", 2400.0); DispatchKeyValueFloat(entlight, "spotlight_radius", 200.0); DispatchKeyValueFloat(entlight, "_inner_cone", 0.0); DispatchKeyValueFloat(entlight, "_cone", 360.0); DispatchSpawn(entlight); TeleportEntity(entlight , playerPos, playerAng,NULL_VECTOR); SetVariantString("!activator"); AcceptEntityInput(entlight, "SetParent", GetEntPropEnt(client,Prop_Send,"m_hViewModel"), entlight, 0); } Inputs: https://developer.valvesoftware.com/wiki/Light_dynamic wyłączanie/włączanie światła: AcceptEntityInput(entlight, "Toggle"); udostępniacie takie fajne rzeczy to też chciałem coś udostępnić xD z mojej krainy zabawek @edit Limit dynamicznych świateł na mapie to 17
  8. Krótko Czy ktoś domyśla się jaka jest przyczyna wysypywania się serwera z powodu tablic dynamicznych? Kiedy próbuję na nie wepchnąć stringa dostaje takie errorlogi: Wpycham dane przy okazji rejestrowania nowej klasy, ponieważ robię lekką przeróbkę i zamiast broni jako ciąg znaków umieszczone są one w tablicach Sample code: Nie wiem o co chodzi. Podejrzewam, że wina nie leży tutaj, jednak nie mam pomysłu o co mogłoby chodzić. Będe wdzieczy na wszelką pomoc ? Pozdro!
  9. Jako że CS jest darmowy i można na nim grać na serwerach społecznościowych to sporo banów dzisiaj poleciało.... Na alliedach znalazłem coś takiego, może się komuś przydać ? #pragma semicolon 1 #include <sourcemod> #include <SteamWorks> #define PLUGIN_VERSION "1.0.0" public Plugin myinfo = { name = "Free2BeKicked - CS:GO", author = "Asher \"asherkin\" Baker, psychonic", description = "Automatically kicks non-premium players.", version = PLUGIN_VERSION, url = "http://limetech.org/" }; public OnPluginStart() { CreateConVar("anti_f2p_version", PLUGIN_VERSION, "Free2BeKicked", FCVAR_DONTRECORD|FCVAR_NOTIFY); } public void OnClientPostAdminCheck(int client) { if (CheckCommandAccess(client, "BypassPremiumCheck", ADMFLAG_ROOT, true)) { return; } if (k_EUserHasLicenseResultHasLicense != SteamWorks_HasLicenseForApp(client, 624820)) { KickClient(client, "You need a paid CS:GO account to play on this server"); return; } return; } źródło -> https://forums.alliedmods.net/showpost.php?p=2627229&amp;postcount=3
  10. Mam do was pytanie bo specem od kodowania nie jestem, ukleiłem coś takie i teraz czy jest to w ogóle optymalne
  11. Nazwy enumów broni wyciągnięte z cstrike.inc. Co ciekawe, jeśli prześledzimy wszystkie te enumy kodem poniżej, nie wykryje nam wszystkich broni. Zapewne jest to spowodowane tym, że niektóre bronie są dostępne w danej grze a niektóre nie. Wynik kodu: Być może są to wszystkie bronie dostępne w CS:GO gdyż lista zgadza się do 53 indeksu WeaponID z tematem https://forums.alliedmods.net/showthread.php?t=300360
  12. Opis Kawałek kodu który pobiera adres IP serwera na którym działa plugin. Kod char NetIP[32]; int Octets[4]; int FullIP = GetConVarInt( FindConVar("hostip") ); int Port = GetConVarInt( FindConVar("hostport") ); Octets[0] = ( FullIP >> 24 ) & 0x000000FF; Octets[1] = ( FullIP >> 16 ) & 0x000000FF; Octets[2] = ( FullIP >> 8 ) & 0x000000FF; Octets[3] = FullIP & 0x000000FF; Format(NetIP, sizeof(NetIP), "%d.%d.%d.%d:%d", Octets[0], Octets[1], Octets[2], Octets[3], Port); Źródło https://mygo.pl/topic/3222-csgo-plugin-ip-serwera/
  13. Opis Poniżej znajduje się kod który pozwala na ukrycie konkretnego gracza przed pojawieniem się go jako czerwonej kropki na radarze. Kod #pragma semicolon 1 #include <sdktools> //In fact these are flags Spotted the player, to understand them laziness but by default 9, 0 - blocks player update on the radar //I did not notice that the game changed the flags in the middle of the game, player can change commands but the value does not change, as i understand it is put only 1 time at the entrance Address g_aCanBeSpotted = view_as<Address>(892); //windows 868 public void OnPluginStart() { RegConsoleCmd("hide", hide); RegConsoleCmd("uhide", uhide); } public Action hide(int iClient, int args) { //It is necessary that when we block update player on the radar, he did not remain constantly visible on it SetEntProp(iClient, Prop_Send, "m_bSpotted", false); SetEntProp(iClient, Prop_Send, "m_bSpottedByMask", 0, 4, 0); SetEntProp(iClient, Prop_Send, "m_bSpottedByMask", 0, 4, 1); //set flags to 0 StoreToAddress(GetEntityAddress(iClient)+g_aCanBeSpotted, 0, NumberType_Int32); } public Action uhide(int iClient, int args) { //Flags are set by default StoreToAddress(GetEntityAddress(iClient)+g_aCanBeSpotted, 9, NumberType_Int32); } Autor komashchenko Źródło https://forums.alliedmods.net/showthread.php?t=300268
  14. Opis Ten stock korzystając z pozycji (oldorigin) oraz zwrotu (angle) jakiegoś bytu, oblicza nam nową pozycję (neworigin) na podstawie podanego kąta (degree) oraz odległości (distance) jaki chcemy mieć między oldorigin a neworigin. Opcjonalny jest tutaj parametr height, dzięki któremu możemy dodatkowo określić relatywną wysokość od ziemi. Stock stock void CalculateOriginByDegree( float oldorigin[3], float angle[3], float neworigin[3], float degree, float distance, float height=0.0 ) { neworigin[0] = oldorigin[0] + Cosine( DegToRad( angle[1] + degree ) ) * distance; neworigin[1] = oldorigin[1] + Sine( DegToRad( angle[1] + degree ) ) * distance; neworigin[2] = oldorigin[2] + height; } Przykład #1 Mamy podany origin oraz angle jakiegoś bytu. Chcemy obliczyć origin który będzie stał o 90 stopni na prawo oraz w miarę blisko od oryginalnej pozycji. Kod: CalculateOriginByDegree( oldorigin, angle, neworigin, 90.0, 20.0 ); Przykład #2 Mamy podany origin oraz angle jakiegoś bytu. Chcemy obliczyć origin który będzie stał o 45 stopni na lewo oraz daleko od oryginalnej pozycji. Ponadto, chcemy by obliczona pozycja była nieco wyżej od oryginalnej Kod: CalculateOriginByDegree( oldorigin, angle, neworigin, -45.0, 150.0, 40.0 ); *Uprasza się o nie kopiowanie funkcji bez wcześniejszej zgody autora
  15. Ten temat zawiera spis wszystkich gotowych funkcji zamieszczonych w tym dziale 1. Wektory CalculateOriginByDegree czyli obliczenie nowego origin na podstawie angle 2. Gameplay Ukrycie graczy z radaru Kolorowa latarka 3. Inne Lista UserMessages ID broni i nazwy CSWeapon / WeaponID Pobranie IP serwera Proste Menu Bezpieczne usuwanie broni Blokowanie graczy z darmową wersją gry
×
×
  • Dodaj nową pozycję...