Charakter-Effekte: Unterschied zwischen den Versionen

Aus Sternenschweif Wiki
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
Beispiel für einen Effekt auf einen NPC (Gegner)
+
Beispiel für einen Effekt auf einen NPC (Gegner).
 
Wird ausgelöst durch einen Treffer mit der Waffe, Effekt läuft über poison.
 
Wird ausgelöst durch einen Treffer mit der Waffe, Effekt läuft über poison.
  
Zeile 21: Zeile 21:
 
var RS = getCharAttribute("RS",0);
 
var RS = getCharAttribute("RS",0);
 
var RSmod = 0;
 
var RSmod = 0;
var RSnew = RS;
 
 
if ( RS > 0 ) RSmod = -1;
 
if ( RS > 0 ) RSmod = -1;
 
setEffect( "RS", RSmod );  
 
setEffect( "RS", RSmod );  
RSnew = RS + RSmod;
+
var RSnew = RS + RSmod;
 
showMessage("RS alt: "+RS+"  RS neu: "+RSnew);
 
showMessage("RS alt: "+RS+"  RS neu: "+RSnew);
 
     }
 
     }
]]></script>
+
]]></script>  
 
</effect>
 
</effect>
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
Da unique="true", wird der Effekt nur einmal pro Gegner ausgelöst. Der RS darf nicht unter 0 sinken, da sonst durch die Berechnung TP - RS = SP ein zusätzlicher SP entstehen würde.
  
 
--lunatic 21:02, 9. Apr. 2014 (CEST)
 
--lunatic 21:02, 9. Apr. 2014 (CEST)

Version vom 9. April 2014, 21:05 Uhr

Beispiel für einen Effekt auf einen NPC (Gegner). Wird ausgelöst durch einen Treffer mit der Waffe, Effekt läuft über poison.

Zunächst die nötigen Effekte bei dem Item (Waffe)

<effect on="spawn" type="uses" mod="999" />
<effect on="spawn" type="varusestype" which="lunatic_schwert" />
<effect on="data" type="usestype" which="poison" />


Hier die Definition unter dem <effects>-Tag:

<effect intname="poison_lunatic_schwert" duration="999" battle="true" langid="chartext_opp_lunatic_schwert" unique="true">
<type>other</type>
<display>negative</display>
<!-- Nur beim ersten Treffer wird der RS um 1 reduziert (wenn > 0) -->
<script><![CDATA[
    function OnAdd() {
	var RS = getCharAttribute("RS",0);
	var RSmod = 0;
	if ( RS > 0 ) RSmod = -1;
	setEffect( "RS", RSmod ); 
	var RSnew = RS + RSmod;
	showMessage("RS alt: "+RS+"   RS neu: "+RSnew);
    }			
]]></script> 
</effect>

Da unique="true", wird der Effekt nur einmal pro Gegner ausgelöst. Der RS darf nicht unter 0 sinken, da sonst durch die Berechnung TP - RS = SP ein zusätzlicher SP entstehen würde.

--lunatic 21:02, 9. Apr. 2014 (CEST)