anpera.net
http://anpera.homeip.net/phpbb3/

Gildensystem
http://anpera.homeip.net/phpbb3/viewtopic.php?f=43&t=1682
Seite 35 von 36

Autor:  Linus [ Di 24 Aug, 2010 16:52 ]
Betreff des Beitrags:  Re: Gildensystem

Also, in meinem Gildenschlafsaal funktioniert das bestens:$this->bbcode_second_pass_code('', ' case "schlaf2":
debuglog("Im Gildenschlafsaal ausgeloggt ");
$session['user']['location']=33;
$sql = "UPDATE accounts SET loggedin=0, location=33 WHERE acctid = ".$session['user']['acctid'];
db_query($sql);
$session=array();
redirect("index.php");
break;
')
Und dann musst du in der login.php auch dafür sorgen, dass man im Gildenschlaafsal auch wieder erwacht:$this->bbcode_second_pass_code('', ' if ($location==0){
redirect("village.php");
}else if($location==1){
redirect("inn.php?op=strolldown");
}else if($location==2){
redirect("houses.php?op=newday");
}else if($location==14){
redirect("klosterhaus.php?op=halle");
}else if($location==33){
redirect("gilden.php?op=schlaf");
}else{
saveuser();
header("Location: {$session['user']['restorepage']}");
exit();
}') Die Werte in der Variable $location musst du natürlich an deine eigenen Gegebenhaiten anpassen. ;)

Autor:  Hiead [ Di 24 Aug, 2010 23:15 ]
Betreff des Beitrags:  Re: Gildensystem

Cool danke.

Aber wo werden den die Variablen für $location definiert?

Ich weiß ja nicht wieviele es gibt, nicht dass ich die 18 nehme und dann kommt man beim einloggen ins Zigeunerzelt. :D

Autor:  Linus [ Mi 25 Aug, 2010 17:09 ]
Betreff des Beitrags:  Re: Gildensystem

Da: $session['user']['location']=33;

$session['user'] hat den Inhalt der Tabelle `accounts` aus der Datenbank. Durch $session['user']['location']=33; wird dem Feld `location` der Tabelle `accounts` der Wert 33 zu gewiesen, denn bei jedem Klick auf eine Navigation wird zu Beginn die accounts aus der Datenbank geholt und in das Array $session['user'] geladen, und nach Ausführung der Skripte wird der Inhalt von $session['user'] wieder in die DB gespeichert.

Und beim Login wird die accounts natürlich auch geladen, und kurz nachdem das geschehen ist finden wir ein $location = $session[user][location];!

Ich hoffe das war halbwegs verständlich und hilft dir weiter! :)

Ahja: Und welche Werte für $location bereits vergeben sind siehst du ja in dem IF-Block, in der login.php! ;)

Autor:  Deus X Machina [ Do 06 Jan, 2011 19:00 ]
Betreff des Beitrags:  Re: Gildensystem

Ich hab vorhin einen Fix für die nicht funktionierende Superusereditier Funktion von Gilden programmiert, den mächte ich Anderen nicht vorenthalten:
Das zugrunde liegende Problem: Die Funktion die überprüfte ob alles passend übereinstimmt bei der Eingabe wird auch beim Erstellen einer Gilde verwendet. Da dort ein Besitzer eingegeben wird überprüft die Funktion auch ob einer eingegeben wurde. Beim bearbeiten wird kein Besitzer übergeben, ergo wird mit einer Fehlermeldung abgebrochen (die man aber normalerweise nicht sieht, hab sie mir per output ausgeben lassen)
Mit dem Fix lasse ich jetzt beim Bearbeiten die Leaderid ändern, übergebe sie natürlich auch mit, und werfe den Fehler mit keinem Besitzer nur aus, wenn der neue (alte) Besitzer in einer anderen Gilde als der gerade bearbeiteten ist.

$this->bbcode_second_pass_code('', 'In gildentoolfunc.php in der
function check_input_su()
suche:
$owner = db_fetch_assoc(db_unbuffered_query("SELECT SQL_CACHE acctid,name,login,gildenactive FROM accounts WHERE acctid='".$_POST['leaderid']."'"));
ändere auf
$owner = db_fetch_assoc(db_unbuffered_query("SELECT SQL_CACHE acctid,name,login,memberid,gildenactive FROM accounts WHERE acctid='".$_POST['leaderid']."'"));

suche
elseif($owner['gildenactive'] == '1')
änder auf
elseif(($owner['gildenactive'] == '1')&&($owner['memberid']!=$_POST['gildenid']))

in der
function edit_form($id,$formlink)
suche
."<td><input type='text' size='5' maxlength='5' name='gildenprefix_b' value='".$edit_guild['gildenprefix_b']."'/></td></tr>"
füge danach ein
."<input type='hidden' name='gildenid' value='".$edit_guild['gildenid']."'/>"
."<tr><td>Anfüher ID</td>"
."<td><input type='text' size='5' maxlength='5' name='leaderid' value='".$edit_guild['leaderid']."'/></td></tr>"')

ich hoffe das wars soweit, ich hab soviel durch die Dateien geschaut um das zu finden, aber ich glaube ich hab eigentlich nur das geändert um diesen Fehler zu fixen.

Aber wo wir schon dabei sind, gleich nochwas in der gleichen Datei, hat wahrscheinlich auch mit dem Gildenverändern zu tun:
$this->bbcode_second_pass_code('', 'in der
function update_guild_su($id)
suche
."`gildenname_b` = '".addslashes($_POST['gildenname'])."', "
ersetze durch
."`gildenname_b` = '".addslashes($_POST['gildenname_b'])."', "')

Ich hoffe ich bringe damit keine Funktionsweise durcheinander oder störe den beabsichtigten Ablauf, aber bei mir scheint das richtig zu funktionieren.

Autor:  Calamita [ Sa 29 Jan, 2011 16:08 ]
Betreff des Beitrags:  Re: Gildensystem

Ich hab da so eine kleine Frage..
In der Gilde hab ich keine Navi, um Waffen oder Rüstungen zu kaufen. Wenn ich versuche, eine Navi einzufügen, dann kommt nur:
Zitat:
Fehler! Melde es unverzüglich den Administratoren, wenn du das sehen kannst


$this->bbcode_second_pass_code('', 'addnav("Waffen kaufen","gilden.php?op=weapon");')

Sonst ist der Code so runter geladen und wurde nicht weiter von mir modifiziert.

Bitte um Entschuldigung, wenn das hier schon beantwortet wurde, aber bei 35 Seiten wird das etwas unübrsichtlich.

Source sollte momentan nicht funktionieren, da ich das erstmal nur auf meinem PC unter XAMPP laufen habe..

Autor:  Jack [ Sa 29 Jan, 2011 18:43 ]
Betreff des Beitrags:  Re: Gildensystem

gibt es den op weapon auch? ;)

Autor:  Calamita [ Sa 29 Jan, 2011 21:38 ]
Betreff des Beitrags:  Re: Gildensystem

$this->bbcode_second_pass_code('', 'case "weapon":
if(isset($_GET['weaponid']))
{
buyweapon($_GET['weaponid']);
}
output("`3Du betrittst den Waffenshop der Gilde. Hier kannst du Waffen kaufen, welche die Verwaltung der Gilde bei MithtyE eingekauft hat, billiger. Das Geld kommt der Schatzkammer zu Gute, was die Verwaltung damit anstellt, fragt sie einfach.`n`n");
showweapons();
break;')

;)

Autor:  Erenya [ So 30 Jan, 2011 02:38 ]
Betreff des Beitrags:  Re: Gildensystem

Ist die Gilde ausgebaut? Also der Marktplatz? So dass du einen Waffen und Rüsiladen bauen lassen kannst?

Autor:  Calamita [ So 30 Jan, 2011 14:15 ]
Betreff des Beitrags:  Re: Gildensystem

Marktplatz ist da, aber wo kann ich den Waffenshop bauen? Ich finde da nichts...

Autor:  Calamita [ Mo 31 Jan, 2011 13:56 ]
Betreff des Beitrags:  Re: Gildensystem

K, hat sich erledigt..

Autor:  Jack [ Do 03 Feb, 2011 20:03 ]
Betreff des Beitrags:  Re: Gildensystem

Hey!

Jetzt hab ich ein kleines Problem mit dem System >_>

Sieht Klasse aus. Lob erst mal dafür.

Aber wenn ich im Gildeneditor auf *Alle Gilden* anzeigen klicke.. bekomm ich eine *leere* tabelle

Bild

Weiß jeamnd wieso?

http://web370.sv04.net-housting.de/logd/source.php

EDIT: Huch da oben steht ja glaub das was ich such. Habs übersehen :bash:

EDIT die 2. : Ne hat nichts geändert

Autor:  Linus [ Do 03 Feb, 2011 20:28 ]
Betreff des Beitrags:  Re: Gildensystem

Hast du in deinem Dorf vielleicht nur eine Gilde? Und dann ist es auch noch deine eigene? Du kannst (darfst) deine eigene Gilde nicht editieren, und sie wird dir im Gildentool auch nicht angezeigt. Ich glaub jedenfalls das es so war, könnte mich aber auch irren. :?

Autor:  Jack [ Do 03 Feb, 2011 21:59 ]
Betreff des Beitrags:  Re: Gildensystem

:bash: DAS würde es erklären.. Vor lauter Buchstaben sieht man den Code halt nicht mehr :spam:

EDIT: Jepp hattest recht. Hab in der entsprechenden SQL abfrage folgenden Zusatz nicht gesehen

$this->bbcode_second_pass_code('', ' AND gilden.gildenid!='".$session['user']['memberid']."'')

Autor:  Yoichiro [ Fr 29 Apr, 2011 09:40 ]
Betreff des Beitrags:  Re: Gildensystem

Guten Morgen :)

Ich hab heute Nacht die Gilden eingebaut (ich weiß, saudämliche Uhrzeit um was zu programmieren ^^) und bisher funktioniert auch alles.
Nur ein klitzekleines Problemchen stellt mich vor ein Rätsel. Und zwar die Mindestlänge des namens. Im Ordner lib in der gilden.php hab ich den Wert minchar von 10 auf 5 reduziert. Müsste dann ja eigentlich gehen, in keinem anderen Skript hab ich was von minchar gefunden, trotzdem funktioniert es nicht, es kommt immer der Fehler, der Name sei leer oder zu kurz. Wo hab ich noch was übersehen?

Dann noch was Kleines (was ich vermutlich einfach übersehen habe bei der Uhrzeit...) ich wollte zulassen, dass man mehrere Chars in der Gilde haben darf, muss ich da irgendwo was entfernen oder dazusetzen?

Und dann (ich weiß, ist viel ^^) die Sache mit den Farbcodes. Ich hab den Farbhack von Eliwood, also Farben aus der Datenbank und entsprechend viele Farbcodes. Wenn ich diesen Codeschnipsel hier richtig deute, gehen die anderen nicht?

$this->bbcode_second_pass_code('', 'function striptag($data,$search=false)
{
// 2005 by Eliwood
if($search === false)
$search = array("`1","`2","`3","`4","`5","`6","`7","`8","`9",
"`!","`@","`#","`$","`%","`&","`Q","`q",
"`R","`r","`*","`~","`?","`V",
"`v","`G","`g","`T","`t");
$data = str_replace($search,"",$data);
return $data;
}
')

Wahrscheinlich ist es echt nicht so viel wies scheint, aber bitte helft mir ^^

Autor:  Jack [ Fr 29 Apr, 2011 11:04 ]
Betreff des Beitrags:  Re: Gildensystem

Kann dur nur zwecks striptag helfen.. Es gibt eine neuere Version davon

$this->bbcode_second_pass_code('', '[php]function striptag($input) {
// 2005-2007 by Eliwood
return preg_replace("'[`].'","",$input);
}[/php]
')

Autor:  Yoichiro [ Fr 29 Apr, 2011 16:28 ]
Betreff des Beitrags:  Re: Gildensystem

ist das jetzt für die Farben? Und wo muss es hin?

Autor:  Linus [ Fr 29 Apr, 2011 16:43 ]
Betreff des Beitrags:  Re: Gildensystem

Yoichiro hat geschrieben:
ist das jetzt für die Farben? Und wo muss es hin?
Klar, das ist für die Farben. Du musst in der common.php deine Version der Funktion striptag() ersetzen, durch die von Jack gepostete! ;)


Und zum Problem mit der Länge des Glidennamens: In der /lib/gilden.php steht folgendes zu lesen:$this->bbcode_second_pass_code('', 'define("minchar",(int)getsetting("gilden_minchar",10));')Also ist vorrangig was in den Spieleinstellungen vereinbahrt ist. Nur dann wenn "gilden_minchar" in den Settings nicht gesetzt ist wird hier der Wert von minchar auf 10 gesetzt. Du solltest also in deine Spieleinstellungen schauen!

Autor:  Yoichiro [ Fr 29 Apr, 2011 17:00 ]
Betreff des Beitrags:  Re: Gildensystem

Wer lesen kann ist klar im Vorteil *schäm*

ok, das funktioniert jetzt, danke schön! Nur das mit den Multis wäre noch wichtig. Ich weiß, es kann zu Missbrauch führen, aber es geht da rein ums RP und ich hab da ein paar Spieler, die spielen verschiedene Clans, halt mit mehreren Chars in einem und wenn die dann nicht in die gleiche Gilde können ist das nicht so toll.

Autor:  Jack [ Fr 29 Apr, 2011 18:39 ]
Betreff des Beitrags:  Re: Gildensystem

schau mal ob du in eine der Dateien die zur Gilde dazu gehören irgendwas wegen lastIP oder so steht.

oder noch einfacherer.. Schauen was für eine Meldung kommt, wenn man mit seinem Zweitchar in die Gleiche Gilde will und nach dem Text in den Dateien suchen

Autor:  Yoichiro [ Sa 30 Apr, 2011 10:43 ]
Betreff des Beitrags:  Re: Gildensystem

Ok, es läuft jetzt erstmal alles, vielen Dank :)

Seite 35 von 36 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/