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!


./tittytwister.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:
<?php
/************************************************
* Nachtbar "Titty Twister", ein Ort für Gesindel, Vampire und Dämonen
* Autor: Salator (salator [-[at]-] gmx.de)
* für lotgd Dragonslayer Version 2.5
*
* special greetings to X-Fusion, deine Musik ist sehr inspirierend beim Programmieren der Nachtbar :)
*************************************************/

define(LOCNAME,'`4Nachtbar `$"Güldenes Andúril"`0'); //Name der Bar
define(BARTENDER,'José'); //Name des Barkeepers
define(OPENTIME,'17:00'); //Startzeit  der Bar
define(CLOSETIME,'07:00'); //Schliesszeit der Bar
define(SUNRISE,'06:00'); //Zeit für die Ankündigung der Schließung

require_once('common.php');
require_once(
LIB_PATH.'board.lib.php');
checkday();
addcommentary();
page_header('Die Nachtbar');
//music_set ('tittytwister'); //X-Fusion - Archenemys Revenge
//admin_output('specialmisc='.$session['user']['specialmisc'].'`n',false);
switch ($_GET['op'])
{
    case 
'seeddealer':
    { 
//illegale Substanzen
        
output('`c`b`(Der finstere Wanderdruide`c`b`n');

        if (
$_GET['sop']=='')
        {
            
output('`hEin fremder Druide sitzt mit tief ins Gesicht gezogener Kapuze etwas abseits an einem Tisch und raucht etwas, was einen eigentümlichen Geruch verbreitet. Niemand kennt seinen richtigen Namen, alle nennen ihn nur den "Hempel". Man sagt, er handle mit Pflanzen, welche für heidnische Rituale benötigt werden, die nicht das Wohlwollen der Obrigkeit finden.`n`n`0');
            
addnav('Waren ansehen','tittytwister.php?op=seeddealer&sop=browse');
        }

        else if (
$_GET['sop']=='browse')
        {
            
$sql 'SELECT id FROM items_classes WHERE class_name="Saatgut"';
            
$result db_query($sql);
            
$rowc db_fetch_assoc($result);

              
$sql 'SELECT tpl_id,tpl_name,tpl_description,tpl_gold,tpl_gems
                FROM items_tpl
                WHERE tpl_class='
.$rowc['id'].'
                AND vendor_new=0
                AND spellshop=0
                OR tpl_id IN ("tollkirsch","wermut","hlblkraut")
                ORDER BY tpl_class DESC, tpl_name ASC'
;
            
$result db_query($sql);
            
$str_out='`hDer düstere Fremde kann dir diese Dinge verkaufen:`0';

            
$str_out.='`n`n<table border="0" cellpadding="0" width=95%>';
            
$str_out.="<tr class='trhead'><th>Name</th><th>Beschreibung</th><th align='right'>Preis</th></tr>";

            for (
$i=0;$i<db_num_rows($result);$i++)
            {
                  
$row db_fetch_assoc($result);
                
$bgcolor=($bgcolor=='trdark'?'trlight':'trdark');
                
$str_out.='<tr class="'.$bgcolor.'">
                <td valign="top">'
.create_lnk($row['tpl_name'],"tittytwister.php?op=seeddealer&sop=buy&id=".$row['tpl_id']).'</td>
                <td>'
.$row['tpl_description'].'</td>
                <td align="right" valign="top">`^'
.$row['tpl_gold'].'&nbsp;Gold'.($row['tpl_gems']>0?'<br>`#'.$row['tpl_gems'].'&nbsp;Gemmen':'').'`0</td>
                </tr>'
;
            }
            
$str_out.='</table>';

            
output($str_out);
            
$show_invent true;
        }

        else if (
$_GET['sop']=="buy")
        {
              
$sql 'SELECT * FROM items_tpl WHERE tpl_id="'.$_GET['id'].'"';
            
$result db_query($sql);
            if (
db_num_rows($result)==0)
            {
                  
output('`qDu denkst, dir etwas ganz Besonderes ausgesucht zu haben, doch der düstere Fremde meint nur: "`QTut mir leid, aber mit '.$_GET['id'].' kann ich nicht dienen.`q"');
                
addnav('Nochmal suchen','tittytwister.php?op=seeddealer&sop=browse');
            }
            else
            {
                  
$row db_fetch_assoc($result);
                if (
$row['tpl_gold']>$session['user']['gold'] || $row['tpl_gems']>$session['user']['gems'])
                {
                    
output('`$Das kannst du dir nicht leisten!`0');
                }
                else
                {
                    
output('`qDu übergibst dem finsteren Druiden einen kleinen Beutel mit Gold und bekommst dafür einen kleinen Beutel mit '.$row['tpl_name'].'`q.
                    `n`n"`QEin sehr guter Kauf, '
.($session['user']['sex']?'Madame':'Meister').', '.$row['tpl_description'].'
                    `nUnd wenn Ihr wieder etwas braucht, zögert nicht, mich anzusprechen.`q"'
);
                     
$session['user']['gold']-=$row['tpl_gold'];
                     
$session['user']['gems']-=$row['tpl_gems'];

                    
$row['tpl_gold'] = round($row['tpl_gold'] * 0.75);
                    
item_add($session['user']['acctid'],'',$row);

                    
addnav('Mehr kaufen','tittytwister.php?op=seeddealer&sop=browse');
                }
            }
        }
    break;
    }

    case 
'regalia':
    { 
//Insignien-Schwarzmarkt
        
if($_GET['act']=='buy')
        {
            
output('`mDu deutest auf die Kiste mit Insigniensplittern und gibst Veri zu verstehen, dass du einen solchen kaufen möchtest. Veri sagt zu dir: "`F');
            if(
$session['user']['gems']>2)
            {
                if(
item_count('tpl_id=\'insgnteil\' AND owner='.$session['user']['acctid'])<2)
                {
                    
$now=time();
                    
$sql='SELECT last_regalia_blackmarket FROM dg_guilds WHERE guildid='.$session['user']['guildid'];
                    
$row=db_fetch_assoc(db_query($sql));
                    
$buy_possible=strtotime($row['last_regalia_blackmarket'])+(172800/getsetting('daysperday',4)); //2 Spieltage
                    
if($row['last_regalia_buy']=='0000-00-00 00:00:00' || $buy_possible<$now)
                    {
                        
$sql='UPDATE dg_guilds SET last_regalia_blackmarket="'.date('Y-m-d H:i:s',$now).'" WHERE guildid='.$session['user']['guildid'];
                        
db_query($sql);
                        
item_add($session['user']['acctid'],'insgnteil');
                        
output('So a Scherbli willscht ham? A guad, hier hosd aans. Gibscht ma dreie von dera Edels un guad is."`n`mDu tust wie geheißen 3 Edelsteine auf den Tisch und schnappst dir den Splitter. Zufrieden verlässt du die Kammer.');
                        
//in german: Einen Insigniensplitter willst du haben? Na gut, gib mir 3 Edelsteine und du bekommst einen.
                        
$session['user']['gems']-=3;

                        
debuglog('kaufte Insigniensplitter in Dunkler Gasse');

                    }
                    else 
output('Joa weischd, von deina Sippe war nauer scho aaner doa un wolld a Scherbli ham. Un i kann ned zulassn, dass do a greeßre Sammlung is wie meene. Derwegen gibsch heit keen fir dich."`n`mUnverrichteter Dinge ziehst du weiter.');
                    
//in german: Ja weißt du, von deiner Gilde war neulich schon einer da. Und ich kann nicht zulassen daß da eine größere Sammlung ist als meine. Deswegen gibt es heute keinen Insigniensplitter für dich.
                    
$session['buyregalia']=2;
                }
                else
                {
                    
output('Die Dinger kannst do garned tragen!"`n`mDu siehst ein, dass die wirkich recht schwer sind, du hast ja schon einen davon im Beutel.');
                }
            }
            else
            {
                
output('Jo weischd, i verschenk de Scherblis ned. Da mussd scho a poar Edels hertun."');
            }
        }
        elseif(
$_GET['act']=='sell')
        {
            if(
item_delete('tpl_id=\'insgnteil\' AND owner='.$session['user']['acctid'],1))
            {
                
output('`mDu bietest Veri einen Insigniensplitter aus deinem Beutel an. Veri betrachtet das Teil mit Kennerblick und sagt dann `F"Guad, i kauf\'n." `mOhne viele weitere Worte gibt er dir ein Säckchen mit 1000 Goldstücken.');
                
$session['user']['gold']+=1000;
                if(
$session['user']['guildid'])
                {
                    
insertcommentary(1,'/msg `7Es wurde beobachtet wie '.$session['user']['name'].'`7 einen Insigniensplitter verhökert hat!','guild-'.$session['user']['guildid']);
                }
            }
            else
            {
                
output('`mMit ernster Mine greifst du in deinen Beutel und bietest Veri deinen unsichtbaren Insigniensplitter zum Kauf an.
                `nVeri gibt dir dafür einen ebenso unsichtbaren Haufen Goldmünzen.
                `n`nAls du die Kammer verlassen hast, hörst du die Räuber schallend lachen. Scheinbar hast du dich gerade zum Narren gemacht...'
);
            }
        }
        else
        {
            
output('`mDu folgst einem langen Gang, an dessen Ende sich der Versammlungsraum von Harpax Veris Räuberbande befindet. Oder eigentlich wäre die Bezeichnung "Schatzkammer" treffender, denn überall sind Kisten mit Gold, Edelsteinen und sogar Insigniensplittern gestapelt.
            `nDie Räuber ziehen ihre Waffen, als du eintrittst, stecken sie aber wieder weg, als Veri ihnen ein Zeichen gibt. Denn von dir geht ja keine Gefahr aus, du willst nur handeln.`n'
);
            if(!
$session['buyregalia'])
            {
                
$session['buyregalia']=2;
                
$guildlimit=ceil(getsetting('dgguildmax',10)/4);
                
$sql='SELECT guildid FROM dg_guilds ORDER BY reputation ASC, points ASC LIMIT '.$guildlimit;
                
$result=db_query($sql);
                while (
$row=db_fetch_assoc($result))
                {
                    if(
$session['user']['guildid']==$row['guildid'])
                    {
                        
output('`mDir wird nun auch klar, warum deine Gilde nicht im Ansehen des Königs steigt. Offenbar hat der Gnom mit seiner Räuberbande die Paladine überfallen und eure mühsam produzierten Insignien geraubt. Und nun bietet er dir die Splitter zum Verkauf an...');
                        
$session['buyregalia']=1;
                        break;
                    }
                }
            }
        }
        if(
$session['buyregalia']==1addnav('k?Insigniensplitter kaufen','tittytwister.php?op=regalia&act=buy');
        
addnav('v?Insigniensplitter verkaufen','tittytwister.php?op=regalia&act=sell');
        if(
$access_control->su_check(access_control::SU_RIGHT_DEBUG))
        {
            
addnav('Superuser');
            
addnav('Insigniensplitter kaufen','tittytwister.php?op=regalia&act=buy',false,false,false,false);
        }
    break;
    }

    default:
    { 
//Nachtbar Startseite bzw tagsüber nur Chatfeld
        
$time getgametime(true);
        
output('`c`b'.LOCNAME.'`b`c
        `n`mDämmriges Licht dringt durch die schmutzigen Fenster der Schenke, die man nur durch den unverkennbaren Gestank des Ale und die kräftigen Stimme, die auf die dunkle Gasse dringen, als Schenke erkennt. Doch sobald man den Raum betreten hat, ist der Unterschied zur Drachenschenke unverkennbar. Viele unheimliche Gestalten haben sich hier versammelt, denen manch gesetzestreuer Bürger lieber aus dem Weg gehen würde. Der Umgangston ist rauh und immer wieder kommt es hier und da zu kleinen Schlägereien, bei denen keine Rücksicht auf die schäbige Einrichtung des Schankraums genommen wird. Zur Unterhaltung der Besucher tanzt eine sehr leichtbekleidete Brünette auf einer langen Tafel.
        `nDer Schenkenbesitzer `Q'
.BARTENDER.'`m '.(e_rand(1,3)==1?'entleert währenddessen eine weitere Flasche seines selbstgebrannten Schnapses in die Gläser.':'scheint davon aber nur gelangweilt zu sein und schenkt niemanden sonderlich viel Aufmerksamkeit.').'`n`n');
        if (
$time SUNRISE && $time CLOSETIMEoutput('`(Draußen beginnt es zu dämmern. Zeit, auszutrinken und nach Hause zu gehen.`n`n');
        
viewcommentary('spelunke','Gröhlen:',15,'gröhlt');//english: den of thieves
        
if (getsetting('vendor',0)==1)
        {
            
addnav('u?Wanderdruide','tittytwister.php?op=seeddealer');
        }
        else if (
access_control::is_superuser())
        {
            
addnav('u?Wanderdruide(SU)','tittytwister.php?op=seeddealer');
        }
        if(
$session['user']['guildid']) addnav('H?Kammer von Harpax Veri','tittytwister.php?op=regalia');
    }
}
if(
$session['user']['alive'] && !$fight)
{
addnav('Zurück');
    if(
$_GET['op'])
    {
        
addnav('B?In die Bar','tittytwister.php');
    }
    
addnav('G?Zur dunklen Gasse','slums.php');
    if(!
$_GET['op'])
    {
        
addnav('W?Zum Wohnviertel','houses.php');
        
addnav('D?Zum Dorf','village.php');
    }
}
page_footer();
?>
0.9.7(DS V3) Ithil-Edition