anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Sa 16 Feb, 2019 04:48

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: AutoFight
BeitragVerfasst: So 22 Feb, 2004 06:18 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1594
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
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:
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)

_________________
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 1 Gast


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