Item-Kombination Details

Item-Kombination #5601

Kombinationsgröße: 2
Kombinationsgegenstände
Archangel Wings [1]
Archangel_Wing
Eternal Poring Balloon
Angeling_Balloon_TW
Kombinationseffekt
.@r = getequiprefinerycnt(EQI_GARMENT);
.@a = readparam(bStr);
.@b = readparam(bAgi);
.@c = readparam(bVit);
.@d = readparam(bInt);
.@e = readparam(bDex);
.@f = readparam(bLuk);
bonus2 bExpAddRace,RC_All,8;
if (.@r>=8) {
   bonus bShortAtkRate,3*(.@a/20);
   bonus bCritAtkRate,4*(.@b/20);
   bonus2 bSubEle,Ele_Neutral,2*(.@c/20);
   bonus bMaxHPrate,(.@c/20);
   bonus2 bMagicAtkEle,Ele_All,(.@d/20);
   bonus bDelayrate,-3*(.@e/20);
   bonus bBaseAtk,5*(.@f/20);
   bonus bMatk,5*(.@f/20);
   bonus bCritical,2*(.@f/20);
}
Skriptreferenzen
getequiprefinerycnt Befehl
getequiprefinerycnt
Signatur:
getequiprefinerycnt(<equipment slot>{,<char_id>})
Beschreibung:
slot. For a list of equipment slots see 'getequipid'. Can be used to check if you have reached a maximum refine value, default for this is +10:
Beispiel:
if (getequiprefinerycnt(EQI_HEAD_TOP) < 10)
mes "I will now upgrade your " + getequipname(EQI_HEAD_TOP);
else
mes "Sorry, it's not possible to refine hats better than +10";
close;
readparam Befehl
readparam
Signatur:
readparam(<parameter number>{,"<character name>"})
readparam(<parameter number>{,<char_id>})
Beschreibung:
This function will return the specified stat of the invoking character, or, if a character name or character id is specified, of that player. The stat can either be a number or parameter name, defined in ''. Some example parameters: StatusPoint, BaseLevel, SkillPoint, Class, Upper, Zeny, Sex, Weight, MaxWeight, JobLevel, BaseExp, JobExp, NextBaseExp, NextJobExp, Hp, MaxHp, Sp, MaxSp, BaseJob, Karma, Manner, bVit, bDex, bAgi, bStr, bInt, bLuk, Ap, MaxAp All of these also behave as variables, but don't expect to be able to just 'set' them - some will not work for various internal reasons. Example 1: Using this particular information as a function call is not required. Typing this will return the same result: Example 2: You can also use this command to get stat values.
Beispiel:
// Returns how many status points you haven't spent yet.
mes "Unused status points: " + readparam(9);
mes "Unused status points: " + StatusPoint;
if (readparam(bVit) > 77)
mes "Only people with over 77 Vit are reading this!";
bStr Gegenstandsbonus
bStr
Signatur:
bonus bStr,n;
Beschreibung:
STR + n
bAgi Gegenstandsbonus
bAgi
Signatur:
bonus bAgi,n;
Beschreibung:
AGI + n
bVit Gegenstandsbonus
bVit
Signatur:
bonus bVit,n;
Beschreibung:
VIT + n
bInt Gegenstandsbonus
bInt
Signatur:
bonus bInt,n;
Beschreibung:
INT + n
bDex Gegenstandsbonus
bDex
Signatur:
bonus bDex,n;
Beschreibung:
DEX + n
bLuk Gegenstandsbonus
bLuk
Signatur:
bonus bLuk,n;
Beschreibung:
LUK + n
bExpAddRace Gegenstandsbonus
bExpAddRace
Signatur:
bonus2 bExpAddRace,r,x;
Beschreibung:
Increase exp gained by x% against enemies of race r
if Befehl
if
Signatur:
if (<condition>) <statement>;
Beschreibung:
This is the basic conditional statement command, and just about the only one available in this scripting language. The condition can be any expression. All expressions resulting in a non-zero value will be considered True, including negative values. All expressions resulting in a zero are false. If the expression results in True, the statement will be executed. If it isn't true, nothing happens and we move on to the next line of the script. For more information on conditional operators see the operators section above. bothering to store it in a specific variable: More examples of using the 'if' command in the real world: Example 1: Example 2: Notice that examples 1 and 2 have the same effect. Example 3: Example 4: Example 5: See 'strcharinfo' for an explanation of what this function does. Example 6: Using complex conditions. The script engine also supports nested 'if' statements: If the condition isn't met, it'll do the action following the 'else'. We can also group several actions depending on a condition: Remember that if you plan to do several actions upon the condition being false, and you forget to use the curly braces (the { } ), the second action will be executed regardless the output of the condition, unless of course, you stop the execution of the script if the condition is true (that is, in the first grouping using a return; , and end; or a close; ) Also, you can have multiple conditions nested or chained.
Beispiel:
if (1)  mes "This will always print.";
if (0)  mes "And this will never print.";
if (5)  mes "This will also always print.";
if (-1) mes "Funny as it is, this will also print just fine.";
if (strcharinfo(0) == "Daniel Jackson") mes "It is true, you are Daniel!";
.@answer = 1;
input .@input;
if (.@input == .@answer)
close;
mes "Sorry, your answer is incorrect.";
close;
.@answer = 1;
input .@input;
if (.@input != .@answer)
mes "Sorry, your answer is incorrect.";
close;
.@count++;
mes "[Forgetful Man]";
if (.@count == 1) mes "This is the first time you have talked to me.";
if (.@count == 2) mes "This is the second time you have talked to me.";
if (.@count == 3) mes "This is the third time you have talked to me.";
if (.@count == 4) {
mes "This is the fourth time you have talked to me.";
mes "I think I am getting amnesia, I have forgotten about you...";
.@count = 0;
}
close;
mes "[Quest Person]";
if (countitem(512) < 1) {  // 512 is the item ID for Apple, found in db/item_db.yml
mes "Can you please bring me an apple?";
close;
}
mes "Oh, you brought an Apple!";
mes "I didn't want it, I just wanted to see one.";
close;
mes "[Person Checker]";
if ($@name$ == "") {  // global variable not yet set
mes "Please tell me someones name";
next;
input $@name$;
$@name2$ = strcharinfo(0);
mes "[Person Checker]";
mes "Thank you.";
close;
}
if ($@name$ == strcharinfo(0)) {  // player name matches $@name$
mes "You are the person that " + $@name2$ + " just mentioned.";
mes "Nice to meet you!";
// reset the global variables
$@name$ = "";
$@name2$ = "";
close;
}
mes "You are not the person that " + $name2$ + " mentioned.";
close;
mes "[Multiple Checks]";
if (@queststarted == 1 && countitem(512) >= 5) {
mes "Well done, you have started the quest and brought me 5 Apples.";
@queststarted = 0;
delitem 512,5;
close;
}
mes "Please bring me 5 apples.";
@queststarted = 1;
close;
if (<condition>)
dothis;
else
dothat;
if (<condition>) {
dothis1;
dothis2;
} else {
dothat1;
dothat2;
dothat3;
}
if (<condition 1>)
dothis;
else if (<condition 2>) {
dothat;
end;
} else
dothis;
bShortAtkRate Gegenstandsbonus
bShortAtkRate
Signatur:
bonus bShortAtkRate,n;
Beschreibung:
Increases damage of short ranged attacks by n%
bCritAtkRate Gegenstandsbonus
bCritAtkRate
Signatur:
bonus bCritAtkRate,n;
Beschreibung:
Increases critical damage by +n%
bSubEle Gegenstandsbonus
bSubEle
Signatur:
bonus3 bSubEle,e,x,bf;
Beschreibung:
+x% damage reduction against attack element e with trigger criteria bf
bMaxHPrate Gegenstandsbonus
bMaxHPrate
Signatur:
bonus bMaxHPrate,n;
Beschreibung:
MaxHP + n%
bMagicAtkEle Gegenstandsbonus
bMagicAtkEle
Signatur:
bonus2 bMagicAtkEle,e,x;
Beschreibung:
Increases damage of e element magic by x%
bDelayrate Gegenstandsbonus
bDelayrate
Signatur:
bonus bDelayrate,n;
Beschreibung:
Increases skill delay by n%
bBaseAtk Gegenstandsbonus
bBaseAtk
Signatur:
bonus bBaseAtk,n;
Beschreibung:
Basic attack power + n
bMatk Gegenstandsbonus
bMatk
Signatur:
bonus bMatk,n;
Beschreibung:
Magical attack power + n
bCritical Gegenstandsbonus
bCritical
Signatur:
bonus bCritical,n;
Beschreibung:
Critical + n