anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 15:17

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 66 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste
Autor Nachricht
BeitragVerfasst: Fr 07 Apr, 2006 20:57 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
So. Endlich ist die Grundfassung meines Marktes fertig. Bekannt als "Die Markthalle der Völker" machten mal Möglichkeiten die Runde, Items zu kaufen und zu verkaufen.
Doch hat es mich immer wieder genervt, dass diese sehr buggy waren. In letzter Zeit hat es mich sogar genervt, dass alle Versionen, die ich kannte, mit vielen, vielen zusätzlichen Tabellen arbeiteten, wobei nach meinen Vorstellungen genau eine von nöten gewesen wäre.
Meiner Idee folgend, hab ich dieses Script nun in einer Roh-Fassung fertig geschrieben und veröffentliche es hiermit, um Bugs zu finden, da ich kein wirklich besuchtes LoGD habe (=>Pherae, Homeserver).

Doch bevor ich grossartig mit der Einbauanleitung beginne, zuerst ein paar Bedinnungen, denen man zustimmen muss, um das Script gebrauchen zu dürfen:
    Es gibt gewisse Stellen, die weder umgeschrieben werden dürfen, noch aus dem Script entfernt werden.
    Das gilt für die gesammte Gedenkttafel!
    Ebenso darf der Link dahingehend nicht entfernt werden, danke.
    Ansonsten ist eine beliebige Freiheit in den Scripten vorhanden, es darf geänder und verändert werden, was nicht speziell markiert wurde.


Funktionen:
- Item können für x Gold und x Edelsteine angeboten werden (Rohversion nur für die Kategorie Möbel)
- 5 neuste Gegenstände beim Haupteingang der Halle
- Sortiermöglichkeiten nach allen Spalten beim betrachten von Inventar und den Angeboten (->Abgesehen von den 5 neusten!)
- Ort für Rollenspiel bei der Gedenktafel

Kommt noch... Irgendwann:
- Seitenfunktionen (Ja, ich weiss... Eigentlich sollte das jetzt schon dabei sein, aber habs dann doch vergessen)
- Itemlöschfunktion für Admins
- Zurückziehmöglichkeit für Möbel (Naja, gibt ja auch noch nicht mehr *g*)


SQL:
$this->bbcode_second_pass_code('', 'CREATE TABLE `itemtransfer` (
`itemid` INT( 11 ) UNSIGNED NOT NULL ,
`seller` INT( 11 ) UNSIGNED NOT NULL ,
`buyer` INT( 11 ) UNSIGNED NOT NULL ,
`gold` INT( 11 ) UNSIGNED NOT NULL ,
`gems` INT( 11 ) UNSIGNED NOT NULL ,
`entrydate` DATETIME NOT NULL ,
PRIMARY KEY ( `itemid` )
) TYPE = MYISAM ;')
(In der Datei steht noch ein weiterer Query, den ich mir aufgeschrieben habe, aber noch nicht gebraucht wird!)

Anleitung:
Auch hier will ich mich kurz fassen.
[php]## village.php, suche:
addnav("Pegasus Rüstungen","armor.php");
## Füge danach ein:
addnav('Der grosse Markt','markt.php');


## newday.php, Suche:
$session['user']['drunkenness']=0;
$session['user']['bounties']=0;
## Füge danach ein:
// Markt - Transferbugloses verkaufen
Require_once './lib/markt-funktionen.php';
define('ACCTID',$session['user']['acctid']);

$selleditems = markt_query_selleditems();

if($selleditems['rows'] > 0)
{
$goldplus = 0;
$gemsplus = 0;

while($row = db_fetch_assoc($selleditems['result']))
{
$body = '`5'.$row['buyername'].'`3 hat auf dem Markt dein Item `^'.$row['name'].'`3 gesehen und hat es für `^'
.$row['gold'].' Gold`3 und `5'.$row['gems'].' Edelsteine`3 gekauft. Du bist glücklich über dein Verdientes Geld.';

systemmail(ACCTID,'`^Item verkauft!',$body,-1);

markt_delete_selleditem($row['itemid']);

$goldplus+= $row['gold'];
$gemsplus+= $row['gems'];
unset($row);
}

$session['user']['gold']+=$goldplus;
$session['user']['gems']+=$gemsplus;
output('`n`n`3Du hast heute `^'.$goldplus.' Gold`3 und `5'.$gemsplus.' Edelsteine`3 durch den Verkauf von Gegenständen in der Halle verdient!`0');
}

unset($goldplus,$gemsplus,$selleditems);
// Ende

// Update: 13. Mai 2006, wichtig ab der neuen Version:
// Öffne prefs.php, zerstöre da alle Navigationspunkte die ins Inventar führen!
// Öffne invhandlet.php, Suche:
}else if ($_GET['op']=="house") {

if (db_num_rows(db_query("SELECT id FROM items WHERE name='".stripslashes($item[name])."' AND class='Möbel' AND owner=$item[owner]"))>0){
db_query("DELETE FROM items WHERE name='".stripslashes($item[name])."' AND class='Möbel' AND owner=$item[owner]");
output("Du hast `q$item[name]`Q schon im Haus. Kurzerhand fliegt `q$item[name]`Q raus und wird duch das neuere Stück ersetzt.");
}else{
output("`QDu suchst für `q$item[name]`Q einen Ehrenplatz in deinem Haus, an dem `q$item[name]`Q von jetzt an den Staub fangen wird.");
}
db_query("UPDATE items SET class='Möbel',gold=1,gems=0,value1=".$session[user][house]." WHERE id=$_GET[id]");
// Füge unmittelbar danach ein:
}else if ($_GET['op']=="house2") {

if (db_num_rows(db_query("SELECT id FROM items WHERE name='".stripslashes($item[name])."' AND class='Möbel' AND owner=$item[owner]"))>1){
db_query("DELETE FROM items WHERE name='".stripslashes($item[name])."' AND class='Möbel' AND owner=$item[owner]");
output("Du hast `q$item[name]`Q schon im Haus. Kurzerhand fliegt `q$item[name]`Q raus und wird duch das neuere Stück ersetzt.");
}else{
output("`QDu suchst für `q$item[name]`Q einen Ehrenplatz in deinem Haus, an dem `q$item[name]`Q von jetzt an den Staub fangen wird.");
}
db_query("UPDATE items SET class='Möbel',gold=1,gems=0,value1=".$session[user][house]." WHERE id=$_GET[id]");
[/php]

Und nun, die zip ins Root-Verzeichnis entpacken, und los gehts :)


(Ich glaube, ich hab nichts vergessen... Wenn ich was vergessen hab, sagt es nur, dann bearbeite ich den Beitrag *g*)


Dateianhänge:
Dateikommentar: Version 0.5b Beta
markt.zip [14.04 KIB]
1118-mal heruntergeladen


Zuletzt geändert von Eliwood am So 21 Mai, 2006 11:41, insgesamt 3-mal geändert.
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 07 Apr, 2006 21:07 
Offline
Held
Held
Benutzeravatar

Registriert: Sa 10 Sep, 2005 11:26
Beiträge: 248
Wohnort: NRW
Habe gerade zwar keine zeit es mir anzugucken oder einzubauen aber werde ich nachhohlen. Ich wette dieses script ist genauso gut wie die anderen von dir Eliwood :D Sind ja schon ne ganze Menge :spam:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 07 Apr, 2006 21:15 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 28 Aug, 2004 18:48
Beiträge: 1712
jop wie besprochen upp ich es natürlich in Sili um bugs zu finden (ich bezweifel aber das finden *gg* )


lg

_________________
~Inaktiv und Abwesend solange Mysql hier Moderatorenrechte hat~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 07 Apr, 2006 21:39 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Update

[php]function yeoldemail($login,$return = false)
{
$ausgabe = '<a href="mail.php?op=write&to='.$login.'" target="_blank" onClick="'
.popup("mail.php?op=write&to=".$login)
.';return false;\">'
.'<img src="images/newscroll.GIF" width="16" height="16" alt="Mail schreiben" border="0" />'
.'</a> ';

if($return === false) rawoutput($ausgabe);
else return $ausgabe;
}[/php]

Fügt folgendes in eure common.php, oder in die markt-funktionen.php ein, um volle FUnktionalität zu gewährleisten.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 10 Apr, 2006 12:21 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: So 19 Feb, 2006 17:06
Beiträge: 39
LoGD: http://logd.gbzoholiker.de/
kurze frage, werde mir dieses super script denke ich mal auch installieren, aber macht der wanderhändler eigentlich noch sinn wenn man die markthalle hat?

gruss

_________________
Mein kleiner RP-Server


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 10 Apr, 2006 15:41 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Athelas hat geschrieben:
kurze frage, werde mir dieses super script denke ich mal auch installieren, aber macht der wanderhändler eigentlich noch sinn wenn man die markthalle hat?

gruss


Wenn du den Wanderhändler wegnimmst, von wo sollen die Möbel dann kommen..? *g*
Und zudem bringt das verkaufen von SPieler zu Spieler sicher mehr Gold oder Edelsteine ein, als der Verkaufen beim Wanderhändler.
Und dann muss man wiederun aufpassen, dass man nicht zu teuer wird, weil sonst das Möbelstück beim Wanderhändler wieder teurer wird... *g

Und es wird wahrscheinlich noch mehr am Marktplatz gemacht, zum Beispiel einen Handel für Schmuck etc. :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo 10 Apr, 2006 17:15 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: So 19 Feb, 2006 17:06
Beiträge: 39
LoGD: http://logd.gbzoholiker.de/
axo dann hatte ich das falsch verstanden, es kam so rüber das man dort die möbel kaufen kann.

_________________
Mein kleiner RP-Server


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 13 Apr, 2006 16:53 
Offline
Eingeweihter
Eingeweihter

Registriert: Sa 19 Mär, 2005 14:33
Beiträge: 78
Wohnort: Unna/NRW
LoGD: http://www.firedragonfly.de/underworld
ham kevz und du damals nicht die markthalle gemacht? ich mein er bastelt auch an einer neuen version...egal ich baus mal ein....


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 02 Mai, 2006 11:19 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Also meine Spieler haben mir soeben berichtet, dass zwar alles super funktioniert, allerdings wenn sie dann das Möbelsück verkauft hatten, es immer noch im Haus steht, wenn sie es auch nicht mehr verkaufen können...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 13 Mai, 2006 12:00 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Tatsächlich :shock:
Okay... Da muss ich mir was überlegen. Hab nicht gemerkt dass "value1" die Hausnummer bekommt... Argh.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 13 Mai, 2006 12:17 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 05 Sep, 2005 08:04
Beiträge: 199
Wohnort: zuhause
also erstmal muss ich sagen das der markt einfach genial ist :wink:


nun hab ich noch ein verbesserungsvorschlag (wenn sowas überhaupt machbar ist)

meine user würden gerne mit sachen handeln die sie ihren tieren zum mampfen geben können und auch glasfiguren etc verkaufen die der wanderhändler auch nimmt aber nicht anbietet ... sprich alles was man so im wald findet was keine waffe oder rüstung ist.

da ich überhaupt keine ahnung habe machbar wäre setz ich das einfach mal ganz frech hier rein :)

_________________
Andunas
Source
... um Grammatikfehler auszuschliessen, braucht man lediglich auf der Tastatreier sdwk, ejlf kwew end mggläuttz und sdjk..


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 13 Mai, 2006 12:20 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
Wäre sicher wohl machbar.. man müsste wohl nur die anderen Klasenn anpassen, also auch die Beute Klassen anfügen oder so

Beim hänler klappts ja auch^^ (auch wenn der auch waffen kauft)

_________________
Mehr oder minder inaktiv


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa 13 Mai, 2006 13:07 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Update auf Version 0.5

- Bugfix an der Grundstruktur
- Bugfix beim Möbel kaufen (Achtung! Um den Fix zu vervollständigen muss das enthaltene Inventar anstelle des alten Installiert werden!)
- Verkauf/Kaufmöglichkeit für Schmuck und Beute dzaugefügt (Für Beute: Danke an Sir_No für die Idee

Alle dateien Hochladen & Ersetzen. inventory.php mit "addnav('Inventar','inventory.php'); entsprechend verlinken.

@ flash: Nein, das war Meteora und Kevz. Dies ist meine eigene Produktion vollkommen unabhängig von den (verbuggten) Versionen der beiden. Ich hoffe dass ich bei mir alle Bugs rauskrieg ;D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 14 Mai, 2006 09:48 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 05 Sep, 2005 08:04
Beiträge: 199
Wohnort: zuhause
hab einen fehler nach dem einbau der neuen version :???:


Zitat:
Fatal error: Call to undefined function: yeoldemail() in /www/htdocs/v168110/includes/markt-main.inc.php on line 36


(edit):

suche in markt-main.inc.php

[php] rawoutput("</table>");[/php]

füge danach ein :

[php]function yeoldemail($login,$return = false)
{
$ausgabe = '<a href="mail.php?op=write&to='.$login.'" target="_blank" onClick="'
.popup("mail.php?op=write&to=".$login)
.';return false;\">'
.'<img src="images/newscroll.GIF" width="16" height="16" alt="Mail schreiben" border="0" />'
.'</a> ';

if($return === false) rawoutput($ausgabe);
else return $ausgabe;
} [/php]


zumindest funzzt es dann bei mir :)

_________________
Andunas
Source
... um Grammatikfehler auszuschliessen, braucht man lediglich auf der Tastatreier sdwk, ejlf kwew end mggläuttz und sdjk..


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 14 Mai, 2006 10:42 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 18 Jul, 2005 10:25
Beiträge: 112
LoGD: http://demonen.de/konoha/index.php
Hab was funden was ich net mag^^ Bunte möbel werden nich bunt angezeigt sondern so:

(zB) `4S`5t`%u`6h`6l

$this->bbcode_second_pass_code('', 'suche dafür:

.'<td>'.($row['name']).'</td>'

und ersetze mit:

.'<td>'.appoencode($row['name']).'</td>'')

zu finden in:

includes/markt-main.inc.php
includes/markt-sellitems.inc.php
includes/markt-showitems.inc.php 3x


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 14 Mai, 2006 13:02 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 05 Sep, 2005 08:04
Beiträge: 199
Wohnort: zuhause
hab einen fehler wenn ich beute anbieten will :

Zitat:
Unknown column 'specialtyuses' in 'field list'


HÜLFÄÄÄÄ :???:

_________________
Andunas
Source
... um Grammatikfehler auszuschliessen, braucht man lediglich auf der Tastatreier sdwk, ejlf kwew end mggläuttz und sdjk..


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 14 Mai, 2006 13:16 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Sir_No hat geschrieben:
hab einen fehler wenn ich beute anbieten will :

Zitat:
Unknown column 'specialtyuses' in 'field list'


HÜLFÄÄÄÄ :???:


Öhm... Hö? Das *kann* nichts mit meinem Markt zu tun haben. Soweit ich mich erinnern mag - die Dateiübergreifende Suche sagt das gleiche - wird nirgends mit "specialtyuses" gebraucht :shock:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 14 Mai, 2006 13:24 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 05 Sep, 2005 08:04
Beiträge: 199
Wohnort: zuhause
jo hab ich auch gesehen ....
ich habe nach deinem markt nochmal versucht die Allmightys Quelle einzubauen und ich glaube da liegt der fehler den ich nicht finden kann :???:

edit: ... hat sich erledigt :D

_________________
Andunas
Source
... um Grammatikfehler auszuschliessen, braucht man lediglich auf der Tastatreier sdwk, ejlf kwew end mggläuttz und sdjk..


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 14 Mai, 2006 19:34 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 05 Sep, 2005 08:04
Beiträge: 199
Wohnort: zuhause
habe einen fehler wenn ich möbel vom wanderhändler verkaufen will

der fehler kommt nachdem ich goldpreis und rubinpreis eingegeben habe und dann auf den button "anbieten" klicke :


Zitat:
UPDATE `items` SET `owner` = 0 `value1` = 0 WHERE `id` = "151961" AND `owner` = "11"

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'value1` = 0 WHERE `id` = "151961" AND `owner` = "11"' at line 1



ich hatte diesen fehler aber nicht in der ersten version des marktes :???:

_________________
Andunas
Source
... um Grammatikfehler auszuschliessen, braucht man lediglich auf der Tastatreier sdwk, ejlf kwew end mggläuttz und sdjk..


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 14 Mai, 2006 19:43 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 18 Jul, 2005 10:25
Beiträge: 112
LoGD: http://demonen.de/konoha/index.php
edit: post bitte löschen :)


Zuletzt geändert von Harutake am So 14 Mai, 2006 20:22, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 66 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 36 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum