anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 09:10

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa 01 Nov, 2008 22:55 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
n' Abend,

vielleicht möchte ja jemand, der ein eigenes LotGD betreibt seinen Usern die moeglichkeit bieten, Away zu gehen oder gar einen anderen Spieler zu küssen!
Vielleicht, gibt es ja auch noch andere Sachen die Ihr Eure Spieler durch die Addcommentary machen lassen wollt.
Dann postet doch hierrein und sagt uns was Ihr euch dazu wünscht.
Oder habt ihr vielleicht schon solche Codes fertig und möchtet sie anderen zur Verfügung stellen?
Bzw. habt ihr einen Code, aber er funktioniert nicht? Vielleicht kann man Euch ja hier helfen. :>

Von mir gibt es heute zwei Codes.

Away:

Spieler koennen durch die Eingabe

$this->bbcode_second_pass_code('', '/away')

anzeigen lassen, das sie gerade nicht da sind!
Aber sie koennen auch noch etwas dazu schreiben.
So wie hier:

$this->bbcode_second_pass_code('', '/away Mit Violet flirten.')

Es gibt aber auch noch diese Eingabe:

$this->bbcode_second_pass_code('', '/afk')

Sie bewirkt das gleiche wie /away.
Und auch hier kann man noch etwas dazu schreiben:

$this->bbcode_second_pass_code('', '/afk Mit Violet flirten.')

Das kommt dabei raus:

$this->bbcode_second_pass_code('', 'Spieler schreibt /afk | /away:

Nickname ist kurzzeitig beschäftigt!

Spieler schreibt /afk Mit Violet flirten. | /away Mit Violet flirten:

Nickname ist kurzzeitig beschäftigt! (Grund)
')

Nun habe ich aber noch einen zweiten Code.
Dieser bewirkt, das die Spieler sich untereinander küssen können!
Dies wird bewirkt durch folgende eingabe:

$this->bbcode_second_pass_code('', '/kiss Nickname')

Dabei kommt heraus:

$this->bbcode_second_pass_code('', 'Spieler schreib /kiss Nickname:

Nickname küsst Nickname ganz herzlich!')

  • Der Spieler kann sich nicht selber küssen!
  • Es wird überprüft, ob der Spieler sich selber küssen will, in allen Schreibweisen (Groß,kleinschrift, und Großschrift beim ersten buchstaben!)
  • Man kann nicht nur /kiss eingeben. Sollte dies der Fall sein, passiert nichts!
  • Es wird überprüft, ob es den angegebenen Spieler gibt!
  • ACHTUNG: Man darf nur den Loginnamen eingeben, ohne Title!

Viel Spaß mit den Codes.
Hier sind sie:

$this->bbcode_second_pass_code('', '
# Go away from the keybord by MySQL
if ((substr($commentary,0,4) == '/afk') OR (substr($commentary,0,5) == '/away')):

$skip1 = explode(' ',$commentary,2);

if ($skip1 > ''):

$skip3 = '(`^'.$skip1[1].'`&)';

endif;


$commentary = '/me `&ist kurzeitig beschäftigt! '.$skip3;

endif;

# Kiss a fighter by MySQL
if ((substr($commentary,0,5) == '/kiss')):

$skip = explode(' ',$commentary,2);

$query = db_query('SELECT login FROM accounts WHERE login = "'.mysql_real_escape_string($skip[1]).'"');

if ($skip[1] == ''):

return false;

elseif ((strtoupper($skip[1]) == $session['user']['login']) ||
(strtolower($skip[1]) == $session['user']['login']) ||
(ucfirst(strtolower($skip[1])) == $session['user']['login'])):

debuglog($session['user']['login'].' `&hat versucht sich selbst zu kuessen!');

elseif (db_num_rows($query) == 0):

return false;

else:

$query = db_query('SELECT kiss FROM accounts WHERE login = "'.mysql_real_escape_string($skip[1]).'"');
$row = db_fetch_assoc($query);
$row['kiss']++;
db_query('UPDATE accounts SET kiss = '.$row['kiss'].' WHERE login = "'.$skip[1].'"');
$commentary = '/me `!küsst '.$skip[1].'`! ganz herzlich!';

endif;

endif;')

Edit 02.11.08 um 12:36 Uhr:

mysql_real_escape_string bei der Datenbank abfrage hinzugefügt.

Folgenden Code noch für die Datenbank:

$this->bbcode_second_pass_code('', 'ALTER TABLE accounts ADD kiss INT(11) NOT NULL default 0;')

Lg,
MySQL.

_________________
Never change a running system. Bullshit! ;)


Zuletzt geändert von MySql am So 02 Nov, 2008 12:37, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 01 Nov, 2008 23:30 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Du hast verdammtes Glück, dass LoGD Standardgemäss alle bösen Eingaben maskiert, wenn du solchen Code ablieferst.

SQL-Injections! => Nachlesen


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 01 Nov, 2008 23:35 
Offline
Großmeister
Großmeister

Registriert: Fr 01 Jul, 2005 18:41
Beiträge: 484
Wohnort: Saarbrücken
Geschlecht: Männlich
So ne "Away" Funktion wäre meiner Meinung nach sinnvoll, wenn man über den Namen fährt, dass sich dann nen Statusfenster öffnet - aber so.. iwie überflüssig *g*


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 02 Nov, 2008 00:29 
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/
Chaosmaker hatte etwas ähnliches bereits für admins geschrieben.. hätte man da eigentlich auchgleich mit verbinden können, aber an sich (wenn es denn abgesichert wird) ne ganz interessante Sache.

_________________
Mehr oder minder inaktiv


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 02 Nov, 2008 01:24 
Offline
Meister
Meister
Benutzeravatar

Registriert: Mo 05 Feb, 2007 12:33
Beiträge: 375
Wohnort: Hattingen
Geschlecht: Männlich
LoGD: http://www.alvion-logd.de/logd/
Och nööö. Da versucht man seit langem seine Spieler dahin zu bringen an RP-Orten auch dem Rollenspiel gerecht zu posten. Und dann vom System generierte Away- oder Kussnachrichten in die Kommentare schreiben lassen?
Naja, wer es mag. Aber in unserem Dörfle wirds das nicht geben!


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 02 Nov, 2008 12:39 
Offline
Freak
Freak
Benutzeravatar

Registriert: Di 01 Mai, 2007 13:57
Beiträge: 1634
Wohnort: Dortmund.
Geschlecht: Männlich
LoGD: Lokal.
Skype: josh.hoiul
Eliwood hat geschrieben:
Du hast verdammtes Glück, dass LoGD Standardgemäss alle bösen Eingaben maskiert, wenn du solchen Code ablieferst.

SQL-Injections! => Nachlesen


Ich hoffe, das ich mich jetzt nicht verlesen habe. (Auf der Seite)

mysql_real_escape_string der Abfrage hinzugefügt.

Linus, wie im ersten post gesagt, wenn es jemandem gefällt kann er es sich nehmen. :>

_________________
Never change a running system. Bullshit! ;)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 22 Mär, 2009 21:13 
Offline
Newbie

Registriert: Di 04 Nov, 2008 22:41
Beiträge: 3
Geschlecht: Männlich
LoGD: http://www.vanadiel.eu/source.php
Sorry das ich das nochmal ausgrabe aber nachdem ich den Chatfarben-Mod von Chaosmaker eingebaut habe geht die afk und kiss funktion leider nicht mehr :(
das ist ja das was man einbauen muss:
$this->bbcode_second_pass_code('', '
--- öffne common.php
--- suche
$talkline = translate($talkline);
--- füge danach ein:
if (substr($commentary,0,1)==':' || substr($commentary,0,3)=='/me') {
if (substr($commentary,0,3)=='/me') $strpos = 3;
elseif (substr($commentary,0,2)=='::') $strpos = 2;
else $strpos = 1;
if ($session['user']['prefs']['commentemotecolor']) $commentary = substr($commentary,0,$strpos).$session['user']['prefs']['commentemotecolor'].substr($commentary,$strpos);
}
else {
if ($session['user']['prefs']['commenttalkcolor']) $commentary = $session['user']['prefs']['commenttalkcolor'].$commentary;
}
')

EDIT: hat sich erledigt


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 29 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