| 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 |
| --------- |
| |
| .. code-block:: pike |
| |
| 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 |
| ---------- |
| |
| :doc:`heart_beat`, :doc:`../props/P_AGGRESSIVE` |
| |
| Letzte Aenderung: 28.08.2019, Bugfix |