Bar-Mod von Zarath

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
.:Falo:.
Mitglied
Beiträge: 246
Registriert: 01.01.2007 16:40

Bar-Mod von Zarath

Beitrag von .:Falo:. »

Hi @ all,

ich habe den Bar-Mod von Zarath eingebaut. Mit diesem können User sich betrinken und wenn sie dann etwas posten, wird der Text umgewandelt, sodass es halt aussieht, als ob jemand das geschrieben hat, der komplett breit ist ;-)
Ich möchte allerdings, dass dies nicht in allen Foren funktioniert. Also müsste ich im Code irgendwo schreiben, dass das Verändern nur in bestimmten Foren gemacht wird... Müsste man doch einfach mit einer "if-Abfrage" machen können, oder? Hab leider kp wie ich das machen soll. Hier mal die Dateien, wo dies irgendwo gemacht werden muss:
Zuletzt geändert von AYYILDIZLAR am 01.09.2013 00:00, insgesamt 1-mal geändert.
Grund: URL entfernt
.:Falo:.
Mitglied
Beiträge: 246
Registriert: 01.01.2007 16:40

Beitrag von .:Falo:. »

*bump*
.:Falo:.
Mitglied
Beiträge: 246
Registriert: 01.01.2007 16:40

Beitrag von .:Falo:. »

So, ich hab jetzt noch ein bisschen rumprobiert und anscheinend eine Lösung gefunden, die ich aber gerne noch bestätigt haben würde, nicht das dadurch irgendwas nicht mehr so läuft wie es soll...

Die folgenden Codes sind für die Umwandlung der Texte verantwortlich:

includes/functions.php:

Code: Alles auswählen

//
// Start drunk create functions...
//
function drunk_letters($rand, $higher)
{
	$alpha = array_merge(range("a", "z"));
	$return_alpha = array();
	for ($i = 0; $i < 26; $i++)
	{
		if ( rand(1,$rand) > $higher ) { $return_alpha[] = $alpha[$i]; }
	}
	return $return_alpha;
}

function drunk_replace($alpha)
{
	$alpha_count = count($alpha);
	$replaces = array();
	for ($i = 0; $i < $alpha_count; $i++)
	{
		$replaces[] = "/" . $alpha[$i] . "/";
	}

	return $replaces;
}
function drunk_replaces($alpha)
{
	//
	// Create drunk replacement vars!
	//
	$drunk_a = array('aa', 'ah', 'oa', 'aa', 'ah', 'oa', 'A', 'ahhh');
	$drunk_b = array('B', 'vb', 'vb');
	$drunk_c = array('C', 'cj', 'sj', 'zj', 'cj', 'sj', 'zj');
	$drunk_d = array('D');
	$drunk_e = array('E', 'eh', 'eh');
	$drunk_f = array('F', 'fFf', 'fff', 'fFf', 'fff');
	$drunk_g = array('G');
	$drunk_h = array('H', 'hh', 'hhh', 'Hhh', 'HhH', 'hh', 'hhh', 'Hhh', 'HhH');
	$drunk_i = array('I', 'Ii', 'ii', 'Iii', 'iI', 'Ii', 'ii', 'Iii', 'iI');
	$drunk_j = array('J', 'jj', 'Jj', 'jj', 'Jj');
	$drunk_k = array('K');
	$drunk_l = array('L');
	$drunk_m = array('M', 'mM', 'MmM', 'mm', 'mmm', 'mmmm', 'mmmmm', 'mM', 'MmM', 'mm', 'mmm', 'mmmm', 'mmmmm');
	$drunk_n = array('N', 'Nn', 'nn', 'nnn', 'nNn', 'Nn', 'nn', 'nnn', 'nNn');
	$drunk_o = array('ao', 'oo', 'aOoo', 'ooo', 'Ooo', 'ooOo');
	$drunk_p = array('P', 'pah');
	$drunk_q = array('Q', 'ku', 'kukeleku', 'ququ', 'ku', 'kukeleku', 'ququ');
	$drunk_r = array('R', 'erR', 'Rr');
	$drunk_s = array('ss', 'sSss', 'ZSssS', 'sSzzsss', 'zzZzssZ');
	$drunk_t = array('T');
	$drunk_u = array('U', 'Uh', 'uhhu', 'uhU', 'Uhuhhuh');
	$drunk_v = array('V', 'vz');
	$drunk_w = array('W', 'Ww');
	$drunk_x = array('X', 'xz', 'kz', 'iks', 'xz', 'kz', 'iks');
	$drunk_y = array('Y');
	$drunk_z = array('Z', 'zZ', 'Zzz', 'ZSz', 'ZzzZz', 'szz', 'sZZz', 'Zsszzsz', 'zZ', 'Zzz', 'ZSz', 'ZzzZz', 'szz', 'sZZz', 'Zsszzsz');
	//
	// End drunk replacement vars!
	//

	$alpha_count = count($alpha);
	$replaces = array();
	for ($i = 0; $i < $alpha_count; $i++)
	{
		$temp_var = 'drunk_' . $alpha[$i];
		$rand = rand(0, count(${$temp_var})-1);
		$replaces[] = ${$temp_var}[$rand];
	}

	return $replaces;
}
//
// End drunk create functions...
//

includes/functions_post.php:

Code: Alles auswählen

	// Drunk Code //
	if ( $userdata['user_drunk'] > time() )
	{

		$message_words = explode(' ', str_replace("\r\n", ' ', $post_message));
		$msg_num = count($message_words);
		for ($ix = 0; $ix < $msg_num; $ix++)
		{
			$word_array = '';

			if ( trim($message_words[$ix]) != '<br />' && trim($message_words[$ix]) != '<br>' )
			{
				if ( is_numeric(trim($message_words[$ix])) )
				{
					$word_len = strlen($message_words[$ix]);
					$message_words[$ix] = rand('0', str_repeat('9', $word_len));
				}
				else
				{
					$switch = ((time() - $userdata['user_drunk']) / 600);
					switch ($switch)
					{
						case $switch > 6:
							$rand = 10;
							$higher = 1;
							break;
						case $switch > 5:
							$rand = 7;
							$higher = 1;
							break;
						case $switch > 4:
							$rand = 4;
							$higher = 1;
							break;
						case $switch > 3:
							$rand = 5;
							$higher = 2;
							break;
						case $switch > 2:
							$rand = 5;
							$higher = 3;
							break;
						case $switch > 1:
							$rand = 3;
							$higher = 2;
							break;
						default:
							$rand = 7;
							$higher = 5;
					}

					$str_letters = drunk_letters($rand, $higher);
					$str_replace = drunk_replace($str_letters);
					$str_replaces = drunk_replaces($str_letters);

					$message_words[$ix] = preg_replace($str_replace, $str_replaces, $message_words[$ix]);
				}
			}


		}
		$post_message = implode(' ', $message_words);
	}
Soweit wie ich das verstanden habe, wird in der functions.php NUR geschrieben, was verändert werden soll, der eigentliche Vorgang wird aber durch die functions_post.php ausgeführt, oder?
Deswegen habe ich jetzt einfach den Code der functions_post.php so verändert, dass ich vor dem Codeblock

Code: Alles auswählen

if(in_array($forum_id, array(xxx,xxx)))
{
und danach ein
eingefügt habe. für die "xxx" kann ich jetzt die Foren-IDs eintragen, wo der Beitragstext verändert werden soll und in allen anderen Foren bleibt der Beitrag normal.
Müsste alles passen, oder?
femu
Mitglied
Beiträge: 568
Registriert: 18.10.2005 11:47
Wohnort: Pfaffenhofen
Kontaktdaten:

Beitrag von femu »

Ich würde jetzt spontan sagen, daß des gehen müsste. Probier's einfach mal aus. Du machst ja eh ein Backup der Original Datei. Von daher kann eigentlich nichts passieren.

Wenn's geht, sag einfach Bescheid. Dann können eventuelle andere Nutzer dieser Modifikation das entsprechend ergänzen ;-)
.:Falo:.
Mitglied
Beiträge: 246
Registriert: 01.01.2007 16:40

Beitrag von .:Falo:. »

Jep, scheint zu klappen! Kann ich weiterempfehlen ;-)
Benutzeravatar
Ambience
Mitglied
Beiträge: 628
Registriert: 02.09.2006 11:28
Wohnort: daheim
Kontaktdaten:

Beitrag von Ambience »

gibts davon auch ne demo? Sieht lustig aus der Mod.

Ambience
.:Falo:.
Mitglied
Beiträge: 246
Registriert: 01.01.2007 16:40

Beitrag von .:Falo:. »

Hier ist ein Post aus meinem Forum, wo du den Effekt mal sehen kannst ;-)


Es gibt verschiedene Stufen, je besoffener du bist, desto unleserlicher wird der Text. Im obrigen Post sind glaube ich beide komplett dicht ;-)

Übrigens:
Du musst zuerst den Shop-Mod von Zarath installieren und dann kannst du die Bar als Addon dazu installieren...
Zuletzt geändert von AYYILDIZLAR am 01.09.2013 00:00, insgesamt 1-mal geändert.
Grund: URL entfernt
Kalileo
Mitglied
Beiträge: 10
Registriert: 31.01.2008 16:34
Wohnort: Lörrach

Beitrag von Kalileo »

wo gibt es den mod denn zum downloaden, in dem forum hier find ich ihn ned, und auf der von zarath geht dass bei mir irgendwie ned, wenn ich auf download klick öffnet sich die selbe seite auf der ich schon bin nochmal *heul*
.:Falo:.
Mitglied
Beiträge: 246
Registriert: 01.01.2007 16:40

Beitrag von .:Falo:. »

Jo stimmt, die Seite ist down... Hab ihn mal auf meinem Webspace hochgeladen:


@ Kalileo: Kann es sein, dass du dich in meinem Forum registriert hast, um das zu testen? Ist ein bisschen blöd, wenn du deine alte Mail-Adresse in eine Erfundene änderst, da man so immer Mails zurückbekommt, dass diese nicht existiert... Wenn du nicht aktiv sein willst, dann kann ich dich auch wieder löschen, sag einfach Bescheid...
Zuletzt geändert von AYYILDIZLAR am 31.08.2013 23:59, insgesamt 1-mal geändert.
Grund: URL entfernt
Kalileo
Mitglied
Beiträge: 10
Registriert: 31.01.2008 16:34
Wohnort: Lörrach

Beitrag von Kalileo »

wow... wie hast du das rausgefunden ;)
danke für den link^^ ich werd den mod jez bei mir auch
einbauen, ich find den cool^^

achja noch ne frage: wie kann ich diese .rar datei öffnen?
sonst lad ich die mods immer im .zip .

edit: hat sich erledigt, hab n bisschen gegooglet
Zuletzt geändert von Kalileo am 04.02.2008 10:47, insgesamt 1-mal geändert.
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“