Quellcode der Dragonslayer-Edition
Quellcode der Dragonslayer-Edition: 0.9.7(DS V3) Ithil-Edition


Anmerkung: Dies ist nur ein Auszug aus dem Source. Ein etwas älteres, abgespecktes Release der Dragonslayer-Edition ist für jeden Interessenten frei zum Download verfügbar. 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:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
<?php
/**
 * Der Dorfplatz 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');
    }
}

//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();

// Real Datum laden         Shaiya
$realdatum time();
$datum date('d.m',$realdatum);
$wann 1970;                             //Das Datum vor wie vielen Jahren? 
$start mktime(0,0,0,1,1,2009);         //Irgendwo solls ja anfange, ne? 
$jetzt time();                         //Momentane Zeit 
$diff getdate($jetzt-$start);            //Die Differenz  
$y $diff['year'] - $wann;                //und das Jahr 
if(strlen($y) == 1)
    
$y "0" $y;
$date=$datum.".".$y
// Real Datum ende

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

$w Weather::get_weather();
addnav('');
addnav('W?Wald','forest.php');
addnav('o?Wohnviertel','houses.php');
addnav('M?Marktplatz','market.php');
addnav('e?Reisen','reisen.php');


if ((
$access_control->su_check(access_control::SU_RIGHT_EXPEDITION_ENTER)) || ($session['user']['expedition']>0))
{
    
addnav('x?Expedition','expedition.php');
}

if ((
$session['user']['dragonkills']>0))
{
    
addnav('G?Gildenviertel','dg_main.php');
}
else
{
    
addnav('u?Raum des Lernens','library.php?op=rp_train');
}
//if($access_control->su_check(access_control::SU_RIGHT_GROTTO)) 
//{addnav('Villa (SU)','villa.php');}

addnav('Klingengasse');
addnav('T?Trainingslager','train.php');
addnav("c?Warchilds Akademie","academy.php");
if (
getsetting('pvp',1))
{
    
addnav('A?Die Arena','pvparena.php');
}
addnav('K?Der Kerker','prison.php');

addnav('Tavernenstraße');
if ((
$access_control->su_check(access_control::SU_RIGHT_EXPEDITION_ENTER)) || ($session['user']['expedition']>0))
{
    
addnav('D?Drachenschenke','inn.php',true);
}
else
{
    
addnav('D?Drachenschenke','inn.php',true);
}
addnav('J?Jägerhütte','lodge.php');
addnav('r?Garten''gardens.php');
addnav('Burgruine''burgruine.php');
addnav('F?Seltsamer Felsen''rock.php');

addnav('Abenteurergasse');
addnav('V?Verlassenes Schloss','abandoncastle.php',true);
addnav('s?Waldsee','pool.php');
//addnav('Unter die Erde','tithven.php');
addnav('-?Dorfamt','dorfamt.php');

addnav('`bSonstige Orte`b');

$d=date('d');
$m=date('m');
// 27.04 - 03.05
if( ($d 26 && $m == )|| ($d && $m == ))
    
addnav('Zum `gF`pr`rü`Eh`xl`Ri`xn`Eg`rs`gf`Ge`ks`@t`0','goetterfeste.php?op=fruehlingsfest');
// 13.7- 29.7
if( ($d 12 && $m == )|| ($d 30 && $m == ))
    
addnav('Zum `dS`qo`^mm`qe`dr`Qfe`Dst`0','goetterfeste.php?op=sommerfest');
// 25. 10.- 2.11
if( ($d 24 && $m == 10 )|| ($d && $m == 11 ))
    
addnav('Zum `UH`ue`}r`Ib`}s`ut`Ufe`mst`0','goetterfeste.php?op=herbstfest');
// 29.12.- 2.1
if( ($d 28 && $m == 12 )|| ($d && $m == ))
    
addnav('Zum `&Winterfest`0','goetterfeste.php?op=winterfest');
    
//Adding the Villageparty
if((getsetting ('lastparty',0)>time()) || getsetting('party_force_party',0) == 1)
{
    
addnav('P?Das Dorffest','dorffest.php');
}
else
{
    
addnav('i?Die Festwiese','dorffest.php?op=meadow');
}
addnav('h?Der Friedhof &dagger;&dagger;','friedhof.php');
addnav('.?Das Dorftor','dorftor.php');
/*if($session['user']['prefs']['linktitel'] && $session['user']['quicknav'])
{
    $link = explode('?',$session['user']['quicknav']);
    if (file_exists($link[0]))
    {
        addnav($session['user']['prefs']['linktitel'],$session['user']['quicknav']);
    }
    else
    {
        addnav('Quick Nav','');
    }
}
else
{
    addnav('Quick Nav','');
}*/
if($session['user']['hastausendwege']==true)
{
    
addnav('Ort der tausend Wege','tausendwege.php');
}


addnav('Information'.$session['user']['hastausendwege']);
addnav('D?`^Drachenbücherei`0','library.php');
//Geb zusatz Shaiya
/*$realdatum = time();
        $day = date('d',$realdatum);
        if($day == 21)
        {
            addnav("Geburstagfeier","geb.php");
        }    */
//Geb zusatz Shaiya ENDE
addnav('l?Einwohnerliste','list.php');
addnav('`^Zeitung`0','newspaper.php');
addnav('N?Neuigkeiten','news.php');
addnav('Ruhmeshalle','hof.php');
addnav('RP-Account Bio','edit_bio_rpaccount.php');
addnav('Bio-Editor','http://www.ithil-lotgd.de/biowriter',false,false,true,$bool_hotkeys);
addnav('Forum','http://forum.ithil-lotgd.de',false,false,true,$bool_hotkeys);
addnav('Homepage','http://hp.ithil-lotgd.de',false,false,true,$bool_hotkeys);
//addnav('XXX','xxx.php');

if($session['user']['prefs']['showinvent'])
{
    
addnav('B?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');
    
addnav('Fotos','fotos.php?op=0');
}

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 Ilyas Stürzen?');
}

if (
$access_control->su_check(access_control::SU_RIGHT_DEV) || $session['user']['acctid']==63 || $session['user']['acctid']==106 || $session['user']['acctid']==102 || $session['user']['acctid']==63) {
    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('Dorfplatz');
/*$str_output .= '`c`b`@Dorfplatz '.getsetting('townname','Atrahor').'s`0`b`c`n
`@Vor dir liegt der Dorfplatz: An seiner Nordseite grenzt er zwar direkt an den Wald, wird aber auch von großen Gebäuden umgeben.
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 Bänke bieten dir eine Gelegenheit zur Rast und in der Mitte des Platzes lädt ein Brunnen dazu ein, dich mit klarem Quellwasser zu erfrischen.`n
`^Ein Schild verbietet das Blankziehen von Waffen auf dem Dorfplatz unter Androhung von Kerkerhaft.`n
`@Ein ungewöhnlicher Felsen am Platzrand zeigt immer die neusten Geschehnisse im ganzen Dorf:';*/


// belagerung.php Ergänzugn (Shaiya)
//Werte aus Datenbank lesen
    
$sql 'SELECT     status
                from belagerung;'
;
                
$res db_query($sql);
                
$a db_fetch_assoc($res);
                
$status $a['status'];
/*
0=neutrag
1=angriff
2=gewonnen
3=verloren
*/
if($status==3// Verloren
{
    
$str_output .='`c`b`JD`2o`@r`2f`Jp`2l`@a`2t`Jz `2I`@t`2h`Ji`2l`@s`0`b`c`n
    Der Dorfplatz gleicht nichts was du zuvor gesehen hast. Statt geschäftigem Treiben, welches sonst hier stattfindet lag eine ungewöhnliche Stille über dem Platz, kaum ein Bewohner traute sich mehr aus seinem Haus heraus seid dem die Straßen voller Söldner waren. Aus der Schenke hörst du lautes Grölen und fremde Musik die die Söldner aus ihrer Heimat mitgebracht hatten. `9D`wa`Fri`wa`9n`0 tat dir bei dem Gedanken diese schreckliche Musik spielen zu müssen, Leid, was sie wohl mit `lN`Lo`Xel`Ll`le`0t machen würden, daran wolltest du gar nicht denken. Einige Blicke liegen nun auf dir und du fühlst den Hass in dir welchen du verspürst wann immer du einen dieser Bastarde siehst.'
;
}
else 
// Normale beschreibung
{
    
$str_output .='`c`b`JD`2o`@r`2f`Jp`2l`@a`2t`Jz `2I`@t`2h`Ji`2l`@s`0`b`c`n
`PVor `2dir `kliegt `2der `PDorfplatz: `2An `kseiner `2Nordseite `Pgrenzt `2er `kzwar `2direkt `Pan `2den `kWald, `2wird `Paber `2auch `kvon `2großen `PGebäuden `2umgeben. `kIn `2alle `PRichtungen `2führen `kvon `2verschiedensten `PWesen `2bevölkerte `kWege `2und `PPfade, `2über `kdie `2du `Pzu `2anderen `kOrten `2und `PHäusern `2It`@hi`2ls `2gelangst. `kUnzählige `2Bänke `Pbieten `2dir `keine `2Gelegenheit `Pzur `2Rast `kund `2in `Pder `2Mitte `kdes `2Platzes `Plädt `2ein `kBrunnen `2dazu `Pein, `2dich `kmit `2klarem `!Qu`Cel`!lw`Cas`!se`Cr `Pzu `2erfrischen.`n`n
`DEin `^Schild `Dverbietet `^das `DBlankziehen `^von `DWaffen `^auf `Ddem `^Dorfplatz `Dunter `^Androhung `Dvon `^Kerkerhaft.`n
`PEin `2ungewöhnlicher `kFelsen `2am `PPlatzrand `2zeigt `kimmer `2die `Pneusten `2Geschehnisse `kim `2ganzen `PDorf:'
;

    if(
$status==1// Angriff
    
$str_output .='`n`n`$`bDas Dorf wird Angegriffen!!`b';
}
$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 bei Seite, 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'.$datum.'.'.$y.' `Iim Zeitalter des Mondes.`0`n';

    
//$str_output .= '`IWir schreiben den `y'.getgamedate().'`I im Zeitalter des Drachen.`n'; // Spielzeit anzeige
}
$date date("G:i");
$str_output .= '`IDie magische Sonnenuhr zeigt `y'.$date.'`I. ';
//$str_output .= '`IDie magische Sonnenuhr zeigt `y'.getgametime(true).'`I. ';  // Spielzeit anzeige
$str_output .= '`IDas momentane Wetter: `y'.$w['name'].'`I. ';

//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 Dorfbewohner:`n';

output($str_output);
viewcommentary('village','Hinzufügen',25);
page_footer();
?>
0.9.7(DS V3) Ithil-Edition