Combo de Itens #5762
Tamanho do Combo: 2
Itens do Combo
Dolor_HatK_LT
Blue_Mental_Pendant_LT
Efeito do Combo
.@r = getequiprefinerycnt(EQI_HEAD_TOP);
bonus bDelayrate,-2*(.@r/4);
if (.@r>=7) {
bonus2 bSPDrainRate,20,4;
autobonus "{ bonus2 bSPRegenRate,100,1000; }",20,10000,BF_MAGIC,"{ specialeffect2 EF_HEAL; }";
}
if (.@r>=9) {
bonus bAtkRate,5;
bonus bMatkRate,5;
bonus bPAtk,3;
bonus bSMatk,3;
}
if (.@r>=11)
bonus bFixedCast,-200;
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;
bDelayrate
Bônus de Item
bDelayrate
Assinatura:
bonus bDelayrate,n;
Descrição:
Increases skill delay by n%
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;
bSPDrainRate
Bônus de Item
bSPDrainRate
Assinatura:
bonus2 bSPDrainRate,x,n;
Descrição:
Adds a x/10% chance to drain n% SP from inflicted damage when attacking
bSPRegenRate
Bônus de Item
bSPRegenRate
Assinatura:
bonus2 bSPRegenRate,n,t;
Descrição:
Gain n SP every t milliseconds
specialeffect2
Comando
specialeffect2
Assinatura:
specialeffect2 <effect number>{,<send_target>{,"<Player Name>"}};
Descrição:
This command behaves identically to 'specialeffect', but the effect will be
centered on the invoking character's sprite.
<Player name> parameter will display <effect number> on another Player than the
one currently attached to the script. Like with specialeffect, when specifying
a player, <send_target> must be supplied, specifying AREA will retain the default
behavior of the command.
bAtkRate
Bônus de Item
bAtkRate
Assinatura:
bonus bAtkRate,n;
Descrição:
ATK + n% that won't interfere with Damage modifier and SC_EDP (renewal mode only)
bMatkRate
Bônus de Item
bMatkRate
Assinatura:
bonus bMatkRate,n;
Descrição:
Magical attack power + n%
bPAtk
Bônus de Item
bPAtk
Assinatura:
bonus bPAtk,n;
Descrição:
PAtk + n
bSMatk
Bônus de Item
bSMatk
Assinatura:
bonus bSMatk,n;
Descrição:
SMatk + n
bFixedCast
Bônus de Item
bFixedCast
Assinatura:
bonus bFixedCast,t;
Descrição:
Increases fixed cast time of all skills by t milliseconds (has effect in RENEWAL_CAST only)