diff options
author | FlavioJS <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-05 13:23:07 +0000 |
---|---|---|
committer | FlavioJS <FlavioJS@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-05 13:23:07 +0000 |
commit | 288490094a7fe9167747dc78d416940759a31197 (patch) | |
tree | 53dc4f5c2375f4b688b53ca8841630ddec5e1f88 /npc/custom/eAAC_Scripts/vendmachine.txt | |
parent | 8ec1c47aed09c90343949d57c92760ba84738a46 (diff) | |
download | hercules-288490094a7fe9167747dc78d416940759a31197.tar.gz hercules-288490094a7fe9167747dc78d416940759a31197.tar.bz2 hercules-288490094a7fe9167747dc78d416940759a31197.tar.xz hercules-288490094a7fe9167747dc78d416940759a31197.zip |
- Massive EOL normalization & 'svn:eol-style native' flag setting for all txt/conf/h/c files.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9410 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/custom/eAAC_Scripts/vendmachine.txt')
-rw-r--r-- | npc/custom/eAAC_Scripts/vendmachine.txt | 592 |
1 files changed, 296 insertions, 296 deletions
diff --git a/npc/custom/eAAC_Scripts/vendmachine.txt b/npc/custom/eAAC_Scripts/vendmachine.txt index 82a514c8d..ac7735b23 100644 --- a/npc/custom/eAAC_Scripts/vendmachine.txt +++ b/npc/custom/eAAC_Scripts/vendmachine.txt @@ -1,296 +1,296 @@ -//=====================================
-// Vending Machine Script
-// v2.3
-//=====================================
-// by Celestria
-//=====================================
-// Changelog:
-// 2.3 - Added in "Slam" feature, as well as admin ability to turn machine on and off.
-// - Added admin menu. Allows GMs to put machines in/out of service, and to clear
-// all jammed items.
-//
-// 2.2 - Added in/Renamed some variables to allow a single machine to block on several
-// items simultaneously. This fix also allows the two-item drop to work with every
-// item the machine is jammed on.
-//
-// 2.1 - Fixed an error where if one machine jammed on a menu item (say 3 for example),
-// if another machine also jammed on the same menu item (3 in this case), the original
-// machine to jam would be unjammed.
-// - This fix only allows a machine to jam one item at a time. Will fix in the future.
-//
-// 2.0 - Completely redid the script using a call-function.
-// Now all replica scripts can simply be a copy of Vending Machine,
-// but with variables modified to suit it''s intended use.
-//
-// 1.1 - Fixed $jamplayer1 not being a string, thanks to Terces.
-// - Changed random number that intiates jam to 1, to allow for faster modification of jam rates.
-//
-// 1.0 - Creted a script for selling numerous items that would occasionally jam on players.
-// - Used numbered variables to allow for multiplacation of the script.
-//=====================================
-
-p_track01.gat,45,58,4 script Vending Machine#1 910,{
-
- set @machine,1; //sets the unique number of this machine
- //DO NOT have two machines with the same number
-
- set @jamrate,1000; //Odds of machine jamming will be 1 in @jamrate
-
- set @slam,0; //set this to 0 to turn on the slam feature, any other setting disables it.
- set @fallrate,10; //Odds of machine falling on someone who hits it are 1 in @fallrate
- set @freerate,10000; //Odds of machine giving an item to someone who hits it are 1 in @freerate
-
- set @admin,99; //sets GM level needed to access Admin menu
-
- // the following sets the items for sale. Script currently only handles 10 items.
- setarray @item[0], 12143, 519, 565;
- setarray @price[0], 100, 50, 200;
-
- set @itemn$[0], getitemname(@item[0]);
- set @itemn$[1], getitemname(@item[1]);
- set @itemn$[2], getitemname(@item[2]);
- set @itemn$[3], getitemname(@item[3]);
- set @itemn$[4], getitemname(@item[4]);
- set @itemn$[5], getitemname(@item[5]);
- set @itemn$[6], getitemname(@item[6]);
- set @itemn$[7], getitemname(@item[7]);
- set @itemn$[8], getitemname(@item[8]);
- set @itemn$[9], getitemname(@item[9]);
-
- set @menu$[0], @itemn$[0]+" - "+@price[0];
- set @menu$[1], @itemn$[1]+" - "+@price[1];
- set @menu$[2], @itemn$[2]+" - "+@price[2];
- set @menu$[3], "Cancel";
- set @menu$[4], "";
- set @menu$[5], "";
- set @menu$[6], "";
- set @menu$[7], "";
- set @menu$[8], "";
- set @menu$[9], "";
- set @menu$[10], ""; // "Cancel" only. Used if vending ten items.
-
- callfunc "F_Vend1";
-}
-
-
-
-
-
-
-
-
-
-//===============================================================================================
-// Functions
-//
-// !!!DO NOT EDIT BELOW THIS LINE!!!
-//
-//===============================================================================================
-
-function script F_Vend1 {
-
- if(getgmlevel() >= @admin) goto M_Admin;
-
-M_Player:
- if($outorder[@machine]) goto M_Ooo;
- if(@slam) callfunc "F_Vend2";
- mes "You see a vending machine. What would you like to do?";
- next;
- menu "Buy an item",M_Vend,"Hit it",M_Hit;
-
-M_Vend:
- callfunc "F_Vend2";
- end;
-
-M_Hit:
- callfunc "F_Slam";
- end;
-
-M_Admin:
- mes "[Admin Mode]";
- mes "What would you like to do?";
- next;
- menu "Player Mode",M_Player,"Post 'Out of Order'",M_Ooo2,"Remove 'Out of Order'",M_Ooo3,"Fix Jammed Items",M_Fix;
-
-M_Ooo:
- mes "Out of Order";
- close;
-
-M_Ooo2:
- set $outorder[@machine],1;
- mes "The machine is now Out of Service";
- close;
-
-M_Ooo3:
- set $outorder[@machine],0;
- mes "The machine is now in service.";
- close;
-
-M_Fix:
- set $itemjam0$[@machine],"0";
- set $itemjam1$[@machine],"0";
- set $itemjam2$[@machine],"0";
- set $itemjam3$[@machine],"0";
- set $itemjam4$[@machine],"0";
- set $itemjam5$[@machine],"0";
- set $itemjam6$[@machine],"0";
- set $itemjam7$[@machine],"0";
- set $itemjam8$[@machine],"0";
- set $itemjam9$[@machine],"0";
- mes "All jammed items have been fixed.";
- close;
-}
-
-function script F_Vend2 {
-
- if(strcharinfo(0)==$itemjam0$[@machine]) goto B_StillJammed;
- if(strcharinfo(0)==$itemjam1$[@machine]) goto B_StillJammed;
- if(strcharinfo(0)==$itemjam2$[@machine]) goto B_StillJammed;
- if(strcharinfo(0)==$itemjam3$[@machine]) goto B_StillJammed;
- if(strcharinfo(0)==$itemjam4$[@machine]) goto B_StillJammed;
- if(strcharinfo(0)==$itemjam5$[@machine]) goto B_StillJammed;
- if(strcharinfo(0)==$itemjam6$[@machine]) goto B_StillJammed;
- if(strcharinfo(0)==$itemjam7$[@machine]) goto B_StillJammed;
- if(strcharinfo(0)==$itemjam8$[@machine]) goto B_StillJammed;
- if(strcharinfo(0)==$itemjam9$[@machine]) goto B_StillJammed;
- set @jammed,rand(1,@jamrate);
- mes "You peek inside the vending machine to see what's available.";
- next;
- menu @menu$[0],M_Ite0, @menu$[1],M_Ite1, @menu$[2],M_Ite2, @menu$[3],M_Ite3,
- @menu$[4],M_Ite4, @menu$[5],M_Ite5, @menu$[6],M_Ite6, @menu$[7],M_Ite7,
- @menu$[8],M_Ite8, @menu$[9],M_Ite9, @menu$[10],M_Ite10;
-
- M_Ite0:
- set @num, 0;
- goto B_Buy;
- M_Ite1:
- set @num, 1;
- goto B_Buy;
- M_Ite2:
- set @num, 2;
- goto B_Buy;
- M_Ite3:
- set @num, 3;
- goto B_Buy;
- M_Ite4:
- set @num, 4;
- goto B_Buy;
- M_Ite5:
- set @num, 5;
- goto B_Buy;
- M_Ite6:
- set @num, 6;
- goto B_Buy;
- M_Ite7:
- set @num, 7;
- goto B_Buy;
- M_Ite8:
- set @num, 8;
- goto B_Buy;
- M_Ite9:
- set @num, 9;
- goto B_Buy;
- M_Ite10:
- set @num, 10;
- goto B_Buy;
-
-
-
-B_Cancel:
- mes "On second thoughts, you decide not to buy anything.";
- close;
-
-B_StillJammed:
- mes "You shake and punch the vending machine, but it appears no matter how much energy you exert, the dang item isn't going to come loose.";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "DANG VENDING MACHINES!";
- close;
-
-B_Broke:
- mes "As you put your last zeny in, you realise you don't have enough to afford the product.";
- mes "Sadly you hit the refund button and pick up what little zeny you have.";
- close;
-
-B_Buy:
- if (@menu$[@num] == "Cancel") goto B_Cancel;
- if(@num==0){if($itemjam0$[@machine]!="0") set @jammed,0;}
- if(@num==1){if($itemjam1$[@machine]!="0") set @jammed,0;}
- if(@num==2){if($itemjam2$[@machine]!="0") set @jammed,0;}
- if(@num==3){if($itemjam3$[@machine]!="0") set @jammed,0;}
- if(@num==4){if($itemjam4$[@machine]!="0") set @jammed,0;}
- if(@num==5){if($itemjam5$[@machine]!="0") set @jammed,0;}
- if(@num==6){if($itemjam6$[@machine]!="0") set @jammed,0;}
- if(@num==7){if($itemjam7$[@machine]!="0") set @jammed,0;}
- if(@num==8){if($itemjam8$[@machine]!="0") set @jammed,0;}
- if(@num==9){if($itemjam9$[@machine]!="0") set @jammed,0;}
- if(Zeny < @price[@num]) goto B_Broke;
- set Zeny,Zeny-@price[@num];
- if(@jammed == 1) goto B_Jamitem;
- mes "Vrrrrrrrr~";
- mes "*clunk*";
- next;
- if(@jammed == 0) goto B_Get2;
- getitem @item[@num],1;
- mes "A "+@itemn$[@num]+" pops out.";
- close;
-B_Get2:
- getitem @item[@num],2;
- mes "What the!?";
- mes "Two "+@itemn$[@num]+"s popped out!";
- mes "It must be your lucky day.";
- if(@num==0) set $itemjam0$[@machine],"0";
- if(@num==1) set $itemjam1$[@machine],"0";
- if(@num==2) set $itemjam2$[@machine],"0";
- if(@num==3) set $itemjam3$[@machine],"0";
- if(@num==4) set $itemjam4$[@machine],"0";
- if(@num==5) set $itemjam5$[@machine],"0";
- if(@num==6) set $itemjam6$[@machine],"0";
- if(@num==7) set $itemjam7$[@machine],"0";
- if(@num==8) set $itemjam8$[@machine],"0";
- if(@num==9) set $itemjam9$[@machine],"0";
- close;
-B_Jamitem:
- mes "Vrrrrrrrr~";
- mes "*click*";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Dammit!";
- mes "I hate it when these damn things jam!";
- if(@num==0) set $itemjam0$[@machine],strcharinfo(0);
- if(@num==1) set $itemjam1$[@machine],strcharinfo(0);
- if(@num==2) set $itemjam2$[@machine],strcharinfo(0);
- if(@num==3) set $itemjam3$[@machine],strcharinfo(0);
- if(@num==4) set $itemjam4$[@machine],strcharinfo(0);
- if(@num==5) set $itemjam5$[@machine],strcharinfo(0);
- if(@num==6) set $itemjam6$[@machine],strcharinfo(0);
- if(@num==7) set $itemjam7$[@machine],strcharinfo(0);
- if(@num==8) set $itemjam8$[@machine],strcharinfo(0);
- if(@num==9) set $itemjam9$[@machine],strcharinfo(0);
- close;
-}
-
-function script F_Slam {
-
- set @fall,rand(1,@fallrate);
- set @free,rand(1,@freerate);
-R_Item:
- set @num,rand(9);
- if(@item[@num]==0) goto R_Item;
-
- mes "You give the vending machine a good solid whack.";
- next;
- mes "...";
- next;
- if(@fall==1){
- mes "The machine shakes, and then falls directly on top of you.";
- close2;
- percentheal -100,-100;
- end;}
- if(@free==1){
- getitem @item[@num],1;
- mes "The machine shakes, and then drops an item.";
- close;}
- mes "The machine shakes, but nothing happens";
- close;
-}
+//===================================== +// Vending Machine Script +// v2.3 +//===================================== +// by Celestria +//===================================== +// Changelog: +// 2.3 - Added in "Slam" feature, as well as admin ability to turn machine on and off. +// - Added admin menu. Allows GMs to put machines in/out of service, and to clear +// all jammed items. +// +// 2.2 - Added in/Renamed some variables to allow a single machine to block on several +// items simultaneously. This fix also allows the two-item drop to work with every +// item the machine is jammed on. +// +// 2.1 - Fixed an error where if one machine jammed on a menu item (say 3 for example), +// if another machine also jammed on the same menu item (3 in this case), the original +// machine to jam would be unjammed. +// - This fix only allows a machine to jam one item at a time. Will fix in the future. +// +// 2.0 - Completely redid the script using a call-function. +// Now all replica scripts can simply be a copy of Vending Machine, +// but with variables modified to suit it''s intended use. +// +// 1.1 - Fixed $jamplayer1 not being a string, thanks to Terces. +// - Changed random number that intiates jam to 1, to allow for faster modification of jam rates. +// +// 1.0 - Creted a script for selling numerous items that would occasionally jam on players. +// - Used numbered variables to allow for multiplacation of the script. +//===================================== + +p_track01.gat,45,58,4 script Vending Machine#1 910,{ + + set @machine,1; //sets the unique number of this machine + //DO NOT have two machines with the same number + + set @jamrate,1000; //Odds of machine jamming will be 1 in @jamrate + + set @slam,0; //set this to 0 to turn on the slam feature, any other setting disables it. + set @fallrate,10; //Odds of machine falling on someone who hits it are 1 in @fallrate + set @freerate,10000; //Odds of machine giving an item to someone who hits it are 1 in @freerate + + set @admin,99; //sets GM level needed to access Admin menu + + // the following sets the items for sale. Script currently only handles 10 items. + setarray @item[0], 12143, 519, 565; + setarray @price[0], 100, 50, 200; + + set @itemn$[0], getitemname(@item[0]); + set @itemn$[1], getitemname(@item[1]); + set @itemn$[2], getitemname(@item[2]); + set @itemn$[3], getitemname(@item[3]); + set @itemn$[4], getitemname(@item[4]); + set @itemn$[5], getitemname(@item[5]); + set @itemn$[6], getitemname(@item[6]); + set @itemn$[7], getitemname(@item[7]); + set @itemn$[8], getitemname(@item[8]); + set @itemn$[9], getitemname(@item[9]); + + set @menu$[0], @itemn$[0]+" - "+@price[0]; + set @menu$[1], @itemn$[1]+" - "+@price[1]; + set @menu$[2], @itemn$[2]+" - "+@price[2]; + set @menu$[3], "Cancel"; + set @menu$[4], ""; + set @menu$[5], ""; + set @menu$[6], ""; + set @menu$[7], ""; + set @menu$[8], ""; + set @menu$[9], ""; + set @menu$[10], ""; // "Cancel" only. Used if vending ten items. + + callfunc "F_Vend1"; +} + + + + + + + + + +//=============================================================================================== +// Functions +// +// !!!DO NOT EDIT BELOW THIS LINE!!! +// +//=============================================================================================== + +function script F_Vend1 { + + if(getgmlevel() >= @admin) goto M_Admin; + +M_Player: + if($outorder[@machine]) goto M_Ooo; + if(@slam) callfunc "F_Vend2"; + mes "You see a vending machine. What would you like to do?"; + next; + menu "Buy an item",M_Vend,"Hit it",M_Hit; + +M_Vend: + callfunc "F_Vend2"; + end; + +M_Hit: + callfunc "F_Slam"; + end; + +M_Admin: + mes "[Admin Mode]"; + mes "What would you like to do?"; + next; + menu "Player Mode",M_Player,"Post 'Out of Order'",M_Ooo2,"Remove 'Out of Order'",M_Ooo3,"Fix Jammed Items",M_Fix; + +M_Ooo: + mes "Out of Order"; + close; + +M_Ooo2: + set $outorder[@machine],1; + mes "The machine is now Out of Service"; + close; + +M_Ooo3: + set $outorder[@machine],0; + mes "The machine is now in service."; + close; + +M_Fix: + set $itemjam0$[@machine],"0"; + set $itemjam1$[@machine],"0"; + set $itemjam2$[@machine],"0"; + set $itemjam3$[@machine],"0"; + set $itemjam4$[@machine],"0"; + set $itemjam5$[@machine],"0"; + set $itemjam6$[@machine],"0"; + set $itemjam7$[@machine],"0"; + set $itemjam8$[@machine],"0"; + set $itemjam9$[@machine],"0"; + mes "All jammed items have been fixed."; + close; +} + +function script F_Vend2 { + + if(strcharinfo(0)==$itemjam0$[@machine]) goto B_StillJammed; + if(strcharinfo(0)==$itemjam1$[@machine]) goto B_StillJammed; + if(strcharinfo(0)==$itemjam2$[@machine]) goto B_StillJammed; + if(strcharinfo(0)==$itemjam3$[@machine]) goto B_StillJammed; + if(strcharinfo(0)==$itemjam4$[@machine]) goto B_StillJammed; + if(strcharinfo(0)==$itemjam5$[@machine]) goto B_StillJammed; + if(strcharinfo(0)==$itemjam6$[@machine]) goto B_StillJammed; + if(strcharinfo(0)==$itemjam7$[@machine]) goto B_StillJammed; + if(strcharinfo(0)==$itemjam8$[@machine]) goto B_StillJammed; + if(strcharinfo(0)==$itemjam9$[@machine]) goto B_StillJammed; + set @jammed,rand(1,@jamrate); + mes "You peek inside the vending machine to see what's available."; + next; + menu @menu$[0],M_Ite0, @menu$[1],M_Ite1, @menu$[2],M_Ite2, @menu$[3],M_Ite3, + @menu$[4],M_Ite4, @menu$[5],M_Ite5, @menu$[6],M_Ite6, @menu$[7],M_Ite7, + @menu$[8],M_Ite8, @menu$[9],M_Ite9, @menu$[10],M_Ite10; + + M_Ite0: + set @num, 0; + goto B_Buy; + M_Ite1: + set @num, 1; + goto B_Buy; + M_Ite2: + set @num, 2; + goto B_Buy; + M_Ite3: + set @num, 3; + goto B_Buy; + M_Ite4: + set @num, 4; + goto B_Buy; + M_Ite5: + set @num, 5; + goto B_Buy; + M_Ite6: + set @num, 6; + goto B_Buy; + M_Ite7: + set @num, 7; + goto B_Buy; + M_Ite8: + set @num, 8; + goto B_Buy; + M_Ite9: + set @num, 9; + goto B_Buy; + M_Ite10: + set @num, 10; + goto B_Buy; + + + +B_Cancel: + mes "On second thoughts, you decide not to buy anything."; + close; + +B_StillJammed: + mes "You shake and punch the vending machine, but it appears no matter how much energy you exert, the dang item isn't going to come loose."; + next; + mes "["+strcharinfo(0)+"]"; + mes "DANG VENDING MACHINES!"; + close; + +B_Broke: + mes "As you put your last zeny in, you realise you don't have enough to afford the product."; + mes "Sadly you hit the refund button and pick up what little zeny you have."; + close; + +B_Buy: + if (@menu$[@num] == "Cancel") goto B_Cancel; + if(@num==0){if($itemjam0$[@machine]!="0") set @jammed,0;} + if(@num==1){if($itemjam1$[@machine]!="0") set @jammed,0;} + if(@num==2){if($itemjam2$[@machine]!="0") set @jammed,0;} + if(@num==3){if($itemjam3$[@machine]!="0") set @jammed,0;} + if(@num==4){if($itemjam4$[@machine]!="0") set @jammed,0;} + if(@num==5){if($itemjam5$[@machine]!="0") set @jammed,0;} + if(@num==6){if($itemjam6$[@machine]!="0") set @jammed,0;} + if(@num==7){if($itemjam7$[@machine]!="0") set @jammed,0;} + if(@num==8){if($itemjam8$[@machine]!="0") set @jammed,0;} + if(@num==9){if($itemjam9$[@machine]!="0") set @jammed,0;} + if(Zeny < @price[@num]) goto B_Broke; + set Zeny,Zeny-@price[@num]; + if(@jammed == 1) goto B_Jamitem; + mes "Vrrrrrrrr~"; + mes "*clunk*"; + next; + if(@jammed == 0) goto B_Get2; + getitem @item[@num],1; + mes "A "+@itemn$[@num]+" pops out."; + close; +B_Get2: + getitem @item[@num],2; + mes "What the!?"; + mes "Two "+@itemn$[@num]+"s popped out!"; + mes "It must be your lucky day."; + if(@num==0) set $itemjam0$[@machine],"0"; + if(@num==1) set $itemjam1$[@machine],"0"; + if(@num==2) set $itemjam2$[@machine],"0"; + if(@num==3) set $itemjam3$[@machine],"0"; + if(@num==4) set $itemjam4$[@machine],"0"; + if(@num==5) set $itemjam5$[@machine],"0"; + if(@num==6) set $itemjam6$[@machine],"0"; + if(@num==7) set $itemjam7$[@machine],"0"; + if(@num==8) set $itemjam8$[@machine],"0"; + if(@num==9) set $itemjam9$[@machine],"0"; + close; +B_Jamitem: + mes "Vrrrrrrrr~"; + mes "*click*"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Dammit!"; + mes "I hate it when these damn things jam!"; + if(@num==0) set $itemjam0$[@machine],strcharinfo(0); + if(@num==1) set $itemjam1$[@machine],strcharinfo(0); + if(@num==2) set $itemjam2$[@machine],strcharinfo(0); + if(@num==3) set $itemjam3$[@machine],strcharinfo(0); + if(@num==4) set $itemjam4$[@machine],strcharinfo(0); + if(@num==5) set $itemjam5$[@machine],strcharinfo(0); + if(@num==6) set $itemjam6$[@machine],strcharinfo(0); + if(@num==7) set $itemjam7$[@machine],strcharinfo(0); + if(@num==8) set $itemjam8$[@machine],strcharinfo(0); + if(@num==9) set $itemjam9$[@machine],strcharinfo(0); + close; +} + +function script F_Slam { + + set @fall,rand(1,@fallrate); + set @free,rand(1,@freerate); +R_Item: + set @num,rand(9); + if(@item[@num]==0) goto R_Item; + + mes "You give the vending machine a good solid whack."; + next; + mes "..."; + next; + if(@fall==1){ + mes "The machine shakes, and then falls directly on top of you."; + close2; + percentheal -100,-100; + end;} + if(@free==1){ + getitem @item[@num],1; + mes "The machine shakes, and then drops an item."; + close;} + mes "The machine shakes, but nothing happens"; + close; +} |