Shinsou - 2008-06-12 12:28:02

Opisalem juz co nie co jak zrobic ten vallheru.
Po wgraniu silnika na serwer nadajemy „chmody” na katalogi:

„avatars”
-
777
„images/tribes”
-
777
„templates_c”
-
777
oraz na pliki:
„includes/config.php”
-
666

includes/sessions.php”
-
666


W TC robimy to następująco: zaznaczamy dany element - na gorze klikamy „Plik” później
„zmień atrybuty” (otwiera się nowe okno w którym wyraźnie widzimy pole z cyframi –
zmieniamy chmody na podane powyżej)
Włączamy swoja stronę – automatycznie do adresu strony dodawana jest końcówka
„install/install.php” co powoduje rozpoczęcie instalacji gry. Jeżeli włączamy stronę, a
instalacja nie załączyła się automatycznie dopisujemy wspomnianą końcówkę.
Klikamy „Instalacja gry” otrzymamy potwierdzenie że katalogi mają uprawnienia (chmody)
następnie mamy przed sobą pola do wypełnienia !
Rodzaj bazy danych:
zostawiamy „MySQL”
Host bazy danych:
także zostawiamy „localhost”
Użytkownik bazy danych:
nasz uzytkownik
Hasło do bazy danych:
Haslo12
Nazwa bazy danych:
Baza nasza
Nazwa gry:
Dajemy nazwę jaka będzie nosiła gra
Email gry:
Możemy podać swój email, bądź założyć osobny dla gry
Adres gry (bez http://):
www.nazwa_gry.pl
Nick Admina:
Wpisujemy swój nick
Email Admina:
Swój email
Hasło admina:
Nasze tajne hasełko
Oczywiście dane powyżej to przykłady ! Swoje dane dostajemy rzecz normalna po
założeniu serwera od administratora.
Po wypełnieniu pól klikamy „Instaluj” jeżeli wszystko się zgadza, otrzymamy komunikat z
podziękowaniami od „Vallheru Team” za wybranie ich silnika. Teraz załączamy TC-
usuwamy z katalogu „install” plik „install.php”, by osoba niepowołana nie miała jak
załączyć instalacji, oraz pliki „reset.php” i „resetall.php” -- Pamiętaj, że pozostawienie tych
plików na serwerze jest niebezpieczne... Gracz poprzez dopisanie do adresu twojej gry
(reset.php?step=reset) uaktywni reset odbywający się w grze co 12 godzin – co
spowoduje gigantyczny wzrost ilość energii u graczy ! Za to plik „resetall.php” odpowiada
za reset całkowity w grze – nikt by nie chciał w czasie rozkwitu swojej gry, zobaczyć ją na
nazajutrz zresetowanej, przez jakiegoś dupka.
Jeżeli wszystko usunięte o czym mówiłem załączamy stronę – wchodzimy do gry....
Na górze wyskoczy błąd, który uniemożliwia poruszanie się w grze, każdy nasz ruch
skończy się wylogowaniem.
Naprawiamy go wchodząc do „includes/sessions.php” wstawiając:<?php
session_start();
?>
wszystko inne likwidując ! Pozostawiamy tylko powyższy kod... Także niektórym
wyskakuje dodatkowy błąd w linii 35 w „head.php” jest on związany z kompresją Gzip,
usuwamy tą linie... Wszystko teraz powinno być ok i działać bez zarzutu, jeszcze możemy
ustawić na indeksie prawidłową godzinę, zmieniając w index.php
$newhour = $hour[0] + 2;
2 na 0
oraz w grze zmieniając w head.php
$newhour = $hour[0] + 1;
1 na 0
Żeby nie licząc tych linii samemu, bo można się w połowie zgubić bądź zapomnieć ile już
było- Powstały notatniki w którym automatycznie są liczone linie xD. Polecam „Notatnik
SP”, który można ściągnąć w „Downloand” na stronie www.wt.xt.pl !Budowa Silnika nie jest, aż tak skomplikowana- wiedząc co poszczególne katalogi
przechowują i jaką pełnią rolę w działaniu gry, ułatwi nam swobode działania....
„adodb”
- to jest „silnik adodb” - pobawimy się tym kiedyś....
„avatars”
- tu przechowywane są „avatary” graczy – „postacie”
„bannery”
-
tutaj są „banery z innych gier” - możemy cały katalog skasować
„class”
- tu znajdują sie klasy players i quests
„css”
- styl gry
„images”
- wszystkie obrazki, znaczki itd. - „grafika”
„includes”
- przechowywane są tu pliki zarzącające grą jak „head.php”
„install”
- ten katalog lepiej usunąć (nie przyda nam się już) - „instalacja”
„libs”
- biblioteki, bez których silnik nie działa
„mailer”
- wysyłanie maili z poziomu skryptu php
„quests”
- questy do grid.php
„templates”
- pliki *.tpl
„templates_c”
- pliki „tymczasowe”
bez katalogu...
- pliki *.php
Jak widać budowa wydaje się trudna- ale po 2 dniach maximum, stanie się ona dla nas
niezwykle przejrzysta i prosta... Znając mniej więcej budowę silnika, możemy zacząć
modyfikacje- zmiany w grze...
Poruszając się w grze- wchodzisz do miasta a zamiast jego wyskakują ci dziwne znaki i
symbole oznacza to że mamy włączoną kompresję Gzip. No i teraz co zrobić - mamy dwa
wyjścia, pierwsze to zostawić ją włączona wtedy strona zjada mniej transferu i zajmuje
mało miejsca – ale widać te cholerne symbole i znaki. Drugie wyjście to ją wyłączyć – ale
wtedy strona będzie zjadała tyle transferu, że po kilku dniach będziesz miał go
wykorzystanego tyle że po miesiącu tyle byś nie miał – ale wtedy nie będziesz miał tych
dziwnych znaków. Decyzja należy do ciebie czy ją zostawisz czy wyłączysz....
Jak sprawdzić czy masz ją wogóle załączona ? Na dole nad stopka masz pasek, w którym
widzisz „Czas ładowania się strony, Kompresja GZIP, Czas PHP/MySQL, Liczba zapytań”
Kompresji GZIP pozbywamy sie wchodząc do „includes/head.php”, usuwając kod od linii:// kompresja gzip strony
//
$do_gzip_compress = FALSE;
$compress = FALSE;
$phpver = phpversion();
$useragent = (isset($_SERVER["HTTP_USER_AGENT"]) ) ?
$_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT;
if ( $phpver >= '4.0.4pl1' && ( strstr($useragent,'compatible') || strstr($useragent,'Gecko')
) ) {
if ( extension_loaded('zlib') ) {
$compress = TRUE;
ob_start('ob_gzhandler');
}
} elseif ( $phpver > '4.0' ) {
if ( strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip') ) {
if ( extension_loaded('zlib') )
{
$do_gzip_compress = TRUE;
$compress = TRUE;
ob_start();
ob_implicit_flush(0);
header('Content-Encoding: gzip');
}
}
}
//
Resztki kompresji usuwamy także w „includes/foot.php” od lini:
if ($compress) {
//
$comp = 'Tak';
} else {
$comp = 'Nie';
}
if (!isset($do_gzip_compress)) {
$do_gzip_compress = $compress;
}
Zapewne używasz na swoim serwerze - PMA (PhpMyAdmin). Jest to
uniwersalne narzędzie do obsługi MySQL – bazy danych. Są również inne narzędzia ale
zostaniemy przy tym co mamy.... W bazie są zapisywane wszystkie dokonane operacje,
zakupy broni w grze, ilość posiadanego złota w aktualnym czasie, czy też innego
współczynnika... Także zapisywane są błędy, które pojawiają się w grze, można je znaleźć
w tabeli „bugtrack” - są to błędy w plikach z kodem, program wyłapujący błędy zgłasza
nam, że o czymś zapomnieliśmy czy czegoś brakuje – są one przedstawione w sposób
bardzo przejrzysty – podaje nazwę pliku, linie oraz rodzaj błędu! Także tych błędów jak
wiadomo w grze nie jest mało, wiec może tabele „bugtrack” zablokować by do niej nie
dodawało sie więcej informacji o błędach ? Bo niekasując zgłoszeń o błędach z tej tabeli
nazbiera sie gigantyczna ilość po kilku dniach, a jak wiadomo nie damy rady wykryć i
naprawić każdego najmniejszego „błędziku”. A zawalona tabela jak można się domyślić
spowalnia i muli pracę bazy !
Więc zablokować tabele „bugtrack” jest bardzo łatwo, najlepiej to zrobić - od komentując
zapytania do bazy... W linii 81
$db -> Execute("UPDATE bugtrack SET amount=amount+1 WHERE id=".$test ->
fields['id']);
zmieniamy na: (dodajemy na początku „//” co spowoduje nie branie tej linii pod uwagę)
//$db -> Execute("UPDATE bugtrack SET amount=amount+1 WHERE id=".$test ->
fields['id']);
oraz to samo z linią 93
//$db -> Execute("INSERT INTO bugtrack (type, info, file, line, referer)
VALUES(".$errortype.", '".$errorinfo."', '".$file[$numfile]."', ".$errorline.",
'".$referer[$numrefer]."')");
Gotowe ! Teraz tabela nie będzie gromadziła żadnych zgłoszeń co przyczyni się do
wzrostu szybkości gry Klasy umieszczone w „class/player_class.php” pozwalają nam na korzystanie z:
$player -> pole
Działa to tylko dla pól umieszczonych w tabeli „players” jeżeli dodamy tam jakieś nowe
pole, musimy dodać odpowiednio dla niego klasę w „player_class”, jest to niezmiernie
łatwe, takim sposobem zyskujemy możliwość na korzystanie np. z poniższego kodu w
każdej sytuacji: (blokada na id)
if ($player -> id != ''1'') {
//zapytanie
error (''Wstęp ma tu tylko admin gry, który posiada ID 1'');
//komunikat który wyskoczy
}
//zakończ „if”
Przystąpimy do zmieniania rzeczy w grze- będę tu opisywał czynności domyślne jakie
moim zdaniem by wykonał administrator rozpoczynający tworzenie własnej gry !
Chcemy oczywiście, żeby gracz rejestrujący się u nas w grze, dostał e-maila z gry,
podpisanego przez nas xD a nie przez kogoś innego....Wchodzimy do „register.php”
w linii 98, zmieniamy z „Thindil” na nasz nick...
$message = "Witaj w ".$gamename.". Twój link aktywacyjny to:
".$gameadress."/aktywacja.php?kod=".$aktw." Życzę miłej zabawy w ".$gamename.".
Thindil";
oraz w account.php to samo: w lini 50
$message = "Dostałeś ten list ponieważ chciałeś zresetować postać. Jeżeli nadal
pragniesz zresetować swoją postać na ".$gamename." (".$player -> user." ID: ".$player ->
id.") wejdź w ten link ".$gameadress."/preset.php?id=".$player -> id."&code=".$code."
Jeżeli jednak nie chcesz resetować postaci (bądź ktoś inny za ciebie zgłosił taką chęć)
wejdź w ten link ".$gameadress."/preset.php?id=".$player -> id." Pozdrawiam Thindil";
---DODAWANIE KATEGORII NA FORUM---
Następnie możemy wsiąść się za dodanie kilka kategorii do forum wewnętrznego gry, w
tym celu wchodzimy do „PMA” później do tabeli „categories”, teraz mamy strukturę tej
tabeli przed sobą, klikamy „Przeglądaj” jak mamy polskie PMA, jak zagraniczne „Browse”
sprawdzamy jakie kategorie istnieją, zaznaczając je i klikając czerwony krzyżyk poniżej
możemy je skasować, bądź wybierając ołówek „edytować”. No to teraz dodajemy nowe
kategorie, (pamiętaj, ze jak chcesz dodawać rekordy do tabel a mają one id – musisz
dodać kolejno następne) Klikamy u góry „Dodaj” wpisując nazwę, id i opis kategorii,
klikamy „Wykonaj” i dodaliśmy nową kategorię !
---DODAWANIE RANG DO PANELU---
Gracz proszący nas o rangę np. Szlachcica, na którego zasługuje, a my nie umiejący
dodać jej do panelu admina, wystawiamy się na pośmiewisko w ich oczach... Wchodząc
do domyślnego panelu - „admin.tpl” znajdujemy..... (pokaże kawałek kodu)
{if $View == "add"}
<form method="post" action="admin.php?view=add&step=add">
Dodaj ID <input type="text" name="aid"> jako
<select name="rank">
<option value="Member">Mieszkaniec</option>
<option value="Admin">Władca</option>
</select>. <input type="submit" value="Dodaj">
</form>
{/if}
Dodać kolejna rangę patrząc się na powyższy kod można się domyśleć, że należy dodać..if $View == "add"}
<form method="post" action="admin.php?view=add&step=add">
Dodaj ID <input type="text" name="aid"> jako
<select name="rank">
<option value="Member">Mieszkaniec</option>
<option value="Admin">Władca</option>
<option value="Szlachcic">Szlachcic</option>
</select>. <input type="submit" value="Dodaj">
</form>
{/if}
Małe wytłumaczenie dla ludzi nie znających nawet HTML xD
Weźmy przykład:
<option value="Member">Mieszkaniec</option>
Czemu po stronie Prawej jest Mieszkaniec, a po lewej Member i czy może to wyglądać
inaczej?
Wyglądać może to jeszcze tak: <option>Mieszkaniec</option>
Czym to się różni teraz ? Masz racje napewno, że długością ale to nie jest to !
<option value="Member">Mieszkaniec</option>
Mieszkaniec – zobaczysz to przy wybieraniu w panelu rangi do ustawienia graczowi
Member - jest to co się wpisze do bazy danych , konkretniej do pola „rank” - graczowi
<option>Mieszkaniec</option>
To pełni dwie funkcje - metoda prosta - „Mieszkaniec” zobaczysz przy wyborze ustawianiu
graczowi rangi, oraz taki sam wpis zostanie dodany do bazy
---ZMIANA KOLORU GRACZOWI W KARCZMIE ---
Wchodząc do „chat.php” możemy zaobserwować na wejściu, kod odnośnie kolorów
if ($player -> rank == 'Admin') {
$starter = "<font color=0066cc>".$player -> user."</font>";
} elseif ($player -> rank == 'Staff') {
$starter = "<font color=00ff00>".$player -> user."</font>";
} else {
$starter = $player -> user;
}
Chcąc zmienić kolor Adminowi albo Staff (Książę) to zamiast „0066cc” wpisujesz z
angielskiego nazwę koloru np. „pink”. Chcąc dodać kod, by Sędzia także miał kolor w
karczmie dodajesz:
} elseif ($player -> rank == 'Sedzia') {
$starter = "<font color=blue>".$player -> user."</font>";
Teraz znów małe wytłumaczenie, jak co przykład.... Jak można inaczej odczytać kod ?
Jeśli gracz ma rangę „Admin”
if ($player -> rank == 'Admin') {
ma zostać przeprowadzona operacja:
$starter = "<font color=0066cc>".$player -> user."</font>";
(czyli nadanie koloru temu graczowi!)
if - jeśli
elseif - (połączenie), następne „if”
else – jeżeli żadne „if” nie jest prawdziwe,
zostaje wykonana ta operacja (reszta z całości)
No więc jeżeli gracz (Mieszkaniec zwykły) będzie pisał w karczmie zostanie wykonane
„else” na końcu czyli nadanie mu najzwyklejszego koloru, ponieważ odnośnie jego nie ma
żadnego „if”
---WYSWIETLANIE DOWOLNEJ ZAWARTOSCI POLA Z TABELI---
Załóżmy że chcemy wyświetlić w grze po lewej stronie, aktualna zawartość pola „grzybki”
znajdującego się w tabeli „players” - jest to plik „header.tpl” i jak wiadomo tym plikiem
zarządza „head.php”, wchodzimy do niego i wystarczy umieścić:
$smarty -> assign (''Grzybki'', $player -> grzybki);
Teraz umieszczamy w „header.tpl” - zmienna -> {$Grzybki} w miejscu w którym chcemy,
żeby stan grzybków się wyświetlał.
Wykorzystując klasę „player_class” wystarczy zrobić jak pokazane jest powyżej, ale jak
chcemy wyświetlić zawartość pola „węgla” w tabeli „kopalnie” robimy to następująco:
//kod pobierający-sprawdzający dane
$surowiec = $db -> Execute(''SELECT węgiel FROM kopalnie'');
Przypisujemy także sobie do zapytania zmienna- ja użyłem tu np. „surowiec”
Ale jeżeli np. chcemy wyświetlić zawartość większej ilości pól (z 10) najlepiej zamiast
nazw pól użyć gwiazdki, która zastępuje „wszystkie pola” w danej tabeli
$surowiec = $db -> Execute(''SELECT * FROM kopalnie'');
Następnie robimy wyświetlenie:
$smarty -> assign (''Węgiel'', $surowiec -> fields['wegiel']);
Jak widać zamiast „$player” użyłeś swojej stworzonej zmiennej, po czym:
fields['wegiel']
piszemy jakie pole z tej tabeli ma pobierać do wyświetlenia. W pliku *.tpl, wystarczy teraz
dać w dowolnym miejscu {$Węgiel} i gotowe !
Nie ma to jak panel Admina z każdą opcją pod ręką, bez potrzeby zaglądania do PMA czy
na FTP (serwer). Nauczę was jak w łatwy i szybki sposób dorobić sobie opcje ! Szczerze
mówiąc nie ma nic prostszego xD
System jest prosty, przedstawiony poniżej kod, który przerabiamy na kolejne, które
przydadzą nam się do prowadzenia gry...
$db -> Execute(''UPDATE tabela FROM pole=pole+ilość WHERE id=”.$player -> id);
Powyższy kod przedstawia przykładowe zapytanie, wykonywane na nas – graczy
używających tej opcji ! Ale jeżeli zrobimy to tak:
$db -> Execute(''UPDATE tabela FROM pole=pole+ilość WHERE id=”.$_POST['kto'].”);
Otrzymamy możliwość w pliku *.tpl wpisania id tego na którym chcemy wykonać operacje!
By muc wpisać id tego kogoś kod w pliku *.tpl będzie następujący:
<input type=”text”
name=”kto”
size=”6”>
jest to stworzenie
jest to odnoszenie
to długość pola
pola tekstowego w
się do miejsca
tekstowego
którym wpiszemy id
$_POST['kto']
Teraz zróbmy bardziej skomplikowana opcje z wyborem co chcemy dodać i ile:
$db -> Execute(''UPDATE tabela FROM
”.$_POST['pole'].”=”.$_POST['pole'].”+”.$_POST['ile'].” WHERE id=”.$_POST['kto'].”);
No więc teraz możemy wpisywać ręcznie nazwę pola, albo to uprościć w bardzo łatwy
sposób:
ID gracza: <inpu type=”text” name=”kto”>
//odnoszenie sie do $_POST['kto']
<br>
Co dodać ? <select name=”pole”>
//odnoszenie sie do $_POST['pole']
<option>Przyklad1</option>
z ułatwieniem wcześniejszego
<option>Przyklad2</option>
uzupełnienia nam wyboru jaki
<option>Przyklad3</option>
możemy dokonać
</select>
<br>
Ile dodać: <input type=”text” name=”ile”>
//odnoszenie sie do $_POST['ile']
<inpu type=”submit” value=”Wykonaj”>
//zebranie tego wszystkiego i wysłanie
A każdą opcję jaką sobie napiszemy umieszczamy pod:
if (isset ($_GET['view']) && $_GET['view'] == 'nazwa_nasza') {
nasz kod...
}
Wtedy w pliku *.tpl dodajemy:
<form method="post" action="nazwa_pliku.php?view=nazwa_nasza">KOD !</form>
Pokaże teraz pełny przykład:
w pliku *.php:
if (isset ($_GET['view']) && $_GET['view'] == 'nazwa_nasza') {
$db -> Execute(''UPDATE players FROM
”.$_POST['pole'].”=”.$_POST['pole'].”+”.$_POST['ile'].” WHERE id=”.$_POST['kto'].”);
echo 'Operacja została wykonana poprawnie';
}
a w pliku tpl:
<form method="post" action="nazwa_pliku.php?view=nazwa_nasza">
ID gracza: <inpu type=”text” name=”kto”>
//”action” to akcja jaka ma być
<br>
wykonana podczas wciśnięcia
Co dodać ? <select name=”pole”>
przycisku (w tym przypadku)
<option value=”credits”>Złota</option>
„Wykonaj”
<option value=”energy”>Energii</option>
<option value=”ap”>AP</option>
</select>
<br>
//odstęp
Ile dodać: <input type=”text” name=”ile”>
<inpu type=”submit” value=”Wykonaj”>
</form>
//zakończenie
Używaliśmy kodu na dodawanie sobie różnych współczynników – możemy napisać kod na
odejmowanie – ale jeszcze prościej to zamiana wspomnianym skrypcie „+” na „-”.
Umiemy dodawać i odejmować sobie rzeczy z konkretnego pola w bazie, a jak wiadomo
imienia czy e-maila się nie dodaje ani nie odejmuje ! Stwórzmy skrypt, który pozwoli nam
na zmianę imienia dowolnemu graczowi xD Metoda się nie różni, aż tak – poprostu
$_POST['imię'] weźmiemy w -> '
$db -> Execute(''UPDATE players FROM user='”.$_POST['imię'].”' WHERE
id=”.$_POST['kto'].”);
Jak widać wystarczy napisać choćby taki jeden kod z opcja wyboru i kłopot z
wchodzeniem do bazy danych i szukaniem takiego gracza – by dodać mu coś odchodzi w
zapomnienie Teraz szybko i bez problemu możemy pisać swoje kody, które ułatwią nam
modyfikowanie rzeczy oraz zaoszczędzą nam czasu i nerwów !
Omówię wam szybko pliki *.php i *.tpl – do czego dany jest ? By nie szukać samemu...
account.php
„Opcje konta”
addnews.php
„Plik dodawania plotek”
addupdate.php
„Plik dodawania wieści”
admin.php
„Panel Admina”
alchemik.php
„Pracownia Alchemiczna”
ap.php
„Dystrybucja AP”
armor.php
„Płatnieszbank.php
„Bank”
battle.php
„Arena Walk”
bows.php
„Fleczer”
chat.php
„Karczma”
chatmsgs.php
„Środek okna w karczmie”
city.php
„Miasto”
core.php
„Polana Chowańców”
czary.php
„Księga Czarów”
deity.php
„Wybór Wyznania”
equip.php
„Ekwipunek”
explore.php
„Poszukiwania”
farm.php
„Farma”
forums.php
„Forum wewnętrzne gry”
gory.php
„Góry Kazad-nar”
grid.php
„Labirynt”
help.php
„Pomoc- FAQ”
hmarket.php
„Rynek Ziół”
hof.php
„Galeria Bohaterów”
hospital.php
„Szpital”
house.php
„Domy Graczy”
imarket.php
„Rynek z przedmiotami”
jail.php
„Lochy – Więzienie”
klasa.php
„Wybór Klasy”
kopalnia.php
„Kopalnia”
kowal.php
„Kuźnia”
landfill.php
„Oczyszczalnia miasta”
las.php
„Las Avatiel”
log.php
„Dziennik”
logout.php
„Opcja- Wylogouj”
lumberjack.php
„Wyrąb”
lumbermill.php
„Tartak”
mail.php
„Poczta”
market.php
„Rynek”
memberlist.php
„Lista mieszkańców”
mines.php
„Kopalnie”
mmarket.php
„Rynek z miksturami”
monuments.php
„Posągi”
msklep.php
„Alchemik”
news.php
„Miejskie Plotki”
notatnik.php
„Notatnik”
outposts.php
„Strażnica”
pmarket.php
„Rynek minerałów”
portal.php
„Portal”
preset.php
„Reset Postaci”
pshop.php
„Sklep z mithrilem”
rasa.php
„Wybór Rasy”
referrals.php
„Vallary- Centrum poleconych”
rest.php
„Odpoczynek”
sedzia.php
„Panel Sędziego”
staff.php
„Panel Książąt”
stats.php
„Karta Postaci”
temple.php
„Świątynia”
tforums.php
„Forum Klanu”
tower.php
„Zegar Miejski”
train.php
„Szkoła”
travel.php
„Stajnie”
tribearmor.php
„Zbrojownia Klanu”
tribes.php
„Klany”
tribeware.php
„Magazyn Klanu”
updates.php
„Wieści”
weapons.php
„Zbrojmistrz”
view.php
„Dane o graczu- profil cały”
wieza.php
„Magiczna Wieża”
zloto.php
„Bogactwa”
aktywacja.php
„Plik aktywujący konto graczowi w grze”
bugtrack.php
„Plik pobiera błędy z tabeli „bugtrack” po czym wyświetla je w *.tpl”
index.php
„Strona Główna”
register.php
„Rejestracja”
reset.php
„Ten plik skasować, bądź zmienić mu nazwę- by robić tzw. „ręczny reset”
resetall.php
„Ten plik skasuj jak go jeszcze masz!” - Resetuje grę
header.tpl
„Lewa strona w grze”
footer.tpl
„Prawa Strona w grze”
head.tpl
„Na indeksie, górna strona”
head1.tpl
„Po wylogowaniu, górna strona”
No więc jak gra się rozrasta, powinny być nowe ciekawe i fascynujące rasy do wyboru!
Przed nami teraz chwilka pracy...
Wchodzimy do „rasa.php”. Jak widać mamy przed sobą przejrzysty kod odnośnie 5 ras,
które są już w grze, tu pokaże wam jak i gdzie dodaje się nowe rasy... Stwórzmy rasę np.
Wampir.
if (isset($_GET['rasa']) && $_GET['rasa'] == 'wampir' && $player -> race == '') {
if (isset ($_GET['step']) && $_GET['step'] == 'wybierz' && $player -> race == '') {
$db -> Execute("UPDATE players SET rasa='Wampir' WHERE id=".$player -> id);
error ("<br>Wybrałeś rasę Wampirów. Kliknij <a href=stats.php>tutaj</a> aby
wrócić.");
}
}
Teraz wchodzimy do „rasa.tpl” dodając link i opis danej rasy:

<a href="rasa.php?rasa=wampir">Wampir</a><br>
oraz poniżej:
{if $Race == "wampir"}
OPIS RASY !
.<br>
Za 1 AP Wampir dostaje
<ul>
<li>+8 do siły</li>
<li>+8 do zręczności</li>
<li>+6 do inteligencji</li>
<li>+5.6 do szybkości</li>
<li>+3.4 do wytrzymałości</li>
<li>+12 do siły woli</li>
</ul>
<form method="post" action="rasa.php?rasa=wampir&step=wybierz">
<input type="submit" value="Wybierz"><br>
(<a href="rasa.php">Wróć</a>)
{/if}
Teraz odwiedzamy plik „ap.php” dodając:
if (!isset ($_GET['step']) && $player -> race == 'Wampir' && $player -> ap > 0) {
$smarty -> assign (array ("Strength" => 8, "Agility" => 8, "Speed" => 3, "Endurance" =>
5.6));
}
poniżej w tym samym pliku: (wartości wpisujemy sami, tu są przykładowe !)
if ($player -> race == 'Wampir') {
$arrgain[0] = 3.5;
$arrgain[1] = 2;
$arrgain[2] = 2;
$arrgain[3] = 3;
}
Następnie wchodzimy do „includes/checkexp.php” dodając:
if ($rasa == 'Wampir') {
$pz = ($pz + 12);
}
Tu ustalamy ile życia dana rasa będzie dostawała co „Poziom”

Mangel - 2008-06-14 10:48:22

Shinsou przyznam ze nie bardzo rozumiem o co chodzi w tym wątku. Chcesz żeby CI coś konkretnego podać czy w czymś pomóc? Może dlatego że mam troche sporo na głowie to nie kojarze tego co czytam, weź to jakoś łopatą walnij.

Shinsou - 2008-06-14 11:14:42

Potrzebuje kogos kto moze wgrac pliki na serwer potem w total commanderze.

Cog - 2008-06-14 23:33:03

dobra robota. masz u mnie pkt

kafu777 - 2008-06-15 00:54:33

Mogę się zająć instalacją Vallheru ;) oraz wszystkim co jest z tym związane ;)

Shinsou - 2008-06-15 09:09:57

Kafu jak chcesz to mozesz mi w tym pomoc.

kafu777 - 2008-06-15 11:59:05

Shinsou, nie ma sprawy ;)

Shinsou - 2008-06-15 15:08:29

Ok. :)

Aravial - 2008-06-15 21:59:36

Z informatyki jestem zielony jak kapusta ale gram dużo w valheru i powiem tyle. Ten system trzebaby mocno przetworzyć. Jest prosty jak but i w pewnym momencie sprowadza się do wybierania liczby przeciwników i rozdawania AP.

Shinsou - 2008-06-15 22:00:42

No iwm, to juz jest w silniku gotowe, chmod mozna przemenic i juz :)

Aravial - 2008-06-15 22:07:45

Chce ci się? Ponoć skrypty takich rzeczy jak strażnica, klany czy chowańce są zrypane do kwadratu i nic nie można wyłapać. I jeszcze jedno. Jeśli już bierzecie tan silnik to najpierw wszystkie mody a potem dopiero beta. Bo widzisz potem jak zabraknie energii lub będzie przerwa to na dłużej zostanie taki chłam... Niby to oczywiste ale...

Shinsou - 2008-06-15 22:10:25

Spokojna glowa, zajme sie tym :)

Aravial - 2008-06-15 22:13:49

Spoko. Jakbyś potrzebował kogoś kto się na tym zna to mam znajomków w Krat-Tur i Lorgoth którzy się tym zajmują.

Shinsou - 2008-06-15 22:19:15

No Mangel zobacz. Zapytaj sie Mangela czy moga sie zarejestrowac, jezeli sie znaja dobrze na silniku i dodadza cos od siebie to dawaj ich tu, kazdda pomoc sie przyda w koncu to ma byc gra a nie forum.

Mangel - 2008-06-21 15:56:50

Shinsou jak idą prace nad grą?

Shinsou - 2008-06-21 17:47:08

Nad silnikiem calkiem dobrze

www.skuterfans.pun.pl www.avatar.pun.pl www.bfb.pun.pl www.nightmarewarriorsforum.pun.pl www.fff.pun.pl