Artykuł ten postawił sobie za cel pokazać Ci jak utworzyć w Twojej grze bMMO własny system gildii / klanów. Jest to tylko część teoretyczna lecz znajdziemy tu też dane dot. tabel i malutkie przykładowe kody
Jakie tabelę/rekordy musimy stworzyć/dodać?
Na początek stwórzmy tabelę gildie:
Mamy tu 4 pola id - id gildi, nazwę - czyli nazwę gildii,logo - ścieżka do loga gildii(herbu),opis - opis gildii typu "Witaj w gildii X w celu zaproszenia zgłoś się do Y", złoto ze skarbca gildii.
Kolejny rekordy to dwa pola w tabeli z graczami:
Dodajemy dwa pola: gildia informuje nas o przynależności gracza do jakiejś gildii, gildia_ranga świadczy o pozycji gracza w gildii np wartości Member,Founder
Zajmujemy się plikiem gildia.php
Musi on zawierać trochę instrukcji warunkowych np
Jest tu sprawdzane czy gracz należy do gildii, najlepiej gdyby zaproszenia były wysyłane ze strony gildii do graczy, a nie na odwrót w ten sposób nie musimy odrzucać dennych zapytań. Taką instrukcję "wsadzamy" do miejsca gdzie UPDATE'ujemy gracza i zmieniamy wartość gildia.
Warto postarać się o jakiś panel admina/władcy/założyciela, w ten sposób przyda nam się ranga Founder/Admin/Władca i IF
Oczywiście możemy dodać inne możliwe rangi które mogą zarządzać gildią poprzez dodania kolejnego sprawdzania czyli:
Po
dodajemy
W miejsce [RANGA] wstawiamy nazwę rangi która ma mieć dostęp do PA.
W tymże pliku znajdować się musi także lista członków, wyświetlimy ich poprzez proste zapytanie:
$id - zawiera tablicę $_GET['id'], poprzez nią "podglądamy" gildię
następnie takie zapytanie "wrzucamy" w pętle while(){}
Pętla wyświetli wszystkich graczy będących w gildii. Poprzez echo wyświetlimy ich Login, Rangę oraz Złoto w sakiewce
W pliku znajdować się musi także opcja odchodzenia z gildii oraz skarbiec gdzie wpłacane będą pieniądze. Pierwsza opcja jest to zwyczajny warunek
który sprawdza czy gracz jest w danej gildii, oraz UPDATE'jt do bazy "usuwający" gracza z gildii czyli zmiana pola gildia na 0 lub puste.
Druga opcja to formularz wysyłające dane przez POST i sprawdzanie czy wysyłane dane są liczbą do tego wykorzystać możemy wyrażenia regularne lub funkcje do tego przeznaczone np is_numeric() lub ctype_digit() oraz czy gracz ma tyle złota ile zakwestionował, następnie UPDATE'jt tabeli gilidie zmieniający wartość złoto dodającą do aktualnej wartości pieniądze które gracz "wysyła".
Jakie mogą być urozmaicenia dot. gildii?
Urozmaiceniem gildii mogą być np wojny. Możemy wybrać dwie drogi "prowadzenia" wojen czyli :
Admin/Władca/Założyciel "wystawia skład" na bitwy np 5 członków, do tego celu przydała by się osobna tabela lub też idąc na skróty ranga - Wojownik
Drugim sposobem jest walka poprzez podliczania obrony oraz ataku wszystkich graczy(członków) i porównywanie ich z przeciwnikiem oraz odejmowanie "Życia gildii" poprzez wrzucenie tego w pętle - tak jak w przypadku normalniej walki PvP(Player vs Player) lub PvM(Player vs Monster).
Ciekawym pomysłem może okazać się umożliwienie członkom budowy budynków gildii np Kościół dodaje graczom 10% ich obecnej Many.
Do tego "czynu" możemy korzystać z osobnej tabeli gildia_budynki lub idąc na skróty "wpakować" to w tabelę gildie.
Rzeczą którą będą cenić gracze są Pakty/Sojusze oraz Wojny. Jest to dodatek mały ale cieszący. Tu nie możemy już iść na skróty więc tworzymy tabelę
gildia_pakty z polami:
Id - oznacza liczbę porządkową, gildia to id gildii, typ czli typ paktu(Agresja lub Pokój).
To tyle dot. gildii w teorii, raz na jakiś czas będę uzupełniał artykuł o dodatkowe kody.