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

AutoFight
https://anpera.homeip.net/phpbb3/viewtopic.php?f=43&t=327
Seite 1 von 1

Autor:  anpera [ So 22 Feb, 2004 06:18 ]
Betreff des Beitrags:  AutoFight

Beschreibung:
Dieser Hack beschleunigt Kämpfe aller Art und entlastet den Server und die Leitung. Ist AutoFight in der Admin-Grotte aktiviert, kann der Spieler bei allen Kämpfen noch wählen, ob die nächsten 5 Runden automatisch gekämpft werden sollen, oder ob der komplette (restliche) Kampf automatisch ablaufen soll. Aktivierte Fähigkeiten (Buffs/Aktionen) werden dabei berücksichtigt, es kann aber während des automatischen Kampfs nicht mehr eingegriffen werden.
Alle Kampfrunden werden angezeigt.

Autor: anpera ( logd@anpera.de )

Version: 14.3.2004

Für LoGD Version: 0.9.7+jt

Einbauanleitung:$this->bbcode_second_pass_code('', '----- Öffne:
battle.php

----- Finde:
$badguy = createarray($session[user][badguy]);

----- Füge davor ein:
if ($HTTP_GET_VARS[auto]=="full"){
$count=100;
}else if ($HTTP_GET_VARS[auto]=="five"){
$count=5;
}else{
$count=1;
}

----- Finde:
// Run the beginning of round buffs (this also calculates all modifiers)

----- Füge danach ein:
for ($count=$count;$count>0;$count--){
if ($badguy['creaturehealth']>0 && $session['user']['hitpoints']>0){

----- Finde darunter:
if ($badguy['creaturehealth']>0 && $session['user']['hitpoints']>0){

----- Füge davor ein:
}

----- Finde:
$selfdmg=0;

----- Füge danach ein:
$count=0;

----- Finde:
expire_buffs();

----- Füge danach ein:
$creaturedmg=0;
$selfdmg=0;
if ($count>1 && $session[user][hitpoints]>0 && $badguy[creaturehealth]>0) output("`2`bNächste Runde:`b`n");
if ($badguy[creaturehealth]<=0){
$victory=true;
$defeat=false;
$count=0;
}else{
if ($session[user][hitpoints]<=0){
$defeat=true;
$victory=false;
$count=0;
}else{
$defeat=false;
$victory=false;
}
}
}

----- Finde:
if ($badguy[creaturehealth]<=0){
$victory=true;
$defeat=false;
}else{
if ($session[user][hitpoints]<=0){
$defeat=true;
$victory=false;
}else{
$defeat=false;
$victory=false;
}
}

----- Ersetze es durch:
/*
if ($badguy[creaturehealth]<=0){
$victory=true;
$defeat=false;
}else{
if ($session[user][hitpoints]<=0){
$defeat=true;
$victory=false;
}else{
$defeat=false;
$victory=false;
}
}
*/


----- Öffne:
common.php

----- Finde:
if ($allowspecial) {

----- Füge davor ein:
if (getsetting("autofight",0)){
addnav("AutoFight");
addnav("5 Runden kämpfen","$script?op=fight&auto=five");
addnav("Bis zum bitteren Ende","$script?op=fight&auto=full");
}


----- Öffne:
configuration.php

----- Finde:
"gameadminemail"=>"Admin Email",

----- Füge danach ein:
"autofight"=>"Automatische Kampfrunden ermöglichen,bool",


----- Öffne:
graveyard.php

----- Finde:
addnav("F?Fliehen","graveyard.php?op=run");

----- Füge danach ein:
if (getsetting("autofight",0)){
addnav("AutoFight");
addnav("5 Runden quälen","graveyard.php?op=fight&auto=five");
addnav("Bis zum bitteren Ende","graveyard.php?op=fight&auto=full");
}


----- Alle Dateien speichern und schliessen')
Bemerkung:
Die Idee zu automatisierten Waldkämpfen gibt es schon lange, ebenso gibt es bereits Umsetzungen dieser Idee (gesehen zum Beispiel auf maddnet.com).
Das hier ist meine Lösung.

Wie immer gilt: Die unten angegebenen Dateien dienen nur als Beispiel. Sie enthalten auch Teile anderer Modifikationen und sollten nicht einfach übernommen werden.

Dateien:
Modifizierte battle.php (Source)
Modifizierte common.php (Source)
Modifizierte configuration.php (Source)
Modifizierte graveyard.php (Source)

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