Quellcode der Dragonslayer-Edition
Quellcode der Dragonslayer-Edition : 0.9.7(Dragonslayer Edition V/3)


Anmerkung: Dies ist nur ein Auszug aus dem Source. Ein etwas älteres, abgespecktes Release ist für jeden Interessenten frei zum Download verfügbar. Allerdings würden wir uns über eine Anfrage freuen, in der die Serveradresse bzw. sonstiger Verwendungszweck aufgeführt sind, da wir gern wissen würden wohin unsere Version geht. Was wir uns unbedingt verbitten, ist Diebstahl unserer Arbeit ohne Nennung des Copyrights.
Falls beim Lesen des Source ein Bug entdeckt werden sollte, bitten wir um sofortige Meldung per Anfrage!


./village.php

zurück
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
<?php
/**
 * Der Bahnhofsplatz ist die zentrale Anlaufstelle des Spiels.
 * Von hier aus kommt man zu allen weiteren Spielebenen
 */

require_once 'common.php';

$show_invent true;

addcommentary();
checkday();

if (
$session['user']['alive']==0)
{
    
redirect('shades.php');
}
if(
$session['user']['prangerdays']>0){
    
redirect("pranger.php");
}

$sql='SELECT acctid1,acctid2,turn FROM pvp WHERE acctid1='.$session['user']['acctid'].' OR acctid2='.$session['user']['acctid'];
$result db_query($sql);
$row db_fetch_assoc($result);
if((
$row['acctid1']==$session['user']['acctid'] && $row['turn']==1) || ($row['acctid2']==$session['user']['acctid'] && $row['turn']==2))
{
    
redirect('pvparena.php');
}

if (
getsetting('automaster',1) && $session['user']['seenmaster']!=2)
{
    
$expreqd get_exp_required($session['user']['level'],$session['user']['dragonkills'],true);
    if (
$session['user']['experience']>$expreqd && $session['user']['level']<15)
    {
        
redirect('train.php?op=autochallenge');
    }
    elseif (
$session['user']['experience']>$expreqd && $session['user']['level']>=15 && e_rand(1,3) == )
    {
        
redirect('boss.php?boss=green_dragon&op=autochallenge');
    }
}

if (
$session['user']['location']>100// Reisemodus
{
    
redirect('seaport.php');
}

//Load specials
spc_get_special('village',1);

//    $session['user']['specialinc']='';
$session['user']['specialmisc']='';//salator: Das bitte drinlassen, nutze ich für Dunkle Gasse und Grabraub

clearoutput();

// Muss nach clearoutput stehen!
music_set('dorfplatz');

$w Weather::get_weather();
addnav('Hauptbahnhof','forest.php');
addnav('Wohnviertel','houses.php');
addnav('Marktplatz','market.php');

if ((
$access_control->su_check(access_control::SU_RIGHT_EXPEDITION_ENTER)) || ($session['user']['expedition']>0))
{
    
addnav('Militärs-Basis','expedition.php');
}

if ((
$session['user']['dragonkills']>0))
{
    
addnav('Firmen-Block','dg_main.php');
}
else
{
    
addnav('u?Raum des Lernens','library.php?op=rp_train');
}
addnav('Buraks Hood');
addnav('Kampfschule','train.php');
addnav("Zaubereischule","academy.php");
if (
getsetting('pvp',1))
{
    
addnav('Stadion','pvparena.php');
}
addnav('Askoaboän','prison.php');

addnav('Kneipen-Viertel');
if ((
$access_control->su_check(access_control::SU_RIGHT_EXPEDITION_ENTER)) || ($session['user']['expedition']>0))
{
    
addnav('Schenke zur Synchro','inn.php',true);
}
else
{
    
addnav('Schenke zur Synchro','inn.php',true);
}
addnav('Tubals Jägerhütte','lodge.php');
addnav('Rosengarten''gardens.php');
addnav('Untergrund-Bar''rock.php');

addnav('Freizeit-Zentrum');
addnav('Verwunschenes Schloss','abandoncastle.php',true);
addnav('Waldsee','pool.php');
addnav('Stadtamt','dorfamt.php');

addnav('`bSonstige Orte`b');
//Adding the Villageparty
if((getsetting ('lastparty',0)>time()) || getsetting('party_force_party',0) == 1)
{
    
addnav('Durchgeknalltes Coldmirror-Fantreffen','dorffest.php');
}
else
{
    
addnav('Die Festwiese','dorffest.php?op=meadow');
}
addnav('Der Friedhof &dagger;&dagger;','friedhof.php');
addnav('Das Stadttor','dorftor.php');
//if (getsetting('pvp',1))
//{
//    addnav('Spieler töten','pvp.php');
//}

addnav('Information');
addnav('`^Kathribliothek`0','library.php');
addnav('Einwohnerliste','list.php');
addnav('Neuigkeiten','news.php');
addnav('Javascript-Chat','changeChat.php');
if(
$session['user']['prefs']['showinvent'])
{
    
addnav('Dein Beutel','invent.php?r=1');
    
addnav('Profileinstellungen','prefs.php',false,true);
}

if(
$access_control->su_check(access_control::SU_RIGHT_GROTTO)) {
    
addnav('Admin');
    
addnav('X?`bAdmin Grotte`b','superuser.php');
}

if(
$access_control->su_check(access_control::SU_RIGHT_LIVE_DIE))
{
    
addnav('Lemming spielen','superuser.php?op=iwilldie',false,false,false,false,'Möchtest Du Dich wirklich von der hohen Klippe gen Ramius Stürzen?');
}

if (
$access_control->su_check(access_control::SU_RIGHT_DEV)) {
    if (@
file_exists('test.php'))
    {
        
addnav('Test','test.php',false,false,false,false);
    }
}
//if($access_control->su_check(access_control::SU_RIGHT_NEWDAY)) {
//    addnav('Neuer Tag (für SU)','superuser.php?op=newday',false,false,false,false,'Möchtest Du wirklich einen neuen Tag beginnen?');
//}
addnav('Logout');
addnav('In die Felder','login.php?op=logout',true);

page_header('Bahnhofsplatz');
$str_output .= '`c`b`@Bahnhofsplatz '.getsetting('townname','Atrahor').'s`0`b`c`n
`@Vor dir liegt der Bahnhofsplatz vom ehemaligen Bremen... Oder vielmehr das, was davon übrig geblieben ist. An der Nordseite des Platzes ist die finstere Ruine des Hauptbahnhofes zu erkennen, die mitlerweile von einem dichten Wald umgeben und sogar durchwachsen ist. 
In alle Richtungen führen von verschiedensten Wesen bevölkerte Wege und Pfade, über die du zu anderen Orten und Häusern '
.getsetting('townname','Atrahor').'s gelangst.
Unzählige Hauselfen tummeln sich herum und machen den Bewohnern unmoralische Angebote. In der Mitte des Platzes lädt ein Schinken-Baum dazu ein, dich an seinen Früchten zu bereichern. Seitwann es Schinken-Bäume gibt? Woher soll ich das wissen, jedenfalls steht da einer!`n
`^Ein Schild verbietet das Blankziehen von Waffen auf dem Bahnhofsplatz unter Androhung von Haftstrafen.`n
`@Ein alter, seniler Rapper steht am Rande des Platzes und rappt über die aktuellsten Geschehnisse:'
;
$sql "SELECT * FROM news WHERE onlyuser=0 ORDER BY newsid DESC LIMIT 1";
$result db_query($sql);
$row db_fetch_assoc($result);
$str_output .= '`n`n`c`i'.$row['newstext'].'`0`i`c`n';

switch(
e_rand(1,1500))
{
    case 
100 :
    case 
101 :
        if(
$session['user']['gems']<500)
        {
            
$str_output .= '`n`^Du findest einen Edelstein vor dir auf dem Boden, den du natürlich sofort einsteckst!`n`n`@';
            
$session['user']['gems']++;
        }
        else
        {
            
$str_output .= '`n`$Dir fällt ein Edelstein aus der Tasche, was du jedoch erst später bemerkst. Den Edelstein zu suchen ist aussichtslos, den hat sicher schon jemand anderes gefunden.`n`n`@';
            
$session['user']['gems']--;
        }
        break;
    case 
150 :
    case 
151 :
    case 
152 :
        if (
$session['user']['gold']>0)
        {
            
$goldlost=ceil($session['user']['gold']*0.15);
            
$str_output .= '`n`4Jemand rempelt dich an und entfernt sich unter wortreicher Entschuldigung rasch. Dann stellst du fest, dass man dir '.$goldlost.' Gold gestohlen hat!`n`n`@';
            
$session['user']['gold']-=$goldlost;
            
debuglog('wurde von Taschendieben um '.$goldlost.' Gold erleichtert');
        }
        break;
    case 
200 :
    case 
201 :
    case 
202 :
        if (
$session['user']['turns']>0)
        {
            
$str_output .= '`n`^Jemand kommt dir gut gelaunt entgegen gelaufen und reicht dir ein Ale. Deine Laune bessert sich dadurch und du hast heute eine Runde mehr!`n`n`@';
            
$session['user']['turns']++;
        }
        break;
    case 
250 :
    case 
251 :
        
$str_output .= '`n`4Jemand rennt eilig vor einer Stadtwache davon und stößt dich grob beiseite, da du ihm im Weg stehst. Du stürzt und landest mit dem Gesicht in einem Kuhfladen. Leute drehen sich zu dir um und zeigen lachend auf dich. Du verlierst einen Charmepunkt!`@`n`n';
        
$session['user']['charm']=max(0,$session['user']['charm']-1);
        break;
}

if (
getsetting('activategamedate','0')==1)
{
    
$str_output .= '`IWir schreiben den `y'.getgamedate().'`I im kaddistischen Zeitalter.`n';
}
$str_output .= '`IDie magische Sonnenuhr zeigt `y'.getgametime(true).'`I. ';
$str_output .= '`IDas heutige Wetter ist `y'.$w['name'].'`I.`0 ';

//Abfrage auf best_one=1 gesetzt, damit es keine Probleme mit best_one=2 für untote Knappen gibt
$sql 'SELECT disciples.name AS name,disciples.level AS level ,accounts.name AS master FROM disciples LEFT JOIN accounts ON accounts.acctid=disciples.master WHERE best_one=1 LIMIT 1';
$result db_query($sql);
if (
db_num_rows($result)>0) {
    
$rowk db_fetch_assoc($result);

    
$str_output .= '`n`n`0Eine kleine Statue ehrt `q'.$rowk['name'].'`0, einen Knappen der '.$rowk['level'].'. Stufe, der zusammen mit '.$rowk['master'].'`0 eine Heldentat vollbrachte.';
}

$str_output .= '`n`n`0In der Nähe reden einige Stadtbewohner:`n';

output($str_output);
viewcommentary('village','Hinzufügen',25);
page_footer();
?>
0.9.7(Dragonslayer Edition V/3)