anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 18:41

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
BeitragVerfasst: Mo 05 Apr, 2004 13:59 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1604
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
Beschreibung:
Die PvP-Arena ermöglicht es den Spielern, ihre Kräfte im direkten Zweikampf gefahrlos zu messen. Dabei ist der Einsatz aller Fähigkeiten erlaubt.

Herausforderungen müssen durch den herausgeforderten Spieler angenommen (oder abgelehnt) werden. Das gibt ihm Zeit, sich auf den Kampf vorzubereiten. Ändert sich das Level des Herausgeforderten, verfällt die Herausforderung automatisch. Der Herausforderer kann aber auch jederzeit seine Herausforderung zurückziehen, solange sie nicht angenommen wurde.

Der Kampf findet online statt! Momentaufnahmen (Kopien) der Charakterwerte zum Zeitpunkt der Herausforderung und der Annahme dienen als Grundlage für den Zweikampf in der Arena. Alle Änderungen an den Charakterwerten, die ein Spieler woanders erfährt, solange er noch einen Zweikammpf offen hat, gehen nicht mehr in den Zweikampf ein. So können beide Kämpfer unabhängig voneinander weiter spielen, ohne immer auf den anderen Kämpfer warten zu müssen. Sobald ein Spieler an der Reihe ist, in der Arena einen Zug zu machen, hat er keine andere Wahl. Sind beide Spieler gleichzeitig online, kommt dieses System echtem Online-PvP sehr nahe. Nur den Drachen darf keiner der beiden Spieler töten, solange ein Duell nicht abgeschlossen ist, denn sonst würde das Duell vorzeitig beendet werden.

Als Belohunung für gewonnene Kämpfe gibt es ein paar wenige Erfahrungspunkte und abhängig vom Levelunterschied der Kämpfer ein paar Kampfpunkte. Der Gewinner kassiert ausserdem die Nutzungsgebühr, die beide Spieler gezahlt haben.
Verlierer sterben nicht und verlieren auch nichts, ausser etwas von ihrem Stolz (Charmepunkt).

Der Verlauf aller laufenden Zweikämpfe kann von Besuchern in der Arena mitverfolgt werden.

Eine Rangliste der besten Arenakämpfer ist in der (neuen!) Ruhmeshalle zu sehen.

Autor: anpera ( logd@anpera.de )

Version: 04.04.2004

Für LoGD Version: 0.9.7+jt

Einbauanleitung:$this->bbcode_second_pass_code('', '----- SQL:
CREATE TABLE pvp (
acctid1 int(11) NOT NULL default '0',
acctid2 int(11) NOT NULL default '0',
name1 varchar(50) NOT NULL default '',
name2 varchar(50) NOT NULL default '',
lvl1 int(11) NOT NULL default '0',
lvl2 int(11) NOT NULL default '0',
hp1 int(11) NOT NULL default '1',
hp2 int(11) NOT NULL default '1',
maxhp1 int(11) NOT NULL default '1',
maxhp2 int(11) NOT NULL default '1',
att1 int(11) NOT NULL default '1',
att2 int(11) NOT NULL default '1',
def1 int(11) NOT NULL default '1',
def2 int(11) NOT NULL default '1',
weapon1 varchar(50) NOT NULL default '',
weapon2 varchar(50) NOT NULL default '',
armor1 varchar(50) NOT NULL default '',
armor2 varchar(50) NOT NULL default '',
darkartuses1 int(5) unsigned NOT NULL default '0',
darkartuses2 int(5) unsigned NOT NULL default '0',
magicuses1 int(5) unsigned NOT NULL default '0',
magicuses2 int(5) unsigned NOT NULL default '0',
thieveryuses1 int(5) unsigned NOT NULL default '0',
thieveryuses2 int(5) unsigned NOT NULL default '0',
bufflist1 text NOT NULL,
bufflist2 text NOT NULL,
turn tinyint(1) NOT NULL default '2',
lastmsg text,
KEY acctid1 (acctid1,acctid2)
) TYPE=MyISAM;

ALTER TABLE `accounts` ADD `battlepoints` INT( 11 ) DEFAULT '0' NOT NULL ;



----- Öffne:
dragon.php

----- Finde:
debuglog("slew the dragon and starts with {$session['user']['gold']} gold and {$session['user']['gems']} gems");

----- Füge danach ein:
$sql = "DELETE FROM pvp WHERE acctid1=".$session[user][acctid]." OR acctid2=".$session[user][acctid];
db_query($sql) or die(db_error(LINK));


----- Öffne:
index.php

----- Finde:
$sql = "UPDATE accounts SET sentnotice=1,house=0,housekey=0,marriedto=0 WHERE acctid='$row[acctid]'";

----- Füge davor ein:
$sql = "DELETE FROM pvp WHERE acctid2=$row[acctid] OR acctid1=$row[acctid]";
db_query($sql) or die(db_error(LINK));


----- Öffne:
prefs.php

----- Finde:
$sql = "DELETE FROM accounts WHERE acctid='$HTTP_GET_VARS[userid]'";

-----Füge davor ein:
$sql = "DELETE FROM pvp WHERE acctid2=$HTTP_GET_VARS[userid] OR acctid1=$HTTP_GET_VARS[userid]";
db_query($sql) or die(db_error(LINK));


----- Öffne:
train.php

----- Finde:
increment_specialty();

---- Füge danach ein:
$sql="SELECT acctid2,turn FROM pvp WHERE acctid1=".$session[user][acctid]." OR acctid2=".$session[user][acctid]."";
$result = db_query($sql) or die(db_error(LINK));
$row = db_fetch_assoc($result);
if($row[acctid2]==$session[user][acctid] && $row[turn]==0){
output("`n`6`bDu kannst die offene Herausforderung in der Arena jetzt nicht mehr annehmen.`b");
$sql = "DELETE FROM pvp WHERE acctid2=".$session[user][acctid]." AND turn=0";
db_query($sql) or die(db_error(LINK));
}


----- Öffne:
user.php

----- Finde:
$sql = "DELETE FROM accounts WHERE acctid='$_GET[userid]'";

----- Füge davor ein:
$sql = "DELETE FROM pvp WHERE acctid2=$_GET[userid] OR acctid1=$_GET[userid]";
db_query($sql) or die(db_error(LINK));


----- Öffne:
village.php

----- Find:
if (getsetting("automaster",1) && $session['user']['seenmaster']!=1){

----- Füge davor ein:
$sql="SELECT acctid1,acctid2,turn FROM pvp WHERE acctid1=".$session[user][acctid]." OR acctid2=".$session[user][acctid]."";
$result = db_query($sql) or die(db_error(LINK));
$row = db_fetch_assoc($result);
if(($row[acctid1]==$session[user][acctid] && $row[turn]==1) || ($row[acctid2]==$session[user][acctid] && $row[turn]==2)){
redirect("pvparena.php");
}



----- OPTIONAL -----

----- Öffne:
hof.php (0.9.8 Version für 0.9.7)

----- Finde:
addnav("Geschwindigkeit", "hof.php?op=days&subop=$subop&page=$page");

----- Füge danach ein:
addnav("Arenapunkte","hof.php?op=battlepoints&subop=$subop&page=$page");

----- Finde:
} elseif ($_GET[op]=="resurrects"){

----- Füge davor ein:
} elseif ($_GET[op]=="battlepoints"){
$sql = "SELECT name,battlepoints AS data1,dragonkills AS data2 FROM accounts WHERE locked=0 ORDER BY battlepoints $order, level $order, dragonkills $order, acctid $order LIMIT $limit";
$adverb = "besten";
if ($_GET[subop] == "least") $adverb = "schlechtesten";
$title = "Die $adverb Arenakämpfer in diesem Land";
$headers = array("Punkte","Drachenkills");
display_table($title, $sql, false, false, $headers, false);


----- Speichern und schliessen


----- Hochladen:
pvparena.php')
Bemerkung:
Falls das Feld "battlepoints" bereits durch die battlearena von lonnyl in der Datenbank vorhanden ist, muss kein neues Feld erstellt werden. Die PvP-Arena nutzt das gleiche Prinzip und wird - falls vorhanden - nahtlos in die PvP-Arena eingefügt.

pvparena.php enthält bereits Modifikationen für "hardest Punch". Wenn diese Modifikationen auf dem Zielserver nicht installiert ist, muss folgende Änderungen an der pvparena.php vorgenommen werden:$this->bbcode_second_pass_code('', '----- Öffne:
pvparena.php

----- Finde und lösche:
// from hardest punch mod -- remove if not installed!!
if ($creaturedmg>$session[user][punch]){
$session[user][punch]=$creaturedmg;
output("`@`b`c--- DAS WAR DEIN BISHER HÄRTESTER SCHLAG! ---`c`b`n");
}
// end hardest punch')


Dateien:
pvparena.php (Source)
special/gladiator.php OPTIONAL (Source)

Modifizierte dragon.php (hier nicht verfügbar)
Modifizierte index.php (Source)
Modifizierte prefs.php (Source)
Modifizierte train.php (Source)
Modifizierte user.php (Source)
Modifizierte village.php (Source)
Modifizierte hof.php (Source)

_________________
Praxis ist, wenn alles klappt aber keiner weiß warum. Theorie ist, wenn man weiß wie es geht, aber nichts klappt. Wir haben beides erfolgreich vereinigt: Bei uns klappt nichts und keiner weiß warum!

Neues Video: Marios freier Tag in Second Life


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

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