Skocz do zawartości

PrzMas

Użytkownik
  • Zawartość

    878
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    55

Aktywność reputacji

  1. Like
    PrzMas otrzymał reputację od Winnetou[PYTANIE] Czym się różni Filterscripts od Gamemode? Kiedy używać Filterscripts?   
    Rozsądnie jest pisać gamemode-a składającego się z zespolonych modułów (filterscript-ów) i skryptu głównego (gamemode-a). Największe znaczenie to ma dla czytelności i porządku w kodzie, a jednocześnie nie trzeba znać całej struktury gamemode-a żeby zmodyfikować w nim np system pojazdów. Jeżeli wszystko jest w jednym pliku gamemode-a to zedytowanie wyłącznie systemu pojazdów staje się kłopotliwe, ponieważ istnieje obawa, że można zepsuć coś innego, toteż trzeba przeanalizować znacznie większą ilość kodu niż mogłoby to być konieczne.
    W związku z powyższym oraz w odpowiedzi na pytanie:
    przy modułowo napisanym gamemode można wyłączyć (unload) na jakiś czas konkretny moduł, ale nie można załadować modułu, którego nie ma na liście w pliku server.cfg w sekcji scriptfiles, jednak podmiana modułu (konkretnego pliku) na ten ze zmodyfikowanym kodem będzie bezskuteczna, bowiem moduł (jego kod) jest ładowany do pamięci z chwilą uruchomienia serwera; w przypadku, gdy administrator stwierdzi, że np system domków działa nieprawidłowo to można zrestartować (reload) określony moduł bez konieczności restartowania całego serwera; callback-i są wywoływane kolejno w filterscript-ach z zachowaniem porządku, określonego w pliku server.cfg; callback-i zachowują się inaczej w filterscript-cie niż w skrypcie głównym (gamemode), dla przykładu jeżeli w filterscript-cie w callback-u OnPlayerCommandText() zostanie zwrócona wartość 0 (false) to nie zostanie on wywołany w kolejnych filterscript-ach i w gamemode, co pozwala na rozbicie również komend na poszczególne moduły, zamiast pozostawiać je w jednym pliku gamemode-a; moduł nie ma dostępu do zmiennych zadeklarowanych w innych modułach (osobna przestrzeń nazw i pamięć) - każdy z nich jest osobnym tworem - dlatego też zostały skonstruowane PVar-y, które są zmiennymi globalnymi dla całego gamemode-a. Idea jest taka, że gamemod zadeklarowany w pliku server.cfg w sekcji gamemode powinien odpowiadać za tryb rozgrywki (DM, TDM, RP, Truck, itp), natomiast filterscript-y (moduły, sekcja scriptfiles) powinny odpowiadać za dodatki do skryptu głównego (np pojazdy, domki, obiekty, radio, itp) lub zawierać kod niezbędny, z którego (globalnie, pośrednio) korzysta skrypt główny i inne moduły (np rejestracja, logowanie i dostęp do danych konta, zabezpieczenia serwera tj anty spam-y/flood-y/cheat-y, itp).
    *** Pojęcie gamemode ma dwa znaczenia, które odnosi się relatywnie (kontekstowo) do:
    skryptu głównego, zadeklarowanego w pliku server.cfg w sekcji gamemode, który to skrypt  w określonym czasie może być aktywny tylko jeden; wszystkich plików serwera tj skryptu głównego, filterscript-ów i niektórych plików include.
      Pliki include zawierają funkcje (kod), które są wstawiane podczas kompilacji do pliku wynikowego. Mogą stanowić bibliotekę różnych przydatnych funkcji (stock-ów) lub też zawierać nagłówki funkcji (natywne) lub callback-ów (forward-owane, publiczne) udostępnianych przez jakiś plugin wraz z niezbędnymi definicjami (define), makrami i innym kodem. To są biblioteki i ich samych nie kompiluje się do postaci kodu maszynowego (amx), stanowią one raczej część środowiska niż konkretny program, jakim jest gamemod. Pliki INC nie dostarczone ze środowiskiem SA-MP lub dostarczone do plugun-a powinno umieszczać się w katalogu include w głównym katalogu serwera, a nie w pawno/include, tak jak to źle robi masa ludziów.
  2. Like
    PrzMas otrzymał reputację od Shady.Pobieranie daty i godziny z bazy danych   
    A to:
    PlayerInfo[playerid][VIPHour] na pewno jest tablicą? Może ma za mały rozmiar. Ewidentnie wynik nie jest w całości zapisywany do tejże zmiennej.
    Nie wiem też jak jest z rozpoznawaniem (w pamięci cache plugin-a) takich nazw pól jak:
    TIMEDIFF(`vipto`,NOW()) w funkcji cache_get_field_content().
    Ja pobierałem zawartość pól funkcjami cache_get_row(), cache_get_row_int() i cache_get_row_float(), natomiast funkcja cache_get_field_content() (i 2 pokrewne) wydawała mi się być niezbyt dobrym rozwiązaniem (przeszukiwanie listy pól danego rekordu element po elemencie i porównywanie szukanej nazwy pola z tą z listy do momentu natrafienia na tożsamą).
    Jeśli jednak się upierasz i zakładając, że taka nietypowa nazwa pola (wartość funkcji wbudowanej MySQL) może być problematyczna, to do głowy przychodzi mi alias.
    SELECT `id`, `nick`, `password`, `warn`, `score`, `money`, `konto`, `ip`, `team`, `vip`, TIMEDIFF(`vipto`,NOW()), DATEDIFF(`vipto`,NOW()) AS `vipto_tdiff`, `leveladmin`, `online`, `lastlogin`, `skin`, `poziom`, `autologin`, `ADR`, `PrawkoA`, `PrawkoB`, `PrawkoC`, `PrawkoCE`, `punktyk`, `block` FROM `users` WHERE `nick` = '%s'; cache_get_field_content(0, "vipto_tdiff", PlayerInfo[playerid][VIPHour], mysql, 16); Aby potwierdzić prawdziwość założenia (i konieczność użycia aliasa) ustaw inną datę i sprawdź jak zachowuje się funkcja GetInt() dla nazwy pola TIMEDIFF(`vipto`,NOW()).
  3. Like
    PrzMas otrzymał reputację od Shady.Pobieranie daty i godziny z bazy danych   
    Hmm... Osobiście nie używałem tablic o strukturze zorganizowanej enum-ami, zresztą napotkałem problem z używaniem na nich operatora sizeof, więc zastąpiłem je PVar-ami.
    Możesz spróbować czegoś takiego:
    cache_get_field_content(0, "TIMEDIFF(`vipto`,NOW())", PlayerInfo[playerid][VIPHour][0], mysql, 16); albo
    cache_get_row(0, 10, PlayerInfo[playerid][VIPHour][0], mysql, 16); (zerowa komórka jest początkowym adresem tablicy int-ów).
    Jeśli będziesz ciekaw to zobacz czy wartość pola prawidłowo jest zapisywana do normalnej zmiennej (nie enum-a tablicowego), aby mieć pewność, że dane są prawidłowo pobierane do pamięci cache plugin-a.
    new temp[16]; cache_get_field_content(0, "TIMEDIFF(`vipto`,NOW())", temp, mysql);  
  4. Like
    PrzMas otrzymał reputację od Shady.Pobieranie daty i godziny z bazy danych   
    stock date2unix(Y,M,D, h=0,m=0,s=0, timezone= 0) { if ( !(0 <= s <= 59) || !(0 <= m <= 59) || !(0 <= h <= 23) ) return -1; if ( !(1 <= D <= 31) || !(1 <= M <= 12) || !(1970 <= Y <= 2038) ) return -1; new ts= 0; ts += s; ts += m*60; ts += h*3600; ts += D*86400; ts += (Y-1970)*31536000; ts += ((Y-1972)/4)*86400; new md[13]= {0,31,59,90,120,151,181,212,243,273,304,334}; ts += md[M-1]*86400; if ( ((Y-1972)%4 == 0) && (M == 2) && (D == 29) ) ts -= 86400; return ts - (timezone*3600); } stock unix2date(ts, &Y,&M,&D, &h,&m,&s, timezone= 0) { D= ts + (timezone*3600); s= D % 60; D -= s; m= D % 3600; D -= m; m /= 60; h= D % 86400; D -= h; h /= 3600; D /= 86400; new wd= D%7+4; wd= (wd > 7)?(wd-7):(wd); Y= D / 365; D %= 365; Y += 1970; D -= (Y-1972)/4; new md[12]= {31,28,31,30,31,30,31,31,30,31,30,31}; if ((Y-1972)%4 == 0) { md[1]= 29; D++; } for(M= 1; (D > md[M-1]) && (M <= 12); M++) D -= md[M-1]; return wd; // day of week } Tak krócej, arytmetycznie i optymalnie. Miałem jeszcze zamiar dopisać przeliczanie czasu letniego/zimowego, ale... może kiedyś. Funkcja gettime zwraca znacznik bez uwzględniania tegoż czasu, z jednej strony to dobrze, bo nie powstaną nieścisłości przy obliczaniu różnic w czasie, ale jeśli chodzi o wyświetlanie aktualnego czasu dla danej strefy to już niedobrze. Funkcje testowałem z internetowym liczydłem i wartości się pokrywały.
    W sumie skuteczne ominięcie problemu z enum-em.
  5. Like
    PrzMas przyznał reputację dla DaGaXeRPobieranie daty i godziny z bazy danych   
    Szczerze nie czytałem całego ale słowa klucze mówią mi, że chcesz dodawać i odejmować datę, a jak dla mnie nie ma nic prostszego niż timestamp.
    W tabeli mysql wystarczy dodać int - ja zawsze daje długość 11, do długich wartości. Operacje datowe są proste jak dodanie tego.
    Załóżmy, że wartość ta z bazy danych, którą pobrałeś nazywa się vip.
    Sprawdzasz, czy vip jest aktywny uzywając "vip > gettime()"
    By nadać vipa od tej chwili, to używasz "vip = (gettime() + 86400)"
    86400 sekund to jeden dzień.
    Chcesz dodać więcej dni? Banał. "vip = (gettime() + (86400*dni))" gdzie za dni podajesz ich mnożnik.
    Co dzięki temu zyskasz? Dosłownie czas. Zapisujesz to jako integer, wczytujesz to jako integer. 
    Mam nadzieję, że trafiłem czytając słowa-klucze i nie tylko jebłem postem, ale także dałem Ci prostszą drogę do weryfikacji daty.
    Gratis masz tu formatowanie date z timestampa do tekstu.  http://pastebin.com/b5Caqjpu
  6. Like
    PrzMas przyznał reputację dla Sim00n[ROZWIĄZANY]Blokada skina frakcji   
    Dobrze robi, że wszystkich zasypuje wikipedią bo może w końcu zaczniecie ją czytać zamiast zadawać kretyńskie pytania na które odpowiedzi znajdują się na wiki i w stu różnych tutorialach, które można znaleźć na forum.
    Jak Ci coś nie działa to wstaw tu swoją implementację i błędy z kompilacji. Jak nie rozumiesz po angielsku to użyj google albo poproś o tłumaczenie.
    Nikt za Ciebie nie będzie za darmo pisał skryptów.
    Pokaż swój kod to powiemy Ci dlaczego nie masz racji ...
  7. Like
    PrzMas otrzymał reputację od RebelianT[ROZWIĄZANY]Blokada skina frakcji   
    [opcja_nr_1]
    [opcja_nr_2]

    Sam zdecyduj, które z powyższych będzie ci pasowało/działało najlepiej.
  8. Like
    PrzMas otrzymał reputację od RebelianT[ROZWIĄZANY]Blokada skina frakcji   
    Myślałem, że kumiesz po angielsku. Tam jest napisane dokładnie to, czego oczekujesz, ale nie znam konstrukcji ewentualnego kodu zawartego w którymś lub obydwu tych callback-ach twojego gamemode-a, więc nie wiem co będzie ci wygodniej użyć.
    Nawet przykład na wiki pokazuje jak to zrobić:
    public OnPlayerRequestClass(playerid, classid) { if (classid == 3 && !IsPlayerAdmin(playerid)) { SendClientMessage(playerid, COLOR_RED, "Ten skin jest tylko dla adminów!"); return 0; } return 1; } Pamiętam na pewno, że zwrócenie 0 w OnPlayerRequestSpawn spowoduje, że przycisk "Spawn" będzie martwy.
  9. Like
    PrzMas otrzymał reputację od RebelianT[ROZWIĄZANY]Blokada skina frakcji   
    Inny sposób to pominięcie samp-owej i napisanie własnej wybierałki [pierwszy_z_brzegu_poradnik].
  10. Like
    PrzMas otrzymał reputację od StensinZaczynam przygodę z Pawnem - Czy warto?   
    SA-MP upada swoim tempem, ale nie tak prędko jak to niektórym się wydaje
    Upadają serwery, które nie mają nic nowego do wniesienia, robione i otwierane są z wielkim hukiem, jednak bez jednego i konkretnego pomysłu.
    DM-y robiły swojego czasu furorę, bo nie było na nich jako takich zasad oprócz kilku/kilkunastu łatwych do zapamiętania. Na dzień dzisiejszy jedyną atrakcją na nich są zabawy, areny, eventy.
    Obecne serwery Truck to w zasadzie rozwój postaci własnej (rekordu w bazie danych) bez interakcji z innymi graczami, co w zasadzie można robić na singlu i co mija się z pierwotnym przeznaczeniem multiplayer-a.
    Dlatego nowe serwery jakie powstają to RP, bo tam można zasypać graczy mnogością wodotrysków.
    Jeśli ktoś chce prawdziwe życie to niech odejdzie od komputera i wsiądzie np na rower albo pogra w piłkę, zamiast zasilać coraz liczniejszą grupę niećwiczących lub zwolnionych z zajęć wychowania fizycznego kalek
    Na każdym serwerze danego typu jest przeważnie to samo, nie rozumiem po co ludzie piszą gamemod od zera, skoro wsadzają w niego to, co jest już wszędzie, tyle że piszą to od zera - ambitne i bezsensowne. W samej rozgrywce powstaje coraz więcej ograniczeń i coraz mniej możliwości.
    @Kubix888 Jeżeli nie masz pomysłu to nawet nie próbuj, projektów/serwerów bez przyszłości jest w ciul i jeszcze trochę. Choć bez umiejętności jest ciężko, to jednak kwestią czasu jest ich nabycie.
    Od zarabiania pieniędzy jest praca, a od rozrywki - hobby
  11. Like
    PrzMas przyznał reputację dla InfernoZaczynam przygodę z Pawnem - Czy warto?   
    Koledzy wyżej już Ci wystarczająco chyba odpowiedzieli na pytanie. Tak w sumie podsumowując te wypowiedzi można wyciągnąć wniosek że warto.  Ja dodam od siebie, że zawsze warto wszystkiego spróbować, bo mimo że będzie Ci się to wydawać bez sensu, to z pewnością kiedyś prędzej czy później Ci się to przyda i przypomni, a może i nawet pomoże. Nauczysz się robić coś w PAWN, po czym w innym języku nie będziesz wiedział jak pewną rzecz wykonać, no ale pomyślisz sobie "o! w PAWN zrobiłbym to tak, może spróbuje to odwzorować w tym języku" i się okaże że dasz radę  Do tego PAWN jest na tyle chorym językiem, że w przyszłości pomyślisz, "o Boże, jaki ten PAWN jest upośledzony" i zrozumiesz że coś co Ci się wydawało trudniejsze, w rzeczywistości jest dużo łatwiejsze... Trochę chaotycznie napisane, ale myślę że zrozumiesz  
  12. Like
    PrzMas otrzymał reputację od MrKacu13[ROZWIĄZANY]3dTextLabel   
    IKS DE
    Kolor 0xFFFFFF00 to jest biały z zerowym kanałem alfa, czyli kolor gracza jest tracony (zastępowany białym).
    SetPlayerColor(playerid, (GetPlayerColor(playerid) & 0xffffff00)); Powyższy kod czyni gracza niewidzialnym, a poniższy widzialnym:
    SetPlayerColor(playerid, (GetPlayerColor(playerid) & 0xffffffff)); bez utraty koloru bazowego - modyfikowany jest sam kanał alfa.
  13. Like
    PrzMas przyznał reputację dla MrKacu13[ROZWIĄZANY]3dTextLabel   
    @Tasa
    Dodaj jeden zwykły nawias za tym ostatnim.
    if(GetPVarInt(playerid, "spawned"))  
  14. Like
    PrzMas przyznał reputację dla TasaPytanie   
    Serio chciałbym to zrozumieć, ale nie należę do tych którym przychodzi takie coś łatwo. Nie przychodzę tu po gotowce jak to napisał PrzMas, tylko przychodze tu, aby coś stąd wynieść a dokładnie wiedzie o tym jak coś zrobić. Może jestem debilem, że tego nie rozumiem jak ktoś do mnie mówi wprost o tym, a może nie, ale tak po prostu jest.
     
    PS. Nawet to co napisałeś nie działa jak należy, także już niewiem.
  15. Like
    PrzMas otrzymał reputację od Dejv[ROZWIĄZANY]3DTexty prywatne pojazdy   
    Ogólnie kod niezbyt czytelny, jednak wydaje się być ok (tj tworzenie 3dtext-ów i zapisywanie ich id w tablicach). Spróbuj podmienić samp-owe funkcje na te ze streamer-a, bo pewnie masz go zaimplementowanego i niewykluczone, że on właśnie powoduje problem - chodzi o mieszanie samp-owych 3dtext-ów z tymi ze streamer-a.
  16. Like
    PrzMas otrzymał reputację od PatryK..[SZUKAM] Programisty   
    Są ludzie, którzy lubią działać wspólnie, zresztą podział obowiązków jest rozsądnym rozwiązaniem
  17. Like
    PrzMas otrzymał reputację od TweekazJakoś inaczej może??   
    To powinno się przydać: [link].
    A tak na przyszłość: [link].
  18. Like
    PrzMas przyznał reputację dla Maku[Współpraca] Coś nowego / innego niż GTA.   
    Prędzej znajdziesz kogoś, kto będzie chciał zrobić multiplayer do jakiejś gry, niż gotowy multiplayer z tak porządnymi opcjami.
    Tak na gotowo, no to mamy do wyboru cały syf od Gameforge, jakieś tm nations, minecraft, serie GTA, CS, CoD, World of ...., pseudomulti NFS. Mało, który multiplayer jest dobrą platformą dla ludzi, którzy lubią przykodzić. SA:MP i MTA właśnie w ten sposób się wyróżniają. Każdy może wsadzić coś od siebie do całej sceny. Zaś tworzenie multiplayera z jakiejś gry jest też już utrudnione przez ich wydawców. Najlepiej zrobić własną grę, ale tu już jest nieco ciężej
  19. Like
    PrzMas przyznał reputację dla NikeKSTOdświeżanie TextDraw'a nie działa   
    Jeżeli robisz wszystko dobrze,
    nie jesteś na poziomie gtaonline,
    wiesz wszystko,
    to na cholere prosisz o pomoc?
     
    Kod testowy/ przykładowy, nie chcesz podać tego o co cię ktoś prosi,
    to w zgaduj zgadula nikt się bawić nie będzie dlaczego Ci go nie odświeża.
    Ehh...

    Szkoda, że nie podałeś Textdrawu bo chciałem sobie wziąć i zrobić licznik,
    cały plan na marne...
     
     
  20. Like
    PrzMas przyznał reputację dla Beata_Szydlo_2015SAMP - co dalej?   
    Mówicie o tym by Kalcor dodał kogoś do tematu, tylko nie balibyście się na jego miejscu w razie gdyby dana osoba coś "odjebała" stracić w przeliczeniu na polskie okolo 20 tysięcy zł (miesięcznie!!) z MP w którym sie nic nie robi? 
  21. Like
    PrzMas przyznał reputację dla MakuSAMP - co dalej?   
    Zamiast płakać nad rozlanym mlekiem ruszcie się do roboty. Starzy gracze wracają razem z ich starymi miejscami do grania. Trzeba ich tylko powiadomić, a nowych graczy w SA:MP nie braknie, gdy będzie z kim grać. Kokosów jak 100+ graczy nie będzie, ale na 50+ nadal warto liczyć.
  22. Like
    PrzMas otrzymał reputację od Sim00n[ROZWIĄZANY]Dane gracza   
    Nie ma tu ani kodu ani błędu - problem jest ogólny i wynika z braku wiedzy. W dziale z usługami są gotowce, natomiast gdy prosisz o pomoc to wypadałoby opisać swoje starania i towarzyszące im niedogodności, w końcu zwracasz się do społeczności, a nie do pojedynczej osoby, która wklei ci gotowca. W społecznościach problemy rozwiązuje się wspólnie w szerszym gronie
    Nie na temat.
  23. Like
    PrzMas przyznał reputację dla ThorusSAMP - co dalej?   
    Moim zdaniem oprócz braku wsparcia ze strony Kalcora, największym problemem jest fakt, że stare dobre GTA San Andreas jest coraz to bardziej zapominane. Nasze pokolenie można powiedzieć, że wychowało się na GTA SA, my się tą grą fascynowaliśmy, nie mieliśmy na tyle dobrych komputerów, żeby w tamtych czasach odpaliła nam nie wiadomo jak zajebista gra(przynajmniej ja tak miałem, na moim pierwszym kompie miałem procek AMD 1,7Ghz i 512Mb RAM, a karte bodajże GeForce 5200). Jeszcze pamiętam GTA SA na kilku płytach CD, tą ciekawość, gdy przechodziło się grę, zaangażowanie podczas rozgrywki. Obecnie 13-15 latkowie mają w większości komputery pozwalające odpalić GTA V, Wiedźmina 3 czy jakąś inną popularną obecnie grę. Kto z 13-15 latków zagra w GTA SA, jak może w CS:GO, GTA V, Fallouta itd.? Po prostu ta gra jest już jak Gothic, grają w nią w większości jej fani i ludzie, którzy tą grę miło wspominają, bo grali w nią x lat temu. Pomijając to wszystko co już napisałem, zastanówmy się co zrobiono, żeby w ogóle zareklamować tą grę? Na PolishRPG trafiłem, ponieważ polecił mi ten serwer kolega, spodobał mi się i na nim grałem, tak jak Tupac pisał, grywalność zależała od społeczności, na PRPG była świetna, nie raz brzuch mnie bolał od śmiechu. W życiu nie widziałem reklamy SA-MP-a, a podejrzewam, że większość ludzi odkryła ten wynalazek, dzięki koledze, lub po prostu interesowała się na tyle GTA SA, że sama sobie znalazła multiplayera. 
  24. Like
    PrzMas przyznał reputację dla TupacSAMP - co dalej?   
    A ja podsumowując przeczytane posty dodam jeszcze kilka groszy od siebie.
    To, co obecnie dzieje się z sceną sampa nie jest kwestią nowych gier, które wygryzają stare, dobre San Andreas, czy Kalcora, który aktualnie nic nie robi, dlaczego? Bo pierwsze, później popularne serwery powstawały z połową (jak nie mniejszą ilością) funkcjonalności obecnych standardów i możliwości multiplayera, tak nawet było z moim, gdzie mapa była tak uboga, że sam jestem teraz po tych wszystkich latach w szoku, że ludzie na niej zaczęli grać.. całość tworzyli gracze, społeczność i to właśnie w tej społeczności krył się cały sekret dobrych czasów sampa.
    Moim zdaniem zmieniły się po prostu czasy, jak i ludzie, a w zasadzie bardziej ich podejście do pewnych spraw. W sumie zastanawiając się tak nad tym wydaje mi się, że jest jedna, bardzo ważna kwestia, która może być przyczyną tego typu sytuacji (nie tylko na sampie), mianowicie wydaje mi się, że kiedyś jak coś powstawało, to człowiek do tego się bardziej przywiązywał, niż teraz, dlatego, że aktualnie wraz z rozwojem internetu, rynku gier komputerowych jak i samych mediów społecznościowych przyjmujemy tak wiele informacji, że w zasadzie sprawdzimy jedno, a chwilę później sprawdzamy już coś innego, bo mamy po prostu w czym wybierać, jak coś się nam nie spodoba, nawet najmniejsza rzecz, to idziemy gdzie indziej, bo kto nam zabroni, w końcu mamy w czym wybierać - to jest właśnie skutek braku przywiązywania się do czegokolwiek.
  25. Like
    PrzMas otrzymał reputację od ThorusZapis danych   
    Dziwne pytanie, bo to czy zapisujesz dane na bieżąco, okresowo czy hurtem przy wyłączaniu serwera zależy od tego, z jaką częstotliwością odczytujesz te dane, a w szczególności czy konieczna jest ich aktualność w bazie danych w trakcie działania serwera - w trakcie ich odczytywania. Tak więc sam musisz zdecydować, w końcu to twój kod, ty go pisałeś, więc sam powinieneś wiedzieć najlepiej.
    Jeśli w gruncie rzeczy chodzi ci o optymalność, która jest nagminnie (i niepotrzebnie) poruszaną kwestią na tym forum, to może lepiej odbij od rozdrabniania się nad konstrukcją poszczególnej kwerendy i zacznij zastanawiać się nad tym, jak zorganizowany jest obieg wszystkich danych pomiędzy serwerem a bazą danych, co po czym następuje i czy nie można by skrócić lub ograniczyć wykonania pewnych operacji albo przenieść je do późniejszego wykonania lub połączyć z inną operacją/kwerendą albo wyrzucić.
    No to jest oczywiste, dlatego to całkiem pominąłem.
×