Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.20 KB | None | 0 0
  1. function script Daily_quest1 {
  2. setd "$daily_"+getcharid(0),callfunc("Daily_Item_Search",BaseLevel);
  3. setd "$daily_amount_"+getcharid(0),rand(20,40);
  4. setd "$daily_start_"+getcharid(0),1;
  5. mes "[任務接待員]";
  6. mes "請你幫我蒐集以下物品 :";
  7. mes "物品名稱 : "+getitemname(getd("$daily_"+getcharid(0)))+"";
  8. mes "數量 : "+countitem(getd("$daily_"+getcharid(0)))+"/"+getd("$daily_amount_"+getcharid(0))+" ";
  9. next;
  10. mes "[任務獎勵]";
  11. mes "Base經驗值 : "+callfunc("Daily_Reward",1)+"";
  12. mes "Job經驗值 : "+callfunc("Daily_Reward",2)+"";
  13. mes "Zeny : "+callfunc("Daily_Reward",3)+"";
  14. end;
  15. }
  16.  
  17.  
  18. function script Daily_quest2 {
  19. setd "$daily_"+getcharid(0),callfunc("Daily_Mob_Search",BaseLevel);
  20. setd "$daily_amount_"+getcharid(0),rand(5,10);
  21. setd "$daily_start_"+getcharid(0),2;
  22. mes "[任務接待員]";
  23. mes "請你幫我獵殺以下魔物 :";
  24. mes "魔物名稱 : "+getmonsterinfo(getd("$daily_"+getcharid(0)),0)+"";
  25. mes "魔物等級 : "+getmonsterinfo(getd("$daily_"+getcharid(0)),1)+"";
  26. mes "數量 : "+getd("$daily_amount_"+getcharid(0))+" ";
  27. mes "^FFA500獵殺任務, 可以依靠組隊的方式使得任務更迅速的完成!^000000";
  28. next;
  29. mes "[任務獎勵]";
  30. mes "Base經驗值 : "+callfunc("Daily_Reward",1)+"";
  31. mes "Job經驗值 : "+callfunc("Daily_Reward",2)+"";
  32. mes "Zeny : "+callfunc("Daily_Reward",3)+"";
  33. end;
  34. }
  35.  
  36. function script Daily_Info {
  37. if( !getarg(0) ){
  38. mes "[任務接待員]";
  39. mes "尚未領取任務!";
  40. end;
  41. }
  42. mes "[任務接待員]";
  43. switch(getarg(0)){
  44. case 1:
  45. mes "請你幫我蒐集以下物品 :";
  46. mes "物品名稱 : "+getitemname(getd("$daily_"+getcharid(0)))+"";
  47. mes "數量 : "+countitem(getd("$daily_"+getcharid(0)))+"/"+getd("$daily_amount_"+getcharid(0))+" ";
  48. next;
  49. mes "[任務獎勵]";
  50. mes "Base經驗值 : "+callfunc("Daily_Reward",1)+"";
  51. mes "Job經驗值 : "+callfunc("Daily_Reward",2)+"";
  52. mes "Zeny : "+callfunc("Daily_Reward",3)+"";
  53. break;
  54. case 2:
  55. mes "請你幫我獵殺以下魔物 :";
  56. mes "魔物名稱: "+getmonsterinfo(getd("$daily_"+getcharid(0)),0)+"";
  57. mes "魔物等級: "+getmonsterinfo(getd("$daily_"+getcharid(0)),1)+"";
  58. mes "剩餘數量: "+getd("$daily_amount_"+getcharid(0))+" ";
  59. mes "^FFA500獵殺任務,可以依靠組隊的方式使得任務更迅速的完成!^000000";
  60. next;
  61. mes "[任務獎勵]";
  62. mes "Base經驗值 : "+callfunc("Daily_Reward",1)+"";
  63. mes "Job經驗值 : "+callfunc("Daily_Reward",2)+"";
  64. mes "Zeny : "+callfunc("Daily_Reward",3)+"";
  65. break;
  66. }
  67. if(strnpcinfo(0) != "任務接待員"){
  68. if(getd("$daily_start_"+getcharid(0))==2){
  69. if(select("查詢魔物重生地圖:查詢魔物位置") == 1)
  70. atcommand "@whereis "+getd("$daily_"+getcharid(0));
  71. else
  72. atcommand "@showmobs "+getd("$daily_"+getcharid(0));
  73. }
  74. return;
  75. }
  76. next;
  77. if(select("提交任務:放棄任務^ff0000冷卻時間1小時^000000")==1){
  78. mes "[任務接待員]";
  79. switch(getarg(0)){
  80. case 1:
  81. if(countitem(getd("$daily_"+getcharid(0)))<getd("$daily_amount_"+getcharid(0))){
  82. mes "您尚未達到任務要求!";
  83. } else {
  84. delitem getd("$daily_"+getcharid(0)),getd("$daily_amount_"+getcharid(0));
  85. mes "完成任務,這是給您的獎勵!";
  86. getexp callfunc("Daily_Reward",1),callfunc("Daily_Reward",2);
  87. set Zeny,Zeny+callfunc("Daily_Reward",3);
  88. setd "$daily_start_"+getcharid(0),0;
  89. setd "$daily_amount_"+getcharid(0),0;
  90. setd "$daily_"+getcharid(0),0;
  91. set Daily_Count,Daily_Count+1;
  92. set .@rand,rand(getarraysize($Items));
  93. getitem $@Items[.@rand],$@i[.@rand];
  94. }
  95. end;
  96. case 2:
  97. if(getd("$daily_amount_"+getcharid(0))!=0){
  98. mes "您尚未達到任務要求!";
  99. } else {
  100. mes "完成任務,這是給您的獎勵!";
  101. getexp callfunc("Daily_Reward",1),callfunc("Daily_Reward",2);
  102. set Zeny,Zeny+callfunc("Daily_Reward",3);
  103. setd "$daily_start_"+getcharid(0),0;
  104. setd "$daily_amount_"+getcharid(0),0;
  105. setd "$daily_"+getcharid(0),0;
  106. set Daily_Count,Daily_Count+1;
  107. set .@rand,rand(getarraysize($@Items));
  108. getitem $@Items[.@rand],$@i[.@rand];
  109. }
  110. end;
  111. }
  112. } else {
  113. setd "$daily_amount_"+getcharid(0),0;
  114. setd "$daily_"+getcharid(0),0;
  115. setd "$daily_start_"+getcharid(0),0;
  116. set DayTime,gettimetick(2) + 3600;
  117. mes "[任務接待員]";
  118. mes "已替您取消任務!";
  119. }
  120. return;
  121. }
  122.  
  123. function script Daily_Reward {
  124. switch(getarg(0)){
  125. case 1: return 10000+((BaseExp+NextBaseExp)/30)+((Daily_Count%7)*BaseLevel);
  126. case 2: return 10000+(NextBaseExp/30)+((Daily_Count%7)*BaseLevel);
  127. case 3: return (3500*BaseLevel)+(Daily_Count%10*BaseLevel*gettime(4));
  128. }
  129. }
  130.  
  131. function script Daily_Mob_Search {
  132. set .@t,rand(0,16);
  133. set .@level,(getarg(0)/10)*10+10;
  134. switch(.@level){
  135. case 10: return $@daily_mob10[.@t]; break;
  136. case 20: return $@daily_mob20[.@t]; break;
  137. case 30: return $@daily_mob30[.@t]; break;
  138. case 40: return $@daily_mob40[.@t]; break;
  139. case 50: return $@daily_mob50[.@t]; break;
  140. case 60: return $@daily_mob60[.@t]; break;
  141. case 70: return $@daily_mob70[.@t]; break;
  142. case 80: return $@daily_mob80[.@t]; break;
  143. case 90: return $@daily_mob90[.@t]; break;
  144. case 100: return $@daily_mob100[.@t]; break;
  145. }
  146. return;
  147. }
  148.  
  149. function script Daily_Item_Search {
  150. set .@t,rand(0,14);
  151. set .@level,(getarg(0)/10)*10+10;
  152. switch(.@level){
  153. case 10: return $@daily_item10[.@t]; break;
  154. case 20: return $@daily_item20[.@t]; break;
  155. case 30: return $@daily_item30[.@t]; break;
  156. case 40: return $@daily_item40[.@t]; break;
  157. case 50: return $@daily_item50[.@t]; break;
  158. case 60: return $@daily_item60[.@t]; break;
  159. case 70: return $@daily_item70[.@t]; break;
  160. case 80: return $@daily_item80[.@t]; break;
  161. case 90: return $@daily_item90[.@t]; break;
  162. case 100: return $@daily_item100[.@t]; break;
  163. }
  164. return;
  165. }
  166.  
  167. prontera,160,178,2 script 任務接待員 10099,{
  168. if( daily_time != gettime(8) ){
  169. set daily_time,gettime(8);
  170. set Daily_Count,0;
  171. set DayTime,0;
  172. set Daybuff,0;
  173. }
  174. set .@Change_Min,(DayTime - gettimetick(2)) / 60;
  175. set .@Change_Sec,(DayTime - gettimetick(2)) % 60;
  176. if(.@Change_Min < 0)
  177. set DayTime,0;
  178. mes "[任務接待員] ";
  179. mes "今天已完成次數 : ^FF0000"+Daily_Count+"/10^000000";
  180. next;
  181. switch(select("領取任務:查看/放棄/提交任務")){
  182. case 1:
  183. if(getd("$daily_start_"+getcharid(0))){
  184. mes "[任務接待員]";
  185. mes "您已領取過任務囉!";
  186. end;
  187. }
  188. if(Daily_Count >= 10){
  189. mes "[任務接待員]";
  190. mes "您今日已完成10次囉!";
  191. end;
  192. }
  193. if(gettimetick(2) < DayTime){
  194. mes "[任務接待員]";
  195. mes "您剛剛已放棄任務, 需等待剩餘時間後才能在接取任務!";
  196. mes " ";
  197. mes "^FF0000剩餘時間^000000: ^0000ff"+.@Change_Min+"^000000 分 ^0000ff"+.@Change_Sec+"^000000 秒";
  198. end;
  199. }
  200. set .@num,rand(1,2);
  201. callfunc("Daily_quest"+.@num);
  202. end;
  203. case 2:
  204. if(!getd("$daily_start_"+getcharid(0))){
  205. mes "[任務接待員]";
  206. mes "您未領取任何任務";
  207. end;
  208. }
  209. callfunc("Daily_Info",getd("$daily_start_"+getcharid(0)));
  210. end;
  211. }
  212. end;
  213. OnInit:
  214. //給的道具
  215. setarray $@Items[0],11574,522,526,547,607,608,617,663,12422,12425,12211,12212,12214,12209,12208,12264,14608,6417,50001,14512,14513,14514,14865,12215,12216,12217,12218,12219,12220,14529,23636;
  216.  
  217. //給的數量
  218. setarray $@i[0],60,40,40,40,20,30,5,70,1,1,5,5,3,3,1,1,1,5,2,5,5,5,5,3,3,3,3,3,3,3,2;
  219.  
  220. /*Quest1 [購買物品]*/
  221. setarray $@daily_item10,949,914,1066,1068,938,915,705,919,957,926,962,1026,1052,955,935;
  222. setarray $@daily_item20,946,945,948,955,935,942,908,962,1026,1052,949,914,1001,538,539;
  223. setarray $@daily_item30,1098,964,931,1040,1001,538,539,1052,908,908,962,1026,945,948,955;
  224. setarray $@daily_item40,7270,1041,7053,920,1024,7006,913,7065,965,7100,950,7202,539,1052,931;
  225. setarray $@daily_item50,932,1059,1050,1051,950,7202,930,956,1012,965,7100,1028,7192,1028,7192;
  226. setarray $@daily_item60,903,923,901,941,1032,1028,7192,7187,7124,1056,953,7123,7298,1031,1021;
  227. setarray $@daily_item70,958,1062,1055,7201,7198,7298,1031,1021,7299,944,7267,1028,7192,941,901;
  228. setarray $@daily_item80,7197,7009,7171,1022,7151,7188,7189,7301,7069,1097,7101,1036,7003,7097,944;
  229. setarray $@daily_item90,7106,7107,1095,7312,7265,7266,7565,7319,7563,7567,7447,7446,7751,7752,7345;
  230. setarray $@daily_item100,7511,1048,7063,1015,6325,6090,6322,7507,6023,6020,6021,7266,7565,1095,7312;
  231.  
  232. /*Quest2 [獵殺魔物]*/
  233. setarray $@daily_mob10,1002,1004,1007,1010,1011,1012,1014,1049,1050,1051,1052,1055,1113,1063,1088,1107,1167;
  234. setarray $@daily_mob20,1005,1014,1013,1015,1019,1018,1024,1025,1031,1053,1056,1057,1060,1076,1128,1127,1138;
  235. setarray $@daily_mob30,1128,1127,1122,1123,1124,1125,1126,1138,1139,1114,1103,1105,1106,1160,1141,1169,1176;
  236. setarray $@daily_mob40,1170,1166,1164,1178,1188,1023,1026,1030,1031,1106,1133,1134,1135,1144,1258,1613,1881;
  237. setarray $@daily_mob50,1099,1151,1155,1156,1164,1165,1261,1271,1273,1403,1415,1417,1621,1616,1620,1243,1280;
  238. setarray $@daily_mob60,1493,1494,1495,1497,1498,1499,1263,1506,1508,1510,1514,1619,1615,1614,1215,1249,1516;
  239. setarray $@daily_mob70,1369,1368,1367,1117,1101,1149,1192,1207,1209,1269,1276,1314,1375,1216,1260,1263,1682;
  240. setarray $@daily_mob80,1372,1365,1376,1386,1387,1408,1148,1154,1189,1201,1206,1208,1315,1316,1321,1322,2013;//70
  241. setarray $@daily_mob90,1384,1385,1379,1670,1671,1672,1673,1677,1678,1679,1716,1717,1718,1504,1507,1505,1503;
  242. setarray $@daily_mob100,1864,1865,1866,1867,1869,1713,1771,1772,1773,1774,1775,1777,1778,1837,1735,1736,2016;
  243. end;
  244.  
  245. OnNPCKillEvent:
  246. getmapxy(.@m$,.@x,.@y,BL_PC);
  247. .@User = getcharid(3);
  248. if(killedrid == getd("$daily_"+getcharid(0)) && getd("$daily_"+getcharid(0))!=0 && getd("$daily_amount_"+getcharid(0))!=0 ){
  249. setd "$daily_amount_"+getcharid(0),getd("$daily_amount_"+getcharid(0))-1;
  250. if(getd("$daily_amount_"+getcharid(0))==0){
  251. dispbottom "已完成 [狩獵任務] , 請找任務接待員回報任務",0x00FF00;
  252. }
  253. dispbottom "目前狩獵進度還剩下 [ "+getd("$daily_amount_"+getcharid(0))+" ] 隻。",0x00FF00;
  254. }
  255. if ( !getcharid(1) ) end;
  256. getpartymember(getcharid(1)),0;
  257. getpartymember(getcharid(1)),1;
  258. getpartymember(getcharid(1)),2;
  259. if( $@partymembercount < 2){ end; }
  260. for(set .@i,0; .@i <= $@partymembercount; set .@i,.@i+1){
  261. query_sql("SELECT `Online` FROM `char` WHERE `char_id` = '"+$@partymembercid[.@i]+"'",.@online);
  262. if ( !.@online ) continue;
  263. if ( $@partymembercid[.@i] == 0 ) continue;
  264. if ( strcharinfo(3,$@partymembercid[.@i]) != .@m$ ) continue;
  265. .@nohp = 0;
  266. attachrid($@partymemberaid[.@i]);
  267. if ( !hp ){
  268. .@nohp = 1;
  269. }
  270. detachrid;
  271. attachrid(.@User);
  272. if ( .@nohp ) continue;
  273. set @cid,$@partymembercid[.@i];
  274. set @aid,$@partymemberaid[.@i];
  275. if(getd("$daily_"+@cid) == killedrid && getd("$daily_amount_"+@cid) != 0 && @cid != getcharid(0) && @aid != getcharid(3)){
  276. setd "$daily_amount_"+@cid,getd("$daily_amount_"+@cid)-1;
  277. dispbottom "目前狩獵進度還剩下 [ "+getd("$daily_amount_"+@CID)+" ] 隻。",0x00FF00,@CID;
  278. if( getd("$daily_amount_"+@cid) == 0 )
  279. dispbottom "已完成 [狩獵任務] , 請找 任務接待員 回報任務",0x00FF00,@CID;
  280. }
  281. }
  282. end;
  283. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement