Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

SWF - Czarna magia? Poradnik dla twórców serwerów


GILUxDILU

Rekomendowane odpowiedzi

Opublikowano

Witajcie.


Kieruję ten poradnik głównie do twórców prywatnych serwerów, gdyż to co tutaj znajdziecie w mniejszym lub większym stopniu przyda się Wam do pisania plików S&F.


 


Słowem wstępu, co to jest SWF?


SWF - format zamknięty grafiki wektorowej, stworzony dla Flasha przez Adobe. Pliki tego formatu są nazywane Shockwave Flash Object. Pliki SWF mogą zawierać animacje lub aplety o różnym stopniu interaktywności i funkcjonalności. Są czasami używane do tworzenia animowanej grafiki i menu na stronach internetowych.


 


Jeśli mieliście lub macie już swój serwer S&F to pewnie zauważyliście już plik  "sfgameXXX.swf" (XXX - Wersja).


Tak, chodzi właśnie o ten plik z końcówką .SWF.


(Owy plik możecie znaleźć w głównym katalogu lub w folderze "res".)


 


Większość z Was(99,99%) pomija ten i nawet nie próbuje go otworzyć.


Zacznijmy od programu. Jednym z lepszych programów do podglądu Naszego


pliku jest JPEXS. Jest to bardzo wygodny i fajny program(Także w wersji PL),


jednakże zżera spore zasoby CPU i na słabszych komputerach może powodować lagi.


Jeśli naprawdę macie spore problemy z tym programem polecam program SWF Decompiler.


Wszystkie linki do pobrania znajdą się na dole poradnika.


 


Skoro mamy już program do otwierania plików to czas znaleźć sam plik.


Najnowszy plik .SWF znajdziemy oczywiście na globalnym serwerze.


Wystarczy wejść na obojętnie jaki serwer i w pliku index.php znajduje się link do .SWF.


Uwaga! Aktualnie nie ma plików na nowym swf'ie, tzn. na 600+, więc ostatnim plikiem


ze starą grafiką jest SWF 555


 


Dlaczego akurat ten?


Ponieważ jest najnowszym swf'em przed globalną aktualizacją zmieniającą wygląd.


Zawiera m.in portal, poprawki błędów oraz właśnie tam znajdują się linki


do grafik, dzięki czemu nie musimy pobierać zbędnych 200mb obrazków.


Nie zabraniam Wam używać starszych wersji, jednak nie będziecie posiadali portalu oraz


mogą pojawić się drobne błędy i lagi.


 


Gdy już posiadamy plik i program czas rozpocząć zabawę.


Uruchamiamy Nasz plik .SWF za pomocą jednego z tych programów.


Po kilku sekundach ukazuje nam się program i rząd folderów.


Zawartość całego .SWF to kał(ok. 90%), grafiki (ok. 9,5%) i przydatne rzeczy (ok. 0,5%).


Zacznijmy od zabawy grafikami.


Z racji tego iż posiadam polską wersję programu, foldery także mam w języku ojczystym.


Wchodzimy do folderu "Obrazy" i tam ukazują nam się grafiki. Są to różne ramki i buttony.


Możemy je wypakować, edytować i przeciągnąć(Te edytowane) ponownie, aby podmienić stare.


W ten sposób możemy podmienić część grafik.


Ale poradnik jest o czymś ważniejszym, więc przechodzimy do sedna.


Szukamy sobie folderu "Skrypty".  W nim znajdują się nie interesujące Nas skrypty, a


także jeden ciekawy folder. Otwieramy folder "sfgame_fla". Znajdziemy tam jeden plik o nazwie "MainTimeline".


Klikamy na niego i czekamy(Może to potrwać nawet do 10 minut) aż się załaduje.


Alternatywnym rozwiązaniem może być wyeksportowanie tego pliku i podejrzenie


go w notatniku lub notepadzie.


 


Po załadowaniu następuje finał.


Ukazuje nam się plik zawierający ok. 40.000 linijek kodu.


Polecam skopiować całość i wkleić do jakiegoś edytora tekstowego.


Teraz opiszę co możemy tutaj znaleźć, do czego to się przyda i jak tego używać.


 


Zaczynając od góry znajdziemy przykładowo:


 


Wszystkie akty(Niektórych brakuje w req.php)


 public const ACT_SET_PLAYER_DESC:Object = 514; - Nazwa aktu oraz jego id


 


Wszystkie resp'y(Niektórych brakuje w req.php)


public const RESP_ACCOUNT_SUCCESS:Object = 1; - Nazwa resp'u i jego id


 


Wszystkie err'y(Niektórych brakuje w req.php)


ERR_MAIL_EXISTS:Object = -12; - Nazwa err'u i jego id


 


Wszystkie sf'y(Niektórych brakuje w req.php)


SG_ITM_GOLD:Object = 10; - Nazwa sf'a i jego id(SG = SF)


 


Początki nazw w pliku tekstowym


TXT_ITMNAME_13:Object = 9112; - Początek nazw przedmiotów o id 13


 


Oprócz tego znajdziemy tutaj wszystko, animacje, obrazki, nazwy configów, dane, kody, komendy, komunikaty. Naprawdę jest to olbrzymia baza wiedzy i bez tego ciężko jest ruszyć z miejsca. Pokażę Wam to na przykładzie portalu:


 


1. Wpisujemy w wyszukiwarce notatnika frazę "portal". Wiadomo, że jeśli szukamy informacji o portalu to wpiszemy portal, jeśli o lustrze to mirror itd.


 


2. Szukamy interesujących informacji, pomijamy zbędne i niepotrzebne linijki.


 


3. Znajdujemy coś:


 


DefineImg(IMG_GILDE_PORTAL_OVL, "scr/gilde/portal_ovl.png", false, POS_GILDE_GEBAEUDE_X - 17, POS_GILDE_GEBAEUDE_Y - 5);


 


Tutaj np. widzimy link do obrazka oraz jego położenie. Jednak nie tego szukaliśmy, więc lecimy dalej.


 


4. Znajdujemy to co chcieliśmy:


 


            singlePortalLifeHi = int(PlayerSG[this.SG_ACTION_INDEX] / 65536);

            PlayerSG[this.SG_ACTION_INDEX] = PlayerSG[this.SG_ACTION_INDEX] - singlePortalLifeHi * 65536;

 

I po co nam to było?

A więc:

PlayerSG[this.SG_ACTION_INDEX] - SF_ACTION_INDEX w Naszym req.php

singlePortalLifeHi - Zdefiniowana wartość

65536 - Stała

 

Czas przejść do req.php.

Szukamy SF_ACTION_INDEX. Okazuje się, że ma on id 46.

Zjeżdżamy niżej do funkcji "function loadDefaultData".

Szukamy ret'a o id 46, czyli $GLOBALS ['ret'] [46].

 

Nasz ret wygląda teraz tak:

$GLOBALS ['ret'] [46] = $db_data['status_extra'];

 

Zamieniamy go tak jak chciałby to SWF, czyli:

$GLOBALS ['ret'] [46] = $db_data['status_extra'] + $singlePortalLifeHi * 65536;

 

$singlePortalLifeHi możemy zdefiniować jako 1, albo 2. Później możecie przypisać go dowolnej wartości z db.

Po tej czynności wchodzimy na serwer i o dziwo, w portalu gracza zmienił się wyświetlany przeciwnik.

 

Właśnie dzięki temu, możemy w łatwy i dość szybki sposób naprawiać, pisać i dodawać nowe rzeczy na Nasz serwer.

 

Mam nadzieję, że się przydało. Jeśli tak zarzućcie lajkiem i zdejmijcie pkt. ostrzeżeń.

 

Jeśli macie jakieś pytania, pisać niżej. Postaram się pomóc.

 

Download




 


Opublikowano

Ładnie i ciekawie napisany poradnik, no ale twórcy serwerów powinni znać co to jest plik z końcówką .swf ;)­

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||­

​|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

​|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

​|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

​|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Opublikowano

@GILUxDILU

Możesz zrobić poradnik z wyświetlaniem mobków w portalu gildii oraz z naprawioną salą chwały.

Lub ogólnie możesz publikować fix'y.

Mogę zrobić poradnik jak używać struktur itp, nie będę Wam dawał gotowców.

 

Jak to mówią: daj wędkę, a nie rybę.

  • 2 tygodnie później...
  • 1 miesiąc temu...
  • 3 miesiące temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...