Permalink
Cannot retrieve contributors at this time
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
201 lines (183 sloc)
6.35 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //===== rAthena Script ======================================= | |
| //= WoE:TE Rental Items | |
| //===== Description: ========================================= | |
| //= WoE:TE Rental Items, Ripped from idRO. | |
| //===== Changelogs: ========================================== | |
| //= 1.0 Initial release. [Cydh] | |
| //============================================================ | |
| // Warps =========================== | |
| prt_gld,120,153,0 warp prtgld2teprtgld 1,1,te_prt_gld,120,149 | |
| te_prt_gld,120,153,0 warp teprtgld2prtgld 1,1,prt_gld,120,149 | |
| // Rental NPC ====================== | |
| te_prt_gld,162,141,3 script Rental Items Manager 4_F_HUWOMAN,{ | |
| function AddGroup; | |
| function AddItem; | |
| // Class check! | |
| .@eac = eaclass(); | |
| if (.@eac&EAJL_THIRD || .@eac == EAJ_SUPER_NOVICE_E || .@eac == EAJ_SUPER_BABY_E || .@eac == EAJ_REBELLION || .@eac == EAJ_KAGEROUOBORO) { | |
| mes .name$; | |
| mes "Maaf tapi jobmu tidak memungkinkan untuk ikut serta dalam Siege War TE."; | |
| mes "Sepertinya aku tidak bisa menawarkan barang apapun untukmu."; | |
| close; | |
| } | |
| mes .name$; | |
| mes "^3399FFKami menyediakan berbagai macam gear yang bisa kamu gunakandi Gloria dan Kafragarten berdasarkan peraturan Siege War TE.^000000"; | |
| next; | |
| mes .name$; | |
| mes "^3399FFKami menyediakan pinjaman durasi 1 hari secara gratis.^000000"; | |
| mes "Namun barang yang disediakan ^3399FFtidak bisa digunakan di luar wilayah Siege War TE.^000000"; | |
| next; | |
| mes .name$; | |
| mes "^3399FFKamu harus mencapai level ".MinLevel" keatas untuk bisa meminjam.^000000"; | |
| mes "Silahkan pilih equip yang diinginkan."; | |
| next; | |
| goto(OnShowMenu); | |
| end; | |
| OnShowMenu: | |
| .@menu$ = "Lihat equip sewaan"; | |
| for (.@i = 0; .@i < .EqGroup; .@i++) { | |
| .@menu$ = .@menu$+":"+.EqGroup$[.@i]; | |
| } | |
| .@menu$ = .@menu$+":Leave"; | |
| .@sel = select(.@menu$); | |
| if (.@sel == 1) { | |
| next; | |
| goto(OnViewEq); | |
| } | |
| else if (.@sel-2 < .EqGroup) { | |
| next; | |
| callsub(OnEqList,.@sel-2); | |
| } | |
| end; | |
| OnViewEq: | |
| mes .name$; | |
| mes "Berikut ini daftar equip sewaan beserta dengan penjelasannya."; | |
| close; | |
| OnEqList: | |
| .@id = getarg(0); | |
| .@name$ = .EqGroup$[.@id]; | |
| .@msg$ = .EqGroupMsg$[.@id]; | |
| .@count = .EqGroupCnt[.@id]; | |
| mes .name$; | |
| mes "Kami memiliki "+.@msg$+" yang siap untukmu."; | |
| mes "Silahkan pilih barang yang kamu inginkan."; | |
| next; | |
| .@menu$ = ""; | |
| for (.@i = 0; .@i < .@count; .@i++) { | |
| .@itemid = getd(".EqGroup_"+.@id+"_ID["+.@i+"]"); | |
| if (countitem(.@itemid) > 0) | |
| .@mes$ = "^3399FF"+getitemname(.@itemid)+" - Checked out^000000"; | |
| else | |
| .@mes$ = getitemname(.@itemid); | |
| .@menu$ = .@menu$+""+.@mes$+":"; | |
| } | |
| .@menu$ = .@menu$+"Lihat barang lainnya"; | |
| .@sel = select(.@menu$); | |
| if (.@sel-1 == .@i) { | |
| next; | |
| goto(OnShowMenu); | |
| } | |
| else { | |
| next; | |
| callsub(OnRental,.@id,.@sel-1); | |
| } | |
| end; | |
| OnHasItem: | |
| .@itemid = getarg(0); | |
| if (countitem(.@itemid) > 0) | |
| return 1; | |
| return ""; | |
| OnRental: | |
| .@id = getarg(0); | |
| .@idx = getarg(1); | |
| .@itemid = getd(".EqGroup_"+.@id+"_ID["+.@idx+"]"); | |
| mes .name$; | |
| if (BaseLevel < .MinLevel) { | |
| mes "Kamu harus memliki level "+.MinLevel+" keatas."; // Custom | |
| } | |
| else if (countitem(.@itemid) > 0) { | |
| mes "Kamu sudah memiliki "+getitemname(.@itemid)+"."; | |
| } | |
| else if (checkweight(.@itemid,1) != 1) { | |
| mes "Kamu akan kelebihan berat."; // Custom | |
| } | |
| else { | |
| .@duration = getd(".EqGroup_"+.@id+"_Dur["+.@idx+"]"); | |
| mes "Ini dia "+getitemname(.@itemid)+"."; | |
| mes "^3399FFBarang ini hanya berdurasi "+(.@duration/60)+" jam^000000 dan setelah itu barang akan hilang."; | |
| rentitem .@itemid,.@duration*60; | |
| } | |
| mes "Apakah ada barang lain yang kamu butuhkan?"; | |
| next; | |
| goto(OnShowMenu); | |
| end; | |
| //AddGroup(Name,Message); | |
| function AddGroup { | |
| .EqGroup$[.EqGroup] = ""+getarg(0)+""; | |
| .EqGroupMsg$[.EqGroup] = ""+getarg(1)+""; | |
| .EqGroup++; | |
| return; | |
| } | |
| //AddItem(GroupID,ItemID,DurationInMinute); | |
| function AddItem { | |
| .@id = getarg(0); | |
| setd(".EqGroup_"+.@id+"_ID["+.EqGroupCnt[.@id]+"]",getarg(1)); | |
| setd(".EqGroup_"+.@id+"_Dur["+.EqGroupCnt[.@id]+"]",getarg(2)); | |
| .EqGroupCnt[.@id] += 1; | |
| return; | |
| } | |
| OnInit: | |
| .name$ = "[Rental Items Manager]"; | |
| .MinLevel = 40; // Minimum level to able rent an item | |
| // GroupID: 0 | |
| AddGroup("[Shield][Armor][Garment]","perisai dan armor"); | |
| AddItem(0,2178,1440); // 2178,TE_Woe_Buckler | |
| AddItem(0,2179,1440); // 2179,TE_Woe_Shield | |
| AddItem(0,2180,1440); // 2180,TE_Woe_Magic_Guard | |
| AddItem(0,15062,1440); // 15062,TE_Woe_Coat | |
| AddItem(0,15063,1440); // 15063,TE_Woe_Chain_Mail | |
| AddItem(0,15064,1440); // 15064,TE_Woe_Mage_Coat | |
| AddItem(0,20702,1440); // 20702,TE_Woe_Muffler | |
| AddItem(0,20703,1440); // 20703,TE_Woe_Manteau | |
| AddItem(0,20704,1440); // 20704,TE_Woe_Magic_Manteau | |
| // GroupID: 1 | |
| AddGroup("[Helmet][Accessory][Shoes]","helm, aksesoris, dan sepatu"); | |
| AddItem(1,2496,1440); // 2496,TE_Woe_Shoes | |
| AddItem(1,2497,1440); // 2497,TE_Woe_Boots | |
| AddItem(1,2498,1440); // 2498,TE_Woe_Magic_Sandal | |
| AddItem(1,2944,1440); // 2944,TE_Ring_Of_Protection | |
| AddItem(1,2945,1440); // 2945,TE_Ring_Of_Rage | |
| AddItem(1,2946,1440); // 2946,TE_Ring_Of_Defiance | |
| AddItem(1,18732,1440); // 18732,TE_Woe_Cap | |
| AddItem(1,18733,1440); // 18733,TE_Woe_Bone_Helm | |
| AddItem(1,18734,1440); // 18734,TE_Woe_Magic_Eyes | |
| // GroupID: 2 | |
| AddGroup("[Sword][Spear][Axe][Katar]","pedang, tombak, kapak, dan katar"); | |
| AddItem(2,1299,1440); // 1299,TE_Woe_Katar | |
| AddItem(2,1399,1440); // 1399,TE_Woe_Two_Handed_Axe | |
| AddItem(2,1495,1440); // 1495,TE_Woe_Lance | |
| AddItem(2,13317,1440); // 13317,TE_Woe_Huuma | |
| AddItem(2,21006,1440); // 21006,TE_Woe_Two_Hand_Sword | |
| AddItem(2,1319,1440); // 1319,TE_Woe_Axe | |
| AddItem(2,1437,1440); // 1437,TE_Woe_Pike | |
| AddItem(2,13083,1440); // 13083,TE_Woe_Knife | |
| AddItem(2,13439,1440); // 13439,TE_Woe_Sword | |
| // GroupID: 3 | |
| AddGroup("[Mace][Staff][Fist][Book]","tongkat, gada, buku, dan fist"); | |
| AddItem(3,2019,1440); // 2019,TE_Woe_Two_Hand_Staff | |
| AddItem(3,1591,1440); // 1591,TE_Woe_Book | |
| AddItem(3,1667,1440); // 1667,TE_Woe_Staff | |
| AddItem(3,1834,1440); // 1834,TE_Woe_Fist | |
| AddItem(3,16025,1440); // 16025,TE_Woe_Mace | |
| // GroupID: 4 | |
| AddGroup("[Bow][Gun][Musical Instrument][Whip]","busur, senjata api, alat musik, dan cambuk"); | |
| AddItem(4,18118,1440); // 18118,TE_Woe_Bow | |
| AddItem(4,13117,1440); // 13117,TE_Woe_Pistol | |
| AddItem(4,13184,1440); // 13184,TE_Woe_Rifle | |
| AddItem(4,13185,1440); // 13185,TE_Woe_Gatling | |
| AddItem(4,13186,1440); // 13186,TE_Woe_Shotgun | |
| AddItem(4,13187,1440); // 13187,TE_Woe_Grenade | |
| AddItem(4,1932,1440); // 1932,TE_Woe_Guitar | |
| AddItem(4,1987,1440); // 1987,TE_Woe_Rope | |
| end; | |
| } |