Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //===== Rathena Script =======================================
- //= @resist command script
- //===== By: ==================================================
- //= Alayne
- //===== Current Version: =====================================
- //= 1.0
- //===== Compatible With: =====================================
- //=
- //===== Description: =========================================
- //=
- //= list all resists infos on demand
- //=
- //============================================================
- //
- - script Resist Manager::alarm -1,{//- script<Tab>Resist Manager::alarm<Tab>-1,{
- end;
- OnAtcommand:
- setarray .@resistsValues[0], 0, 0, 0, 0, 0, 0, 0, 0, 0;
- setarray .@resistsType$[0], "Fire", "Water", "Wind", "Earth", "Holy", "Dark", "Ghost", "Poison", "Neutral";
- //ARMOR
- setarray .@equipPos[0], EQI_ARMOR, EQI_HEAD;
- freeloop 1;
- for( .@r = 0; .@r < getarraysize(.@resistsValues); .@r++ )
- {
- for( .@p = 0; .@p < getarraysize(.@equipPos); .@p++ )
- {
- .@id = getequipid(.@pos);
- //get equip resists
- .@resistsValues[.@r] += callsub("OnGetResist", .@r, .@id);
- //now, check cards coumpounded
- for( .@i = 0; .@i < 4; .@i++ )
- {
- .@id = getequipcardid(.@pos, .@i);
- if(.@id > 0)
- {
- .@resistsValues[.@r] += callsub("OnGetResist", .@r, .@id);
- }
- }
- }
- }
- freeloop 0;
- dispbottom "-------------------Resist values-------------------";
- for( .@r = 0; .@r < getarraysize(.@resistsValues); .@r++ )
- {
- dispbottom " ~" + .@resistsType$[.@r] + " --> " + .@resistsValues[.@r];
- }
- end;
- OnGetResist:
- query_sql("SELECT `script` FROM `item_db` WHERE `id` = " + getarg(1), .@result$);
- if(getarraysize(.@result$) > 0)
- {
- .@script$ = .@result$[0];
- .@seekStr$ = "bonus2 bSubEle,Ele_";
- switch(getarg(0))
- {
- case 0:
- .@seekStr$ += "Fire,";//Missed ';'
- break;
- case 1:
- .@seekStr$ += "Water,";//Missed ';'
- break;
- case 2:
- .@seekStr$ += "Wind,";//Missed ';'
- break;
- case 3:
- .@seekStr$ += "Earth,";//Missed ';'
- break;
- case 4:
- .@seekStr$ += "Holy,";//Missed ';'
- break;
- case 5:
- .@seekStr$ += "Dark,";//Missed ';'
- break;
- case 6:
- .@seekStr$ += "Ghost,";//Missed ';'
- break;
- case 7:
- .@seekStr$ += "Poison,";//Missed ';'
- break;
- case 8:
- .@seekStr$ += "Neutral,";//Missed ';'
- break;
- }
- if(compare(.@script$, .@seekStr$) == 1)
- {
- explode(.@dest$, .@script$, .@seekStr$);
- if(getarraysize(.@seekStr$) > 1)
- {
- .@valueAfter$ = .@seekStr$[1];
- explode(.@values$, .@valueAfter$, ";");
- if(getarraysize(.@values$) > 1)
- {
- .@realValue = atoi(.@values$[0]);
- }
- }
- }
- }
- return .@realValue;
- OnInit:
- bindatcmd "resistlist",strnpcinfo(3) + "::OnAtcommand";
- end;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement