FUNKTION:
void SetAttackChats(mixed chance string *chats);
ARGUMENTE:
chance: Wert fuer die Wahrscheinlichkeit einer Ausschrift.
(Integer oder Closure)
chats: Array von Strings (oder Closures) von Ausschriften.
BESCHREIBUNG:
Waehrend eines Kampfes gibt der NPC staendig zufaellig eine
der angegebenen Meldungen aus 'chats' aus. Dabei entspricht
'chance' der Wahrscheinlichkeit, mit der der NPC eine
Meldung ausgibt. Moegliche Werte sind 0..100 (%). Damit ist
es moeglich, eine Kampfsequenz individueller zu gestalten, so
dass nicht nur die einzelnen Treffermeldungen der Kaempfer
zu sehen sind.
Die in 'chats' angegebenen Strings/Closures werden vor der
Ausgabe noch modifiziert.
- Closures werden per 'funcall' ausgewertet.
- Der String wird ueber 'process_string' ausgewertet.
- Konstrukte der Art $(Text1,Text2) werden so verarbeitet,
dass Text1 einen zufaellig ausgewaehlten Gegner geht und
Text2 an alle anderen im gleichen Raum (mit Ausnahme des
NPC)
- Der String wird analog zu 'parse_mess' ausgewertet.
Dabei werden 2 verschiedene Strings erzeugt. Einer,
der an alle im Raum befindlichen Objekte ausser
dem zufaellig ausgewaehlten Gegner und dem NPC geht,
und einer der an den Gegner geht. (Es gilt die Syntax
analog zu 'parse_mess').
- Beide entstehenden Strings werden durch 'break_string'
auf BS_STDLEN umgebrochen, wobei bereits enthaltene
Zeilenumbrueche beibehalten werden.
RÜCKGABEWERT:
keiner.
BEISPIEL:
void create() {
...
SetAttackChats(10, ({
"Das Monster sagt: Ich reiss Dir die Haare aus!",
"Das Monster springt &&WEN&& wild an."
"&&WEM&& wird von dem Monster fast der Arm abgeschlagen.",
"&&WER&& $(verfehlst,verfehlt) das Monster meilenweit.",
"@@BloedeFunktion@@",
lambda( ({}), ({....}) ) }) );
// mit einer 10%-igen Wahrscheinlichkeit setzt das Monster
// im Kampf zufaellig eine dieser Meldungen ab.
...
}
Bsp.: "&&WER&& $(verfehlst,verfehlt) das Monster meilenweit."
Angenommen Elric sei der zufaellig gewaehlte Gegner.
Elric: "Du verfehlst das Monster meilenweit."
Andere: "Elric verfehlt das Monster meilenweit."
SIEHE AUCH:
SetChats(L), P_ACHAT_CHANCE, P_ACHATS, P_CHATS, P_CHAT_CHANCE
|