yuhsing

Untitled

Jun 22nd, 2013
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.13 KB | None | 0 0
  1.  
  2.  
  3. /*
  4. CREATE TABLE IF NOT EXISTS `reward_list` (
  5. `reward_id` bigint(20) unsigned NOT NULL auto_increment,
  6.  
  7. `sender_name` varchar(30) NOT NULL default '',
  8. `winner_name` varchar(30) NOT NULL default '',
  9.  
  10. `nameid` int(11) unsigned NOT NULL default '0',
  11. `amount` int(11) unsigned NOT NULL default '0',
  12. `refine` tinyint(3) unsigned NOT NULL default '0',
  13.  
  14. `status` tinyint(2) NOT NULL default '0',
  15. `time` datetime NOT NULL default '0000-00-00 00:00:00',
  16.  
  17. `sender_ip` varchar(100) NOT NULL default '',
  18. `winner_ip` varchar(100) NOT NULL default '',
  19.  
  20. PRIMARY KEY (`reward_id`)
  21. ) ENGINE=MyISAM;
  22. */
  23.  
  24.  
  25.  
  26. // livion,151,127,6 script Reward Npc#1 721,{
  27. prontera,155,171,6 script Reward Npc#1 721,{
  28. .@gmlevel = getgmlevel();
  29.  
  30. mes "How can i help you ?";
  31. next;
  32. switch( select( "Claim Rewards",
  33. ( .@gmlevel < .gm_level )?"":"^0055FF[ GM ]^000000 Give Reward",
  34. ( .@gmlevel < .gm_level )?"":"^0055FF[ GM ]^000000 Delete Reward",
  35. ( .@gmlevel < 99 )?"":"^FF0000[ ADMIN ] Approve Reward^000000",
  36. ( .@gmlevel < 99 )?"":"^FF0000[ ADMIN ] View Logs^000000" )){
  37. Case 1:
  38. query_sql( "SELECT `reward_id`,`sender_name`,`nameid`,`amount`,`refine`,`time` FROM `reward_list` WHERE `winner_name` LIKE '"+escape_sql( strcharinfo(0) )+"' AND `status` = '1' LIMIT "+.max_record_view,.@id,.@sender_name$,.@item,.@amount,.@refine,.@time$ );
  39. .@item_size = getarraysize( .@item );
  40. if( !.@item_size ){
  41. mes "You dont have any rewards.";
  42. }else{
  43. mes "Pick an Items.";
  44. for( .@i = 0; .@i < .@item_size; .@i++ )
  45. .@menu$ = .@menu$ + "^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000 by ^FF0000"+.@sender_name$[.@i]+"^000000" +":";
  46. .@i = select( .@menu$ ) - 1;
  47. if( checkweight( .@item[.@i],.@amount[.@i] ) ){
  48. query_sql( "UPDATE `reward_list` SET `status`='2',`winner_ip`='"+getcharip( strcharinfo(0) )+"' WHERE `reward_id` = '"+.@id[.@i]+"'" );
  49. getitem2 .@item[.@i],.@amount[.@i],1,.@refine,0,0,0,0,0;
  50. mes "Done, claimed ^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000";
  51. }else{
  52. mes "Item too heavy, you cant take it now.";
  53. }
  54. }
  55. break;
  56. Case 2:
  57. mes "Enter ^0055FFItem ID^000000";
  58. do{
  59. input .@item_id,0,32767;
  60. if( !.@item_id ) close;
  61. }while( getitemname( .@item_id ) == "null" );
  62. .@item_type = getiteminfo( .@item_id,2 );
  63. if( .@item_type == 4 || .@item_type == 5 ){
  64. mes "Enter ^0055FFRefine Rate^000000 for "+getitemname( .@item_id );
  65. input .@refine,0,10;
  66. .@amount = 1;
  67. }else{
  68. mes "Enter ^0055FFAmount^000000";
  69. input .@amount,1,30000;
  70. .@refine = 0;
  71. }
  72. mes "Enter ^0055FFWinner Name^000000";
  73. input .@winner_name$;
  74. next;
  75. mes "Winner : ^FF0000"+.@winner_name$+"^000000";
  76. mes "Item : ^0055FF"+( ( .@refine )?"+"+.@refine:.@amount+" x" ) +" "+ getitemname( .@item_id )+"^000000";
  77. if( select( "Confirm","Cancel" ) == 1 ){
  78. query_sql( "INSERT INTO `reward_list` ( `sender_name`,`winner_name`,`nameid`,`amount`,`refine`,`time`,`sender_ip` ) VALUES ( '"+escape_sql( strcharinfo(0) )+"','"+escape_sql( .@winner_name$ )+"','"+.@item_id+"','"+.@amount+"','"+.@refine+"','"+gettimestr( "%Y-%m-%d %H:%M:%S",21 )+"','"+getcharip()+"' )" );
  79. mes "Done.";
  80. }
  81. break;
  82. Case 3:
  83. do{
  84. deletearray .@item;
  85. query_sql( "SELECT `reward_id`,`sender_name`,`winner_name`,`nameid`,`amount`,`refine`,`time`,`sender_ip` FROM `reward_list` WHERE `status` = '0' ORDER BY `time` DESC LIMIT "+.max_record_view+" OFFSET "+.@offset,.@id,.@sender_name$,.@winner_name$,.@item,.@amount,.@refine,.@time$,.@ip$ );
  86. .@item_size = getarraysize( .@item );
  87. if( !.@item_size ){
  88. mes "Dont have any un-claimed rewards.";
  89. close;
  90. }else{
  91. mes "Delete un-claimed Rewards.";
  92. mes "^777777Lastest "+.max_record_view+" Rewards^000000";
  93. .@menu$ = "";
  94. for( .@i = 0; .@i < .@item_size; .@i++ )
  95. .@menu$ = .@menu$ + "[ "+( .@i + 1 + .@offset )+". ]^FF0000"+.@sender_name$[.@i]+"^000000 sent ^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000" +":";
  96. next;
  97. .@i = select( .@menu$+":Next "+.max_record_view+" Records" ) - 1;
  98. if( .@i <= .@item_size ){
  99. mes "Winner : ^FF0000"+.@winner_name$[.@i]+"^000000";
  100. mes "Item : ^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000";
  101. mes "Sender : ^FF0000"+.@sender_name$[.@i]+"^000000";
  102. mes "Sender IP : ^777777"+.@ip$[.@i]+"^000000";
  103. mes "Time : ^777777"+.@time$[.@i]+"^000000";
  104. if( select( "Delete Reward","Cancel" ) == 1 ){
  105. query_sql( "DELETE FROM `reward_list` WHERE `reward_id` = '"+.@id[.@i]+"' LIMIT 1" );
  106. mes "Done, removed rewards.";
  107. close;
  108. }
  109. }
  110. }
  111. set .@offset,.@offset + .max_record_view;
  112. }while( 1 );
  113. break;
  114. Case 4:
  115. do{
  116. deletearray .@item;
  117. query_sql( "SELECT `reward_id`,`sender_name`,`winner_name`,`nameid`,`amount`,`refine`,`time`,`sender_ip` FROM `reward_list` WHERE `status` = '0' ORDER BY `time` DESC LIMIT "+.max_record_view+" OFFSET "+.@offset,.@id,.@sender_name$,.@winner_name$,.@item,.@amount,.@refine,.@time$,.@ip$ );
  118. .@item_size = getarraysize( .@item );
  119. if( !.@item_size ){
  120. mes "Dont have any pending rewards.";
  121. close;
  122. }else{
  123. mes "Approve Rewards.";
  124. mes "^777777Lastest "+.max_record_view+" Rewards^000000";
  125. .@menu$ = "";
  126. for( .@i = 0; .@i < .@item_size; .@i++ )
  127. .@menu$ = .@menu$ + "[ "+( .@i + 1 + .@offset )+". ]^FF0000"+.@sender_name$[.@i]+"^000000 sent ^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000" +":";
  128. next;
  129. .@i = select( .@menu$+":Next "+.max_record_view+" Records" ) - 1;
  130. if( .@i <= .@item_size ){
  131. mes "Winner : ^FF0000"+.@winner_name$[.@i]+"^000000";
  132. mes "Item : ^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000";
  133. mes "Sender : ^FF0000"+.@sender_name$[.@i]+"^000000";
  134. mes "Sender IP : ^777777"+.@ip$[.@i]+"^000000";
  135. mes "Time : ^777777"+.@time$[.@i]+"^000000";
  136. if( select( "Approve Reward","Cancel" ) == 1 ){
  137. query_sql( "UPDATE `reward_list` SET `status`='1' WHERE `reward_id` = '"+.@id[.@i]+"' LIMIT 1" );
  138. mes "Done, approved rewards.";
  139. close;
  140. }
  141. }
  142. }
  143. set .@offset,.@offset + .max_record_view;
  144. }while( 1 );
  145. break;
  146. Case 5:
  147. .@status = select( "Pending Approval","Un-claimed Records","Claimed Records" ) - 1;
  148. do{
  149. deletearray .@item;
  150. query_sql( "SELECT `reward_id`,`sender_name`,`winner_name`,`nameid`,`amount`,`refine`,`time`,`sender_ip`,`winner_ip` FROM `reward_list` WHERE `status`='"+.@status+"' ORDER BY `time` DESC LIMIT "+.max_record_view+" OFFSET "+.@offset,.@id,.@sender_name$,.@winner_name$,.@item,.@amount,.@refine,.@time$,.@sender_ip$,.@winner_ip$ );
  151. .@item_size = getarraysize( .@item );
  152. if( !.@item_size ){
  153. mes "Dont have any records left.";
  154. close;
  155. }else{
  156. set .@menu$,"";
  157. for( .@i = 0; .@i < .@item_size; .@i++ )
  158. .@menu$ = .@menu$ + "[ "+( .@i + 1 + .@offset )+". ]^FF0000"+.@winner_name$[.@i]+"^000000 gained ^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000" +":";
  159. do{
  160. .@i = select( .@menu$+":Next "+.max_record_view+" Records" ) - 1;
  161. if( .@i >= .@item_size ) break;
  162. // next;
  163. mes "Winner : ^FF0000"+.@winner_name$[.@i]+"^000000";
  164. mes "Winner IP : "+( ( .@winner_ip$[.@i] == "" )?"^777777none^000000":"^FF0000"+.@winner_ip$[.@i] )+"^000000";
  165. mes "Item : ^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000";
  166. mes "Sender : ^FF0000"+.@sender_name$[.@i]+"^000000";
  167. mes "Sender IP : ^777777"+.@sender_ip$[.@i]+"^000000";
  168. mes "Time : ^777777"+.@time$[.@i]+"^000000";
  169. mes "Status : "+( ( .@status )?"^0055FFClaimed":"^FF0000Un-Claimed" )+"^000000";
  170. next;
  171. }while( 1 );
  172. }
  173. set .@offset,.@offset + .max_record_view;
  174. }while( 1 );
  175. break;
  176. default: break;
  177. }
  178. close;
  179.  
  180. OnInit:
  181. .gm_level = 60;
  182. .max_record_view = 10;
  183. end;
  184. }
Advertisement
Add Comment
Please, Sign In to add comment