Combo de Itens Detalhes

Combo de Itens #5553

Tamanho do Combo: 2
Itens do Combo
Efeito do Combo
.@r = getequiprefinerycnt(EQI_HAND_L)+getequiprefinerycnt(EQI_SHOES);
if (eaclass()&EAJL_THIRD && BaseJob == Job_Alchemist) {
   bonus2 bAddSize,Size_All,3*(.@r/4);
   bonus bLongAtkRate,5*(.@r/6);
   bonus bShortAtkRate,5*(.@r/6);
   if (.@r>=23) {
      bonus bNoWalkDelay;
      bonus bMaxHPrate,-15;
      bonus3 bAutoSpellWhenHit,"CR_ACIDDEMONSTRATION",max(getskilllv("CR_ACIDDEMONSTRATION"),1),400;
      bonus3 bAutoSpellWhenHit,"GN_SPORE_EXPLOSION",max(getskilllv("GN_SPORE_EXPLOSION"),1),300;
   }
}
Referências do Script
getequiprefinerycnt Comando
getequiprefinerycnt
Assinatura:
getequiprefinerycnt(<equipment slot>{,<char_id>})
Descrição:
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:
Exemplo:
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;
if Comando
if
Assinatura:
if (<condition>) <statement>;
Descrição:
Este é o comando de instrução condicional básico, e praticamente o único disponível nesta linguagem de script. A condição pode ser qualquer expressão. Todas as expressões que resultam em um valor não zero serão consideradas Verdadeiras, incluindo valores negativos. Todas as expressões que resultam em zero são falsas. Se a expressão resultar em Verdadeira, a instrução será executada. Se não for verdadeira, nada acontece e passamos para a próxima linha do script. Para mais informações sobre operadores condicionais, consulte a seção de operadores acima. armazená-lo em uma variável específica: Mais exemplos de uso do comando 'if' no mundo real: Exemplo 1: Exemplo 2: Note que os exemplos 1 e 2 têm o mesmo efeito. Exemplo 3: Exemplo 4: Exemplo 5: Veja 'strcharinfo' para uma explicação do que esta função faz. Exemplo 6: Usando condições complexas. O motor de script também suporta declarações 'if' aninhadas: Se a condição não for atendida, ele executará a ação seguinte ao 'else'. Também podemos agrupar várias ações dependendo de uma condição: Lembre-se que se você planeja fazer várias ações quando a condição for falsa, e você esquecer de usar as chaves ( { } ), a segunda ação será executada independentemente da saída da condição, a menos, é claro, que você pare a execução do script se a condição for verdadeira (ou seja, no primeiro agrupamento usando um return;, end; ou um close;) Além disso, você pode ter múltiplas condições aninhadas ou encadeadas.
Exemplo:
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;
eaclass Comando
eaclass
Assinatura:
eaclass({<job number>,<char_id>})
Descrição:
This commands returns the "eA job-number" corresponding to the given class, and uses the invoking player's class if none is given. The eA job-number is also a class number system, but it's one that comes with constants which make it easy to convert among classes. The command will return -1 if you pass it a job number which doesn't have an eA job-number equivalent.
Exemplo:
.@eac = eaclass();
if ((.@eac&EAJ_BASEMASK) == EAJ_SWORDMAN)
mes "Your base job is Swordman.";
if (.@eac&EAJL_UPPER)
mes "You are a rebirth job.";
if ((.@eac&EAJ_UPPERMASK) == EAJ_SWORDMAN)
mes "You must be a Swordman, Baby Swordman or High Swordman.";
bAddSize Bônus de Item
bAddSize
Assinatura:
bonus2 bAddSize,s,x;
Descrição:
+x% physical damage against size s
bLongAtkRate Bônus de Item
bLongAtkRate
Assinatura:
bonus bLongAtkRate,n;
Descrição:
Increases damage of long ranged attacks by n%
bShortAtkRate Bônus de Item
bShortAtkRate
Assinatura:
bonus bShortAtkRate,n;
Descrição:
Increases damage of short ranged attacks by n%
bNoWalkDelay Bônus de Item
bNoWalkDelay
Assinatura:
bonus bNoWalkDelay;
Descrição:
Give infinite Endure.
bMaxHPrate Bônus de Item
bMaxHPrate
Assinatura:
bonus bMaxHPrate,n;
Descrição:
MaxHP + n%
bAutoSpellWhenHit Bônus de Item
bAutoSpellWhenHit
Assinatura:
bonus5 bAutoSpellWhenHit,sk,y,n,bf,i;
Descrição:
Adds a n/10% chance to cast skill sk of level y when being hit by a direct attack with trigger criteria bf
getskilllv Comando
getskilllv
Assinatura:
getskilllv(<skill id>)
getskilllv("<skill name>")
Descrição:
character has. If they don't have the skill, 0 will be returned. The full list of character skills is available in ''. There are two main uses for this function, it can check whether the character has a skill or not, and it can tell you if the level is high enough. Example 1: Example 2:
Exemplo:
if (getskilllv(152))
mes "You have got the skill Throw Stone";
else
mes "You don't have Throw Stone";
close;
if (getskilllv(28) >= 5)
mes "Your heal lvl is 5 or more";
else if (getskilllv(28) == 10)
mes "Your heal lvl has been maxed";
else
mes "You heal skill is below lvl 5";
close;