[BETA][dt./engl. RPG-MOD incl. Battle]

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.
Benutzeravatar
doctormord
Mitglied
Beiträge: 152
Registriert: 27.04.2003 16:11

[BETA][dt./engl. RPG-MOD incl. Battle]

Beitrag von doctormord »

hi,

anbei mal die erste beta des rpgmod.
er wurde ursprünglich in taiwan geschrieben von www.watermonster.org
und dann ins englische übersetzt. allerdings von jemandem, der eigentlich auch nur chinesisch spricht. nach langer suche habe ich diesen mod gefunden. englischen support gibt es meines erachtens nicht mehr.

ich habe versucht, mit snoopmores :D hilfe das teil ins deutsche zu übersetzen, was aber noch nicht vollständig abgeschlossen ist und ihn "einbaubar" zu machen.

die originalversion war aufs chinesische phpbb abgestimmt, sodass er in europäischen mods probleme gemacht hätte. die englische version war nur als premodded phpbb verfügbar, somit musste das teil erstmal komplett auseinandergenommen werden.

es wird sich sicher der ein oder andere bug finden, ich habe das teil in meinem phpbb 2.0.4 getestet und es läuft soweit.

die gröbsten schnitzer, wie falsche sql-queries, tabellen, funktionen, etc. sollten behoben sein, so hoffe ich. die fehler lagen im detail.

zur funktion dieses mods ist es erforderlich, dass ihr den points-mod installiert habt.

Installation:

Code: Alles auswählen

#########################################################################################
# 1. in phpmyadmin rpg1.sql & rpg2.sql ausführen                                        #
#########################################################################################

######################################################################################### 
# 2. kopiere dateien                                                                    #
#                                                                                       #
# /rpg.php      -> /rpg.php                                                             #
# /rpg/*        -> /rpg/*                                                               #
# /images/rpg/* -> /images/rpg                                                          #
# /templates/SubSilver/* -> /templates/SubSilver/*                                      #
######################################################################################### 

#########################################################################################
# 3. Öffne /includes/constants.php                                                      #
#########################################################################################

###################
## Suche nach:
###################

define('PAGE_GROUPCP', -11);

###################
## Danach einfügen:
###################

define('PAGE_RPG', -99);
	
#########################################################################################
# 4. Öffne /viewtopic.php                                                               #
#########################################################################################

###################
## Suche nach:
###################

//
// Define the little post icon
//

###################
## Davor einfügen:
###################

if ($postrow[$i]['user_robfail'] > 0)
{
$poster_avatar .= '<br>';
$robid = floor(($postrow[$i]['user_robfail'] - 1) / 4);
$robcnt = (($postrow[$i]['user_robfail'] - 1) % 4) + 1;
if ($robid <= 7)
{
for ($j=0; $j < $robcnt; $j++)
{
$poster_avatar .= '<img src="images/rpg/rob' . $robid . '.gif" />';
}
}
else
{
$poster_avatar .= '<center><img src="images/rpg/rob7.gif" />¡Ñ ' . ($postrow[$i]['user_robfail'] - 28) . '</center>';
}
$poster_avatar .= '<br><span class="smalltext">Als Räuber habe ich versagt</span>'; 
} 
	
	
###################
## Suche nach:
###################

	//
	// Again this will be handled by the templating
	// code at some point
	//

###################
## Davor einfügen:
###################


$rpgstatus = '<table width="142" class="" border="0" cellpadding="0" cellspacing="0">' .
'<tr><td width="35%"><span class="gensmall"> TITLE: </span></td><td><span class="gensmall">' . $postrow[$i]['rpg_medals'] . '</span></td></tr>' . 
'<tr><td><span class="gensmall"> LVL: </span></td><td><span class="gensmall">' . $postrow[$i]['rpg_level'] . '</span></td></tr>' . 
'<tr><td><span class="gensmall"> H P: </span></td><td><span class="gensmall">' . $postrow[$i]['rpg_cur_hp'] . ' / ' . $postrow[$i]['rpg_max_hp'] . '</span></td></tr>' . 
'<tr><td><span class="gensmall"> M P: </span></td><td><span class="gensmall">' . $postrow[$i]['rpg_cur_mp'] . ' / ' . $postrow[$i]['rpg_max_mp'] . '</span></td></tr>' . 
'<tr><td><span class="gensmall"> EXP: </span></td><td><span class="gensmall">' . $postrow[$i]['rpg_cur_exp'] . ' / ' . $postrow[$i]['rpg_max_exp'] . '</span></td></tr>' . 
'<tr><td><span class="gensmall"> ATTACK: </span></td><td><span class="gensmall">' . $postrow[$i]['rpg_attack'] . '</span></td></tr>' . 
'<tr><td><span class="gensmall"> DEFENSE: </span></td><td><span class="gensmall">' . $postrow[$i]['rpg_defense'] . '</span></td></tr>' . 
'<tr><td><span class="gensmall"> MAGIC: </span></td><td><span class="gensmall">' . $postrow[$i]['rpg_magic'] . '</span></td></tr>' . 
'<tr><td><span class="gensmall"> SPEED: </span></td><td><span class="gensmall">' . $postrow[$i]['rpg_speed'] . '</span></td></tr></table>';

###################
## Suche nach:
###################

'POSTER_AVATAR' => $poster_avatar,

###################
## Danach einfügen:
###################

'POSTER_RPG' => $rpgstatus,
	


#########################################################################################
#  5. /templates/subSilver/viewtopic_body.tpl
#########################################################################################


###################
## Suche nach:
###################

<!-- BEGIN postrow -->
<tr>

################################
## Direkt darunter suche nach:
################################

{postrow.POSTER_FROM}

################################
## Direkt dahinter "Inline" einfügen:
################################

	<br />{postrow.POSTER_RPG}

#########################################################################################
#  6. /includes/functions_post.php
#########################################################################################

###################
## Suche nach:
###################

if (!defined('IN_PHPBB'))
{
	die('Hacking attempt');
}

###################
## Davor einfügen:
###################

include($phpbb_root_path . 'rpg/function_rpg.'.$phpEx);

###################
## Suche nach:
###################

	if ($mode != 'poll_delete')
	{
		$sql = "UPDATE " . USERS_TABLE . "
			SET user_posts = user_posts $sign 
			WHERE user_id = $user_id";
		if (!$db->sql_query($sql, END_TRANSACTION))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}

###################
## Ersetzen mit:
###################

	if ($mode != 'poll_delete')
	{

	// RPG_EXP_MOD START
		if( $mode == "newtopic" ) 
			{$reward_sql =  ",rpg_cur_exp = rpg_cur_exp + 3
			,rpg_cur_hp = rpg_cur_hp+floor( pow( log10( rpg_max_hp), 3 ) )
			,rpg_cur_mp=rpg_cur_mp+floor(pow(log10(rpg_max_mp),3))";} 
		if( $mode == "reply" ) 
			{$reward_sql = ",rpg_cur_exp = rpg_cur_exp + 2
			,rpg_cur_hp = rpg_cur_hp+floor( pow( log10( rpg_max_hp), 3 ) )
			,rpg_cur_mp = rpg_cur_mp+floor( pow( log10( rpg_max_mp), 3 ) )";} 
		if($mode=="delete")
			{$reward_sql=",user_points=user_points-100,rpg_cur_exp = rpg_cur_exp - 5";}
			$sql = "UPDATE " . USERS_TABLE . "
			SET user_posts = user_posts $sign $reward_sql 
			WHERE user_id = $user_id";
		if (!$db->sql_query($sql, END_TRANSACTION))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
		$sql = "SELECT rpg_cur_exp, rpg_max_exp FROM " . USERS_TABLE . " WHERE user_id = $user_id"; 
			if ( !($result = $db->sql_query($sql)) ) 
			{ 
				message_die(GENERAL_ERROR, 'Error in RPG-Exp Upgrade!', '', __LINE__, __FILE__, $sql); 
			} 
		if ( $row = $db->sql_fetchrow($result) ) 
			{ 
				if ($row['rpg_cur_exp'] >= $row['rpg_max_exp']) 
				{ 
					$sql = 'UPDATE phpbb_users 
					SET rpg_level = rpg_level + 1, 
					rpg_attack=rpg_attack+1,
					rpg_defense=rpg_defense+1,
					rpg_magic=rpg_magic+1,
					rpg_speed=rpg_speed+1,
					rpg_cur_exp = rpg_cur_exp - rpg_max_exp, 
					rpg_max_exp = FLOOR( POW( 10, POW( rpg_level, (1/3) ) ) ) - FLOOR( POW( 10, POW( rpg_level - 1, (1/3) ) ) ), 
					rpg_max_hp = FLOOR( (POW( rpg_level, (1/4) ) ) * (POW( 10, POW( rpg_level + 2, (1/3) ) ) ) / (1.5 ) ),
					rpg_max_mp = FLOOR( (POW( rpg_level, (1/4) ) ) * (POW( 10, POW( rpg_level + 2, (1/3) ) ) ) / (PI()) )
        
					WHERE user_id = ' . $user_id; 
						if ( !($result = $db->sql_query($sql)) ) 
							{ 
								message_die(GENERAL_ERROR, 'µLªk§ó·sº©¹C°ÏÄÝ©Ê!!', '', __LINE__, __FILE__, $sql); 
							} 
						UpdateRPGProperties($user_id); 
				} 
			} 
	// RPG_EXP_MOD END


################################
## Das wars =D
################################

RPG-MOD Packet gibts hier

Eine etwas frühere Version des Mods, könnt ihr hier testen:

http://doc.wanken.de/premod/ | user: test/test

viel spass damit. und nicht glich schlagen, wenns nicht auf anhieb will :grin:

cheers

doc

edit:

noch 3 screenshots dazu:

[ externes Bild ]

[ externes Bild ]

[ externes Bild ]
Zuletzt geändert von doctormord am 28.06.2003 19:40, insgesamt 7-mal geändert.
wraith
Mitglied
Beiträge: 58
Registriert: 19.04.2003 20:22
Wohnort: Erlangen
Kontaktdaten:

Beitrag von wraith »

Die Testseite ist nicht erreichbar...
(404)

Cya wraith
chris478
Mitglied
Beiträge: 189
Registriert: 22.11.2002 18:13
Wohnort: Sulzbach-Rosenberg
Kontaktdaten:

Beitrag von chris478 »

Find ich Super...allerdings muss man noch selbst viele Änderungen machen, die jedoch nicht allzu schwer sind.
Außerdem hast du noch ein paar Fehler im Posting Und noch ein paar Sachen die man beachten sollte:
  • Wenn man ein anders Prefix als phpbb_ nutzt, muss man das bei den ganzen Dateien im Ordner 'rpg' ändern
  • Es steht in deiner Anleitung kein Link für den overall_header
  • Das RPG funktioniert nur bei Users die Cookies nutzen. Bei Usern mit SessionID gehts nicht, weil die ID nicht übergeben wird
  • Hab ich das falsch eingebaut oder warum wird bei mir immer im Bild vom Schlachtfeld 'i@' angezeigt. Naja nachdem ichs auch 'eol.php' entfernt hab, wars auch am Schlachtfeld weg
P.S.: Wie kann man eigentlich -81 HP haben ??? :D Soviel hab nämlich ich gerade
DeDonatis
Mitglied
Beiträge: 84
Registriert: 15.04.2003 18:19
Wohnort: Frankfurt am Main

Beitrag von DeDonatis »

ich habs eingebaut, aber es funzt net.

wenn ich die rpg.php aufrufe, komme ich wieder auf die index.php.

hab alles so eingebaut, wie es in der anleitung stand.
DeDonatis
Mitglied
Beiträge: 84
Registriert: 15.04.2003 18:19
Wohnort: Frankfurt am Main

Beitrag von DeDonatis »

des weiteren stelle ich grad fest:

wenn ich in der config vom forum die cookies aktiviere kann ich mich weder ein noch ausloggen. "seite kann nicht angezeigt werden".

mache ich in der DB die cookies wieder raus, gehts wieder !?!?!?!?
DeDonatis
Mitglied
Beiträge: 84
Registriert: 15.04.2003 18:19
Wohnort: Frankfurt am Main

Beitrag von DeDonatis »

chris478 hat geschrieben:Hab ich das falsch eingebaut oder warum wird bei mir immer im Bild vom Schlachtfeld 'i@' angezeigt. Naja nachdem ichs auch 'eol.php' entfernt hab, wars auch am Schlachtfeld weg
ehm...ich hab auch das i@ und bekomme es net weg.
was hast du genau gemacht !????
Benutzeravatar
doctormord
Mitglied
Beiträge: 152
Registriert: 27.04.2003 16:11

Beitrag von doctormord »

so mal ein paar fehler beseitigen =D...

zwecks dem "¡@"

eol.php öffen, suchen nach:

Code: Alles auswählen

$map_data .= '>¡@</td>';
ersetzen mit:

Code: Alles auswählen

$map_data .= '> </td>';
zwecks dem link in der overall_header.tpl

aufgerufen wird es wie folgt:

Code: Alles auswählen

http://www.deine_url.de/deinforum/rpg.php?action=menu
zwecks dem "falschen" image-pfad"
bei mir ist alles in /images/rpg
/images/rpg/ <-- eol.gif, rob0 - 7.gif
/images/rpg/eol
/images/rpg/eol/npc
/images/rpg/items
Zensiert
chris478
Mitglied
Beiträge: 189
Registriert: 22.11.2002 18:13
Wohnort: Sulzbach-Rosenberg
Kontaktdaten:

Beitrag von chris478 »

Das einzige was jetzt noch fehlt ist ein FAQ. Hast du da vielleicht eins enddeckt? Die Sprache wär ja egal wegen systranbox.com :D
fussle
Mitglied
Beiträge: 1246
Registriert: 25.06.2002 07:31

Beitrag von fussle »

uhaa ;) das ist ja der hammer, steht schon fest, wann der MOD "serienreif" ist ?
Benutzeravatar
doctormord
Mitglied
Beiträge: 152
Registriert: 27.04.2003 16:11

Beitrag von doctormord »

hmm. ein faq.. gute frage. =D

systran übersetzt zwar chinesisch/traditionell/vereinfacht allerdings killt er meist jeden sinn raus.

und die englischen übersetzungen in diesem mod, sind bisweilen auch ein wenig unlogisch und sogar fehlerhaft.

selbst einige amis die ich kenne, tun sich damit schwer. =D
Zensiert
Antworten

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