Pomoc w Silniku Vallheru
Skarbnica wiedzy o Vallheru
FAQ
Szukaj
Użytkownicy
Grupy
Galerie
Rejestracja
Profil
Zaloguj się, by sprawdzić wiadomości
Zaloguj
Forum Pomoc w Silniku Vallheru Strona Główna
->
FAQ
Napisz odpowiedź
Użytkownik
Temat
Treść wiadomości
Emotikony
Więcej Ikon
Kolor:
Domyślny
Ciemnoczerwony
Czerwony
Pomarańćzowy
Brązowy
Żółty
Zielony
Oliwkowy
Błękitny
Niebieski
Ciemnoniebieski
Purpurowy
Fioletowy
Biały
Czarny
Rozmiar:
Minimalny
Mały
Normalny
Duży
Ogromny
Zamknij Tagi
Opcje
HTML:
NIE
BBCode
:
TAK
Uśmieszki:
TAK
Wyłącz BBCode w tym poście
Wyłącz Uśmieszki w tym poście
Kod potwierdzający: *
Wszystkie czasy w strefie EET (Europa)
Skocz do:
Wybierz forum
Vallheru
----------------
FAQ
Instalacja
Download
Pytania i Problemy
Servery
----------------
Darmowe Servery
Płatne Servery
Wasze Gry
Reklama
Przegląd tematu
Autor
Wiadomość
Gala
Wysłany: Pon 17:43, 13 Lis 2006
Temat postu: Nowa Lokacja
W zwiazku z tym, ze wiele osob instaluje Vallheru, nawet nie znajac w jakimkolwiek stopniu php ani sql, postanowilem napisac artykul o tym, jak dodac nowa lokacje i gdzie to zrobic ;)
1. Dodawanie lokacji:
a) lokacja.php
b) lokacja.tpl
2. Podrozowanie do tych lokacji i zmiana kosztow w obie strony:
a) travel.php
b) travel.tpl
1. Dodawanie lokacji:
a) lokacja.php
Wezmy przykladowy plik gory.php. Kopiujemu go, zmieniajac nazwe na np. oboz.php. Nastepnie otwieramy i wykonujemy nastepujace operacje:
Znajdujemy:
Kod:
if($player -> location != 'Góry') {
error ("Nie znajdujesz się w górach");
}
Zamieniamy na:
Kod:
if($player -> location != 'oboz') {
error ("Nie znajdujesz się nad morzem");
}
Znajdujemy:
Kod:
if ($player -> hp > 0) {
$smarty -> display ('gory.tpl');
Zamieniamy na:
Kod:
if ($player -> hp > 0) {
$smarty -> display ('oboz.tpl');
I gotowe. Skrypt php mamy gotowy. Teraz pora na to, co bedzie wyswietlane.
b) lokacja.tpl
Znow kopiujemy gory.tpl i zmieniamy nazwe na oboz.tpl.
Witaj w Górach Kazad-nar, co chcesz robić?
"<" a href="kopalnia.php">Idź do kopalni
"<" a href="explore.php">Zwiedzaj góry
"<" a href="travel.php">Stajnia
Tak wygladac powinien plik gory.tpl w wersji 0.7 beta.
Jak na razie wywalamy to:
"<" a href="kopalnia.php">Idź do kopalni
"<" a href="explore.php">Zwiedzaj góry
W ten sposob w lokacji po poodrozy zostanie nam tylko stajnia. Potem ewentualnie mozna cos dodac...
2. Podrozowanie do tych lokacji i zmiana kosztow w obie strony:
a) travel.php
W naszym przypadku lokacja to "oboz" a plik php: "oboz.php"
Po:
Kod:
if (isset ($_GET['akcja']) && $_GET['akcja'] == 'las') {
if ($player -> credits < 1000) {
error ("Nie masz tyle pieniędzy!");
}
$db -> Execute("UPDATE players SET miejsce='Podróż' WHERE id=".$player -> id);
travel('travel.php?akcja=las');
$fight = $db -> Execute("SELECT fight FROM players WHERE id=".$player -> id);
if (!$fight -> fields['fight']) {
$db -> Execute("UPDATE players SET miejsce='Las' WHERE id=".$player -> id);
$db -> Execute("UPDATE players SET credits=credits-1000 WHERE id=".$player -> id);
error ("Dotarłe¶ do Lasu Avantiel. WejdĽ tutaj aby zobaczyć co ciebie czeka.");
}
}
Wstawiamy:
Kod:
if (isset ($_GET['akcja']) && $_GET['akcja'] == 'oboz') {
if ($player -> credits < (cena przejazdu)) {
error ("Nie masz tyle pieniędzy!");
}
$db -> Execute("UPDATE players SET miejsce='Podróż' WHERE id=".$player -> id);
travel('travel.php?akcja='oboz');
$fight = $db -> Execute("SELECT fight FROM players WHERE id=".$player -> id);
if (!$fight -> fields['fight']) {
$db -> Execute("UPDATE players SET miejsce='Oboz' WHERE id=".$player -> id);
$db -> Execute("UPDATE players SET credits=credits-(cena przejazdu) WHERE id=".$player -> id);
error ("Dotarłe¶ do Obozu. WejdĽ tutaj aby zobaczyć co ciebie czeka.");
}
}
To na tyle... Cena przejazdu to chyba jasne, nie?
b) travel.tpl
Znajdujemy:
# "<" a href="travel.php?akcja=las">Las Avantiel (koszt 1000 sztuk złota)
Ponizej wstawiamy:
# "<" a href="travel.php?akcja=oboz">Oboz (koszt (cena przejazdu) sztuk złota)
Znajdujemy:
Kod:
{if $Action == "" && $Location != "Altara"}
Witaj w Stajniach. Tędy możesz wrócić do stolicy Vallheru, Altary.
- "<"a href="travel.php?akcja=powrot">Wróć do Altary (koszt 1000 sztuk złota)
{/if}
I tutaj mamy dwa warianty... Jezeli chcemy aby cena wszystkich powrotow byla taka sama (1000sz domyslnie), to zostawiamy jak jest. Jezeli nie, dla kazdej lokacji tworzymy oddzielna akcje (kasujac to:
Kod:
{if $Action == "" && $Location != "Altara"}
Witaj w Stajniach. Tędy możesz wrócić do stolicy Vallheru, Altary.
- "<"a href="travel.php?akcja=powrot">Wróć do Altary (koszt 1000 sztuk złota)
{/if})
{if $Action == "" && $Location == "Las"}
Witaj w Stajniach. Tędy możesz wrócić do stolicy Vallheru, Altary.
- "<"a href="travel.php?akcja=powrotl">Wróć do Altary (koszt (cena powrotu z lasu) sztuk złota)
{/if}
{if $Action == "" && $Location == "Góry"}
Witaj w Stajniach. Tędy możesz wrócić do stolicy Vallheru, Altary.
- "<" a href="travel.php?akcja=powrotg">Wróć do Altary (koszt (cena powrotu z Gór) sztuk złota)
{/if}
{if $Action == "" && $Location == "oboz"}
Witaj w Stajniach. Tędy możesz wrócić do stolicy Vallheru, Altary.
- "<" a href="travel.php?akcja=powrotm">Wróć do Altary (koszt (cena powrotu z Morza) sztuk złota)
{/if}
Do tego w travel.php dodajemy:
Kod:
if (isset ($_GET['akcja']) && $_GET['akcja'] == 'powrotl') {
if ($player -> credits < (cena powrotu z lasu)) {
error ("Nie masz tyle pieniędzy!");
}
$db -> Execute("UPDATE players SET miejsce='Podróż' WHERE id=".$player -> id);
travel('travel.php?akcja=powrotl');
$fight = $db -> Execute("SELECT fight FROM players WHERE id=".$player -> id);
if (!$fight -> fields['fight']) {
$db -> Execute("UPDATE players SET miejsce='Altara' WHERE id=".$player -> id);
$db -> Execute("UPDATE players SET credits=credits-(cena powrotu z lasu) WHERE id=".$player -> id);
error ("Dotarłe¶ do Altary. WejdĽ tutaj aby zobaczyć co ciebie czeka.");
}
}
if (isset ($_GET['akcja']) && $_GET['akcja'] == 'powrotg') {
if ($player -> credits < (cena powrotu z Gór)) {
error ("Nie masz tyle pieniędzy!");
}
$db -> Execute("UPDATE players SET miejsce='Podróż' WHERE id=".$player -> id);
travel('travel.php?akcja=powrotg');
$fight = $db -> Execute("SELECT fight FROM players WHERE id=".$player -> id);
if (!$fight -> fields['fight']) {
$db -> Execute("UPDATE players SET miejsce='Altara' WHERE id=".$player -> id);
$db -> Execute("UPDATE players SET credits=credits-(cena powrotu z Gór) WHERE id=".$player -> id);
error ("Dotarłe¶ do Altary. WejdĽ tutaj aby zobaczyć co ciebie czeka.");
}
}
if (isset ($_GET['akcja']) && $_GET['akcja'] == 'powrotm') {
if ($player -> credits < (cena powrotu z lasu)) {
error ("Nie masz tyle pieniędzy!");
}
$db -> Execute("UPDATE players SET miejsce='Podróż' WHERE id=".$player -> id);
travel('travel.php?akcja=powrotm');
$fight = $db -> Execute("SELECT fight FROM players WHERE id=".$player -> id);
if (!$fight -> fields['fight']) {
$db -> Execute("UPDATE players SET miejsce='Altara' WHERE id=".$player -> id);
$db -> Execute("UPDATE players SET credits=credits-(cena powrotu z Morza) WHERE id=".$player -> id);
error ("Dotarłe¶ do Altary. WejdĽ tutaj aby zobaczyć co ciebie czeka.");
}
}
Dodawanie lokacji w includes/head.php
Znajdujemy:
Kod:
if ($player -> location == 'Las') {
if ($player -> fight == 0) {
$smarty -> assign ("Location", "- Las Avantiel
");
} else {
$smarty -> assign ("Location", "- Las Avantiel
");
}
}
Ponizej dodajemy:
Kod:
if ($player -> location == 'oboz')
{
if ($player -> fight == 0)
{
$smarty -> assign ("Location", "- Oboz");
}
else
{
$smarty -> assign ("Location", "- Las Avantiel");
}
}
fora.pl
- załóż własne forum dyskusyjne za darmo
Powered by
phpBB
© 2001, 2005 phpBB Group
Regulamin