![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 16.10.2009 Skąd: Łódź Ostrzeżenie: (0%)
|
Witam. Od dłuższego już czasu piszę prosty/mocarny silnik gier bMMO (OpenSource), w którym chciałbym zaimplementować system modyfikacji podobny do tego znanego z SimpleMachinesForum. Postaram się krótko opisać jak on miałby mniej-więcej działać.
Wszystko zaczyna się od paczki zip, która wrzucona na serwer (poprzez skrypt, nie FTP) miałaby zostać rozpakowana, ale nie "fizycznie". Chodzi mi o to by paczka była w "pamięci podręcznej" (choć nie wiem czy to jest wykonalne w przypadku skryptów php) (do podręcznej gdyż może nie przejść testów zgodności - banalny do wykonania (jestem tego prawie pewien)). Po rozpakowaniu plików do pamięci skryptu skrypt sprawdzający czy modyfikacja jest zgodna z wersją skryptu miałby otworzyć plik package.xml, który miałby w środku taką treść: Skrypt sprawdzający czy dana modyfikacja pasuje do aktualnej wersji silnika zwyczajnie miałby porównać czy wersja silnika znajduje się na liście wersji podanej w tagu <install>. Kolejne wersje miały by być wymieniane po przecinkach, a myślnik oznaczałby przedział (w wypadku wyżej podanego kodu modyfikacja miała by pasować do wersji: od 1.0 do 1.2, oraz od 1.4 do 1.99). To jeszcze nic w porównaniu z tym co miało by się dziać dalej: skrypt instalacyjny (wcześniej była mowa o sprawdzeniu wersji przy uploadzie paczki) miałby wypakować plik, którego nazwa została podana w <unpack-file name="X"> do katalogu oznaczonego w <unpack-file dir="Y">, modyfikować pliki na zasadzie znajdź i zamień, oraz mieć możliwość wykonania skryptu zawartego w oddzielnym pliku PHP, do którego ścieżka była by podana w <do file="X">. Mam nadzieję, że zbytnio ne namotałem i wiecie o co chodzi. (IMG:style_emoticons/default/biggrin.gif) Pomocy potrzebuję, gdyż kompletnie nie mam pojęcia jak wykonać te modyfikacje, rozpakowania oraz wykonanie pliku zewnętrznego. Nie oczekuję, że napiszecie to za mnie - chodzi mi o jakieś konkretne przykłady czego i jak użyć. PS. Czytałem artykuł dotyczący XMLa na wortalu ("XML - morze możliwości - XPath, XPointer, XInclude"), jednak nie porusza on zbytnio tematu, który potrzebuję. Ten post edytował Meares 4.02.2010, 14:58:11 |
|
|
|
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Skoro znalazłeś ten mechanizm w SMF, to nie prościej go przeanalizować?
Możesz poszukać jeszcze czegoś w stylu diffa. A jeśli chodzi o interpretację XML - praca domowa. A gotowce, to nie ten dział. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 16.10.2009 Skąd: Łódź Ostrzeżenie: (0%)
|
|
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
Ale nadal nie widzę pytania - czego nie rozumiesz?
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 16.10.2009 Skąd: Łódź Ostrzeżenie: (0%)
|
Choćby tego jak wyszukać w pliku tekstowym kilku linijek kodu, który jest podany w pliku xml.
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%)
|
Jeżeli chcesz czegoś wyszukać w xml u to xpath.
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 16.10.2009 Skąd: Łódź Ostrzeżenie: (0%)
|
Nie w XMLu. Chcę znaleźć kod PHP, podany w treści pliku XML, w pliku PHP. (Patrz przykładowy schemat w pierwszym poście.)
|
|
|
|
Post
#8
|
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
A nie możesz po prostu wczytać pliku PHP (do stringa) i poszukać danego kodu przez strpos? Nie przyglądałem się managerowi dodatków w SMF, ale na 99% jest to tak realizowane.
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 13 Dołączył: 16.10.2009 Skąd: Łódź Ostrzeżenie: (0%)
|
O tym nie pomyślałem. Dziękuję.
Dobra, z resztą sobie jednak poradzę. Jak dla mnie temat nadaje się już do zamknięcia. |
|
|
|
![]() ![]() |
|
Aktualny czas: 13.06.2026 - 16:11 |