Item-Kombination #7555
Kombinationsgröße: 2
Kombinationsgegenstände
B_Seyren_Card
Injured_Eyepatch_JP_
Kombinationseffekt
bonus bSpeedRate,25;
autobonus3 "{ bonus bBaseAtk,1000; }",200,5000,"LK_BERSERK";
/*Todo : Should be When using the Berserk skill while in this state, when attacking physically, there is a 20% chance to gain ATK + 1000 for 5 seconds. (don't know to wrtite this script)*/
Skriptreferenzen
bSpeedRate
Gegenstandsbonus
bSpeedRate
Signatur:
bonus bSpeedRate,n;
Beschreibung:
Movement speed + n% (only the highest among all is applied, won't be stacked with SC_SPEEDUP0, SC_SPEEDUP1)
autobonus3
Befehl
autobonus3
Signatur:
autobonus3 <bonus script>,<rate>,<duration>,<skill id>,{<other script>};
autobonus3 <bonus script>,<rate>,<duration>,"<skill name>",{<other script>};
Beschreibung:
These commands are meant to be used in item scripts only! See 'petautobonus' for pet usage.
What these commands do is 'attach' a script to the player which will get
executed on attack (or when attacked in the case of autobonus2).
Rate is the trigger rate of the script (1000 = 100%).
Duration is the time in milliseconds that the bonus will last for since the script has triggered.
Skill ID/skill name the skill which will be used as trigger to start the bonus. (autobonus3)
The optional argument 'flag' is used to classify the type of attack where the script
can trigger (it shares the same flags as the bAutoSpell bonus script):
Range criteria:
Attack type criteria:
Skill criteria:
The difference between the optional argument 'other script' and the 'bonus script' is that,
the former one triggers only when attacking(or attacked) and the latter one runs on
status calculation as well, which makes sure, within the duration, the "bonus" that get
lost on status calculation is restored. So, 'bonus script' is technically supposed to accept
"bonus" command only. And we usually use 'other script' to show visual effects.
In all cases, when the script triggers, the attached player will be the one
who holds the bonus. There is currently no way of knowing within this script
who was the other character (the attacker in autobonus2, or the target in
autobonus and autobonus3).
//Grants a 1% chance of starting the state "all stats +10" for 10 seconds when
//using weapon or misc attacks (both melee and ranged skills) and shows a special
//effect when the bonus is active.
Beispiel:
BF_SHORT: Trigger on melee attack
BF_LONG: Trigger on ranged attack
Default: BF_SHORT+BF_LONG
BF_WEAPON: Trigger on weapon skills
BF_MAGIC: Trigger on magic skills
BF_MISC: Trigger on misc skills
Default: BF_WEAPON
BF_NORMAL: Trigger on normal attacks
BF_SKILL: Trigger on skills
default: If the attack type is BF_WEAPON (only) BF_NORMAL is used,
otherwise BF_SKILL+BF_NORMAL is used.
autobonus "{ bonus bAllStats,10; }",10,10000,BF_WEAPON|BF_MISC,"{ specialeffect2 EF_FIRESPLASHHIT; }";
bBaseAtk
Gegenstandsbonus
bBaseAtk
Signatur:
bonus bBaseAtk,n;
Beschreibung:
Basic attack power + n
while
Befehl
while
Signatur:
while (<condition>) <statement>;
Beschreibung:
This is probably the simplest and most frequently used loop structure. The 'while'
statement can be interpreted as "while <condition> is true, perform <statement>".
It is a pretest loop, meaning the conditional expression is tested before any of the
statements in the body of the loop are performed. If the condition evaluates to
false, the statement(s) in the body of the loop is/are never executed. If the
condition evaluates to true, the statement(s) are executed, then control transfers
back to the conditional expression, which is reevaluated and the cycle continues.
Multiple statements can be grouped with { }, curly braces, just like with the 'if' statement.
Example 1:
Example 2: multiple statements
Example 3: counter-controlled loop
Example 4: sentinel-controlled loop
Beispiel:
while (switch(select("Yes:No") == 2 ))
mes "You picked no.";
close;
while (switch(select("Yes:No") == 2 )) {
mes "Why did you pick no?";
mes "You should pick yes instead!";
}
close;
.@i = 1;
while (.@i <= 5) {
mes "This line will print 5 times.";
.@i += 1;
}
close;
mes "Input 0 to stop";
input .@num;
while (.@num != 0) {
mes "You entered " + .@num;
input .@num;
}
close;
for
Befehl
for
Signatur:
for (<variable initialization>; <condition>; <variable update>) <statement>;
Beschreibung:
Another pretest looping structure is the 'for' statement. It is considered a
specialized form of the 'while' statement, and is usually associated with counter-
controlled loops. Here are the steps of the 'for' statement: the initialize
statement is executed first and only once. The condition test is performed.
When the condition evaluates to false, the rest of the for statement is skipped.
When the condition evaluates to true, the body of the loop is executed, then the
update statement is executed (this usually involves incrementing a variable).
Then the condition is reevaluated and the cycle continues.
Example 1:
Example 2:
Beispiel:
for( .@i = 1; .@i <= 5; .@i++ )
mes "This line will print 5 times.";
mes "This will print the numbers 1 - 5.";
for( .@i = 1; .@i <= 5; .@i++ )
mes "Number: " + .@i;