Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.20 KB | None | 0 0
  1. prontera,147,238,5 script 頭飾存放倉庫 10013,{
  2. mes "["+strnpcinfo(1)+"]";
  3. mes "您可以將特定的頭飾放入典藏倉庫";
  4. mes "將可以獲得額外的能力加成";
  5. mes "相同的頭飾無法重複放入";
  6. mes "取出時仍保有精煉度及卡片相關素質";
  7. next;
  8. switch(select("存入頭飾:取出頭飾"))
  9. {
  10. case 1:
  11. mes "["+strnpcinfo(1)+"]";
  12. mes "請選擇您要放入的頭飾";
  13. next;
  14. for (.@i = 1; .@i < getarraysize(.EquipPosEN); .@i++)
  15. .@MenuPos$ = .@MenuPos$+"- "+sprintf("%-8s",F_getpositionname(.EquipPosEN[.@i]))+" "+((getequipisequiped(.EquipPosEN[.@i]))?"^0000FF"+getequipname(.EquipPosEN[.@i])+"^000000":"^656565無裝備^000000")+":";
  16. .@j = select(.@MenuPos$);
  17. if (getequipid(.EquipPosEN[.@j]) == -1)
  18. {
  19. mes "["+strnpcinfo(1)+"]";
  20. mes "您沒有穿戴裝備。";
  21. close;;
  22. }
  23. .@nameid = getequipid(.EquipPosEN[.@j]);
  24. .@refine_cnt = getequiprefinerycnt(.EquipPosEN[.@j]);
  25. .@card0 = getequipcardid(.EquipPosEN[.@j],6);
  26. .@card1 = getequipcardid(.EquipPosEN[.@j],7);
  27. .@card2 = getequipcardid(.EquipPosEN[.@j],8);
  28. .@card3 = getequipcardid(.EquipPosEN[.@j],9);
  29. for(.@i=0; .@i<5; .@i++)
  30. {
  31. .@OptID[.@i] = getequiprandomoption(.EquipPosEN[.@j],.@i,ROA_ID);
  32. .@OptVal[.@i] =getequiprandomoption(.EquipPosEN[.@j],.@i,ROA_VALUE);
  33. .@OptParam[.@i] = getequiprandomoption(.EquipPosEN[.@j],.@i,ROA_PARAM);
  34. }
  35. query_sql("SELECT `nameid` FROM `head_storage` WHERE `char_id` = '"+getcharid(0)+"'",.@check_id);
  36. .@index = inarray(.@check_id, .@nameid);
  37. if(.@index > -1)
  38. {
  39. mes "["+strnpcinfo(1)+"]";
  40. mes "這項裝備已在倉庫中。";
  41. close;
  42. }
  43. delequip .EquipPosEN[.@j];
  44. query_sql "INSERT INTO `head_storage` ( `char_id`, `nameid`, `refine`, `card0`, `card1`, `card2`, `card3`, `OptID1`, `OptVal1`, `OptParam1`, `OptID2`, `OptVal2`, `OptParam2`, `OptID3`, `OptVal3`, `OptParam3`, `OptID4`, `OptVal4`, `OptParam4`, `OptID5`, `OptVal5`, `OptParam5` ) VALUES ( '"+getcharid(0)+"', '"+.@nameid+"' , '"+.@refine_cnt+"' , '"+.@card0+"' , '"+.@card1+"' , '"+.@card2+"' , '"+.@card3+"' , '"+.@OptID[0]+"' , '"+.@OptVal[0]+"', '"+.@OptParam[0]+"', '"+.@OptID[1]+"' , '"+.@OptVal[1]+"', '"+.@OptParam[1]+"', '"+.@OptID[2]+"' , '"+.@OptVal[2]+"', '"+.@OptParam[2]+"', '"+.@OptID[3]+"' , '"+.@OptVal[3]+"', '"+.@OptParam[3]+"', '"+.@OptID[4]+"' , '"+.@OptVal[4]+"', '"+.@OptParam[4]+"' )";
  45. dispbottom "[頭飾倉庫] 已存入"+getitemname(.@nameid),0x00ffff;
  46. break;
  47.  
  48. case 2:
  49. mes "["+strnpcinfo(1)+"]";
  50. mes "請選擇您要取出的頭飾";
  51. next;
  52. query_sql("SELECT `nameid`, `refine`, `card0`, `card1`, `card2`, `card3`, `OptID1`, `OptVal1`, `OptParam1`, `OptID2`, `OptVal2`, `OptParam2`, `OptID3`, `OptVal3`, `OptParam3`, `OptID4`, `OptVal4`, `OptParam4`, `OptID5`, `OptVal5`, `OptParam5` FROM `head_storage` WHERE `char_id` = '"+getcharid(0)+"'",.@nameid, .@refine_cnt, .@card0, .@card1, .@card2, .@card3, .@OptID1, .@OptVal1, .@OptParam1, .@OptID2, .@OptVal2, .@OptParam2, .@OptID3, .@OptVal3, .@OptParam3, .@OptID4, .@OptVal4, .@OptParam4, .@OptID5, .@OptVal5, .@OptParam5);
  53. for( .@i = 0; .@i < getarraysize(.@nameid); .@i++ )
  54. .@menu$ = .@menu$ + (getitemname(.@nameid[.@i]))+":";
  55. .@j = select(.@menu$)-1;
  56. setarray .@OPT_ID[0], .@OptID1[.@j], .@OptID2[.@j], .@OptID3[.@j], .@OptID4[.@j], .@OptID5[.@j];
  57. setarray .@OPT_VALUE[0], .@OptVal1[.@j], .@OptVal2[.@j], .@OptVal3[.@j], .@OptVal4[.@j], .@OptVal5[.@j];
  58. setarray .@OPT_PARAM[0], .@OptParam1[.@j], .@OptParam2[.@j], .@OptParam3[.@j], .@OptParam4[.@j], .@OptParam5[.@j];
  59. getitem3 .@nameid[.@j], 1, 1, .@refine_cnt[.@j], 0, .@card0[.@j], .@card1[.@j], .@card2[.@j], .@card3[.@j], .@OPT_ID, .@OPT_VALUE, .@OPT_PARAM;
  60. query_sql("DELETE FROM `head_storage` WHERE `char_id` = '"+getcharid(0)+"' AND `nameid` = '"+.@nameid[.@j]+"'");
  61. dispbottom "[頭飾倉庫] 已取出"+getitemname(.@nameid),0x00ffff;
  62. break;
  63. }
  64. doevent strnpcinfo(0)+"::OnReCalc";
  65. recalculatestat;
  66. end;
  67. OnInit:
  68. setarray .EquipPosEN[1],EQI_HEAD_TOP,EQI_HEAD_MID,EQI_HEAD_LOW,EQI_COSTUME_HEAD_TOP,EQI_COSTUME_HEAD_MID,EQI_COSTUME_HEAD_LOW;
  69. query_sql("CREATE TABLE IF NOT EXISTS `head_storage` (`char_id` INT(11) NOT NULL, `nameid` INT(11) NOT NULL, `refine` INT(11) NOT NULL,`card0` INT(11) NOT NULL,`card1` INT(11) NOT NULL,`card2` INT(11) NOT NULL,`card3` INT(11) NOT NULL,`OptID1` INT(11) NOT NULL,`OptVal1` INT(11) NOT NULL,`OptParam1` INT(11) NOT NULL,`OptID2` INT(11) NOT NULL,`OptVal2` INT(11) NOT NULL,`OptParam2` INT(11) NOT NULL,`OptID3` INT(11) NOT NULL,`OptVal3` INT(11) NOT NULL,`OptParam3` INT(11) NOT NULL,`OptID4` INT(11) NOT NULL,`OptVal4` INT(11) NOT NULL,`OptParam4` INT(11) NOT NULL,`OptID5` INT(11) NOT NULL,`OptVal5` INT(11) NOT NULL,`OptParam5` INT(11) NOT NULL);");
  70. debugmes "頭飾存放資料庫安裝完成!";
  71. end;
  72.  
  73. OnPCLoginEvent:
  74. deletearray .@EQI_HEAD_TOP;
  75. query_sql("SELECT `nameid` FROM `head_storage` WHERE `char_id` = '"+getcharid(0)+"'", .@EQI_HEAD_TOP);
  76. end;
  77.  
  78. OnPCStatCalcEvent:
  79. for( .@i = 0; .@i < getarraysize(.@EQI_HEAD_TOP); .@i++ )
  80. {
  81. switch(.@EQI_HEAD_TOP[.@i])
  82. {
  83. case 2221: bonus bDex,100; break;
  84. case 2285: bonus bStr,100; break;
  85. case 2286: bonus bAgi,100; break;
  86. }
  87. }
  88. end;
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement