Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // https://rathena.org/board/topic/124065-h-crafting-item-dont-give-reward-if-success/
- // https://rathena.org/board/topic/58411-removed/
- prontera,155,181,5 script Sample 757,{
- function RequiredItems;
- function ForgedList;
- mes "What you are trying to Forge ?";
- next;
- switch(select(
- "Knife", // case 1
- "Cutter", // case 2
- "Dirk" // case 3
- )) {
- case 1:
- RequiredItems(985,1,984,1);
- set .@i,ForgedList(1201,1202,1203,1201);
- break;
- case 2:
- RequiredItems(985,2,984,2,607,1);
- set .@i,ForgedList(1204,1205,1206,1205);
- break;
- case 3:
- RequiredItems(985,3,984,3,607,1,608,1);
- set .@i,ForgedList(1210,1211,1212,1206);
- break;
- //case 4 or more...
- default:
- mes "Configuration's Problems..";
- close;
- }
- mes "You gained 1 "+getitemname(.@i)+".";
- getitem .@i, 1;
- close2;
- emotion e_heh;
- end;
- function RequiredItems {
- mes "[ ^0000FF Required Items ^000000 ]";
- mes "^FFFFFF________________________________^000000";
- for(set .@i,0; getarg(.@i,0); set .@i,.@i + 2){
- mes ((countitem(getarg(.@i)) < getarg(.@i + 1))?"^FF0000":"^00FF00")+"[ "+countitem(getarg(.@i))+" / "+getarg(.@i + 1)+" ] ^0000FF "+getitemname(getarg(.@i))+"^000000";
- if(countitem(getarg(.@i)) < getarg(.@i + 1))
- set .@failed,.@failed + 1;
- }
- mes "^FFFFFF________________________________^000000";
- if(.@failed){
- mes "[ ^FF0000failed^000000 ] ^FF0000"+.@failed+"^000000 Items ";
- close;
- }
- next;
- mes "^FF0000Success Rate^000000 :";
- mes "^FFFFFF________________________________^000000";
- mes "Normal : 50%";
- mes "Superior : 25%";
- mes "Perfect : 10%";
- mes "Legendary : 5%";
- mes "^FFFFFF________________________________^000000";
- mes "^FF0000Else...Fail..^000000";
- next;
- if(select("^FF0000Continue^000000:Cancel") == 2) close;
- for(set .@i,0; getarg(.@i,0); set .@i,.@i + 2)
- delitem getarg(.@i),getarg(.@i + 1);
- return;
- }
- function ForgedList {
- set .@Rate,rand(200);
- // 5%
- if(.@Rate < 5) return getarg(3);
- // 15%
- else if(.@Rate >= 5 && .@Rate < 15) return getarg(2);
- // 10%
- else if(.@Rate >= 15 && .@Rate < 40) return getarg(1);
- // 50%
- else if(.@Rate >= 40 && .@Rate < 90) return getarg(0);
- //other...
- else {
- mes "You ...Failed...";
- close;
- }
- }
- }
Add Comment
Please, Sign In to add comment