yuhsing

Untitled

Jan 30th, 2013
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 34.00 KB | None | 0 0
  1. //**********************************************************************************
  2. // ____ _ _ _ ____
  3. //| _ \ ___ ___ ____ | | ___ ____ ___ ___ __ ___ _ _ | |_| |/ __ |
  4. //| |__// _ \ / _ \ | _ \| | / _ \ | _ \ / _ \ / _| / _)/ _ \ | \| ||___ |\__ |
  5. //| | | __/ ||_|| | |__/| || __/ | |__/| __/ | | _\ \ ||_|| | \\ | | | | |
  6. //|_|___\___|_\___/_| |___|_|_\___|_| |____\___|_|_|_(___/ \___/_|_|\_|____|_|___|_|
  7. //------------------|_|-------------|_|---------------------------------------------
  8. //**********************************************************************************
  9. //**********************************************************************************
  10. //===== rAthena Script =============================================================
  11. //= King Of Emperium Hill
  12. //===== By: ========================================================================
  13. //= Peopleperson49 (Eddie)
  14. //===== Start Date: ================================================================
  15. //= 27AUG2012
  16. //===== Current Version: ===========================================================
  17. //= 5.0
  18. //===== Compatible With: ===========================================================
  19. //= rAthena SVN
  20. //===== Description: ===============================================================
  21. //= My version of King Of Emperium Hill. It was make for donkeyg on rAthena.org.
  22. //= I did not use the other versions as a base. You can set it to give both a
  23. //= zeny and item prizes to the guild leader through the Emperium Assistant.
  24. //= They can collect once after each time the KoE ends.
  25. //===== Version Control: ===========================================================
  26. //= 1.0 First Version.
  27. //= 1.1 Minor Bug Fixes.
  28. //= 1.2 Small Optomizations. Added Assitant to give rewards daily.
  29. //= 1.3 Only guild master man collect rewards.
  30. //= 1.4 Rewards changed from daily to only be collected once after KoE ends.
  31. //= 1.5 Changed the days and time that KoE happens.
  32. //= 1.6 Removed all KoE functions from script and based just on start and stop time.
  33. //= 1.7 Added warp portals from prontera to any character that is in a guild.
  34. //= 1.8 Added GM feature to allow adjustment of zeny and item prizes in game.
  35. //= 1.9 Added restriction to prevent changing prizes while KoE is running.
  36. //= 2.0 Added KoE prizes to OnInit to reset prizes each time scripts are reloaded.
  37. //= 2.1 Added $KoEPrizeTracker to the OnInit however I suggest that you keep it
  38. //= commented out unless you want to allow prizes to be collected again
  39. //= everytime you reload scripts. I mainly added it for easy testing.
  40. //= 2.2 Moved flags to a better location that was not hanging over the edge of the
  41. //= steps.
  42. //= 2.3 Commented out the $KoEPrizeTracker in the OnInit section.
  43. //= 2.4 Moved location of emperium from 49,49 to 50,50 so that is is centered in the
  44. //= block.
  45. //= 2.5 Changed the mapannounce when the emperium is broken.
  46. //= 2.6 Changed the OnClock gettime(4) to use&&instead of || . Now the check
  47. //= actually works!
  48. //= 2.7 Added gettime(3) and KoEActualStart to the OnInit incase scripts are
  49. //= reloaded during the time that KoE is set to be running.
  50. //= 2.8 Added $KoEStatus to ending OnClock to prevent it from running ending portion
  51. //= of the script when KoE was not already going.
  52. //= 2.9 Adding missing mapflag loadevent.
  53. //= 3.0 Changed item prize to allow 5 seperate prizes to be given.
  54. //= 3.1 Added the option for monster or guildmonster function using the variable
  55. //= $EmpSpawnMode to control which mode to use.
  56. //= 3.2 Removed the next; after case 255: that was causing error.
  57. //= 3.3 Removed $EmpSpawnMode because it still detected the guildmonster command
  58. //= even if it was not being used.
  59. //= 3.4 Removed the guildmonster command completely since it just confused people
  60. //= who did not have command.
  61. //= 3.5 Added ability to set KoE time in game.
  62. //= 3.6 Expanded the ability to set KoE time in game by allowing 4 different times.
  63. //= 3.7 Removed zeny/item prize setting from script and made completely controlled
  64. //= in game by GM.
  65. //= 3.8 Added alot of next; where they should have been.
  66. //= 3.9 Added set @KoEAddMenu$,0; to prevent it from displaying menu itmes more than
  67. //= once.
  68. //= 4.0 Added .@RandomFinalize to allow finalize number to change each time.
  69. //= 4.1 Fixed error that prevented KoE from ending at the set time.
  70. //= 4.2 Added option to switch between PvP and GvG.
  71. //= 4.3 Fixed incorrect variable. Changed GvGPvP to $GvGPvP.
  72. //= 4.4 Added function to clear zeny and item prizes when you Clear All KoE Events.
  73. //= 4.5 Fixed finalize zeny prize to allow you to finalize prize.
  74. //= 4.6 Added OnWhisperGlobal to script to all starting and stopping KoE manually
  75. //= using commands. Uses NPC:KingOfEmperium<TAB>StartKoE and NPC:KingOfEmperium
  76. //= <TAB>EndKoE.
  77. //= 4.7 Modified scripts to show the guild emblem. I should have done this a long
  78. //= time ago, but it worked fine without it and I got lazy. Thanks to donkeyg on
  79. //= rAthena.org else for the push.
  80. //= 4.8 Added checkweight to script for collecting rewards.
  81. //= 4.9 Replaced whisper system with bindatcmd function.
  82. //= 5.0 Modified KoE event to allow up to 7 events to be set.
  83. //===== Additional Comments: =======================================================
  84. //= Need to remove the random '0' before the first event slot in the Add New KoE
  85. //= Event section.
  86. //==================================================================================
  87. guild_vs1,27,68,5 script Emperium Assistant 55,{
  88. if(getgmlevel()>98) { goto GMEmpMenu; end; }
  89. if($KOEGUILD==0) { mes "[Emperium Assistant]"; mes "Only the King Of Emperium Hill can reap the rewards!"; close; }
  90. if(strcharinfo(2)!=GetGuildName($KOEGUILD)) { mes "[Emperium Assistant]"; mes "Your guild is not the King Of Emperium Hill!"; close; }
  91. if(strcharinfo(0)!=GetGuildMaster($KOEGUILD)) { mes "[Emperium Assistant]"; mes "Only the guild master may collect the rewards for the guild as King Of Emperium Hill!"; close; }
  92. goto EmpAssStart;
  93. end;
  94. EmpAssStart:
  95. mes "[Emperium Assistant]";
  96. mes " ";
  97. mes " ";
  98. mes " ";
  99. mes " ";
  100. mes "Your guild is the King Of Emperium Hill!";
  101. next;
  102. if($KoEStatus==1) { mes "[Emperium Assistant]"; mes " "; mes " "; mes " "; mes " "; mes "You cannot access my services at this time."; close; }
  103. if($KoEPrizeTracker==1) { mes "[Emperium Assistant]"; mes "You can only reap the rewards of being the King Of Emperium Hill once after each battle for the Hill!"; close; }
  104. mes "[Emperium Assistant]";
  105. mes "Your rewards await you!";
  106. next;
  107. if(checkweight(1201,1)==0) { mes "[Emperium Assistant]"; mes "You are carrying too many items with you."; mes "Please come back again after you store some items into storage."; close; }
  108. if($KoEZenyPrize>0) { set zeny,zeny+$KoEZenyPrize; }
  109. if($KoEItemPrize1!=0&&$KoEItemAmount1!=0) { getitem $KoEItemPrize1,$KoEItemAmount1; }
  110. if($KoEItemPrize2!=0&&$KoEItemAmount2!=0) { getitem $KoEItemPrize2,$KoEItemAmount2; }
  111. if($KoEItemPrize3!=0&&$KoEItemAmount3!=0) { getitem $KoEItemPrize3,$KoEItemAmount3; }
  112. if($KoEItemPrize4!=0&&$KoEItemAmount4!=0) { getitem $KoEItemPrize4,$KoEItemAmount4; }
  113. if($KoEItemPrize5!=0&&$KoEItemAmount5!=0) { getitem $KoEItemPrize5,$KoEItemAmount5; }
  114. set $KoEPrizeTracker,1;
  115. mes "[Emperium Assistant]";
  116. mes "You have been rewarded for your victory!";
  117. close;
  118.  
  119. GMEmpMenu:
  120. mes "[GM Menu]";
  121. mes "From this menu you can set event times, zeny prize, and item prizes.";
  122. switch(prompt("Add New KoE Event:Clear All KoE Events:View KoE Events:Stop Current KoE Event:Change Zeny Prize:Change Item Prize 1:Change Item Prize 2:Change Item Prize 3:Change Item Prize 4:Change Item Prize 5:Return To Non-GM Menu")) {
  123. case 1:
  124. next;
  125. mes "[GM Menu]";
  126. mes "From here you can add new KoE events.";
  127. set .KoE,0;
  128. set @KoEAddMenu$,0;
  129. AddCountCheck:
  130. if($KoEStartDay[.KoE]==0&&$KoEEndDay[.KoE]==0&&$KoEStartTime[.KoE]==0&&$KoEEndTime[.KoE]==0) { goto AddCountCheck2; }
  131. set .KoE,.KoE+1;
  132. goto AddCountCheck;
  133. AddCountCheck2:
  134. for( set .@i,1; .@i<=7; set .@i,.@i+1 ) { set @KoEAddMenu$,@KoEAddMenu$+((getd("KoEEvent_"+.@i+"$")=="")?"No Event Set":getd("KoEEvent_"+.@i+"$"))+":"; }
  135. set .KoE,select(@KoEAddMenu$);
  136. next;
  137. mes "[GM Menu]";
  138. mes "Which day do you want KoE to ^00FF00start^000000?";
  139. switch(select("Sunday:Monday:Tuesday:Wednesday:Thursday:Friday:Saturday")) {
  140. case 1: set $KoEStartDay[.KoE],0; break;
  141. case 2: set $KoEStartDay[.KoE],1; break;
  142. case 3: set $KoEStartDay[.KoE],2; break;
  143. case 4: set $KoEStartDay[.KoE],3; break;
  144. case 5: set $KoEStartDay[.KoE],4; break;
  145. case 6: set $KoEStartDay[.KoE],5; break;
  146. case 7: set $KoEStartDay[.KoE],6; break;
  147. }
  148. next;
  149. mes "[GM Menu]";
  150. mes "When do you want KoE to ^00FF00start^000000?";
  151. switch(select("1AM:2AM:3AM:4AM:5AM:6AM:7AM:8AM:9AM:10AM:11AM:Noon:1PM:2PM:3PM:4PM:5PM:6PM:7PM:8PM:9PM:10PM:11PM:Midnight")) {
  152. case 1: set $KoEStartTime[.KoE],"01"; break;
  153. case 2: set $KoEStartTime[.KoE],"02"; break;
  154. case 3: set $KoEStartTime[.KoE],"03"; break;
  155. case 4: set $KoEStartTime[.KoE],"04"; break;
  156. case 5: set $KoEStartTime[.KoE],"05"; break;
  157. case 6: set $KoEStartTime[.KoE],"06"; break;
  158. case 7: set $KoEStartTime[.KoE],"07"; break;
  159. case 8: set $KoEStartTime[.KoE],"08"; break;
  160. case 9: set $KoEStartTime[.KoE],"09"; break;
  161. case 10: set $KoEStartTime[.KoE],"10"; break;
  162. case 11: set $KoEStartTime[.KoE],"11"; break;
  163. case 12: set $KoEStartTime[.KoE],"12"; break;
  164. case 13: set $KoEStartTime[.KoE],"13"; break;
  165. case 14: set $KoEStartTime[.KoE],"14"; break;
  166. case 15: set $KoEStartTime[.KoE],"15"; break;
  167. case 16: set $KoEStartTime[.KoE],"16"; break;
  168. case 17: set $KoEStartTime[.KoE],"17"; break;
  169. case 18: set $KoEStartTime[.KoE],"18"; break;
  170. case 19: set $KoEStartTime[.KoE],"19"; break;
  171. case 20: set $KoEStartTime[.KoE],"20"; break;
  172. case 21: set $KoEStartTime[.KoE],"21"; break;
  173. case 22: set $KoEStartTime[.KoE],"22"; break;
  174. case 23: set $KoEStartTime[.KoE],"23"; break;
  175. case 24: set $KoEStartTime[.KoE],"00"; break;
  176. }
  177. next;
  178. mes "[GM Menu]";
  179. mes "Which day do you want KoE to ^00FF00finish^000000?";
  180. next;
  181. switch(select("Same Day:Sunday:Monday:Tuesday:Wednesday:Thursday:Friday:Saturday")) {
  182. case 1: set $KoEEndDay[.KoE],$KoEStartDay[.KoE]; break;
  183. case 2: set $KoEEndDay[.KoE],0; break;
  184. case 3: set $KoEEndDay[.KoE],1; break;
  185. case 4: set $KoEEndDay[.KoE],2; break;
  186. case 5: set $KoEEndDay[.KoE],3; break;
  187. case 6: set $KoEEndDay[.KoE],4; break;
  188. case 7: set $KoEEndDay[.KoE],5; break;
  189. case 8: set $KoEEndDay[.KoE],6; break;
  190. }
  191. next;
  192. mes "[GM Menu]";
  193. mes "When do you want KoE to ^00FF00finish^000000?";
  194. switch(select("1AM:2AM:3AM:4AM:5AM:6AM:7AM:8AM:9AM:10AM:11AM:Noon:1PM:2PM:3PM:4PM:5PM:6PM:7PM:8PM:9PM:10PM:11PM:Midnight")) {
  195. case 1: set $KoEEndTime[.KoE],"01"; break;
  196. case 2: set $KoEEndTime[.KoE],"02"; break;
  197. case 3: set $KoEEndTime[.KoE],"03"; break;
  198. case 4: set $KoEEndTime[.KoE],"04"; break;
  199. case 5: set $KoEEndTime[.KoE],"05"; break;
  200. case 6: set $KoEEndTime[.KoE],"06"; break;
  201. case 7: set $KoEEndTime[.KoE],"07"; break;
  202. case 8: set $KoEEndTime[.KoE],"08"; break;
  203. case 9: set $KoEEndTime[.KoE],"09"; break;
  204. case 10: set $KoEEndTime[.KoE],"10"; break;
  205. case 11: set $KoEEndTime[.KoE],"11"; break;
  206. case 12: set $KoEEndTime[.KoE],"12"; break;
  207. case 13: set $KoEEndTime[.KoE],"13"; break;
  208. case 14: set $KoEEndTime[.KoE],"14"; break;
  209. case 15: set $KoEEndTime[.KoE],"15"; break;
  210. case 16: set $KoEEndTime[.KoE],"16"; break;
  211. case 17: set $KoEEndTime[.KoE],"17"; break;
  212. case 18: set $KoEEndTime[.KoE],"18"; break;
  213. case 19: set $KoEEndTime[.KoE],"19"; break;
  214. case 20: set $KoEEndTime[.KoE],"20"; break;
  215. case 21: set $KoEEndTime[.KoE],"21"; break;
  216. case 22: set $KoEEndTime[.KoE],"22"; break;
  217. case 23: set $KoEEndTime[.KoE],"23"; break;
  218. case 24: set $KoEEndTime[.KoE],"00"; break;
  219. }
  220. next;
  221. mes "[GM Menu]";
  222. set .@RandomFinalize,rand(100,999);
  223. mes "Are you sure you want to set a new KoE event? To finalize the new KoE event? If your 100% sure type the number ^0000FF"+.@RandomFinalize+"^000000.";
  224. input .@Finalize;
  225. if(.@Finalize!=.@RandomFinalize) { next; mes "[GM Menu]"; mes "It is probably for the best that you don't adjust KoE event times!"; close2; goto GMEmpMenu; end; }
  226. if($KoEStartDay[.KoE]==0&&$KoEEndDay[.KoE]==0&&$KoETime[.KoE]==0&&$KoEEndTime[.KoE]==0) { close2; goto GMEmpMenu; end; }
  227. if($KoEStartDay[.KoE]==0) { set $@KoEStartDayName$,"Sunday"; }
  228. if($KoEStartDay[.KoE]==1) { set $@KoEStartDayName$,"Monday"; }
  229. if($KoEStartDay[.KoE]==2) { set $@KoEStartDayName$,"Tuesday"; }
  230. if($KoEStartDay[.KoE]==3) { set $@KoEStartDayName$,"Wednesday"; }
  231. if($KoEStartDay[.KoE]==4) { set $@KoEStartDayName$,"Thursday"; }
  232. if($KoEStartDay[.KoE]==5) { set $@KoEStartDayName$,"Friday"; }
  233. if($KoEStartDay[.KoE]==6) { set $@KoEStartDayName$,"Saturday"; }
  234. if($KoEEndDay[.KoE]==0) { set $@KoEEndDayName$,"Sunday"; }
  235. if($KoEEndDay[.KoE]==1) { set $@KoEEndDayName$,"Monday"; }
  236. if($KoEEndDay[.KoE]==2) { set $@KoEEndDayName$,"Tuesday"; }
  237. if($KoEEndDay[.KoE]==3) { set $@KoEEndDayName$,"Wednesday"; }
  238. if($KoEEndDay[.KoE]==4) { set $@KoEEndDayName$,"Thursday"; }
  239. if($KoEEndDay[.KoE]==5) { set $@KoEEndDayName$,"Friday"; }
  240. if($KoEEndDay[.KoE]==6) { set $@KoEEndDayName$,"Saturday"; }
  241. next;
  242. mes "[GM Menu]";
  243. mes ""+$@KoEStartDayName$+" from "+$KoEStartTime[.KoE]+":00 till "+$@KoEStartDayName$+" at "+$KoEEndTime[.KoE]+":00";
  244. setd("KoEEvent_"+.KoE+"$"),"Event "+.KoE+" Set";
  245. close2; goto GMEmpMenu; end;
  246. case 2:
  247. next;
  248. if($KoEStatus==1) { mes "[GM Menu]"; mes " "; mes " "; mes " "; mes "KoE events cannot be cleared at this time. You must stop the current KoE event first."; close2; goto GMEmpMenu; end; }
  249. mes "[GM Menu]";
  250. set .@RandomFinalize,rand(100,999);
  251. mes "You are about to clear all the set KoE events and prizes set for them. If your 100% sure type the number ^0000FF"+.@RandomFinalize+"^000000.";
  252. input .@Finalize;
  253. if(.@Finalize!=.@RandomFinalize) { next; mes "[GM Menu]"; mes "It is probably for the best that you don't clear KoE events!"; close2; goto GMEmpMenu; end; }
  254. set $KoEZenyPrize,0;
  255. set $KoEItemPrize1,0;
  256. set $KoEItemAmount1,0;
  257. set $KoEItemPrize2,0;
  258. set $KoEItemAmount2,0;
  259. set $KoEItemPrize3,0;
  260. set $KoEItemAmount3,0;
  261. set $KoEItemPrize4,0;
  262. set $KoEItemAmount4,0;
  263. set $KoEItemPrize5,0;
  264. set $KoEItemAmount5,0;
  265. set .KoE,0;
  266. ResetLoop:
  267. set $KoEStartDay[.KoE],0;
  268. set $KoEEndDay[.KoE],0;
  269. set $KoEStartTime[.KoE],0;
  270. set $KoEEndTime[.KoE],0;
  271. setd("KoEEvent_"+.KoE+"$"),"No Event Set";
  272. set .KoE,.KoE+1;
  273. if(.KoE>7) { next; mes "[GM Menu]"; mes "All KoE events have been cleared."; close2; goto GMEmpMenu; end; }
  274. goto ResetLoop;
  275. end;
  276. case 3:
  277. next;
  278. mes "Current KoE Event Times:";
  279. mes " ";
  280. set .KoE,1;
  281. KoEDayCheck:
  282. if($KoEStartDay[.KoE]==0) { set $@KoEStartDayName$,"Sunday"; }
  283. if($KoEStartDay[.KoE]==1) { set $@KoEStartDayName$,"Monday"; }
  284. if($KoEStartDay[.KoE]==2) { set $@KoEStartDayName$,"Tuesday"; }
  285. if($KoEStartDay[.KoE]==3) { set $@KoEStartDayName$,"Wednesday"; }
  286. if($KoEStartDay[.KoE]==4) { set $@KoEStartDayName$,"Thursday"; }
  287. if($KoEStartDay[.KoE]==5) { set $@KoEStartDayName$,"Friday"; }
  288. if($KoEStartDay[.KoE]==6) { set $@KoEStartDayName$,"Saturday"; }
  289. if($KoEEndDay[.KoE]==0) { set $@KoEEndDayName$,"Sunday"; }
  290. if($KoEEndDay[.KoE]==1) { set $@KoEEndDayName$,"Monday"; }
  291. if($KoEEndDay[.KoE]==2) { set $@KoEEndDayName$,"Tuesday"; }
  292. if($KoEEndDay[.KoE]==3) { set $@KoEEndDayName$,"Wednesday"; }
  293. if($KoEEndDay[.KoE]==4) { set $@KoEEndDayName$,"Thursday"; }
  294. if($KoEEndDay[.KoE]==5) { set $@KoEEndDayName$,"Friday"; }
  295. if($KoEEndDay[.KoE]==6) { set $@KoEEndDayName$,"Saturday"; }
  296. mes "^FF0000Event "+.KoE+"^000000";
  297. if($KoEStartDay[.KoE]==0&&$KoEEndDay[.KoE]==0&&$KoEStartTime[.KoE]==0&&$KoEEndTime[.KoE]==0) { mes "No Event Set"; } else { mes ""+$@KoEStartDayName$+" at "+$KoEStartTime[.KoE]+":00 till "+$@KoEEndDayName$+" at "+$KoEEndTime[.KoE]+":00"; }
  298. set .KoE,.KoE+1;
  299. if(.KoE>7) { close2; goto GMEmpMenu; end; }
  300. goto KoEDayCheck;
  301. end;
  302. case 4:
  303. next;
  304. if($KoEStatus==0) { mes "[GM Menu]"; mes "There is currently no KoE event running."; close2; goto GMEmpMenu; end; }
  305. mes "[GM Menu]";
  306. set .@RandomFinalize,rand(100,999);
  307. mes "You are about to stop the current KoE event. If your 100% sure type the number ^0000FF"+.@RandomFinalize+"^000000.";
  308. input .@Finalize;
  309. if(.@Finalize!=.@RandomFinalize) { next; mes "[GM Menu]"; mes "It is probably for the best that you don't stop KoE events while there going!"; close2; goto GMEmpMenu; end; }
  310. set $KoEStatus,0;
  311. gvgoff "guild_vs1";
  312. if(getmapusers("guild_vs1")>0) { MapRespawnGuildID "guild_vs1",$KOEGUILD,7; }
  313. killmonsterall "guild_vs1",0;
  314. set .@name$,GetGuildMaster($KOEGUILD);
  315. if($KOEGUILD!=0) { Announce "The King of Emperium Hill has ended! The King Of Emperium Hill is the ["+GetGuildName($KOEGUILD)+"] guild.",bc_all|bc_WoE; } else { Announce "The King of Emperium Hill has ended! No guild has proven themselves King Of Emperium Hill!",bc_all|bc_WoE; }
  316. close2;
  317. goto GMEmpMenu;
  318. end;
  319. case 5:
  320. next;
  321. if($KoEStatus==1) { mes "[GM Menu]"; mes " "; mes " "; mes " "; mes " "; mes "You cannot adjust the Zeny Prize at this time."; close2; goto GMEmpMenu; end; }
  322. mes "[GM Menu]";
  323. mes "The current Zeny Prize amount is ^ff0000"+$KoEZenyPrize+"^000000.";
  324. mes "NOTE: If it says 'NULL' or '0' then that value has not been set.";
  325. mes " ";
  326. mes "Enter what you want the new Zeny Prize to be.";
  327. input .@GMAdjust;
  328. if(.@GMAdjust<0) { next; mes "[GM Menu]"; mes "The Zeny Prize cannot be less than 0."; next; goto GMEmpMenu; end; }
  329. next;
  330. mes "[GM Menu]";
  331. set .@RandomFinalize,rand(100,999);
  332. mes "Are you sure you want to modify the Zeny Prize to ^ff0000"+.@GMAdjust+"^000000? To finalize the change in Zeny Prize type the number ^0000FF"+.@RandomFinalize+"^000000.";
  333. input .@Finalize;
  334. if(.@Finalize==.@RandomFinalize) { next; set $KoEZenyPrize,.@GMAdjust; mes "[GM Menu]"; mes "The Zeny Prize amount has been changed to ^ff0000"+$KoEZenyPrize+"^000000."; next; goto GMEmpMenu; end; }
  335. next;
  336. mes "[GM Menu]";
  337. mes "It is probably for the best that you don't adjust the Zeny Prize!";
  338. close2;
  339. goto GMEmpMenu;
  340. end;
  341. case 6:
  342. next;
  343. if($KoEStatus==1) { mes "[GM Menu]"; mes " "; mes " "; mes " "; mes " "; mes "You cannot adjust the Item Prize at this time."; close2; goto GMEmpMenu; end; }
  344. mes "[GM Menu]";
  345. mes "From this menu you can adjust the item prize. The current Reward is: ^ff0000"+$KoEItemAmount1+"^000000 ^ff0000"+getitemname($KoEItemPrize1)+"^000000.";
  346. mes "NOTE: If it says 'NULL' or '0' then that value has not been set.";
  347. mes " ";
  348. mes "Enter what you want the new Item Prize to be. WARNING: If you input an invalid itemID it will error everytime a player tries to recieve it!";
  349. input .@GMAdjust;
  350. next;
  351. set $KoEItemPrize1,.@GMAdjust;
  352. mes "The Item Prize amount has been changed to ^ff0000"+getitemname($KoEItemPrize1)+"^000000[^ff0000"+$KoEItemPrize1+"^000000].";
  353. next;
  354. mes "[GM Menu]";
  355. mes "The current Item Prize Amount is ^ff0000"+$KoEItemAmount1+"^000000.";
  356. mes "NOTE: If it says 'NULL' or '0' then that value has not been set.";
  357. mes "Enter what you want the new Item Prize Amount to be.";
  358. input .@GMAdjust;
  359. if(.@GMAdjust<1) { next; mes "[GM Menu]"; mes "The Item Prize Amount cannot be less than 1."; next; goto GMEmpMenu; end; }
  360. next;
  361. mes "[GM Menu]";
  362. set .@RandomFinalize,rand(100,999);
  363. mes "Are you sure you want to modify the Item Prize Amount to ^ff0000"+.@GMAdjust+"^000000 "+getitemname($KoEItemPrize1)+"? To finalize the change in Item Prize type the number ^0000FF"+.@RandomFinalize+"^000000.";
  364. input .@Finalize;
  365. if(.@Finalize!=.@RandomFinalize) { next; mes "[GM Menu]"; mes "It is probably for the best that you don't adjust the Item Prize!"; next; goto GMEmpMenu; end; }
  366. next;
  367. mes "[GM Menu]";
  368. set $KoEItemAmount1,.@GMAdjust;
  369. mes "The Item Prize amount has been changed to ^ff0000"+$KoEItemAmount1+"^000000 ^ff0000"+getitemname($KoEItemPrize1)+"^000000.";
  370. close2;
  371. goto GMEmpMenu;
  372. end;
  373. case 7:
  374. if($KoEStatus==1) { mes "[GM Menu]"; mes " "; mes " "; mes " "; mes " "; mes "You cannot adjust the Item Prize at this time."; close2; goto GMEmpMenu; end; }
  375. mes "[GM Menu]";
  376. mes "From this menu you can adjust the item prize. The current Reward is: ^ff0000"+$KoEItemAmount2+"^000000 ^ff0000"+getitemname($KoEItemPrize2)+"^000000.";
  377. mes "NOTE: If it says 'NULL' or '0' then that value has not been set.";
  378. mes " ";
  379. mes "Enter what you want the new Item Prize to be. WARNING: If you input an invalid itemID it will error everytime a player tries to recieve it!";
  380. input .@GMAdjust;
  381. next;
  382. set $KoEItemPrize2,.@GMAdjust;
  383. mes "The Item Prize amount has been changed to ^ff0000"+getitemname($KoEItemPrize2)+"^000000[^ff0000"+$KoEItemPrize2+"^000000].";
  384. next;
  385. mes "[GM Menu]";
  386. mes "The current Item Prize Amount is ^ff0000"+$KoEItemAmount2+"^000000.";
  387. mes "NOTE: If it says 'NULL' or '0' then that value has not been set.";
  388. mes "Enter what you want the new Item Prize Amount to be.";
  389. input .@GMAdjust;
  390. if(.@GMAdjust<1) { next; mes "[GM Menu]"; mes "The Item Prize Amount cannot be less than 1."; next; goto GMEmpMenu; end; }
  391. next;
  392. mes "[GM Menu]";
  393. set .@RandomFinalize,rand(100,999);
  394. mes "Are you sure you want to modify the Item Prize Amount to ^ff0000"+.@GMAdjust+"^000000 "+getitemname($KoEItemPrize2)+"? To finalize the change in Item Prize type the number ^0000FF"+.@RandomFinalize+"^000000.";
  395. input .@Finalize;
  396. if(.@Finalize!=.@RandomFinalize) { next; mes "[GM Menu]"; mes "It is probably for the best that you don't adjust the Item Prize!"; next; goto GMEmpMenu; end; }
  397. next;
  398. mes "[GM Menu]";
  399. set $KoEItemAmount2,.@GMAdjust;
  400. mes "The Item Prize amount has been changed to ^ff0000"+$KoEItemAmount2+"^000000 ^ff0000"+getitemname($KoEItemPrize2)+"^000000.";
  401. close2;
  402. goto GMEmpMenu;
  403. end;
  404. case 8:
  405. next;
  406. if($KoEStatus==1) { mes "[GM Menu]"; mes " "; mes " "; mes " "; mes " "; mes "You cannot adjust the Item Prize at this time."; close2; goto GMEmpMenu; end; }
  407. mes "[GM Menu]";
  408. mes "From this menu you can adjust the item prize. The current Reward is: ^ff0000"+$KoEItemAmount3+"^000000 ^ff0000"+getitemname($KoEItemPrize3)+"^000000.";
  409. mes "NOTE: If it says 'NULL' or '0' then that value has not been set.";
  410. mes " ";
  411. mes "Enter what you want the new Item Prize to be. WARNING: If you input an invalid itemID it will error everytime a player tries to recieve it!";
  412. input .@GMAdjust;
  413. next;
  414. set $KoEItemPrize3,.@GMAdjust;
  415. mes "The Item Prize amount has been changed to ^ff0000"+getitemname($KoEItemPrize3)+"^000000[^ff0000"+$KoEItemPrize3+"^000000].";
  416. next;
  417. mes "[GM Menu]";
  418. mes "The current Item Prize Amount is ^ff0000"+$KoEItemAmount3+"^000000.";
  419. mes "NOTE: If it says 'NULL' or '0' then that value has not been set.";
  420. mes "Enter what you want the new Item Prize Amount to be.";
  421. input .@GMAdjust;
  422. if(.@GMAdjust<1) { next; mes "[GM Menu]"; mes "The Item Prize Amount cannot be less than 1."; next; goto GMEmpMenu; end; }
  423. next;
  424. mes "[GM Menu]";
  425. set .@RandomFinalize,rand(100,999);
  426. mes "Are you sure you want to modify the Item Prize Amount to ^ff0000"+.@GMAdjust+"^000000 "+getitemname($KoEItemPrize3)+"? To finalize the change in Item Prize type the number ^0000FF"+.@RandomFinalize+"^000000.";
  427. input .@Finalize;
  428. if(.@Finalize!=.@RandomFinalize) { next; mes "[GM Menu]"; mes "It is probably for the best that you don't adjust the Item Prize!"; next; goto GMEmpMenu; end; }
  429. next;
  430. mes "[GM Menu]";
  431. set $KoEItemAmount3,.@GMAdjust;
  432. mes "The Item Prize amount has been changed to ^ff0000"+$KoEItemAmount3+"^000000 ^ff0000"+getitemname($KoEItemPrize3)+"^000000.";
  433. close2;
  434. goto GMEmpMenu;
  435. end;
  436. case 9:
  437. next;
  438. if($KoEStatus==1) { mes "[GM Menu]"; mes " "; mes " "; mes " "; mes " "; mes "You cannot adjust the Item Prize at this time."; close2; goto GMEmpMenu; end; }
  439. mes "[GM Menu]";
  440. mes "From this menu you can adjust the item prize. The current Reward is: ^ff0000"+$KoEItemAmount4+"^000000 ^ff0000"+getitemname($KoEItemPrize4)+"^000000.";
  441. mes "NOTE: If it says 'NULL' or '0' then that value has not been set.";
  442. mes " ";
  443. mes "Enter what you want the new Item Prize to be. WARNING: If you input an invalid itemID it will error everytime a player tries to recieve it!";
  444. input .@GMAdjust;
  445. next;
  446. set $KoEItemPrize4,.@GMAdjust;
  447. mes "The Item Prize amount has been changed to ^ff0000"+getitemname($KoEItemPrize4)+"^000000[^ff0000"+$KoEItemPrize4+"^000000].";
  448. next;
  449. mes "[GM Menu]";
  450. mes "The current Item Prize Amount is ^ff0000"+$KoEItemAmount4+"^000000.";
  451. mes "NOTE: If it says 'NULL' or '0' then that value has not been set.";
  452. mes "Enter what you want the new Item Prize Amount to be.";
  453. input .@GMAdjust;
  454. if(.@GMAdjust<1) { next; mes "[GM Menu]"; mes "The Item Prize Amount cannot be less than 1."; next; goto GMEmpMenu; end; }
  455. next;
  456. mes "[GM Menu]";
  457. set .@RandomFinalize,rand(100,999);
  458. mes "Are you sure you want to modify the Item Prize Amount to ^ff0000"+.@GMAdjust+"^000000 "+getitemname($KoEItemPrize4)+"? To finalize the change in Item Prize type the number ^0000FF"+.@RandomFinalize+"^000000.";
  459. input .@Finalize;
  460. if(.@Finalize!=.@RandomFinalize) { next; mes "[GM Menu]"; mes "It is probably for the best that you don't adjust the Item Prize!"; next; goto GMEmpMenu; end; }
  461. next;
  462. mes "[GM Menu]";
  463. set $KoEItemAmount4,.@GMAdjust;
  464. mes "The Item Prize amount has been changed to ^ff0000"+$KoEItemAmount4+"^000000 ^ff0000"+getitemname($KoEItemPrize4)+"^000000.";
  465. close2;
  466. goto GMEmpMenu;
  467. end;
  468. case 10:
  469. next;
  470. if($KoEStatus==1) { mes "[GM Menu]"; mes " "; mes " "; mes " "; mes " "; mes "You cannot adjust the Item Prize at this time."; close2; goto GMEmpMenu; end; }
  471. mes "[GM Menu]";
  472. mes "From this menu you can adjust the item prize. The current Reward is: ^ff0000"+$KoEItemAmount5+"^000000 ^ff0000"+getitemname($KoEItemPrize5)+"^000000.";
  473. mes "NOTE: If it says 'NULL' or '0' then that value has not been set.";
  474. mes " ";
  475. mes "Enter what you want the new Item Prize to be. WARNING: If you input an invalid itemID it will error everytime a player tries to recieve it!";
  476. input .@GMAdjust;
  477. next;
  478. set $KoEItemPrize5,.@GMAdjust;
  479. mes "The Item Prize amount has been changed to ^ff0000"+getitemname($KoEItemPrize5)+"^000000[^ff0000"+$KoEItemPrize5+"^000000].";
  480. next;
  481. mes "[GM Menu]";
  482. mes "The current Item Prize Amount is ^ff0000"+$KoEItemAmount5+"^000000.";
  483. mes "NOTE: If it says 'NULL' or '0' then that value has not been set.";
  484. mes "Enter what you want the new Item Prize Amount to be.";
  485. input .@GMAdjust;
  486. if(.@GMAdjust<1) { next; mes "[GM Menu]"; mes "The Item Prize Amount cannot be less than 1."; next; goto GMEmpMenu; end; }
  487. next;
  488. mes "[GM Menu]";
  489. set .@RandomFinalize,rand(100,999);
  490. mes "Are you sure you want to modify the Item Prize Amount to ^ff0000"+.@GMAdjust+"^000000 "+getitemname($KoEItemPrize5)+"? To finalize the change in Item Prize type the number ^0000FF"+.@RandomFinalize+"^000000.";
  491. input .@Finalize;
  492. if(.@Finalize!=.@RandomFinalize) { next; mes "[GM Menu]"; mes "It is probably for the best that you don't adjust the Item Prize!"; next; goto GMEmpMenu; end; }
  493. next;
  494. mes "[GM Menu]";
  495. set $KoEItemAmount5,.@GMAdjust;
  496. mes "The Item Prize amount has been changed to ^ff0000"+$KoEItemAmount5+"^000000 ^ff0000"+getitemname($KoEItemPrize5)+"^000000.";
  497. close2;
  498. goto GMEmpMenu;
  499. end;
  500. case 11:
  501. next;
  502. goto EmpAssStart;
  503. end;
  504. case 255:
  505. goto EmpAssStart;
  506. end;
  507. }
  508. }
  509.  
  510. - script KingOfEmperium -1,{
  511. end;
  512.  
  513. OnWhisperGlobal:
  514. if( getgmlevel() >= 99 ){
  515. if( @whispervar0$ == "koestart" ) goto OnKoEStart;
  516. else if( @whispervar0$ == "koeend" ) goto OnKoEEnd;
  517. else{
  518. dispbottom "Type 'koestart' or 'koeend'";
  519. }
  520. }
  521. end;
  522. OnInit:
  523. // bindatcmd("koestart",strnpcinfo(0)+"::OnKoEStart");
  524. // bindatcmd("koeend",strnpcinfo(0)+"::OnKoEEnd");
  525. set $GvGPvP,0; //Set to 0 for GvG and 1 for PvP
  526. set $KoEStatus,0;
  527. OnMinute00:
  528. set .KoE,0;
  529. StartLoop:
  530. if(gettime(4)==$KoEEndDay[.KoE]&&gettime(3)==$KoEEndTime[.KoE]) { goto KoEActualEnd; end; }
  531. if(gettime(4)==$KoEStartDay[.KoE]&&gettime(3)>=$KoEStartTime[.KoE]&&(gettime(3)<$KoEEndTime[.KoE] || $KoEStartDay[.KoE]!=$KoEEndDay[.KoE])) { goto KoEActualStart; end; }
  532. set .KoE,.KoE+1;
  533. if(.KoE>7) { goto StartLoopEnd; }
  534. goto StartLoop;
  535. end;
  536.  
  537. KoEActualStart:
  538. if($KoEStatus==1) { end; }
  539. set $KoEStatus,1;
  540. set $KoEPrizeTracker,0;
  541. if($KOEGUILD!=0) { Announce "The King of Emperium Hill has begun! The King Of Emperium Hill is the ["+GetGuildName($KOEGUILD)+"] guild.",bc_all|bc_WoE; } else { Announce "King Of Emperium Hill has began! Which guild will prove their worth?",bc_all|bc_WoE; }
  542. if(getmapusers("guild_vs1")>0) { MapRespawnGuildID "guild_vs1",$KOEGUILD,6; }
  543. if($GvGPvP==0) { gvgon "guild_vs1"; } else { pvpon "guild_vs1"; }
  544. monster "guild_vs1",50,50,"EMPERIUM",1288,1,"KingOfEmperium::OnEmperiumBreak";
  545. end;
  546.  
  547. StartLoopEnd:
  548. set .KoE,0;
  549. EndLoop:
  550. if((gettime(4)==$KoEEndDay[.KoE])&&(gettime(3)==$KoEEndTime[.KoE])) { goto KoEActualEnd; end; }
  551. if($KoEEndDay[.KoE]==0&&$KoEStartTime[.KoE]==0&&$KoEEndTime[.KoE]==0) { end; }
  552. set .KoE,.KoE+1;
  553. if(.KoE>7) { end; }
  554. goto EndLoop;
  555. end;
  556.  
  557. KoEActualEnd:
  558. if($KoEStatus==0) { end; }
  559. set $KoEStatus,0;
  560. if($GvGPvP==0) { gvgoff "guild_vs1"; } else { pvpoff "guild_vs1"; }
  561. if(getmapusers("guild_vs1")>0) { MapRespawnGuildID "guild_vs1",$KOEGUILD,7; }
  562. killmonsterall "guild_vs1",0;
  563. set .@name$,GetGuildMaster($KOEGUILD);
  564. if($KOEGUILD!=0) { Announce "The King of Emperium Hill has ended! The King Of Emperium Hill is the ["+GetGuildName($KOEGUILD)+"] guild.",bc_all|bc_WoE; } else { Announce "The King of Emperium Hill has ended! No guild has proven themselves King Of Emperium Hill!",bc_all|bc_WoE; }
  565. end;
  566.  
  567. OnEmperiumBreak:
  568. if(getskilllv(10000)!=1) { announce "Only a guild with the Guild Approval skill can kill the Emperium!",bc_self; monster "guild_vs1",50,50,"EMPERIUM",1288,1,"KingOfEmperium::OnEmperiumBreak"; end; }
  569. killmonsterall "guild_vs1",0;
  570. set $KOEGUILD,getcharid(2);
  571. donpcevent "KoEFlag::OnChangeKoE";
  572. mapannounce "guild_vs1",""+strcharinfo(0)+" has broken the emperium for the ["+GetGuildName($KOEGUILD)+"] guild.",bc_map|bc_WoE,"0x00CCFF",FW_NORMAL,12;
  573. sleep 2000;
  574. if(getmapusers("guild_vs1")>0) { MapRespawnGuildID "guild_vs1",$KOEGUILD,6; }
  575. announce "The ["+getguildName($KOEGUILD)+"] guild has became the King Of Emperium Hill!",bc_all|bc_WoE;
  576. sleep 5000;
  577. if($KoEStatus==1) { monster "guild_vs1",50,50,"EMPERIUM",1288,1,"KingOfEmperium::OnEmperiumBreak"; }
  578. end;
  579.  
  580. OnKoEStart:
  581. if($KoEStatus==1) { dispbottom "KoE is already running."; end; }
  582. goto KoEActualStart;
  583. end;
  584.  
  585. OnKoEEnd:
  586. if($KoEStatus==0) { dispbottom "KoE is currently not running."; end; }
  587. goto KoEActualEnd;
  588. end;
  589. }
  590.  
  591. //==================================================================================
  592. //--------|King Of Emperium Hill Guild Protection|----------------------------------
  593. //==================================================================================
  594. - script KoEGuildProtection -1,{
  595. OnInit:
  596. end;
  597.  
  598. OnPCLoadMapEvent:
  599. if(getgmlevel()<20&&strcharinfo(3)=="guild_vs1"&&getcharid(2)==0) { announce "You must be in a guild to enter Emperium Hill!",bc_self; warp "SavePoint",0,0; end; }
  600. end;
  601. }
  602.  
  603. //==================================================================================
  604. //--------|KoE Flag Script|---------------------------------------------------------
  605. //==================================================================================
  606. - script KoEFlag 723,-1,-1,{
  607. mes "[Emperium Hill]";
  608. mes " ";
  609. mes " ";
  610. mes " ";
  611. mes " ";
  612. if($KOEGUILD!=0) { mes "The King Of Emperium Hill is the ["+GetGuildName($KOEGUILD)+"] guild."; } else { mes "Only the strongest warriors should may over take Emperium Hill!"; }
  613. close;
  614.  
  615. OnInit:
  616. OnChangeKoE:
  617. if($KOEGUILD==0) { end; }
  618. flagemblem $KOEGUILD;
  619. end;
  620. }
  621.  
  622. guild_vs1,54,59,0 duplicate(KoEFlag) Emperium Hill#EH1 722
  623. guild_vs1,45,59,0 duplicate(KoEFlag) Emperium Hill#EH2 722
  624. guild_vs1,40,54,2 duplicate(KoEFlag) Emperium Hill#EH3 722
  625. guild_vs1,40,45,2 duplicate(KoEFlag) Emperium Hill#EH4 722
  626. guild_vs1,45,40,4 duplicate(KoEFlag) Emperium Hill#EH5 722
  627. guild_vs1,54,40,4 duplicate(KoEFlag) Emperium Hill#EH6 722
  628. guild_vs1,59,45,6 duplicate(KoEFlag) Emperium Hill#EH7 722
  629. guild_vs1,59,54,6 duplicate(KoEFlag) Emperium Hill#EH8 722
  630.  
  631. //==================================================================================
  632. //--------|KoE Waper Script|--------------------------------------------------------
  633. //==================================================================================
  634. - script KoEWarper 723,-1,-1,{
  635.  
  636. mes "Portal Emperium Hill.";
  637. mes " ";
  638. mes " ";
  639. mes " ";
  640. mes "Only the strongest warriors should pass through the portal to Emperium Hill";
  641. next;
  642. switch(prompt("Procede to the Emperium Hill:Nevermind")) {
  643. case 1:
  644. next;
  645. if(getgmlevel()<20&&getcharid(2)==0) { mes "[Notice:]"; mes " "; mes "You must be in a guild to enter Emperium Hill!"; close; }
  646. warp "guild_vs1",0,0;
  647. close;
  648. case 2:
  649. close;
  650. case 255:
  651. close;
  652. }
  653. }
  654.  
  655. prontera,147,204,0 duplicate(KoEWarper) Emperium Hill#1 723
  656. prontera,147,203,0 duplicate(KoEWarper) Emperium Hill#2 723
  657. prontera,164,204,0 duplicate(KoEWarper) Emperium Hill#3 723
  658. prontera,164,203,0 duplicate(KoEWarper) Emperium Hill#4 723
  659. guild_vs1,8,50,5 warp KoEWarp#WP1 2,2,prontera,161,187
  660. guild_vs1,50,91,5 warp KoEWarp#WP2 2,2,prontera,161,187
  661. guild_vs1,91,50,5 warp KoEWarp#WP3 2,2,prontera,161,187
  662. guild_vs1,50,8,5 warp KoEWarp#WP4 2,2,prontera,161,187
  663.  
  664. //==================================================================================
  665. //--------|Map Flags|---------------------------------------------------------------
  666. //==================================================================================
  667. guild_vs1 mapflag nobranch
  668. guild_vs1 mapflag nomemo
  669. guild_vs1 mapflag nopenalty
  670. guild_vs1 mapflag noreturn
  671. guild_vs1 mapflag nosave SavePoint
  672. guild_vs1 mapflag noteleport
  673. guild_vs1 mapflag nowarp
  674. guild_vs1 mapflag nowarpto
  675. guild_vs1 mapflag loadevent
Advertisement
Add Comment
Please, Sign In to add comment