123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- //===== eAthena Script =======================================
- //= Cash Shop Functions
- //===== By: ==================================================
- //= L0ne_W0lf
- //===== Current Version: =====================================
- //= 1.0
- //===== Compatible With: =====================================
- //= eAthena SVN
- //===== Description: =========================================
- //= Used explicitly in the Item Database for Cash shop items
- //= - Kafra Card
- //= - Giant Fly Wing
- //= - Neuralizer
- //= - Dungeon Teleport Scroll
- //===== Additional Comments: =================================
- //= 1.0 First version. [L0ne_W0lf]
- //= F_CashPartyCall Optimized by Trancid.
- //============================================================
- // Kafra Card
- //============================================================
- // - Open player's storage.
- // - No arguments.
- function script F_CashStore {
- cutin "kafra_01",2;
- mes "[Kafra Employee]";
- mes "Welcome to the Kafra Corporation.";
- mes "Here, let me open your Storage for you.";
- close2;
- openstorage;
- cutin "",255;
- return;
- }
- // Giant Fly Wing
- //============================================================
- // - Warp party leader to random spot on the map.
- // - Summon Party members on party leader map to that location.
- // - No arguments.
- function script F_CashPartyCall {
- warp "Random",0,0;
- if(getpartyleader(getcharid(1),2) == getcharid(0)) {
- getmapxy .@mapl$, .@xl, .@yl, 0;
- getpartymember getcharid(1);
- set .@partymembercount, $@partymembercount;
- copyarray .@partymembername$[0], $@partymembername$[0], .@partymembercount;
- for(set .@i, 0; .@i < .@partymembercount; set .@i, .@i + 1)
- if(!(getmapxy(.@mapm$, .@xm, .@ym, 0, .@partymembername$[.@i])) && (.@mapm$ == .@mapl$))
- warpchar .@mapl$, .@xl, .@yl, getcharid(0, .@partymembername$[.@i]);
- }
- return;
- }
- // Neuralizer
- //============================================================
- // - Reset players skills. Weight must be 0, options must be off.
- // - No arguments.
- function script F_CashReset {
- if (Class != Job_Novice) {
- if (Weight < 1) {
- if (checkriding() || checkfalcon() || checkcart()) return;
- else {
- resetskill;
- sc_end SC_ALL;
- }
- }
- }
- return;
- }
- // Dungeon Teleport Scroll
- //============================================================
- // - Warp player to random location of selected dungeon
- // due to lack of information.
- // - No arguments.
- function script F_CashDungeon {
- switch(select("Nogg Road:Mjolnir Dead Pit:Umbala Dungeon:Einbroch Mine Dungeon:Payon Dungeon:Toy Dungeon:Glast Heim Underprison:Louyang Dungeon:Hermit's Checkers:Izlude Dungeon:Turtle Island Dungeon:Clock Tower B3f:Clock Tower")) {
- case 1: warp "mag_dun01",0,0; end;
- case 2: warp "mjolnir_02",0,0; end;
- case 3: warp "um_dun01",0,0; end;
- case 4: warp "ein_dun01",0,0; end;
- case 5: warp "pay_dun00",0,0; end;
- case 6: warp "xmas_dun01",0,0; end;
- case 7: warp "gl_prison",0,0; end;
- case 8: warp "lou_dun01",0,0; end;
- case 9: warp "gon_dun02",0,0; end;
- case 10: warp "iz_dun00",0,0; end;
- case 11: warp "tur_dun02",0,0; end;
- case 12: warp "alde_dun03",0,0; end;
- case 13: warp "c_tower1",0,0; end;
- }
- return;
- }
- // Cities Teleport Scroll
- //============================================================
- // - Warp player to differents Citys acording to the Scroll
- // - Arg(0) = type of scroll.
- function script F_CashCity {
- switch(getarg(0))
- {
- // Yellow
- case 1: switch(select("Prontera:Geffen:Payon:Morroc:Aldebaran:Alberta")) {
- case 1: warp "prontera",0,0; end;
- case 2: warp "geffen",0,0; end;
- case 3: warp "payon",0,0; end;
- case 4: warp "morocc",0,0; end;
- case 5: warp "aldebaran",0,0; end;
- case 6: warp "alberta",0,0; end;
- }
- break;
- // Green
- case 2: switch(select("Juno:Lighthalzen:Einbroch:Hugel")) {
- case 1: warp "yuno",0,0; end;
- case 2: warp "lighthalzen",0,0; end;
- case 3: warp "einbroch",0,0; end;
- case 4: warp "hugel",0,0; end;
- }
- break;
- // Red
- case 3: switch(select("Rachel:Veins")) {
- case 1: warp "rachel",0,0; end;
- case 2: warp "veins",0,0; end;
- }
- break;
- // Blue
- case 4: switch(select("Ayothaya:Amatsu:Louyang:Gonryun")) {
- case 1: warp "ayothaya",0,0; end;
- case 2: warp "amatsu",0,0; end;
- case 3: warp "louyang",0,0; end;
- case 4: warp "gonryun",0,0; end;
- }
- break;
- }
- return;
- }
|