Advertisement
Guest User

Untitled

a guest
Nov 30th, 2017
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.76 KB | None | 0 0
  1. //===== Rathena Script =======================================
  2. //= @resist command script
  3. //===== By: ==================================================
  4. //= Alayne
  5. //===== Current Version: =====================================
  6. //= 1.0
  7. //===== Compatible With: =====================================
  8. //=
  9. //===== Description: =========================================
  10. //=
  11. //= list all resists infos on demand
  12. //=
  13. //============================================================
  14. //
  15.  
  16. - script Resist Manager::alarm -1,{//- script<Tab>Resist Manager::alarm<Tab>-1,{
  17. end;
  18.  
  19. OnAtcommand:
  20. setarray .@resistsValues[0], 0, 0, 0, 0, 0, 0, 0, 0, 0;
  21. setarray .@resistsType$[0], "Fire", "Water", "Wind", "Earth", "Holy", "Dark", "Ghost", "Poison", "Neutral";
  22.  
  23. //ARMOR
  24. setarray .@equipPos[0], EQI_ARMOR, EQI_HEAD;
  25.  
  26. freeloop 1;
  27.  
  28. for( .@r = 0; .@r < getarraysize(.@resistsValues); .@r++ )
  29. {
  30. for( .@p = 0; .@p < getarraysize(.@equipPos); .@p++ )
  31. {
  32. .@id = getequipid(.@pos);
  33.  
  34. //get equip resists
  35. .@resistsValues[.@r] += callsub("OnGetResist", .@r, .@id);
  36.  
  37. //now, check cards coumpounded
  38. for( .@i = 0; .@i < 4; .@i++ )
  39. {
  40. .@id = getequipcardid(.@pos, .@i);
  41. if(.@id > 0)
  42. {
  43. .@resistsValues[.@r] += callsub("OnGetResist", .@r, .@id);
  44. }
  45. }
  46. }
  47. }
  48.  
  49. freeloop 0;
  50.  
  51. dispbottom "-------------------Resist values-------------------";
  52. for( .@r = 0; .@r < getarraysize(.@resistsValues); .@r++ )
  53. {
  54. dispbottom " ~" + .@resistsType$[.@r] + " --> " + .@resistsValues[.@r];
  55. }
  56. end;
  57.  
  58. OnGetResist:
  59. query_sql("SELECT `script` FROM `item_db` WHERE `id` = " + getarg(1), .@result$);
  60. if(getarraysize(.@result$) > 0)
  61. {
  62. .@script$ = .@result$[0];
  63. .@seekStr$ = "bonus2 bSubEle,Ele_";
  64. switch(getarg(0))
  65. {
  66. case 0:
  67. .@seekStr$ += "Fire,";//Missed ';'
  68. break;
  69. case 1:
  70. .@seekStr$ += "Water,";//Missed ';'
  71. break;
  72. case 2:
  73. .@seekStr$ += "Wind,";//Missed ';'
  74. break;
  75. case 3:
  76. .@seekStr$ += "Earth,";//Missed ';'
  77. break;
  78. case 4:
  79. .@seekStr$ += "Holy,";//Missed ';'
  80. break;
  81. case 5:
  82. .@seekStr$ += "Dark,";//Missed ';'
  83. break;
  84. case 6:
  85. .@seekStr$ += "Ghost,";//Missed ';'
  86. break;
  87. case 7:
  88. .@seekStr$ += "Poison,";//Missed ';'
  89. break;
  90. case 8:
  91. .@seekStr$ += "Neutral,";//Missed ';'
  92. break;
  93. }
  94.  
  95. if(compare(.@script$, .@seekStr$) == 1)
  96. {
  97. explode(.@dest$, .@script$, .@seekStr$);
  98. if(getarraysize(.@seekStr$) > 1)
  99. {
  100. .@valueAfter$ = .@seekStr$[1];
  101. explode(.@values$, .@valueAfter$, ";");
  102. if(getarraysize(.@values$) > 1)
  103. {
  104. .@realValue = atoi(.@values$[0]);
  105. }
  106. }
  107. }
  108. }
  109. return .@realValue;
  110.  
  111. OnInit:
  112. bindatcmd "resistlist",strnpcinfo(3) + "::OnAtcommand";
  113. end;
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement