![]() |
![]() |
-Gość_Fred- |
![]()
Post
#1
|
Goście ![]() |
Witam, jestem ciekawy czy istnieje taki skrypt ktory wyswietla niektore informacje z plikow tekstowych, jest mi taki skrypt potrzebny do gry.
Przykladowo mam w folderze accounts, konta z graczami ktore sa zatytulowane nick.ini a w kazdym z tych plikow sa informacje o postaci, np. level = 10 I chcialbym taki skrypt ktory by wyswietlal TOP 10 (albo wiecej jak sie da:)) leveli z tych plikow. Bardzo prosze o wskazowki skad moglbym wziac taki skrypt i ewentualnie go przerobic do moich potrzeb. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Zasada tworzenia czegoś takiego jest taka, tworzysz sobie swój katalog accouts, w którym trzymasz powiedzmy wszystkie osoby uczestniczące w grze. Wszystkie osoby będą się charekteryzowały zapisem w postaci ^nick.ini. Zawartość takiego pliku będzie wyglądać przykładowo:
Potem tworzysz sobie plik, który to wszystko ładnie obsłuży i wyświetli, zaczynając od zeskanowania katalogów w poszukiwaniu plików *.ini, następne ich przeparsowanie, wyciągnięcie odpowiednich interesujących Cię danych i wyświetlenie w TOP10 jaka postać charekteryzuje się największym poziomem. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Stwórz sobie np. plik general.php, a w nim utwórz po koleji linijki kodu odpowiadające za: - wczytanie wszystkich plików *.ini ( php5 - scandir" title="Zobacz w manualu php" target="_manual, php4 - opendir" title="Zobacz w manualu php" target="_manual, readfile" title="Zobacz w manualu php" target="_manual ). - nie dotyczy php5: w pętli, którą stworzysz zapisanie wszystkich nazw plików do tablicy. - pętla foreach" title="Zobacz w manualu php" target="_manual, która przeleci Ci każdy plik, w pętli wczytujesz dany plik *.ini ( parse_ini_file" title="Zobacz w manualu php" target="_manual ) i ponownie zapisujesz do tablicy. - Z ostatniej tablicy ponownie foreach" title="Zobacz w manualu php" target="_manual z tym, że teraz wyciągamy interesujące nas wartości, sortujemy nowe powstałe w ten sposób tablice ( patrz manual ) i poprzez instrukcje echo, print wyświetlamy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Być może wydaje się to skomplikowane, ale nie jest. Tak na marginesie, jeśli taki skrypt potrzebny Ci jest do gry ( w php? ) to nie powinieneś szukać gotowych skryptów tylko zacząć pisać samemu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Jeśli będziesz miał problemy z tworzeniem pisz na forum, jak nie ja pomoże Ci ktoś inny (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ^ chodź nie wiem czy takie rozwiązanie jest dobre, co będzie gdy plik będzie zawierał polskie znaki, kropki i znaki niedozwolone? Lepiej dodać unikalny numer zamiast nick'a ( 2432.ini ), i dodać wartość nick w pliku ini. :-) Pozdrawiam! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
-Gość_Fred- |
![]()
Post
#3
|
Goście ![]() |
Niestety pomysl z plikami 1332.ini odpada bo nazwa musi byc koniecznie taka sama jak nick.ini
Wlasnie hmm, o to chodzi zebym nie musial tworzyc tego pliku od nowa bo nie za bardzo znam sie na php prawde mowiac:( Moze sa jakies przyklady czy cos w tym styluktore mozna zmodyfikowac do wlasnych potrzeb? Znalazlem jeden taki skrypt tylko ze on jest przeznaczony do gry Helbreath:
a tam sa zmienne mi niepotrzebne, czyli: niepotrzebne mi sprawdzanie folderow ASCIIxx (xx=numer) bo wszystko mam w jednym katalogu, niepotrzebne tez jest sprawdzanie miast (aresden, elvine) bo w mojej grze nie ma przynaleznosci na stale do miasta. A takze nazwa postaci jest inna bo u mnie postacie sa w katalogu accounts w plikach nick.ini, no i zmienne ktore sprawdza w pliku u mnie bedzie to Level = x, i chcialbym tez PlayerKill=x, napewno sa tam tez inne niepotrzbne zmienne ktorych nie potrzebuje ale niestety nie potrafie ich odczytac. Moze ma ktos jakis pomysl jak zmodyfikowac ten skrypt do moich potrzeb?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/uwaga.gif) Poprawiłem ~mike_mech |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Dobra napiszę Ci mniej więcej jak to powinno wyglądać, co do skryptu, który podałeś jest trochę za duży jak na Twoje potrzeby i myślę, że lepiej było by napisać od nowa. Aby nie być gołosłownym
Pamiętaj, że scandir działa tylko pod php5. Skrypt nie wyświetla ostatnich 10 wpisów tylko wszystkie, jeżeli chcesz ustawić limit, możesz skorzystać z pętli for. Polecam Ci przeanalizowanie skryptu i na jego podstawie tworzenie dalej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jeżeli naprawdę nie masz pojęcia o php zainstaluj sobie np. WAMP'a i testuj na nim wszystkie skrypty, a uwierz mi że już po kilku dniach pracy będziesz miał swój skrypt w pełni sprawy. Jeżeli masz jakieś pytania chętnie odpowiem. Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
-Gość_Fred- |
![]()
Post
#5
|
Goście ![]() |
STRIFE (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) ! Wielkie dzieki (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !!
Twoj skrypt dziala jak sie patrzy, na poczatku sie zdziwilem ze nie chcial dzialac ale zainstalowalem program WAMP o ktorym pisales i wszystko chodzi swietnie! Ladnie mi wczytuje levele graczy i nawet pokazuje jakie dokladnie maja. Jestem Ci bardzo wdzieczny za pomoc. A dzieki temu, ze wyswietla wszystkich graczy, a nie tylko top10 wpadlem na pomysl zeby na jednej stronie zrobic ranking tylko top10 osob, a na innej wszystkich postaci ktore sa w accounts. Ale do tego fajny by byl skrypt ktory pokazuje miejsce gracza na liscie. Chodzi o to zeby przed nim byl numerek np. ten ktory ma najwiekszy level mial by numer 1. Aby to wygladalo tak 1. Nick => 75 2. Nick => 68 3. Nick => 55 itd. Probowalem uzyc tej opcji for, ale na tej stronce ktora podales, jest to tak dziwnie wytlumaczone, ze nie za bardzo rozumiem o co tam chodzi. Sa moze jakies jeszcze stronki, ktore dokladniej opisuja dzialanie tej funkcji? A jeszcze takie pytanie... ktory argument odpowiada za wyswietlanie leveli? Tak na wypadek jakbym chcial ta opcje wylaczyc? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 10:34 |