AutoAttack()

FUNKTION

int AutoAttack(object ob)

DEFINIERT IN

/std/npc/combat

ARGUMENTE

object ob
Das ggf. annzugreifende Object. (Achtung, nicht nur Livings)

BESCHREIBUNG

Diese Funktion wird aus heart_beat() heraus aufgerufen. Sie bestimmt, ob ein Living automatisch angegriffen werden soll oder nicht.

RUeCKGABEWERT

1 fuer Angriff, sonst 0.

BEMERKUNGEN

Da diese Funktion aus heart_beat() heraus aufgerufen wird, und zwar einmal pro anwesendem Objekt (nicht nur fuer Livings), sollte man hier moeglichst wenig Dinge tun. Verzichtet am besten ganz auf die Nutzung, falls irgendwie moeglich.

Da auch NPCs uebergeben werden, kann man hier auch diese automatisch angreifen lassen, was normalerweise nicht der Fall ist. Dies funktioniert jedoch nur, wenn der heart_beat() eingeschaltet ist, also normalerweise nicht in Abwesenheit von Spielern.

BEISPIELE

inherit "/std/npc";

#include <npc.h>

protected void create()
{
  ...
  SetProp(P_AGGRESSIVE,1);
  ...
}

// Keine Leute angreifen, die auf der Freundesliste stehen.
// Bei dieser Variante wir das P_AGGRESSIVE in ob nicht ausgewertet, falls
// ob als Freund erkannt wird.
int AutoAttack(object ob)
{
  if(member(freunde,ob)!=-1) return 0;
  else return ::AutoAttack(ob);
}

SIEHE AUCH

Letzte Aenderung: 28.08.2019, Bugfix