Cze??. Poszukuj? odpowiedzi i nakierowania na kilka pyta?, dotycz?cych tego pluginu MySQL od BlueG. Emm, jak wiadomo jest to aktualnie najnowsza wersja, u?ywaj?ca "cache". Przegl?da?em sobie przyk?adowy system rejestracji zrobiony przez samego autora i to w?a?nie do niego mam kilka pyta?.
Pierwsze, a zarazem g??wne pytanie to definicja s?owa "cache". Zdo?a?em ju? troch? poczyta? na ten temat, jak sama nazwa wskazuje, jest to pami?? podr?czna, tak? Jej zastosowanie pozwoli?o skr?ci? nawet 10 razy wczytywanie z baz danych. Lecz nigdzie nie mog? znale?? jakiego? sensownego poradnika na temat stosowania tego na przyk?adzie w/w pluginu. Jakby kto? dysponowa? takim materia?em, albo chcia?by si? troch? wyprodukowa? tutaj na forum, by?bym wdzi?czny.(poradnik w j?zyku angielskim te? wchodzi w gr?)
Kolejna sprawa, to kilka dziwnych funkcji, zastosowanych w tym przyk?adzie:
Tworzy statyczn? zmienn? i przypisuje j? do enuma, kt?ry odpowiada za przechowywanie informacji o u?ytkowniku, jednocze?nie dodaj?c komentarz, ?e ten kod odpowiada za zresetowanie danych. Przyznam, ?e nigdy nie widzia?em czego? takiego w tym j?zyku i te? nie mam poj?cia w jaki spos?b zmienna statyczna pe?ni tutaj tak? funkcj?.
Teraz co? takiego:
No dobrze, tylko, ?e w includzie nie ma ?adnego wyja?nienia, ?e to pe?ni tak? funkcj?, jak 20 pozosta?ych, sk?d mam wpa?? na takie rzeczy jak b?d? si? tym bawi??
Jeszcze taka sprawa na uboczu. Zauwa?y?em, ?e ludzie tworz? nowy public poprzez samo #define, a w niej wyst?puj? liczne znaki typu: "0%" etc. Jak? to pe?ni rol??
I na koniec, autor czasami u?ywa funkcji mysql_tquery z odwo?aniem do publica, a czasami bez - od czego to jest zale?ne?
W sprawach zwi?zanych z 'cache' niestety nie jestem w stanie pom?c, gdy? nie korzystam z tego pluginu. Na moje potrzeby wystarczy mi plugin StrickenKid'a, du?o ?atwiejszy w obs?udze. Co prawda nie jest ju? rozwijany jak plugin BlueG (aktualnie maddinat0r go rozwija) i ma mniej funkcji, ale ma wszystko, co potrzeba.
Je?li natomiast chodzi o dalszy kod
Tak jak sam napisa?e?, s?u?y to do resetowania tablicy gracza. Za pomoc? jednej linijki resetujesz ca?? tablic?, a tak to by? musia? po kolei zerowa? WSZYSTKIE pole zawarte w enum'ie. Czy tablica jest statyczna czy te? nie, to akurat nie ma du?ego wp?ywu. Oznacza to, ?e tablica taka jest tworzona tylko raz i jest zapisywana w pami?ci. Const natomiast oznacza, ?e warto?ci tablicy nie mog? by? modyfikowane. Dalszy kod
S?u?y do pobierania ostatniego wstawionego rekordu, w wi?kszo?ci wykorzystywane jako UID gracza. Kolumna w tabeli musi posiada? typ AUTO_INCREMENT. Wtedy po zapytaniu INSERT (wstawianie rekordu gracza do tabeli), funkcja ta pobierze warto??w?a?nie tej kolumny. Dalej
Nie jest to ani public ani te? ?adna funkcja, tylko po prostu definicja. Jest to wygoda, po prostu sobie co? definiujesz, np. jaki? d?ugi kod, a sam dalej u?ywasz tej definicji.
W czasie kompilacji, kompilator wyszuka wszystkie definicje i sam je automatycznie zamieni.
Hmm, dzi?ki wielkie za wypociny - czy m?g?by? podes?a? mi link do tematu z tym MySQL rozwijanym przez maddinat0r'a?
I jeszcze mam pytanko, co do ostatniego punktu, wzi??em jaki? pierwszy lepszy kod z mapy, zawieraj?cy w?a?nie t? cudown? definicj?, czy m?g?by? mi dok?adnie wyt?umaczy? zasad? dzia?ania tego kodu? ?opatologicznie, krok po kroku.
%0, %1... - to s? argumenty? A od czego zale?y jaka jest kolejno?? numeracji, nie mog?yby by? to liczby typu %50, %51 etc? W jaki spos?b to dzia?a, dlaczego nie definiujemy tego jak w normalnym stocku i normalnej funkcji - SendClient...(playerid, text...) b?d? stock xx(playerid...)
Tak, te %0, %1 to s? tak jakby argumenty. Sam za bardzo nie wiem jak to nazwa?. Definicja po prostu zamienia te argumenty na to, co sam wpiszesz. Definicja to nie to samo co funkcja, dlatego dzia?a to inaczej. Niekt?rych definicji nie da si? zrobi? dzia?aj?c na funkcjach, niekt?rych funkcji nie da si? zrobi? dzia?aj?c na definicjach.Przyk?ad definicji, kt?ry poda?e?, nie zrobisz w postaci funkcji (include y_va posiada tak? funkcje, ale bazuje na #emit).
Co do tych numer?w, to wydaje mi si?, ?e numer argumentu nie mo?e by? wi?kszy ni? 9, aczkolwiek nie dam g?owy. Wywnioskowa?em to z szybkich test?w.
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach