anpera.net
https://anpera.homeip.net/phpbb3/

Funktionale Codes fuer die Addcommentary
https://anpera.homeip.net/phpbb3/viewtopic.php?f=43&t=4714
Seite 1 von 1

Autor:  MySql [ Sa 01 Nov, 2008 22:55 ]
Betreff des Beitrags:  Funktionale Codes fuer die Addcommentary

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.

Autor:  Eliwood [ Sa 01 Nov, 2008 23:30 ]
Betreff des Beitrags:  Re: Funktionale Codes fuer die Addcommentary

Du hast verdammtes Glück, dass LoGD Standardgemäss alle bösen Eingaben maskiert, wenn du solchen Code ablieferst.

SQL-Injections! => Nachlesen

Autor:  Taikun14 [ Sa 01 Nov, 2008 23:35 ]
Betreff des Beitrags:  Re: Funktionale Codes fuer die Addcommentary

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*

Autor:  Auric [ So 02 Nov, 2008 00:29 ]
Betreff des Beitrags:  Re: Funktionale Codes fuer die Addcommentary

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.

Autor:  Linus [ So 02 Nov, 2008 01:24 ]
Betreff des Beitrags:  Re: Funktionale Codes fuer die Addcommentary

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!

Autor:  MySql [ So 02 Nov, 2008 12:39 ]
Betreff des Beitrags:  Re: Funktionale Codes fuer die Addcommentary

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. :>

Autor:  Amras Vanatralies [ So 22 Mär, 2009 21:13 ]
Betreff des Beitrags:  Re: Funktionale Codes fuer die Addcommentary

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

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