yuhsing

Untitled

Jun 9th, 2013
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.44 KB | None | 0 0
  1.  
  2. // Run this Query into your database.
  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. prontera,143,179,5 script Reward Npc 757,{
  26. .@gmlevel = getgmlevel();
  27.  
  28. mes "How can i help you ?";
  29. next;
  30. switch( select( "Claim Rewards",
  31. ( .@gmlevel < .gm_level )?"":"^0055FF[ GM ]^000000 Give Reward",
  32. ( .@gmlevel < .gm_level )?"":"^0055FF[ GM ]^000000 Delete Reward",
  33. ( .@gmlevel < 99 )?"":"^0055FF[ GM ]^000000 Approve Reward",
  34. ( .@gmlevel < 99 )?"":"^FF0000[ GM ] View Logs^000000" )){
  35. Case 1:
  36. 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$ );
  37. .@item_size = getarraysize( .@item );
  38. if( !.@item_size ){
  39. mes "You dont have any rewards.";
  40. }else{
  41. mes "Pick an Items.";
  42. for( .@i = 0; .@i < .@item_size; .@i++ )
  43. .@menu$ = .@menu$ + "^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000 by ^FF0000"+.@sender_name$[.@i]+"^000000" +":";
  44. .@i = select( .@menu$ ) - 1;
  45. if( checkweight( .@item[.@i],.@amount[.@i] ) ){
  46. query_sql( "UPDATE `reward_list` SET `status`='2',`winner_ip`='"+getcharip( strcharinfo(0) )+"' WHERE `reward_id` = '"+.@id[.@i]+"'" );
  47. getitem2 .@item[.@i],.@amount[.@i],1,.@refine,0,0,0,0,0;
  48. mes "Done, claimed ^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000";
  49. }else{
  50. mes "Item too heavy, you cant take it now.";
  51. }
  52. }
  53. break;
  54. Case 2:
  55. mes "Enter ^0055FFItem ID^000000";
  56. do{
  57. input .@item_id,0,32767;
  58. if( !.@item_id ) close;
  59. }while( getitemname( .@item_id ) == "null" );
  60. .@item_type = getiteminfo( .@item_id,2 );
  61. if( .@item_type == 4 || .@item_type == 5 ){
  62. mes "Enter ^0055FFRefine Rate^000000 for "+getitemname( .@item_id );
  63. input .@refine,0,10;
  64. .@amount = 1;
  65. }else{
  66. mes "Enter ^0055FFAmount^000000";
  67. input .@amount,1,30000;
  68. .@refine = 0;
  69. }
  70. mes "Enter ^0055FFWinner Name^000000";
  71. input .@winner_name$;
  72. next;
  73. mes "Winner : ^FF0000"+.@winner_name$+"^000000";
  74. mes "Item : ^0055FF"+( ( .@refine )?"+"+.@refine:.@amount+" x" ) +" "+ getitemname( .@item_id )+"^000000";
  75. if( select( "Confirm","Cancel" ) == 1 ){
  76. 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()+"' )" );
  77. mes "Done.";
  78. }
  79. break;
  80. Case 3:
  81. 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,.@id,.@sender_name$,.@winner_name$,.@item,.@amount,.@refine,.@time$,.@ip$ );
  82. .@item_size = getarraysize( .@item );
  83. if( !.@item_size ){
  84. mes "Dont have any un-claimed rewards.";
  85. }else{
  86. mes "Delete un-claimed Rewards.";
  87. mes "^777777Lastest "+.max_record_view+" Rewards^000000";
  88. for( .@i = 0; .@i < .@item_size; .@i++ )
  89. .@menu$ = .@menu$ + "[ "+( .@i + 1 )+". ]^FF0000"+.@winner_name$[.@i]+"^000000 sent ^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000" +":";
  90. next;
  91. .@i = select( .@menu$ ) - 1;
  92. mes "Winner : ^FF0000"+.@winner_name$[.@i]+"^000000";
  93. mes "Item : ^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000";
  94. mes "Sender : ^FF0000"+.@sender_name$[.@i]+"^000000";
  95. mes "Sender IP : ^777777"+.@ip$[.@i]+"^000000";
  96. mes "Time : ^777777"+.@time$[.@i]+"^000000";
  97. if( select( "Delete Reward","Cancel" ) == 1 ){
  98. query_sql( "DELETE FROM `reward_list` WHERE `reward_id` = '"+.@id[.@i]+"' LIMIT 1" );
  99. mes "Done, removed rewards.";
  100. }
  101. }
  102. break;
  103. Case 4:
  104. 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,.@id,.@sender_name$,.@winner_name$,.@item,.@amount,.@refine,.@time$,.@ip$ );
  105. .@item_size = getarraysize( .@item );
  106. if( !.@item_size ){
  107. mes "Dont have any pending rewards.";
  108. }else{
  109. mes "Approve Rewards.";
  110. mes "^777777Lastest "+.max_record_view+" Rewards^000000";
  111. for( .@i = 0; .@i < .@item_size; .@i++ )
  112. .@menu$ = .@menu$ + "[ "+( .@i + 1 )+". ]^FF0000"+.@winner_name$[.@i]+"^000000 sent ^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000" +":";
  113. next;
  114. .@i = select( .@menu$ ) - 1;
  115. mes "Winner : ^FF0000"+.@winner_name$[.@i]+"^000000";
  116. mes "Item : ^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000";
  117. mes "Sender : ^FF0000"+.@sender_name$[.@i]+"^000000";
  118. mes "Sender IP : ^777777"+.@ip$[.@i]+"^000000";
  119. mes "Time : ^777777"+.@time$[.@i]+"^000000";
  120. if( select( "Approve Reward","Cancel" ) == 1 ){
  121. query_sql( "UPDATE `reward_list` SET `status`='1' WHERE `reward_id` = '"+.@id[.@i]+"' LIMIT 1" );
  122. mes "Done, approved rewards.";
  123. }
  124. }
  125. break;
  126. Case 5:
  127. .@status = select( "Pending Approval","Un-claimed Records","Claimed Records" );
  128. 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,.@id,.@sender_name$,.@winner_name$,.@item,.@amount,.@refine,.@time$,.@sender_ip$,.@winner_ip$ );
  129. .@item_size = getarraysize( .@item );
  130. if( !.@item_size ){
  131. mes "Dont have any records.";
  132. }else{
  133. mes "^777777Lastest "+.max_record_view+" Records^000000";
  134. for( .@i = 0; .@i < .@item_size; .@i++ )
  135. .@menu$ = .@menu$ + "[ "+( .@i + 1 + .@offset )+". ]^FF0000"+.@winner_name$[.@i]+"^000000 gained ^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000" +":";
  136. do{
  137. .@i = select( .@menu$+":Close" ) - 1;
  138. if( .@i >= .@item_size ) break;
  139. // next;
  140. mes "Winner : ^FF0000"+.@winner_name$[.@i]+"^000000";
  141. mes "Winner IP : "+( ( .@winner_ip$[.@i] == "" )?"^777777none^000000":"^FF0000"+.@winner_ip$[.@i] )+"^000000";
  142. mes "Item : ^0055FF"+( ( .@refine[.@i] )?"+"+.@refine[.@i]:.@amount[.@i]+" x" )+" "+ getitemname( .@item[.@i] )+"^000000";
  143. mes "Sender : ^FF0000"+.@sender_name$[.@i]+"^000000";
  144. mes "Sender IP : ^777777"+.@sender_ip$[.@i]+"^000000";
  145. mes "Time : ^777777"+.@time$[.@i]+"^000000";
  146. mes "Status : "+( ( .@status )?"^0055FFClaimed":"^FF0000Un-Claimed" )+"^000000";
  147. next;
  148. }while( 1 );
  149. }
  150. break;
  151. default: break;
  152. }
  153. close;
  154.  
  155. OnInit:
  156. .gm_level = 60;
  157. .max_record_view = 10;
  158. end;
  159. }
Advertisement
Add Comment
Please, Sign In to add comment