diff options
Diffstat (limited to 'npc/custom/eAAC_Scripts')
-rw-r--r-- | npc/custom/eAAC_Scripts/DonationGirl/donate.txt | 597 | ||||
-rw-r--r-- | npc/custom/eAAC_Scripts/DonationGirl/sql/donate.sql | 8 | ||||
-rw-r--r-- | npc/custom/eAAC_Scripts/DonationGirl/sql/donate_item_db.sql | 8 | ||||
-rw-r--r-- | npc/custom/eAAC_Scripts/Kafra_Express_files.conf | 4 | ||||
-rw-r--r-- | npc/custom/eAAC_Scripts/banker.txt | 92 | ||||
-rw-r--r-- | npc/custom/eAAC_Scripts/kafraExpress/Changelog.txt | 2 | ||||
-rw-r--r-- | npc/custom/eAAC_Scripts/kafraExpress/ke_bank.txt | 1 | ||||
-rw-r--r-- | npc/custom/eAAC_Scripts/messageboards.txt | 646 | ||||
-rw-r--r-- | npc/custom/eAAC_Scripts/quest_warper.txt | 5 | ||||
-rw-r--r-- | npc/custom/eAAC_Scripts/roll_a_dice.txt | 45 | ||||
-rw-r--r-- | npc/custom/eAAC_Scripts/vendmachine.txt | 69 |
11 files changed, 740 insertions, 737 deletions
diff --git a/npc/custom/eAAC_Scripts/DonationGirl/donate.txt b/npc/custom/eAAC_Scripts/DonationGirl/donate.txt index dc7c0bb2a..f3d25c6d2 100644 --- a/npc/custom/eAAC_Scripts/DonationGirl/donate.txt +++ b/npc/custom/eAAC_Scripts/DonationGirl/donate.txt @@ -1,300 +1,250 @@ -//===== Athena Script ======================================= +//===== rAthena Script ======================================= //= Donation NPC -//===== By ================================================== +//===== By: ================================================== //= Josh -//===== Version ============================================= -//= 1.0 - First release. Probably contains bugs/security -//= risks. -//= 1.1 - Added a check for whether the account exists when -//= adding a donator. Need to improve ordering when -//= viewing all donations. -//= 1.2 - Modified for public use. Added checkweight feature. -//= 2.0 - Many changes, especially ones I had always wanted -//= to add to this script. Includes reading items from -//= a separate SQL table and more database manipulation -//= options for GMs. -//= 2.1 - Made few changes including the add/remove items -//= feature. -//= 3.0 - All strings inputted by a user and user/char names -//= in SQL queries are now escaped. Each item has a -//= price rather than a quantity. This script can work -//= with decimals. -//= 3.1 - Added quotes to some queries, fixed a variable and -//= removed a comment. -//= 3.2 - Fixed a problem where rAthena would crash if a -//= query returned NULL. -//= 3.3 - Optimized query speeds by combining a few select -//= queries into one. Requires Trunk 7975. -//= 3.4 - Added MySQL version check. If version < 5.0.8, all -//= queries with CAST are omitted. Use 5.0.8 and up -//= when possible. SQL errors may consequent if GM's -//= input is incorrect. Added logging of claims. -//= "log_npc" in log_athena.conf must be enabled. Logs -//= will appear in the "npclog" table. Claim menu now -//= only shows items that can be afforded. -//= 3.5 - Minor change to table. -//= 3.6 - Removed name column in donate_item_db. Added -//= support for item_db2 table. -//= 3.7 - Added Zeny support. $rate must be set for it to be -//= used. Removed truncate() in a query since rAthena -//= automatically truncates floats to ints. -//= 3.8 - Fixed problem with menus and null values. -//= 3.9 - Explicit reset of @aid. -//= 3.10 - Applied previous fix to other variables and forced -//= dialogue box closure every time database is -//= modified. -//= 3.11 - Explicit reset of another variable. Fixed typo -//= - with $rate. Added logmes for GM operations. -//===== Compatible With ===================================== -//= rAthena SQL - any version with the new query_sql command -//= (Trunk 7975 and up). -//= MySQL - 5.0.8 and up highly recommended but not required. -//===== Description ========================================= +//===== Current Version: ===================================== +//= 3.11 (changelog at end of file) +//===== Compatible With: ===================================== +//= rAthena SVN; SQL only, revision 7975+ +//===== Description: ========================================= //= A script that lets a player claim an item for donating. //= Allows a GM to input each donation. -//===== Comments ============================================ +//===== Comments ============================================= //= This script uses SQL tables to store variables for the //= amount donated by users and the items claimable. -//===== Installation ======================================== +//===== Installation ========================================= //= You must import donate.sql and donate_item_db.sql (and //= item_db.sql and item_db2.sql, which comes with rAthena) //= before using this script. -//=========================================================== -//= Thanks to Vich for helping me with the SQL syntax. -//= Thanks to Lance for helping me with the the arrays and -//= for implementing query_sql. -//= Thanks to Skotlex for implementing escape_sql. -//= Thanks to Toms for implementing the new multi-column -//= query_sql command. -//=========================================================== +//============================================================ prontera,145,179,5 script Donation Girl 714,{ -if (getgmlevel() >= 80) goto L_GM; + if (getgmlevel() >= 80) goto L_GM; L_START: -mes "[Donation Girl]"; -mes "Hello! I'm the Donation Girl!"; -mes "If you have made a donation,"; -mes "you are entitled to a reward!"; -next; -menu "More info",-,"Make a claim",L_CHECK,"Statistics",L_STATS; + mes "[Donation Girl]"; + mes "Hello! I'm the Donation Girl!"; + mes "If you have made a donation,"; + mes "you are entitled to a reward!"; + next; + menu "More info",-,"Make a claim",L_CHECK,"Statistics",L_STATS; L_INFO: -mes "[Donation Girl]"; -mes "Each month, a lot of money is paid to keep this server running."; -next; -mes "[Donation Girl]"; -mes "You can support us by donating any amount of money."; -next; -mes "[Donation Girl]"; -mes "To show our appreciation, we will gladly give you a reward."; -next; -menu "Continue",L_START,"Cancel",-; + mes "[Donation Girl]"; + mes "Each month, a lot of money is paid to keep this server running."; + next; + mes "[Donation Girl]"; + mes "You can support us by donating any amount of money."; + next; + mes "[Donation Girl]"; + mes "To show our appreciation, we will gladly give you a reward."; + next; + menu "Continue",L_START,"Cancel",-; L_CHECK: -query_sql "SELECT `amount`,`claimed` FROM `donate` WHERE `account_id` = "+getcharid(3), @amount$, @claimed$; -query_sql "SELECT "+@amount$+" - "+@claimed$, @value$; -query_sql "SELECT '"+@value$+"' > 0", @enough; -if(!@enough) { - mes "[Donation Girl]"; - mes "Sorry, you do not have enough to make a claim."; - mes "If you have donated but have not made a claim,"; - mes "Please give us time to process your donation."; - close; + query_sql "SELECT `amount`,`claimed` FROM `donate` WHERE `account_id` = "+getcharid(3), @amount$, @claimed$; + query_sql "SELECT "+@amount$+" - "+@claimed$, @value$; + query_sql "SELECT '"+@value$+"' > 0", @enough; + if(!@enough) { + mes "[Donation Girl]"; + mes "Sorry, you do not have enough to make a claim."; + mes "If you have donated but have not made a claim,"; + mes "Please give us time to process your donation."; + close; } L_CLAIM: -mes "[Donation Girl]"; -mes "Thankyou for donating!"; -mes "You have $"+@value$+" worth of credit!"; -mes "What would you like to claim?"; -next; -menu "Items",L_CLAIMITEM,"Zeny",L_ZENY; + mes "[Donation Girl]"; + mes "Thankyou for donating!"; + mes "You have $"+@value$+" worth of credit!"; + mes "What would you like to claim?"; + next; + menu "Items",L_CLAIMITEM,"Zeny",L_ZENY; L_CLAIMITEM: -mes "[Donation Girl]"; -mes "Very well. Which item would you like?"; -next; -query_sql "SELECT `id` FROM `donate_item_db` WHERE `price` <= "+@value$+" ORDER BY `id`",@name; -set @menu$, getitemname(@name[0]); + mes "[Donation Girl]"; + mes "Very well. Which item would you like?"; + next; + query_sql "SELECT `id` FROM `donate_item_db` WHERE `price` <= "+@value$+" ORDER BY `id`",@name; + set @menu$, getitemname(@name[0]); for(set @i, 1; @i < getarraysize(@name); set @i, @i + 1){ set @menu$, @menu$ + ":" + getitemname(@name[@i]); } -set @m, select(@menu$)-1; + set @m, select(@menu$)-1; -query_sql "SELECT `price` FROM `donate_item_db` WHERE `id` = "+@name[@m], @price$; -query_sql "SELECT "+@value$+" / "+@price$, @max; + query_sql "SELECT `price` FROM `donate_item_db` WHERE `id` = "+@name[@m], @price$; + query_sql "SELECT "+@value$+" / "+@price$, @max; -mes "[Donation Girl]"; -mes getitemname(@name[@m])+"s cost $"+@price$+" each."; -mes "How many "+getitemname(@name[@m])+"s would you like to claim?"; -mes "Maximum: "+@max+"."; -input @quantity; -mes "[Donation Girl]"; -if(@quantity>@max) { - mes "Sorry, but you do not have enough to claim "+@quantity+" "+getitemname(@name[@m])+"s."; - next; - goto L_CLAIM; + mes "[Donation Girl]"; + mes getitemname(@name[@m])+"s cost $"+@price$+" each."; + mes "How many "+getitemname(@name[@m])+"s would you like to claim?"; + mes "Maximum: "+@max+"."; + input @quantity; + mes "[Donation Girl]"; + if(@quantity>@max) { + mes "Sorry, but you do not have enough to claim "+@quantity+" "+getitemname(@name[@m])+"s."; + next; + goto L_CLAIM; } -if(!@quantity) { - mes "You can't have 0 as an amount!"; - next; - goto L_CLAIM; + if(!@quantity) { + mes "You can't have 0 as an amount!"; + next; + goto L_CLAIM; } -if(!checkweight(@name[@m],@quantity)) { - mes "I'm sorry, but you cannot carry "+@quantity+" "+getitemname(@name[@m])+"s."; - next; - goto L_CLAIM; + if(!checkweight(@name[@m],@quantity)) { + mes "I'm sorry, but you cannot carry "+@quantity+" "+getitemname(@name[@m])+"s."; + next; + goto L_CLAIM; } -query_sql "SELECT "+@quantity+" * "+@price$, @total$; -mes "Are you sure you want to claim "+@quantity+" "+getitemname(@name[@m])+"s for $"+@total$+"?"; -next; -menu "No",L_CLAIM,"Yes",-; -query_sql "UPDATE `donate` SET `claimed` = `claimed` + "+@total$+" WHERE `account_id` = "+getcharid(3); -logmes "Claimed "+@quantity+" "+getitemname(@name[@m])+"s"; -getitem @name[@m],@quantity; -mes "[Donation Girl]"; -mes "Thankyou for donating! We hope you enjoy your gift!"; -close; + query_sql "SELECT "+@quantity+" * "+@price$, @total$; + mes "Are you sure you want to claim "+@quantity+" "+getitemname(@name[@m])+"s for $"+@total$+"?"; + next; + menu "No",L_CLAIM,"Yes",-; + query_sql "UPDATE `donate` SET `claimed` = `claimed` + "+@total$+" WHERE `account_id` = "+getcharid(3); + logmes "Claimed "+@quantity+" "+getitemname(@name[@m])+"s"; + getitem @name[@m],@quantity; + mes "[Donation Girl]"; + mes "Thankyou for donating! We hope you enjoy your gift!"; + close; L_ZENY: -mes "[Donation Girl]"; -if(!$rate) { - mes "Sorry, we currently do not allow claiming Zeny."; - mes "Please go back and claim an item instead."; - next; - goto L_CLAIM; + mes "[Donation Girl]"; + if(!$rate) { + mes "Sorry, we currently do not allow claiming Zeny."; + mes "Please go back and claim an item instead."; + next; + goto L_CLAIM; } -query_sql "SELECT "+@value$+" * "+$rate, @maxzeny; -mes "Very well. You can claim as much as "+@maxzeny+"Z."; -mes "How much Zeny would you like to claim?"; -input @zeny; -mes "[Donation Girl]"; -if(@zeny>@maxzeny) { - mes "Sorry, but you do not have enough to claim "+@zeny+"Z."; - next; - goto L_CLAIM; + query_sql "SELECT "+@value$+" * "+$rate, @maxzeny; + mes "Very well. You can claim as much as "+@maxzeny+"Z."; + mes "How much Zeny would you like to claim?"; + input @zeny; + mes "[Donation Girl]"; + if(@zeny>@maxzeny) { + mes "Sorry, but you do not have enough to claim "+@zeny+"Z."; + next; + goto L_CLAIM; } -if(!@zeny) { - mes "You can't have 0 as an amount!"; - next; - goto L_CLAIM; + if(!@zeny) { + mes "You can't have 0 as an amount!"; + next; + goto L_CLAIM; } -set @total, @zeny * $rate; -mes "Are you sure you want to claim "+@zeny+"Z for $"+@total+"?"; -next; -menu "No",L_CLAIM,"Yes",-; -query_sql "UPDATE `donate` SET `claimed` = `claimed` + "+@total+" WHERE `account_id` = "+getcharid(3); -logmes "Claimed "+@zeny+" zenies"; -set Zeny, Zeny + @zeny; -mes "[Donation Girl]"; -mes "Thankyou for donating! We hope you enjoy your gift!"; -close; + set @total, @zeny * $rate; + mes "Are you sure you want to claim "+@zeny+"Z for $"+@total+"?"; + next; + menu "No",L_CLAIM,"Yes",-; + query_sql "UPDATE `donate` SET `claimed` = `claimed` + "+@total+" WHERE `account_id` = "+getcharid(3); + logmes "Claimed "+@zeny+" zenies"; + set Zeny, Zeny + @zeny; + mes "[Donation Girl]"; + mes "Thankyou for donating! We hope you enjoy your gift!"; + close; L_STATS: -mes "[Donation Girl]"; -query_sql "SELECT IFNULL((SELECT SUM(amount) FROM `donate`),0)", @total$; -mes "Our fund is at a total of $"+@total$; -next; -menu "More info",L_INFO,"Make a claim",L_CHECK,"Statistics",L_STATS; + mes "[Donation Girl]"; + query_sql "SELECT IFNULL((SELECT SUM(amount) FROM `donate`),0)", @total$; + mes "Our fund is at a total of $"+@total$; + next; + menu "More info",L_INFO,"Make a claim",L_CHECK,"Statistics",L_STATS; L_GM: -mes "[GM Menu]"; -mes "Hello GM!"; -mes "What would you like to do?"; -next; -query_sql "SHOW VARIABLES LIKE 'version'", @version, @valule$; -query_sql "SELECT '"+@valule$+"' >= '5.0.8'", @version; -menu "Add/Remove Donation",L_GM2,"Add/Remove Items",L_ITEM,"(Re)Set Exchange Rate",L_RATE,"Test Script",L_START; + mes "[GM Menu]"; + mes "Hello GM!"; + mes "What would you like to do?"; + next; + query_sql "SHOW VARIABLES LIKE 'version'", @version, @valule$; + query_sql "SELECT '"+@valule$+"' >= '5.0.8'", @version; + menu "Add/Remove Donation",L_GM2,"Add/Remove Items",L_ITEM,"(Re)Set Exchange Rate",L_RATE,"Test Script",L_START; L_GM2: -menu "Add a donation",L_DONATE,"Remove a donation",L_REMOVE,"View all donations",L_VIEWALL,"Return to main menu",L_GM; + menu "Add a donation",L_DONATE,"Remove a donation",L_REMOVE,"View all donations",L_VIEWALL,"Return to main menu",L_GM; L_ITEM: -menu "Add an item",L_NEWITEM,"Remove an item",L_DELITEM,"View all items",L_ALLITEMS,"Return to main menu",L_GM; + menu "Add an item",L_NEWITEM,"Remove an item",L_DELITEM,"View all items",L_ALLITEMS,"Return to main menu",L_GM; L_NEWITEM: -mes "[GM Menu]"; -mes "Please enter the item name:"; -input @itemname$; -set @iid, 0; -query_sql "SELECT `id` FROM `item_db` WHERE `name_english` = '"+escape_sql(@itemname$)+"' || `name_japanese` = '"+escape_sql(@itemname$)+"' UNION SELECT `id` FROM `item_db2` WHERE `name_english` = '"+escape_sql(@itemname$)+"' || `name_japanese` = '"+escape_sql(@itemname$)+"'", @iid; -if(!@iid) goto L_INONE; -query_sql "SELECT 1 FROM `donate_item_db` WHERE `id` = "+@iid, @check; -mes "[GM Menu]"; -mes "Please enter the cost of each "+@itemname$+":"; -input @cost$; -if(@version) query_sql "SELECT CAST('"+escape_sql(@cost$)+"' AS DECIMAL)", @cost$; -query_sql "SELECT '"+escape_sql(@cost$)+"' > 0", @valid; -if(!@valid) goto L_ZERO; -mes "[GM Menu]"; -mes "You have specified that donators can claim "+@itemname$+"s for $"+@cost$+" each."; -mes "Would you like to continue?"; -next; -menu "No",L_ITEM,"Yes",-; -mes "[GM Menu]"; -if(!@check){ - query_sql "INSERT INTO `donate_item_db` VALUES ("+@iid+",'"+@cost$+"')"; - logmes "Added "+@itemname$+"s to list of claimable items"; - mes "Item added successfully!"; - } else { - mes "Item "+@itemname$+" already exists in the database."; - mes "Would you like to replace it?"; + mes "[GM Menu]"; + mes "Please enter the item name:"; + input @itemname$; + set @iid, 0; + query_sql "SELECT `id` FROM `item_db` WHERE `name_english` = '"+escape_sql(@itemname$)+"' || `name_japanese` = '"+escape_sql(@itemname$)+"' UNION SELECT `id` FROM `item_db2` WHERE `name_english` = '"+escape_sql(@itemname$)+"' || `name_japanese` = '"+escape_sql(@itemname$)+"'", @iid; + if(!@iid) goto L_INONE; + query_sql "SELECT 1 FROM `donate_item_db` WHERE `id` = "+@iid, @check; + mes "[GM Menu]"; + mes "Please enter the cost of each "+@itemname$+":"; + input @cost$; + if(@version) query_sql "SELECT CAST('"+escape_sql(@cost$)+"' AS DECIMAL)", @cost$; + query_sql "SELECT '"+escape_sql(@cost$)+"' > 0", @valid; + if(!@valid) goto L_ZERO; + mes "[GM Menu]"; + mes "You have specified that donators can claim "+@itemname$+"s for $"+@cost$+" each."; + mes "Would you like to continue?"; next; menu "No",L_ITEM,"Yes",-; - query_sql "REPLACE INTO `donate_item_db` VALUES ("+@iid+",'"+@cost$+"')"; - logmes "Changed the price of "+@itemname$+"s"; mes "[GM Menu]"; - mes "Item replaced successfully!"; + if(!@check){ + query_sql "INSERT INTO `donate_item_db` VALUES ("+@iid+",'"+@cost$+"')"; + logmes "Added "+@itemname$+"s to list of claimable items"; + mes "Item added successfully!"; + } else { + mes "Item "+@itemname$+" already exists in the database."; + mes "Would you like to replace it?"; + next; + menu "No",L_ITEM,"Yes",-; + query_sql "REPLACE INTO `donate_item_db` VALUES ("+@iid+",'"+@cost$+"')"; + logmes "Changed the price of "+@itemname$+"s"; + mes "[GM Menu]"; + mes "Item replaced successfully!"; } -close; + close; L_INONE: -mes "[GM Menu]"; -mes "Item "+@itemname$+" does not exist."; -next; -goto L_ITEM; + mes "[GM Menu]"; + mes "Item "+@itemname$+" does not exist."; + next; + goto L_ITEM; L_DELITEM: -mes "[GM Menu]"; -mes "Please enter the item name:"; -input @itemname$; -set @iid, 0; -query_sql "SELECT `donate_item_db`.`id` FROM `donate_item_db` LEFT JOIN `item_db` ON `donate_item_db`.`id` = `item_db`.`id` LEFT JOIN `item_db2` ON `donate_item_db`.`id` = `item_db2`.`id` WHERE `item_db`.`name_english` = '"+escape_sql(@itemname$)+"' || `item_db`.`name_japanese` = '"+escape_sql(@itemname$)+"' || `item_db2`.`name_english` = '"+escape_sql(@itemname$)+"' || `item_db2`.`name_japanese` = '"+escape_sql(@itemname$)+"'", @iid; -if(!@iid) goto L_INONE; -next; -mes "[GM Menu]"; -mes "You have specified to delete "+@itemname$+" from the database."; -mes "Would you like to continue?"; -next; -menu "No",L_ITEM,"Yes",-; -query_sql "DELETE FROM `donate_item_db` WHERE `id` = "+@iid; -logmes "Deleted "+@itemname$+"s from list of claimable items"; -mes "[GM Menu]"; -mes "Item deleted successfully!"; -close; + mes "[GM Menu]"; + mes "Please enter the item name:"; + input @itemname$; + set @iid, 0; + query_sql "SELECT `donate_item_db`.`id` FROM `donate_item_db` LEFT JOIN `item_db` ON `donate_item_db`.`id` = `item_db`.`id` LEFT JOIN `item_db2` ON `donate_item_db`.`id` = `item_db2`.`id` WHERE `item_db`.`name_english` = '"+escape_sql(@itemname$)+"' || `item_db`.`name_japanese` = '"+escape_sql(@itemname$)+"' || `item_db2`.`name_english` = '"+escape_sql(@itemname$)+"' || `item_db2`.`name_japanese` = '"+escape_sql(@itemname$)+"'", @iid; + if(!@iid) goto L_INONE; + next; + mes "[GM Menu]"; + mes "You have specified to delete "+@itemname$+" from the database."; + mes "Would you like to continue?"; + next; + menu "No",L_ITEM,"Yes",-; + query_sql "DELETE FROM `donate_item_db` WHERE `id` = "+@iid; + logmes "Deleted "+@itemname$+"s from list of claimable items"; + mes "[GM Menu]"; + mes "Item deleted successfully!"; + close; L_ALLITEMS: -mes "[GM Menu]"; -query_sql "SELECT `id`,`price` FROM `donate_item_db` ORDER BY `id`", @items, @itemamount$; -for(set @i, 0; @i < getarraysize(@items); set @i, @i + 1){ + mes "[GM Menu]"; + query_sql "SELECT `id`,`price` FROM `donate_item_db` ORDER BY `id`", @items, @itemamount$; + for(set @i, 0; @i < getarraysize(@items); set @i, @i + 1){ mes getitemname(@items[@i])+" - $"+@itemamount$[@i]; } -next; -goto L_GM; + next; + goto L_GM; L_DONATE: -mes "[GM Menu]"; -mes "Please enter the donator's username:"; -input @donator$; -set @aid, 0; -query_sql "SELECT `account_id` FROM `login` WHERE `userid` = '"+escape_sql(@donator$)+"'", @aid; -if(!@aid) goto L_NONE; -set @donated$, ""; -query_sql "SELECT `amount` FROM `donate` WHERE `account_id` = "+@aid, @donated$; -query_sql "SELECT '"+@donated$+"' > 0", @donated; -switch(@donated) { + mes "[GM Menu]"; + mes "Please enter the donator's username:"; + input @donator$; + set @aid, 0; + query_sql "SELECT `account_id` FROM `login` WHERE `userid` = '"+escape_sql(@donator$)+"'", @aid; + if(!@aid) goto L_NONE; + set @donated$, ""; + query_sql "SELECT `amount` FROM `donate` WHERE `account_id` = "+@aid, @donated$; + query_sql "SELECT '"+@donated$+"' > 0", @donated; + switch(@donated) { case 0: mes @donator$+" has not donated before."; break; @@ -302,19 +252,19 @@ switch(@donated) { mes @donator$+" has donated $"+@donated$+"."; break; } -next; -mes "[GM Menu]"; -mes "Please enter the amount donated by "+@donator$; -input @donating$; -if(@version) query_sql "SELECT CAST('"+escape_sql(@donating$)+"' AS DECIMAL)", @donating$; -query_sql "SELECT '"+escape_sql(@donating$)+"' > 0", @valid; -if(!@valid) goto L_ZERO; -mes "[GM Menu]"; -mes "You have specified that "+@donator$+" has donated $"+@donating$+"."; -mes "Would you like to continue?"; -next; -menu "No",L_GM,"Yes",-; -switch(@donated) { + next; + mes "[GM Menu]"; + mes "Please enter the amount donated by "+@donator$; + input @donating$; + if(@version) query_sql "SELECT CAST('"+escape_sql(@donating$)+"' AS DECIMAL)", @donating$; + query_sql "SELECT '"+escape_sql(@donating$)+"' > 0", @valid; + if(!@valid) goto L_ZERO; + mes "[GM Menu]"; + mes "You have specified that "+@donator$+" has donated $"+@donating$+"."; + mes "Would you like to continue?"; + next; + menu "No",L_GM,"Yes",-; + switch(@donated) { case 0: query_sql "INSERT INTO `donate` VALUES ("+@aid+", '"+@donating$+"', 0)"; break; @@ -322,44 +272,44 @@ switch(@donated) { query_sql "UPDATE `donate` SET `amount` = `amount` + "+@donating$+" WHERE `account_id` = "+@aid; break; } -logmes "Credited "+@donator$+" with $"+@donating$; -query_sql "SELECT `amount` FROM `donate` WHERE `account_id` = "+@aid, @newdonated$; -mes "[GM Menu]"; -mes "Donation added successfully!"; -mes @donator$+" has donated a total of $"+@newdonated$; -close; + logmes "Credited "+@donator$+" with $"+@donating$; + query_sql "SELECT `amount` FROM `donate` WHERE `account_id` = "+@aid, @newdonated$; + mes "[GM Menu]"; + mes "Donation added successfully!"; + mes @donator$+" has donated a total of $"+@newdonated$; + close; L_ZERO: -mes "[GM Menu]"; -mes "You can't have 0 as an amount!"; -next; -goto L_GM; + mes "[GM Menu]"; + mes "You can't have 0 as an amount!"; + next; + goto L_GM; L_NONE: -mes "[GM Menu]"; -mes "Account name "+@donator$+" does not exist."; -next; -goto L_GM; + mes "[GM Menu]"; + mes "Account name "+@donator$+" does not exist."; + next; + goto L_GM; L_REMOVE: -mes "[GM Menu]"; -mes "Please enter the donator's username:"; -input @donator$; -set @aid, 0; -query_sql "SELECT `account_id` FROM `login` WHERE `userid` = '"+escape_sql(@donator$)+"'", @aid; -if(!@aid) goto L_NONE; -query_sql "SELECT `amount` FROM `donate` WHERE `account_id` = "+@aid, @donated$; -query_sql "SELECT '"+@donated$+"' > 0", @donated; -mes "[GM Menu]"; -if(!@donated) { - query_sql "DELETE FROM `donate` WHERE `account_id` = "+@aid; - logmes "Deleted "+@donator$+" from donation database"; - mes @donator$+" is not a donator and has been deleted from the donation database."; + mes "[GM Menu]"; + mes "Please enter the donator's username:"; + input @donator$; + set @aid, 0; + query_sql "SELECT `account_id` FROM `login` WHERE `userid` = '"+escape_sql(@donator$)+"'", @aid; + if(!@aid) goto L_NONE; + query_sql "SELECT `amount` FROM `donate` WHERE `account_id` = "+@aid, @donated$; + query_sql "SELECT '"+@donated$+"' > 0", @donated; + mes "[GM Menu]"; + if(!@donated) { + query_sql "DELETE FROM `donate` WHERE `account_id` = "+@aid; + logmes "Deleted "+@donator$+" from donation database"; + mes @donator$+" is not a donator and has been deleted from the donation database."; } else { - mes @donator$+" has donated $"+@donated$+"."; - next; - switch(select("Deduct an amount from "+@donator$,"Remove "+@donator$+" from the donation database")){ - mes "[GM Menu]"; + mes @donator$+" has donated $"+@donated$+"."; + next; + switch(select("Deduct an amount from "+@donator$,"Remove "+@donator$+" from the donation database")){ + mes "[GM Menu]"; case 1: mes "Please enter the amount "+@donator$+" is to be deducted by:"; input @deduct$; @@ -390,27 +340,76 @@ if(!@donated) { break; } } -close; + close; L_VIEWALL: -mes "[GM Menu]"; -query_sql "SELECT `account_id`,`amount` FROM `donate` ORDER BY `amount` DESC", @donatoraid, @donatedamount$; -for(set @i, 0; @i < getarraysize(@donatoraid); set @i, @i + 1){ - query_sql "SELECT `userid` FROM `login` WHERE `account_id` = "+@donatoraid[@i], @donateruserid$; - for(set @j, 0; @j < getarraysize(@donateruserid$); set @j, @j + 1){ - mes @donateruserid$[@j]+" - "+@donatedamount$[@i]; + mes "[GM Menu]"; + query_sql "SELECT `account_id`,`amount` FROM `donate` ORDER BY `amount` DESC", @donatoraid, @donatedamount$; + for(set @i, 0; @i < getarraysize(@donatoraid); set @i, @i + 1){ + query_sql "SELECT `userid` FROM `login` WHERE `account_id` = "+@donatoraid[@i], @donateruserid$; + for(set @j, 0; @j < getarraysize(@donateruserid$); set @j, @j + 1){ + mes @donateruserid$[@j]+" - "+@donatedamount$[@i]; + } } -} -next; -goto L_GM; + next; + goto L_GM; L_RATE: -mes "[GM Menu]"; -if($rate) mes "$1 is currently worth "+$rate+"Z."; -mes "How much Zeny is $1 worth?"; -input $rate; -mes "[GM Menu]"; -mes "The value of $1 successfully changed to "+$rate+"Z."; -next; -goto L_GM; + mes "[GM Menu]"; + if($rate) mes "$1 is currently worth "+$rate+"Z."; + mes "How much Zeny is $1 worth?"; + input $rate; + mes "[GM Menu]"; + mes "The value of $1 successfully changed to "+$rate+"Z."; + next; + goto L_GM; } + +//===== Additional Comments: ================================= +//= 1.0 - First release. Probably contains bugs/security risks. +//= 1.1 - Added a check for whether the account exists when +//= adding a donator. Need to improve ordering when +//= viewing all donations. +//= 1.2 - Modified for public use. Added checkweight feature. +//= 2.0 - Many changes, especially ones I had always wanted +//= to add to this script. Includes reading items from +//= a separate SQL table and more database manipulation +//= options for GMs. +//= 2.1 - Made few changes including the add/remove items feature. +//= 3.0 - All strings inputted by a user and user/char names +//= in SQL queries are now escaped. Each item has a +//= price rather than a quantity. This script can work +//= with decimals. +//= 3.1 - Added quotes to some queries, fixed a variable and +//= removed a comment. +//= 3.2 - Fixed a problem where rAthena would crash if a +//= query returned NULL. +//= 3.3 - Optimized query speeds by combining a few select +//= queries into one. Requires Trunk 7975. +//= 3.4 - Added MySQL version check. If version < 5.0.8, all +//= queries with CAST are omitted. Use 5.0.8 and up +//= when possible. SQL errors may consequent if GM's +//= input is incorrect. Added logging of claims. +//= "log_npc" in log_athena.conf must be enabled. Logs +//= will appear in the "npclog" table. Claim menu now +//= only shows items that can be afforded. +//= 3.5 - Minor change to table. +//= 3.6 - Removed name column in donate_item_db. Added +//= support for item_db2 table. +//= 3.7 - Added Zeny support. $rate must be set for it to be +//= used. Removed truncate() in a query since rAthena +//= automatically truncates floats to ints. +//= 3.8 - Fixed problem with menus and null values. +//= 3.9 - Explicit reset of @aid. +//= 3.10 - Applied previous fix to other variables and forced +//= dialogue box closure every time database is modified. +//= 3.11 - Explicit reset of another variable. Fixed typo +//= - with $rate. Added logmes for GM operations. +//============================================================ +//= Thanks to Vich for helping me with the SQL syntax. +//= Thanks to Lance for helping me with the the arrays and +//= for implementing query_sql. +//= Thanks to Skotlex for implementing escape_sql. +//= Thanks to Toms for implementing the new multi-column +//= query_sql command. +//============================================================ diff --git a/npc/custom/eAAC_Scripts/DonationGirl/sql/donate.sql b/npc/custom/eAAC_Scripts/DonationGirl/sql/donate.sql index 6838297bc..b820e2605 100644 --- a/npc/custom/eAAC_Scripts/DonationGirl/sql/donate.sql +++ b/npc/custom/eAAC_Scripts/DonationGirl/sql/donate.sql @@ -1,6 +1,6 @@ CREATE TABLE `donate` ( - `account_id` int(11) unsigned NOT NULL, - `amount` float(9,2) unsigned NOT NULL, - `claimed` float(9,2) unsigned NOT NULL, + `account_id` INT(11) UNSIGNED NOT NULL, + `amount` FLOAT(9,2) UNSIGNED NOT NULL, + `claimed` FLOAT(9,2) UNSIGNED NOT NULL, PRIMARY KEY (`account_id`) -) TYPE=MyISAM;
\ No newline at end of file +) TYPE=MYISAM; diff --git a/npc/custom/eAAC_Scripts/DonationGirl/sql/donate_item_db.sql b/npc/custom/eAAC_Scripts/DonationGirl/sql/donate_item_db.sql index 2b3caf104..54b4895b3 100644 --- a/npc/custom/eAAC_Scripts/DonationGirl/sql/donate_item_db.sql +++ b/npc/custom/eAAC_Scripts/DonationGirl/sql/donate_item_db.sql @@ -1,8 +1,8 @@ CREATE TABLE `donate_item_db` ( - `id` smallint(5) unsigned NOT NULL default '0', - `price` float(9,2) unsigned NOT NULL, + `id` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0', + `price` FLOAT(9,2) UNSIGNED NOT NULL, PRIMARY KEY (`id`) -) TYPE=MyISAM; +) TYPE=MYISAM; #(ID,Price); REPLACE INTO `donate_item_db` VALUES (601,0.06); #Wing_Of_Fly @@ -10,4 +10,4 @@ REPLACE INTO `donate_item_db` VALUES (602,0.33); #Wing_Of_Butterfly REPLACE INTO `donate_item_db` VALUES (603,10); #Old_Blue_Box REPLACE INTO `donate_item_db` VALUES (604,0.05); #Branch_Of_Dead_Tree REPLACE INTO `donate_item_db` VALUES (605,2); #Anodyne -REPLACE INTO `donate_item_db` VALUES (606,2); #Aloebera
\ No newline at end of file +REPLACE INTO `donate_item_db` VALUES (606,2); #Aloebera diff --git a/npc/custom/eAAC_Scripts/Kafra_Express_files.conf b/npc/custom/eAAC_Scripts/Kafra_Express_files.conf index 1364e7479..96c5823df 100644 --- a/npc/custom/eAAC_Scripts/Kafra_Express_files.conf +++ b/npc/custom/eAAC_Scripts/Kafra_Express_files.conf @@ -1,5 +1,5 @@ //|-----------------------------------------------------------------| -//|- English Athena Approved Certified Script: Kafra Express Set -| +//|- English Athena Approved Certified Script: Kafra Express Set -| //|-----------------------------------------------------------------| //| //| The configuration file. @@ -26,4 +26,4 @@ npc: npc/custom/eAAC_Scripts/kafraExpress/ke_warp_town.txt npc: npc/custom/eAAC_Scripts/kafraExpress/ke_warp_woe.txt //| For more info referring this script, open the provided readme.txt in this folder. -//| Copyright © 2004 - 2006 Skotlex. All Rights Reserved for him (this is almost a trademark =X)
\ No newline at end of file +//| Copyright © 2004 - 2006 Skotlex. All Rights Reserved for him (this is almost a trademark =X) diff --git a/npc/custom/eAAC_Scripts/banker.txt b/npc/custom/eAAC_Scripts/banker.txt index 5d46cd00b..f9111098f 100644 --- a/npc/custom/eAAC_Scripts/banker.txt +++ b/npc/custom/eAAC_Scripts/banker.txt @@ -1,40 +1,40 @@ //| ~~~~~~~~~~~ Information ~~~~~~~~~~~~~ -//| | This is a simple banking npc, | -//| | instead of using those global | -//| | variables :P | -//| | | -//| | It's fully customizable, you | -//| | can exchange the coin ID used | -//| | at will, it won't affect the | -//| | script whatsoever =3 | -//| | | -//| | The prices can also be set, the | -//| | way you like the most, as they | -//| | won't affect the script either | -//| | | -//| | No db/client files modification | -//| | needed, just "Plug&Play" ;P | +//| | This is a simple banking npc, | +//| | instead of using those global | +//| | variables :P | +//| | | +//| | It's fully customizable, you | +//| | can exchange the coin ID used | +//| | at will, it won't affect the | +//| | script whatsoever =3 | +//| | | +//| | The prices can also be set, the | +//| | way you like the most, as they | +//| | won't affect the script either | +//| | | +//| | No db/client files modification | +//| | needed, just "Plug&Play" ;P | //| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - +//| //| Revision: //| v.1.0: Released script. No problems or bugs found, at least :P -//| It's your duty to find them now if there are. -//| @minvalue must contain the coin price of the lowest coin value -//| in order for the script to work correctly. By default it's set -//| to the bronze coin - +//| It's your duty to find them now if there are. +//| @minvalue must contain the coin price of the lowest coin value +//| in order for the script to work correctly. By default it's set +//| to the bronze coin +//| //| Revision: //| v.2.0: Added a Mix option in the Zeny to Coin function, -//| where it allows you to split your desired Zeny into -//| the coins you wish to obtain, without having to go -//| through the other functions to obtain them all. That way -//| you can get them all at once ;3 +//| where it allows you to split your desired Zeny into +//| the coins you wish to obtain, without having to go +//| through the other functions to obtain them all. That way +//| you can get them all at once ;3 +//| +//| It also displays the total zeny being exchanged, +//| the total coins obtained and the difference between +//| the amount of zeny you've inputted and the sum of +//| the coin's values. //| -//| It also displays the total zeny being exchanged, -//| the total coins obtained and the difference between -//| the amount of zeny you've inputted and the sum of -//| the coin's values. - //| Revision: //| v.2.5: Replaced all the coin names with a variable that has //| getitemname(<coin_id), for more customization of the script. @@ -49,33 +49,33 @@ //| Revision: //| v.2.6: Added another Weight check to prevent coins from dropping -//| to the ground because A) Too many coins (more than 30,000 ea) -//| B) Your current weight + total coins weight were greater than -//| your max weight, causing them to drop due to "over-weight". -//| Thanks to Niktout for spotting it. +//| to the ground because A) Too many coins (more than 30,000 ea) +//| B) Your current weight + total coins weight were greater than +//| your max weight, causing them to drop due to "over-weight". +//| Thanks to Niktout for spotting it. //| Revision: //| v.2.7: Added a check to the Zeny -> Coin Mix label. It seems you -//| can trade with negative zeny (meh...). This should prevent it. -//| Thanks to Niktout. +//| can trade with negative zeny (meh...). This should prevent it. +//| Thanks to Niktout. //| Revision: //| v.2.8: Added a n00b check for the Zeny -> Coin function. Should -//| prevent zeny overflow. Also added a variable cleaning section -//| at the beginning of the Mix function, to prevent old values -//| to be used as a payout. +//| prevent zeny overflow. Also added a variable cleaning section +//| at the beginning of the Mix function, to prevent old values +//| to be used as a payout. //| Revision: //| v.2.8.1 Removed the 'conflicting' switch with variables as case options, -//| and moved the color names to the function, so now it executes once. -//| Did other optimizations and cleanups all around the code. Meh. +//| and moved the color names to the function, so now it executes once. +//| Did other optimizations and cleanups all around the code. Meh. //| Upcomming possible updates: //| v.3.0: Adding a refining system, so you can gather ore and the likes -//| to make your own coins. They will have a failure chance -//| of course. You will need, for now: 10 ores of the type of -//| coin you wish, a mini furnace, an anvil depending on what -//| You're crafting, and a hammer according to it. +//| to make your own coins. They will have a failure chance +//| of course. You will need, for now: 10 ores of the type of +//| coin you wish, a mini furnace, an anvil depending on what +//| You're crafting, and a hammer according to it. //| Copyright © 2006-2007 erKURITA. All Rights Reserved @@ -420,4 +420,4 @@ prontera,155,188,3 script Zacariath Madhat 872,{ OnInit: setitemscript 671,"{}"; end; -}
\ No newline at end of file +} diff --git a/npc/custom/eAAC_Scripts/kafraExpress/Changelog.txt b/npc/custom/eAAC_Scripts/kafraExpress/Changelog.txt index f75b01837..2f9555f1d 100644 --- a/npc/custom/eAAC_Scripts/kafraExpress/Changelog.txt +++ b/npc/custom/eAAC_Scripts/kafraExpress/Changelog.txt @@ -480,4 +480,4 @@ * Broadcast Module v1.7 - Expanded to include new PvP rooms --- Too old to remember :P
\ No newline at end of file +-- Too old to remember :P diff --git a/npc/custom/eAAC_Scripts/kafraExpress/ke_bank.txt b/npc/custom/eAAC_Scripts/kafraExpress/ke_bank.txt index 2f240b2df..d5a4093cb 100644 --- a/npc/custom/eAAC_Scripts/kafraExpress/ke_bank.txt +++ b/npc/custom/eAAC_Scripts/kafraExpress/ke_bank.txt @@ -177,4 +177,3 @@ function SF_calcInterest { } //SF end } - diff --git a/npc/custom/eAAC_Scripts/messageboards.txt b/npc/custom/eAAC_Scripts/messageboards.txt index 7dae78cfc..c6c59edcb 100644 --- a/npc/custom/eAAC_Scripts/messageboards.txt +++ b/npc/custom/eAAC_Scripts/messageboards.txt @@ -1,421 +1,433 @@ +//===== rAthena Script ======================================= +//= Message Man +//===== By: ================================================== +//= Vicious +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= a message board where you can post and read messages +//===== Additional Comments: ================================= +//= +//============================================================ + geffen,122,102,4 script Message Man 774,{ -mes "[Robert]"; -mes "Hello, I am here to serve you. Enjoy my service. ^_-"; -next; -mes "[Robert]"; -mes "Please keep in mind, that all messages are wiped once every two days"; -mes "-Msg From Creator- In new version this will be set able, look forward to this! -End Msg From Creator-"; -next; + mes "[Robert]"; + mes "Hello, I am here to serve you. Enjoy my service. ^_-"; + next; + mes "[Robert]"; + mes "Please keep in mind, that all messages are wiped once every two days"; + mes "-Msg From Creator- In new version this will be set able, look forward to this! -End Msg From Creator-"; + next; L_Menu01: -mes "[Robert]"; -mes "What would you like to do??"; -next; -if((getgmlevel() >= 90)) menu "Public board",L_pubgmmenu,"Gm Board",L_gmmenu,"Close Public Board",L_clospub,"Open Public Board",L_openpub; -if(($messagepubclose == 1)) goto L_pubclosed; -menu "Read messages!",L_readmsg,"Post a message!",L_Postmsg,"Leave",L_leave; + mes "[Robert]"; + mes "What would you like to do??"; + next; + if((getgmlevel() >= 90)) menu "Public board",L_pubgmmenu,"Gm Board",L_gmmenu,"Close Public Board",L_clospub,"Open Public Board",L_openpub; + if(($messagepubclose == 1)) goto L_pubclosed; + menu "Read messages!",L_readmsg,"Post a message!",L_Postmsg,"Leave",L_leave; L_pubgmmenu: -if(($messagepubclose == 1)) goto L_pubclosed; -menu "Re-set the rotation",L_setrot,"Reset Message",L_Clearmsgs,"Read messages!",L_readmsg,"Post a message!",L_Postmsg,"Leave",L_leave; + if(($messagepubclose == 1)) goto L_pubclosed; + menu "Re-set the rotation",L_setrot,"Reset Message",L_Clearmsgs,"Read messages!",L_readmsg,"Post a message!",L_Postmsg,"Leave",L_leave; L_gmmenu: -menu "Read messages!",L_gmboardread,"Post a Message!",L_gmboardpost,"Reset Messages",L_gmboardreset; + menu "Read messages!",L_gmboardread,"Post a Message!",L_gmboardpost,"Reset Messages",L_gmboardreset; L_openpub: -mes "[Robert]"; -mes "Are you sure?"; -menu "Yes",-,"No",L_openpubn; -mes "[Robert]"; -mes "It is done."; -close2; -set $messagepubclose,0; -end; + mes "[Robert]"; + mes "Are you sure?"; + menu "Yes",-,"No",L_openpubn; + mes "[Robert]"; + mes "It is done."; + close2; + set $messagepubclose,0; + end; L_openpubn: -mes "[Robert]"; -mes "Very well it shall remain closed."; -close; + mes "[Robert]"; + mes "Very well it shall remain closed."; + close; L_pubclosed: -mes "[Robert]"; -mes "Im sorry. The public boards are currently Closed."; -close; + mes "[Robert]"; + mes "Im sorry. The public boards are currently Closed."; + close; L_clospub: -mes "[Robert]"; -mes "Are you sure?"; -next; -menu "Yes.",-,"No",L_closepubn; -mes "[Robert]"; -mes "Very well I will not allow anyone into the public board."; -close2; -set $messagepubclose,1; -end; + mes "[Robert]"; + mes "Are you sure?"; + next; + menu "Yes.",-,"No",L_closepubn; + mes "[Robert]"; + mes "Very well I will not allow anyone into the public board."; + close2; + set $messagepubclose,1; + end; L_closepubn: -mes "[Robert]"; -mes "Have a nice day"; -close; + mes "[Robert]"; + mes "Have a nice day"; + close; L_gmboardreset: -mes "[Robert]"; -mes "This will require atleast 2 GM's approval to reset the gm board."; -mes "-Msg From Creator- This is bugged same gm can vote twice. Planned to revise in next version. -End Msg From Creator-"; -next; -menu "Vote for reset.",L_gmboardresetvote,"Back to main.",L_Menu01,"Leave.",L_leave; + mes "[Robert]"; + mes "This will require atleast 2 GM's approval to reset the gm board."; + mes "-Msg From Creator- This is bugged same gm can vote twice. Planned to revise in next version. -End Msg From Creator-"; + next; + menu "Vote for reset.",L_gmboardresetvote,"Back to main.",L_Menu01,"Leave.",L_leave; L_gmboardresetvote: -callfunc "F_gmresetcheck"; -set @tempid,getcharid(0); -set $gmboardresetvotenumb,$gmboardresetvotenumb+1; -set $gmboardresetvoted[$gmboardresetvotenumb],1; -set $gmboardresetvoteid[$gmboardresetvotenumb],@tempid; -set @tempid,0; -set $gmboardreset,$gmboardreset-1; -mes "[Robert]"; -mes "Thank you."; -next; -if(($gmboardreset == 0)) goto L_gmresetdone; -if(($gmboardreset >= 1)) goto L_gmresetnotdone; -close; + callfunc "F_gmresetcheck"; + set @tempid,getcharid(0); + set $gmboardresetvotenumb,$gmboardresetvotenumb+1; + set $gmboardresetvoted[$gmboardresetvotenumb],1; + set $gmboardresetvoteid[$gmboardresetvotenumb],@tempid; + set @tempid,0; + set $gmboardreset,$gmboardreset-1; + mes "[Robert]"; + mes "Thank you."; + next; + if(($gmboardreset == 0)) goto L_gmresetdone; + if(($gmboardreset >= 1)) goto L_gmresetnotdone; + close; L_gmresetdone: -deletearray $gmmessageboardpost$[1],$gmmessageboardpostnumber; -deletearray $gmmessageboardpostdate$[1],$gmmessageboardpostnumber; -deletearray $gmmessageboardpostname$[1],$gmmessageboardpostnumber; -deletearray $gmmessageboardeditdate$[1],$gmmessageboardpostnumber; -deletearray $gmboardresetvoted[1],$gmboardresetvotenumber; -deletearray $gmboardresetvoted[1],$gmboardresetvotenumber; -deletearray $gmboardresetvoteid[1],$gmboardresetvotenumber; -set $gmboardresetvotenumber,0; -set $gmboardreset,2; -mes "[Robert]"; -mes "The reset has been done."; -close; + deletearray $gmmessageboardpost$[1],$gmmessageboardpostnumber; + deletearray $gmmessageboardpostdate$[1],$gmmessageboardpostnumber; + deletearray $gmmessageboardpostname$[1],$gmmessageboardpostnumber; + deletearray $gmmessageboardeditdate$[1],$gmmessageboardpostnumber; + deletearray $gmboardresetvoted[1],$gmboardresetvotenumber; + deletearray $gmboardresetvoted[1],$gmboardresetvotenumber; + deletearray $gmboardresetvoteid[1],$gmboardresetvotenumber; + set $gmboardresetvotenumber,0; + set $gmboardreset,2; + mes "[Robert]"; + mes "The reset has been done."; + close; L_gmresetnotdone: -mes "[Robert]"; -mes "There needs to be "+$gmboardreset+" more gm(s) approval to do the reset."; -close; + mes "[Robert]"; + mes "There needs to be "+$gmboardreset+" more gm(s) approval to do the reset."; + close; L_gmboardread: -if(($gmmessageboardpostnumber == 0)) goto L_msgno; -callfunc "F_gmmessage"; -end; + if(($gmmessageboardpostnumber == 0)) goto L_msgno; + callfunc "F_gmmessage"; + end; L_gmboardpost: -if(($gmmessageboardpostnumber >= 127)) goto L_postmsgyestm; -set @gmmessageboardpostername$,strcharinfo(0); -set @gmmessageboarddate$,gettimestr("%Y-%m/%d %H:%M:%S",21); -set $gmmessageboardpostnumber,$gmmessageboardpostnumber+1; -input @gmmsgboardmsgt$; -set $gmmessageboardpost$[$gmmessageboardpostnumber],@gmmsgboardmsgt$; -set $gmmessageboardpostdate$[$gmmessageboardpostnumber],@gmmessageboarddate$; -set $gmmessageboardpostname$[$gmmessageboardpostnumber],@gmmessageboardpostername$; -mes "[Robert]"; -mes "Here is what your message looks like"; -next; -mes "Posted by: "+$gmmessageboardpostname$[$gmmessageboardpostnumber]+"."; -mes "On: "+$gmmessageboardpostdate$[$gmmessageboardpostnumber]+"."; -mes $gmmessageboardpost$[$gmmessageboardpostnumber]; -close; + if(($gmmessageboardpostnumber >= 127)) goto L_postmsgyestm; + set @gmmessageboardpostername$,strcharinfo(0); + set @gmmessageboarddate$,gettimestr("%Y-%m/%d %H:%M:%S",21); + set $gmmessageboardpostnumber,$gmmessageboardpostnumber+1; + input @gmmsgboardmsgt$; + set $gmmessageboardpost$[$gmmessageboardpostnumber],@gmmsgboardmsgt$; + set $gmmessageboardpostdate$[$gmmessageboardpostnumber],@gmmessageboarddate$; + set $gmmessageboardpostname$[$gmmessageboardpostnumber],@gmmessageboardpostername$; + mes "[Robert]"; + mes "Here is what your message looks like"; + next; + mes "Posted by: "+$gmmessageboardpostname$[$gmmessageboardpostnumber]+"."; + mes "On: "+$gmmessageboardpostdate$[$gmmessageboardpostnumber]+"."; + mes $gmmessageboardpost$[$gmmessageboardpostnumber]; + close; L_setrot: -set $@determinedayrotation,gettime(4); //this determines the day rotation for clearing messages. -if(($@determinedayrotation == 0)) set $rotation,0; -if(($@determinedayrotation == 1)) set $rotation,1; -if(($@determinedayrotation == 2)) set $rotation,0; -if(($@determinedayrotation == 3)) set $rotation,1; -if(($@determinedayrotation == 4)) set $rotation,0; -if(($@determinedayrotation == 5)) set $rotation,1; -if(($@determinedayrotation == 6)) set $rotation,0; -mes "It is done."; -close; + set $@determinedayrotation,gettime(4); //this determines the day rotation for clearing messages. + if(($@determinedayrotation == 0)) set $rotation,0; + if(($@determinedayrotation == 1)) set $rotation,1; + if(($@determinedayrotation == 2)) set $rotation,0; + if(($@determinedayrotation == 3)) set $rotation,1; + if(($@determinedayrotation == 4)) set $rotation,0; + if(($@determinedayrotation == 5)) set $rotation,1; + if(($@determinedayrotation == 6)) set $rotation,0; + mes "It is done."; + close; L_Clearmsgs: -mes "[Robert]"; -mes "Are you sure?"; -next; -menu "Yes",L_clearmsgsy,"No thanks.",L_Menu01; + mes "[Robert]"; + mes "Are you sure?"; + next; + menu "Yes",L_clearmsgsy,"No thanks.",L_Menu01; L_clearmsgsy: -deletearray $messageboardpost$[1],$messageboardpostnumber; -deletearray $messageboardpostdate$[1],$messageboardpostnumber; -deletearray $messageboardpostname$[1],$messageboardpostnumber; -deletearray $messageboardeditdate$[1],$messageboardpostnumber; -deletearray $mymessage[1],$messageboardpostnumber; -set $messageboardpostnumber,0; -mes "[Robert]"; -mes "It is done."; -close; + deletearray $messageboardpost$[1],$messageboardpostnumber; + deletearray $messageboardpostdate$[1],$messageboardpostnumber; + deletearray $messageboardpostname$[1],$messageboardpostnumber; + deletearray $messageboardeditdate$[1],$messageboardpostnumber; + deletearray $mymessage[1],$messageboardpostnumber; + set $messageboardpostnumber,0; + mes "[Robert]"; + mes "It is done."; + close; L_leave: -close; + close; L_Postmsg: -mes "[Robert]"; -mes "What do you want to say in your message?"; -next; -set @msgboardmsgt$,0; -input @msgboardmsgt$; -mes "[Robert]"; -mes "are you sure this is the message you want?"; -mes @msgboardmsgt$; -next; -menu "Yes!",L_postmsgyes,"No let me re-do it!",L_Postmsg,"Ive changed my mind let me leave.",lleave; + mes "[Robert]"; + mes "What do you want to say in your message?"; + next; + set @msgboardmsgt$,0; + input @msgboardmsgt$; + mes "[Robert]"; + mes "are you sure this is the message you want?"; + mes @msgboardmsgt$; + next; + menu "Yes!",L_postmsgyes,"No let me re-do it!",L_Postmsg,"Ive changed my mind let me leave.",lleave; L_postmsgyes: -if(($messageboardpostnumber >= 127)) goto L_postmsgyestm; -set @messageboardpostername$,strcharinfo(0); -set @messageboarddate$,gettimestr("%Y-%m/%d %H:%M:%S",21); -set $messageboardpostnumber,$messageboardpostnumber+1; -set @mymessage2,$messageboardpostnumber; -set $mymessage[$messageboardpostnumber],5; -set $messageboardpost$[$messageboardpostnumber],@msgboardmsgt$; -set $messageboardpostdate$[$messageboardpostnumber],@messageboarddate$; -set $messageboardpostname$[$messageboardpostnumber],@messageboardpostername$; -mes "[Robert]"; -mes "here is what your message looks like"; -next; -mes "Posted by: "+$messageboardpostname$[$messageboardpostnumber]+"."; -mes "On: "+$messageboardpostdate$[$messageboardpostnumber]+"."; -mes $messageboardpost$[$messageboardpostnumber]; -close; + if(($messageboardpostnumber >= 127)) goto L_postmsgyestm; + set @messageboardpostername$,strcharinfo(0); + set @messageboarddate$,gettimestr("%Y-%m/%d %H:%M:%S",21); + set $messageboardpostnumber,$messageboardpostnumber+1; + set @mymessage2,$messageboardpostnumber; + set $mymessage[$messageboardpostnumber],5; + set $messageboardpost$[$messageboardpostnumber],@msgboardmsgt$; + set $messageboardpostdate$[$messageboardpostnumber],@messageboarddate$; + set $messageboardpostname$[$messageboardpostnumber],@messageboardpostername$; + mes "[Robert]"; + mes "here is what your message looks like"; + next; + mes "Posted by: "+$messageboardpostname$[$messageboardpostnumber]+"."; + mes "On: "+$messageboardpostdate$[$messageboardpostnumber]+"."; + mes $messageboardpost$[$messageboardpostnumber]; + close; L_postmsgyestm: -set @mesboardmsgt$,0; -mes "[Robert]"; -mes "Im sorry your going to have to wait till more space opens up for messages, it should be in 1 or 2 days =)"; -close; + set @mesboardmsgt$,0; + mes "[Robert]"; + mes "Im sorry your going to have to wait till more space opens up for messages, it should be in 1 or 2 days =)"; + close; lleave: -deletearray $messageboardpost$[@tempview],@tempview; -deletearray $messageboardpostname$[@tempview],@tempview; -deletearray $messageboardpostdate$[@tempview],@tempview; -deletearray $mymessage[@tempview],@tempview; -set $messageboardpostnumber,$messageboardpostnumber-1; -set @msgboardmsgt$,0; -close; + deletearray $messageboardpost$[@tempview],@tempview; + deletearray $messageboardpostname$[@tempview],@tempview; + deletearray $messageboardpostdate$[@tempview],@tempview; + deletearray $mymessage[@tempview],@tempview; + set $messageboardpostnumber,$messageboardpostnumber-1; + set @msgboardmsgt$,0; + close; L_readmsg: -if(($messageboardpostnumber == 0)) goto L_msgno; -callfunc "F_message"; -end; + if(($messageboardpostnumber == 0)) goto L_msgno; + callfunc "F_message"; + end; L_msgno: -mes "[Robert]"; -mes "There are currently no messages."; -close; + mes "[Robert]"; + mes "There are currently no messages."; + close; OnInit: -set $gmboardreset,2; -set $gmboardresetvotenumb,0; -end; + set $gmboardreset,2; + set $gmboardresetvotenumb,0; + end; OnInterIfInitOnce: -set $@determinedayrotation,gettime(4); //this determines the day rotation for clearing messages. -if(($@determinedayrotation == 0)) set $rotation,0; -if(($@determinedayrotation == 1)) set $rotation,1; -if(($@determinedayrotation == 2)) set $rotation,0; -if(($@determinedayrotation == 3)) set $rotation,1; -if(($@determinedayrotation == 4)) set $rotation,0; -if(($@determinedayrotation == 5)) set $rotation,1; -if(($@determinedayrotation == 6)) set $rotation,0; -end; + set $@determinedayrotation,gettime(4); //this determines the day rotation for clearing messages. + if(($@determinedayrotation == 0)) set $rotation,0; + if(($@determinedayrotation == 1)) set $rotation,1; + if(($@determinedayrotation == 2)) set $rotation,0; + if(($@determinedayrotation == 3)) set $rotation,1; + if(($@determinedayrotation == 4)) set $rotation,0; + if(($@determinedayrotation == 5)) set $rotation,1; + if(($@determinedayrotation == 6)) set $rotation,0; + end; OnSun1200: -if(($rotation == 1)) end; -deletearray $messageboardpost$[1],$messageboardpostnumber; -deletearray $messageboardpostdate$[1],$messageboardpostnumber; -deletearray $messageboardpostname$[1],$messageboardpostnumber; -deletearray $mymessage[1],$messageboardpostnumber; -set $messageboardpostnumber,0; -end; + if(($rotation == 1)) end; + deletearray $messageboardpost$[1],$messageboardpostnumber; + deletearray $messageboardpostdate$[1],$messageboardpostnumber; + deletearray $messageboardpostname$[1],$messageboardpostnumber; + deletearray $mymessage[1],$messageboardpostnumber; + set $messageboardpostnumber,0; + end; OnSat1200: -if(($rotation == 0)) end; -deletearray $messageboardpost$[1],$messageboardpostnumber; -deletearray $messageboardpostdate$[1],$messageboardpostnumber; -deletearray $messageboardpostname$[1],$messageboardpostnumber; -deletearray $mymessage[1],$messageboardpostnumber; -set $messageboardpostnumber,0; -end; + if(($rotation == 0)) end; + deletearray $messageboardpost$[1],$messageboardpostnumber; + deletearray $messageboardpostdate$[1],$messageboardpostnumber; + deletearray $messageboardpostname$[1],$messageboardpostnumber; + deletearray $mymessage[1],$messageboardpostnumber; + set $messageboardpostnumber,0; + end; OnMon1200: -if(($rotation == 1)) end; -deletearray $messageboardpost$[1],$messageboardpostnumber; -deletearray $messageboardpostdate$[1],$messageboardpostnumber; -deletearray $messageboardpostname$[1],$messageboardpostnumber; -deletearray $mymessage[1],$messageboardpostnumber; -set $messageboardpostnumber,0; -end; + if(($rotation == 1)) end; + deletearray $messageboardpost$[1],$messageboardpostnumber; + deletearray $messageboardpostdate$[1],$messageboardpostnumber; + deletearray $messageboardpostname$[1],$messageboardpostnumber; + deletearray $mymessage[1],$messageboardpostnumber; + set $messageboardpostnumber,0; + end; OnTue1200: -if(($rotation == 0)) end; -deletearray $messageboardpost$[1],$messageboardpostnumber; -deletearray $messageboardpostdate$[1],$messageboardpostnumber; -deletearray $messageboardpostname$[1],$messageboardpostnumber; -deletearray $mymessage[1],$messageboardpostnumber; -set $messageboardpostnumber,0; -end; + if(($rotation == 0)) end; + deletearray $messageboardpost$[1],$messageboardpostnumber; + deletearray $messageboardpostdate$[1],$messageboardpostnumber; + deletearray $messageboardpostname$[1],$messageboardpostnumber; + deletearray $mymessage[1],$messageboardpostnumber; + set $messageboardpostnumber,0; + end; OnWed1200: -if(($rotation == 1)) end; -deletearray $messageboardpost$[1],$messageboardpostnumber; -deletearray $messageboardpostdate$[1],$messageboardpostnumber; -deletearray $messageboardpostname$[1],$messageboardpostnumber; -deletearray $mymessage[1],$messageboardpostnumber; -set $messageboardpostnumber,0; -end; + if(($rotation == 1)) end; + deletearray $messageboardpost$[1],$messageboardpostnumber; + deletearray $messageboardpostdate$[1],$messageboardpostnumber; + deletearray $messageboardpostname$[1],$messageboardpostnumber; + deletearray $mymessage[1],$messageboardpostnumber; + set $messageboardpostnumber,0; + end; OnThu1200: -if(($rotation == 0)) end; -deletearray $messageboardpost$[1],$messageboardpostnumber; -deletearray $messageboardpostdate$[1],$messageboardpostnumber; -deletearray $messageboardpostname$[1],$messageboardpostnumber; -deletearray $mymessage[1],$messageboardpostnumber; -set $messageboardpostnumber,0; -end; + if(($rotation == 0)) end; + deletearray $messageboardpost$[1],$messageboardpostnumber; + deletearray $messageboardpostdate$[1],$messageboardpostnumber; + deletearray $messageboardpostname$[1],$messageboardpostnumber; + deletearray $mymessage[1],$messageboardpostnumber; + set $messageboardpostnumber,0; + end; OnFri1200: -if(($rotation == 1)) end; -deletearray $messageboardpost$[1],$messageboardpostnumber; -deletearray $messageboardpostdate$[1],$messageboardpostnumber; -deletearray $messageboardpostname$[1],$messageboardpostnumber; -deletearray $mymessage[@tempview],@tempview; -set $messageboardpostnumber,0; -end; + if(($rotation == 1)) end; + deletearray $messageboardpost$[1],$messageboardpostnumber; + deletearray $messageboardpostdate$[1],$messageboardpostnumber; + deletearray $messageboardpostname$[1],$messageboardpostnumber; + deletearray $mymessage[@tempview],@tempview; + set $messageboardpostnumber,0; + end; } function script F_gmresetcheck { -set @tempcheck,0; + set @tempcheck,0; L_top: -set @tempcheck,@tempcheck+1; -if(($gmboardresetvoted[@tempview] == 1)) goto L_votecheck; -if(($gmboardresetvoted[@tempview] == 0)) return; -goto L_top; -end; - + set @tempcheck,@tempcheck+1; + if(($gmboardresetvoted[@tempview] == 1)) goto L_votecheck; + if(($gmboardresetvoted[@tempview] == 0)) return; + goto L_top; + end; L_votecheck: -set @tempcheckid,0; -set @tempcheckid,getcharid(0); -if(($gmboardresetvoteid[@tempview] != @tempcheckid)) goto L_top; -if(($gmboardresetvoteid[@tempview] == @tempcheckid)) goto L_voted; -end; + set @tempcheckid,0; + set @tempcheckid,getcharid(0); + if(($gmboardresetvoteid[@tempview] != @tempcheckid)) goto L_top; + if(($gmboardresetvoteid[@tempview] == @tempcheckid)) goto L_voted; + end; } function script F_gmmessage { -set @tempview,0; + set @tempview,0; L_top: -set @tempview,@tempview+1; -mes "Posted By: "+$gmmessageboardpostname$[@tempview]+"."; -mes "On: "+$gmmessageboardpostdate$[@tempview]+"."; -mes $gmmessageboardpost$[@tempview]+"."; -menu "Next Message",L_top2; - + set @tempview,@tempview+1; + mes "Posted By: "+$gmmessageboardpostname$[@tempview]+"."; + mes "On: "+$gmmessageboardpostdate$[@tempview]+"."; + mes $gmmessageboardpost$[@tempview]+"."; + menu "Next Message",L_top2; L_top2: -if(($gmmessageboardpostnumber > @tempview)) goto L_top; -close; + if(($gmmessageboardpostnumber > @tempview)) goto L_top; + close; } function script F_message { -set @tempview,0; + set @tempview,0; L_top: -set @tempview,@tempview+1; -mes "Posted By: "+$messageboardpostname$[@tempview]+"."; -mes "On: "+$messageboardpostdate$[@tempview]+"."; -mes $messageboardpost$[@tempview]+"."; -next; -if(($mymessage[@tempview] == 5) && (getgmlevel()>0)) menu "Next Message",L_top2,"Delete My Message",L_delmy,"Edit my message",L_editmy,"Delete This message",L_Del; -if((getgmlevel()>0)) menu "Next Message",L_top2,"Delete This message",L_Del; -if(($mymessage[@tempview] == 5)) menu "Next Message",L_top2,"Delete My Message",L_delmy,"Edit my message",L_editmy; -menu "Next message",L_top2; -close; + set @tempview,@tempview+1; + mes "Posted By: "+$messageboardpostname$[@tempview]+"."; + mes "On: "+$messageboardpostdate$[@tempview]+"."; + mes $messageboardpost$[@tempview]+"."; + next; + if(($mymessage[@tempview] == 5) && (getgmlevel()>0)) menu "Next Message",L_top2,"Delete My Message",L_delmy,"Edit my message",L_editmy,"Delete This message",L_Del; + if((getgmlevel()>0)) menu "Next Message",L_top2,"Delete This message",L_Del; + if(($mymessage[@tempview] == 5)) menu "Next Message",L_top2,"Delete My Message",L_delmy,"Edit my message",L_editmy; + menu "Next message",L_top2; + close; L_editmy: -mes "Are you sure?"; -next; -menu "Yes",L_editmyy,"No",L_editmyn; + mes "Are you sure?"; + next; + menu "Yes",L_editmyy,"No",L_editmyn; L_editmyy: -mes "what do you want your new message to be?"; -next; -mes "Current message!"; -mes $messageboardpost$[@tempview]; -set @tempeditmsg$,0; -input @tempeditmsg$; -next; -mes "is this what you want?"; -mes @tempeditmsg$; -next; -menu "Yes!",L_editmyyy,"No.",L_editmyyn; + mes "what do you want your new message to be?"; + next; + mes "Current message!"; + mes $messageboardpost$[@tempview]; + set @tempeditmsg$,0; + input @tempeditmsg$; + next; + mes "is this what you want?"; + mes @tempeditmsg$; + next; + menu "Yes!",L_editmyyy,"No.",L_editmyyn; L_editmyyy: -deletearray $messageboardpost$[@tempview],@tempview; -set $messageboardpost$[@tempview],@tempeditmsg$; -mes "Here is what your new message looks like."; -next; -mes "Posted By: "+$messageboardpostname$[@tempview]+"."; -mes "On: "+$messageboardpostdate$[@tempview]+"."; -mes $messageboardpost$[@tempview]+"."; -close2; -set @tempview,0; -end; + deletearray $messageboardpost$[@tempview],@tempview; + set $messageboardpost$[@tempview],@tempeditmsg$; + mes "Here is what your new message looks like."; + next; + mes "Posted By: "+$messageboardpostname$[@tempview]+"."; + mes "On: "+$messageboardpostdate$[@tempview]+"."; + mes $messageboardpost$[@tempview]+"."; + close2; + set @tempview,0; + end; L_editmyn: -Mes "So be it."; -set @tempview,0; -close; + Mes "So be it."; + set @tempview,0; + close; L_editmyyn: -mes "So be it!"; -set @tempeditmsg$,0; -set @tempview,0; -close; + mes "So be it!"; + set @tempeditmsg$,0; + set @tempview,0; + close; L_delmy: -mes "Are you sure...?"; -next; -menu "Yes",L_delmyy,"No thanks.",L_delmyn; + mes "Are you sure...?"; + next; + menu "Yes",L_delmyy,"No thanks.",L_delmyn; L_delmyy: -deletearray $messageboardpost$[@tempview],@tempview; -deletearray $messageboardpostname$[@tempview],@tempview; -deletearray $messageboardpostdate$[@tempview],@tempview; -deletearray $mymessage[@tempview],@tempview; -deletearray $messageboardeditdate$[@tempview],@tempview; -set $messageboardpostnumber,$messageboardpostnumber-1; -set @tempview,0; -mes "It is done."; -close; + deletearray $messageboardpost$[@tempview],@tempview; + deletearray $messageboardpostname$[@tempview],@tempview; + deletearray $messageboardpostdate$[@tempview],@tempview; + deletearray $mymessage[@tempview],@tempview; + deletearray $messageboardeditdate$[@tempview],@tempview; + set $messageboardpostnumber,$messageboardpostnumber-1; + set @tempview,0; + mes "It is done."; + close; L_delmyn: -mes "Come back soon."; -set @tempview,0; -close; + mes "Come back soon."; + set @tempview,0; + close; L_top2: -if(($messageboardpostnumber > @tempview)) goto L_top; -close; + if(($messageboardpostnumber > @tempview)) goto L_top; + close; L_Del: -mes "Are you sure?"; -next; -menu "Yes",L_Dely,"No",L_Deln; + mes "Are you sure?"; + next; + menu "Yes",L_Dely,"No",L_Deln; L_Dely: -deletearray $messageboardpost$[@tempview],@tempview; -deletearray $messageboardpostname$[@tempview],@tempview; -deletearray $messageboardpostdate$[@tempview],@tempview; -deletearray $mymessage[@tempview],@tempview; -deletearray $messageboardeditdate$[@tempview],@tempview; -set $messageboardpostnumber,$messageboardpostnumber-1; -mes "It is done."; -set @tempview,0; -close; + deletearray $messageboardpost$[@tempview],@tempview; + deletearray $messageboardpostname$[@tempview],@tempview; + deletearray $messageboardpostdate$[@tempview],@tempview; + deletearray $mymessage[@tempview],@tempview; + deletearray $messageboardeditdate$[@tempview],@tempview; + set $messageboardpostnumber,$messageboardpostnumber-1; + mes "It is done."; + set @tempview,0; + close; L_Deln: -mes "Come back soon!"; -set @tempview,0; -close; -}
\ No newline at end of file + mes "Come back soon!"; + set @tempview,0; + close; +} diff --git a/npc/custom/eAAC_Scripts/quest_warper.txt b/npc/custom/eAAC_Scripts/quest_warper.txt index 427fff850..a9947ee3f 100644 --- a/npc/custom/eAAC_Scripts/quest_warper.txt +++ b/npc/custom/eAAC_Scripts/quest_warper.txt @@ -1,12 +1,11 @@ //===== rAthena Script ============================================ //= Quest Warper Script //===== By: ======================================================= -//= Old Warper 2 by Darkchild - Remade with quest format by DZeroX -//= Huge Rewrite by Neouni +//= DZeroX, Darkchild, Neouni //===== Current Version: ========================================== //= 2.2 //===== Compatible With: ========================================== -//= Any rAthena Version +//= rAthena SVN //===== Description: ============================================== //= Warper that works only after locations are unlocked //===== Additional Comments: ====================================== diff --git a/npc/custom/eAAC_Scripts/roll_a_dice.txt b/npc/custom/eAAC_Scripts/roll_a_dice.txt index 0f1fdf81b..4ba8fc827 100644 --- a/npc/custom/eAAC_Scripts/roll_a_dice.txt +++ b/npc/custom/eAAC_Scripts/roll_a_dice.txt @@ -1,23 +1,26 @@ -//========================================================== -//Roll a Dice NPC -//========================================================== -//Made by birkiczd -//========================================================== -//This game lets you and the Dicer throw 3 dices. -//Whoever get's a higher number (the player or dealer) wins. -//========================================================== -//Version:1.0 - made script public -// 1.1 - fixed a few bugs,added dice emos =) -// 1.2 - made variables for the amount of zenys for -// each bet so it is easy for people to costumize -// the script -// 1.3 - added more emoticons,made an Info menu -// option which contains explanations and rules, -// added the amount of lost/won zeny on the end -// of each game,added more colors -// 1.4 - some small code optimization thanks to Myzter -//========================================================== - +//===== rAthena Script ======================================= +//= Roll a Dice +//===== By: ================================================== +//= birkiczd +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= This game lets you and the Dicer throw 3 dices. +//= Whoever get's a higher number (the player or dealer) wins. +//===== Additional Comments: ================================= +// 1.0 - made script public +// 1.1 - fixed a few bugs,added dice emos =) +// 1.2 - made variables for the amount of zenys for +// each bet so it is easy for people to costumize +// the script +// 1.3 - added more emoticons,made an Info menu +// option which contains explanations and rules, +// added the amount of lost/won zeny on the end +// of each game,added more colors +// 1.4 - some small code optimization thanks to Myzter +//============================================================ cmd_in02,181,98,2 script Dicer 57,{ @@ -239,6 +242,4 @@ L_againa: mes "Would you like to play again?"; next; menu "Yes",L_play,"No",L_go; - - } diff --git a/npc/custom/eAAC_Scripts/vendmachine.txt b/npc/custom/eAAC_Scripts/vendmachine.txt index bbd7602c6..17371ef9d 100644 --- a/npc/custom/eAAC_Scripts/vendmachine.txt +++ b/npc/custom/eAAC_Scripts/vendmachine.txt @@ -1,35 +1,33 @@ -//===================================== -// Vending Machine Script -// v2.4 -//===================================== -// by Celestria -//===================================== -// Changelog: -// 2.4 - Made optimizations according to suggestions made by erKURITA. Script is now significantly shorter. -// -// 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. -//===================================== +//===== rAthena Script ======================================= +//= Vending Machine +//===== By: ================================================== +//= Celestria +//===== Current Version: ===================================== +//= 2.4 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= sells items to players; occasionally the machine will "jam" :P +//===== Additional Comments: ================================= +//= 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. +//= 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. +//= 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. +//= 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.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.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.4 - Made optimizations according to suggestions made by erKURITA. Script is now significantly shorter. +//============================================================ p_track01,45,58,4 script Vending Machine#1 910,{ @@ -70,10 +68,6 @@ p_track01,45,58,4 script Vending Machine#1 910,{ - - - - //=============================================================================================== // Functions // @@ -173,7 +167,6 @@ function script F_Vend2 { goto B_Buy; - B_Cancel: mes "On second thoughts, you decide not to buy anything."; close; @@ -247,4 +240,4 @@ R_Item: close;} mes "The machine shakes, but nothing happens"; close; -}
\ No newline at end of file +} |