Vallheru
  
Strona główna ::  Artykuły ::  Download ::  Forum ::  Linki ::  Szukaj
Grudzień 05 2009 05:29:42 
 
Nawigacja
Strona główna
Artykuły
Wiki
Download
Moduły
FAQ
Forum
Linki
Screenshots
Szukaj
Sourceforge
Bugtrack
CVS
Listy dyskusyjne
Informacja
Jeżeli chcesz należeć do zespołu tworzącego Vallheru zajrzyj tutaj
Użytkowników Online
Gości Online: 1
Brak użytkowników Online

Zarejestrowanych: 2055
Ostatni zarejestrowany: maro222
Ostatnie tematy
Najnowsze tematy
jak zrobic wlasny se...
Kilka problemów
Problem z sesjami
Błąd w działaniu
nie ma
Najciekawsze tematy
Resety bez CronJo... [59]
Problem z Rejestr... [56]
Instalacja wersji... [37]
Skąd ściągać doda... [31]
avatar [30]
Ostatnie artykuły
Jak usunąć Vallary ??
Cron, Vallheru ver. 8
Vallheru - Pomocnik ...
Jak efektywnie zgłas...
Jak mądrze zadawać p...
SourceForge.net Logo


hacker emblem


GNU is Not Unix




Support This Project
 
Vallheru - Pomocnik administratora 0.1
 
Vallheru - Pomocnik administratora 0.1
» Wstęp
Witam w elektornicznym pomocniku dla administratorów gier na engine Vallheru. Mam nadzieję że ten artykuł pomoże Ci poznać wszystkie tajniki administracji gry takiej jak Vallheru.

Jest to artykuł dla początkujących, jednak i ci bardziej zaawansowani użytkownicy znajdą coś dla siebie (np. "Przyśpieszanie gry").

» Błąd przy instalacji
Ostatnio zaobserwowałem że od wersji 0.9 Vallheru Engine często nie instaluje się baza. Sam doświadczyłem tego problemu, jednak tylko w wersji 0.9, a niektórzy zaczynają się skarżyć na 1.0... By rozwiązać problem należy ręcznie wrzucić bazę przez phpmyadmina. Jednak, jaki jest powód takiego działania? Zadałem to pytanie thindilowi na liście dyskusyjnej. Oto odpowiedź:

Zrzut bazy danych robiłem pod MySQL 4.1 - tam w odróżnieniu od wcześniejszych wersji MySQL są dodane nowe opcje do tabel (dokładnie domyślne kodowanie znaków utf-8). Próbowałem ręcznie modyfikować zrzut bazy danych, widać zapomniałem w jednym miejscu to usunąć. Właśnie coś takiego może powodować ten problem. Najlepiej na obecnym etapie poczekać na wydanie wersji 1.0 rc1 (prawdopodobnie pojawi się na początku grudnia).

» Uniwersalny sposób zmiany nazwy miasta
Zaczynamy od head.php:
Znajdujemy linijkę 491 i zaraz pod nią wstawiamy:

if($player -> location == 'Altara')
{
$strCity = 'Twoje miasto';
}
else
{
$strCity = CITY;
}

Potem w funkcji $smarty -> assign zmieniamy .CITY. na .$strCity.

Przyszedł czas na view.php:
Około linijki 114 (najlepiej przed) wklejamy kod:

if($view -> location == 'Altara')
{
$strLocation = 'Twoje miasto';
}
else
{
$strLocation = $view -> location;
}


A potem w funkcji $smarty -> assign zmieniamy w Location $view -> location na $strLocation.

Teraz czas na wysilenie Twoich szarych komórek. Musisz sam zmodyfikować plik stats.php tak by wyświetlał Twoje miasto, nie Altarę. Do roboty!

» Dodawanie ras
pliki do edycji:

- rasa.php
- rasa.tpl
- includes/checkexp.php
- train.php
- ap.php
-------------------------------

otwórz plik rasa.php i wklej

if (isset($_GET['rasa']) && $_GET['rasa'] == 'twoja_rasa' && $player -> race == '') {
if (isset ($_GET['step']) && $_GET['step'] == 'wybierz' && $player -> race == '') {
$db -> Execute("UPDATE players SET rasa='twoja_rasa' WHERE id=".$player -> id);
error ("Wybrales rase twoja_rasa. Kliknij < a href="stats.php">tutaj< /a> aby wrocic.");
}
}


zapisz

-------------------------------

otwórz plik rasa.tpl i wklej

- < a href="rasa.php?rasa=twoja_rasa">twoja_rasa< /a>< br />

w menu i poniżej

{if $Race == "twoja_rasa"}
Opis rasy.< br>
Za 1 AP twoja_rasa dostaje
< ul>
< li>+3.5 do sily< /li>
< li>+2.5 do zreczno¶ci< /li>
< li>+2.5 do inteligencji< /li>
< li>+3 do szybko¶ci< /li>
< li>+2.5 do wytrzymalo¶ci< /li>
< li>+1.5 do sily woli< /li>
< /ul>
< form method="post" action="rasa.php?rasa=twoja_rasa&step=wybierz">
< input type="submit" value="Wybierz">< br>
(< a href="rasa.php">Wroc< /a>)
{/if}


statystyki wybierasz dowolne.

--------------------------------
otwierasz plik train.php

i po

if ($player -> race == 'Jaszczuroczlek') {
$smarty -> assign ("Train", "0,4 energii za 0,06 Zreczno¶c lub Wytrzymalo¶ci, 0,2 energii za 0,06 Sily lub Szybko¶ci");
}


wklejasz

if ($player -> race == 'twoja_rasa') {
$smarty -> assign ("Train", "0,4 energii za 0,06 Zreczno¶c lub Wytrzymalo¶ci, 0,2 energii za 0,06 Sily lub Szybko¶ci");
}


statystyki dowolne

potem po

if ($player -> race == 'Jaszczuroczlek' && $_POST["train"] == 'szyb') {
$repeat = ($_POST["rep"] * .2);
}
if ($player -> race == 'Jaszczuroczlek' && $_POST["train"] == 'wytrz') {
$repeat = ($_POST["rep"] * .4);
}
if ($player -> race == 'Jaszczuroczlek' && $_POST["train"] == 'agility') {
$repeat = ($_POST["rep"] * .4);
}
if ($player -> race == 'Jaszczuroczlek' && $_POST["train"] == 'strength') {
$repeat = ($_POST["rep"] * .2);
}


wstawiasz

if ($player -> race == 'twoja_rasa' && $_POST["train"] == 'szyb') {
$repeat = ($_POST["rep"] * .2);
}
if ($player -> race == 'twoja_rasa' && $_POST["train"] == 'wytrz') {
$repeat = ($_POST["rep"] * .4);
}
if ($player -> race == 'twoja_rasa' && $_POST["train"] == 'agility') {
$repeat = ($_POST["rep"] * .4);
}
if ($player -> race == 'twoja_rasa' && $_POST["train"] == 'strength') {
$repeat = ($_POST["rep"] * .2);
}

statystyki dowolne

zapisz plik

-----------------------------------------------------------

otwórz includes/checkexp.php

znajdź

if ($rasa == 'Jaszczuroczlek') {
$pz = ($pz + 5);
}

i wstaw po nim

if ($rasa == 'twoja_rasa') {
$pz = ($pz + 5);
}

zapisz

-----------------------------------------------------------

otwórz ap.php

znajdz

if (!isset ($_GET['step']) && $player -> race == 'Jaszczuroczlek' && $player -> ap > 0) {
$smarty -> assign (array ("Strength" => 3.5, "Agility" => 2.5, "Speed" => 3, "Endurance" => 2.5));
}



i wstaw po

if (!isset ($_GET['step']) && $player -> race == 'twoja_rasa' && $player -> ap > 0) {
$smarty -> assign (array ("Strength" => 3.5, "Agility" => 2.5, "Speed" => 3, "Endurance" => 2.5));
}


statystyki jakie ustaliłeś wcześniej

znajdz

if ($player -> race == 'Jaszczuroczlek') {
$arrgain[0] = 3.5;
$arrgain[1] = 2.5;
$arrgain[2] = 3;
$arrgain[3] = 2.5;
}


wstaw po

if ($player -> race == 'twoja_rasa') {
$arrgain[0] = 3.5;
$arrgain[1] = 2.5;
$arrgain[2] = 3;
$arrgain[3] = 2.5;
}

zapisz

-----------------------------------------------------------------

To wszystko.
PS: Wszędzie gdzie jest < > taki nawias musicie w tym artykule poprawić gdyż kod jest rozsunięty, bo by go nie wyświetliło :)
--
Artykuł należy do strony HotD i jest jej własnością.

» Co zrobić jeżeli nie ma Crona-Jobs'a na serwerze?
Nie na każdym serwerze jest postawiony Cron. Dlatego trzeba sobie radzić bez niego. Cron-Jobs jest potrzebny, by wykonywać resety w grze. Jak można go zastąpić? Istnieje kilka rozwiązań. Najprostszym jest wykorzystanie darmowego Crona, jakim jest WebCron (patrz "Pomocne linki"). Można w nim skonfigurować bardzo prosto zadania Crona. Drugim, ale trudniejszym sposobem, jest wykorzystanie Webmonitoringu firmy camel.pl ("Pomocne linki"). Wystarczy podać adres skryptu z resetami i mamy je co godzinę. Istnieje jeszcze trzeci sposób. Można stworzyć skrypt wykonywania resetów przy logowaniu. Polecam go tylko doświadczonym programistom.

» Przyśpieszenie gry
Wiele osób narzeka na to że Vallheru Engine powoduje zbyt wielkie obciążenie serwera i w rezultacie spowolnienie gry. Jak próbować przyśpieszyć grę? Jest na to kilka sposobów.

- Oczywistym krokiem, polecanym przez wielu użytkowników Vallheru jest wyłączenie bugtracka. Wystarczy wykomentowanie kilku lini w head.php... Wtedy błędy przestaną zapychać bazę. STFW
- Jest to już zadanie bardziej skomplikowane. Można przerobić zwykłe Smarty i ADODB z Vallheru na OPT i ADODB Lite. Według niektórych polepsza to sprawę. Według mnie również. RTFM
- thindil pobawił się trochę z bazą danych i oto co wyszło w wersji 1.0 RC1 silnika - poprostu thin zindeksował i zaktualizował wszystkie tabele bazy danych.
- Sprawa bardziej skomplikowana. Należy zmienić niektóre zapytania do bazy, tak by nie pobierały wszystkich danych, a tylko te potrzebne. Pomaga.
- Chodzi o to by nie używanie zbyt dużej ilości klas. PHP w wersji 4 bardzo słabo rozwija możliwości klas i tylko PHP 5 naprawia ten błąd. Jednak na niektórych serwerach ciągle jest starsza wersja, więc można się spodziewać spowolnienia strony.

Mam nadzieję że pokazałem wam dostatecznie jak spróbować przyśpieszyć grę.

» Pomocne linki
Oto lista ewentualnych pomocnych linków razem z opisem:

- http://www.camel.pl/webmonitoring/
sprawdza stan serwera, na upartego może zastąpić crona :]
- http://www.webcron.org/
darmowy webcron
- http://www.cityservers.net/serwery_dedykowane_starter_cennik.html
jeśli ktoś ma 3000 złotych - świetne serwery
- http://www.bruinena.net/
moja gra
- http://imageshack.us
image hosting - dobre jeśli kończy nam się transfer
- http://neopets.com/
w przypadku braku natchnienia można zżynać proste pomysły
- http://gildwars.pl/
tu troszkę lepsze (choć można zostać wyklętym przez Thorana)
- http://pl2.php.net
strona o php, dużo modów do vallheru!!! (do samodzielnego montażu)
- http://strefa.pl
stabilne miejsce pod grę

Jest to spis napisany przez Kocurkiewicza i udostępniony tu za jego zgodą.

» Zakończenie
W tym poradniku opierałem się w większości na własnych doświadczeniach, jednak było kilka osób, które pomogły mi w rozwiązywaniu problemu. Dziękuję im za to że byli na stronie (Ender, Mori, Kocurek) i dalej są (thoran, lynks), by pomagać (lub doprowadzać do białej gorączki) userom na forum. Pamiętam, jak sam zaczynałem: wtedy ich jeszcze na stronie nie było, i thindil musiał się trudzić nad odpowiadaniem nam. To były czasy... Pierwszy temat na forum nazywał się: "Sesja zakończona v0.4"... Oczywiście był mój ;)

Jeżeli na forum nie uzyskałeś odpowiedzi dotyczącej twojego problemu, zgłoś go na liście dyskusyjnej Vallheru. Tam thindil zawsze odpowiada, więc na pewno spróbuje ci pomóc.

W trakcie pisania tej dokumentacji często przeszukiwałem archiwa strony Vallheru, w poszukiwaniu najczęstszych problemów. Więc polecam, zanim zadasz jakieś pytanie, przeszukaj archiwum za pomocą opcji "szukaj" na stronie.

--
© 2005 by thion
Komentarze
sysop dnia grudzień 19 2005 01:51:50
sysop dnia grudzień 29 2005 18:38:33
falstad dnia styczeń 23 2006 05:28:03
Blacksmith dnia styczeń 28 2006 06:08:30
sysop dnia styczeń 28 2006 21:17:03
Moj plik naglowkowy byl modyfikowany - dlatego napisalem okolo.
Nottrus - MajareQ - Eru dnia luty 03 2006 19:56:06
tia
Apocalypses dnia luty 16 2006 02:55:41
w jakim katalogu znajduje sie head.php? (chodzi mi o zmiane nazwy miasta)
leito dnia luty 24 2006 17:43:44
w katalogu templates
Wyślij komentarz
Zaloguj się aby móc pisać komentarze
Oceny
Tylko dla zalogowanych..

Zaloguj się lub zarejestruj by móc oceniać.

Brak ocen.
Login
Nick

Hasło



Zapomniałeś hasło?
Poproś o nowe tutaj.