yuhsing

Untitled

Sep 8th, 2013
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.90 KB | None | 0 0
  1. /*
  2.  
  3. CREATE TABLE IF NOT EXISTS `gm_reward` (
  4. `id` int(11) NOT NULL auto_increment,
  5. `gm_account_id` int(11) NOT NULL default '0',
  6. `gm_name` varchar(30) NOT NULL default '',
  7. `nameid` int(11) NOT NULL default '0',
  8. `amount` int(11) unsigned NOT NULL default '0',
  9. `refine` tinyint(3) unsigned NOT NULL default '0',
  10. `card0` smallint(11) NOT NULL default '0',
  11. `card1` smallint(11) NOT NULL default '0',
  12. `card2` smallint(11) NOT NULL default '0',
  13. `card3` smallint(11) NOT NULL default '0',
  14. `reward_time` datetime NOT NULL default '0000-00-00 00:00:00',
  15. `status` tinyint(1) NOT NULL default '0',
  16. `claim_name` varchar(30) NOT NULL DEFAULT '',
  17. `claim_time` datetime NOT NULL default '0000-00-00 00:00:00',
  18. PRIMARY KEY (`id`)
  19. ) ENGINE=MyISAM;
  20.  
  21. */
  22.  
  23.  
  24.  
  25. lighthalzen,205,136,5 script Reward NPC 757,{
  26. set .@gm_level,getgmlevel();
  27.  
  28. mes "Pick an Option.";
  29. next;
  30. if( select( "Claim Reward","Cancel" ) ){
  31. query_sql( "SELECT * FROM `gm_reward` WHERE `claim_name` = '"+escape_sql( strcharinfo(0) )+"' AND `status` = 0 ORDER BY `id` DESC LIMIT 50 ",.@id,.@gm_acc_id,.@gm_name$,.@nameid,.@amount,.@refine,.@card0,.@card1,.@card2,.@card3,.@reward_time$,.@status,.@claim_name$,.@claim_time$ );
  32. set .@size,getarraysize( .@id );
  33. if( .@size ){
  34. while( .@i < .@size ){
  35. set .@itemtype,getiteminfo( .@nameid[.@i],2 );
  36. set .@menu$,.@menu$ + .@amount[.@i] +" x " +( ( .@refine[.@i] )?"+"+.@refine[.@i]:"" )+" "+ getitemname( .@nameid[.@i] );
  37. if( .@itemtype == 4 || .@itemtype == 5 )
  38. set .@menu$,.@menu$ + "["+getitemslots( .@nameid[.@i] )+"]";
  39. set .@menu$,.@menu$ + ":";
  40. set .@i,.@i + 1;
  41. }
  42. mes "Pick a Reward...";
  43. set .@i,select( .@menu$ ) - 1;
  44. set .@itemtype,getiteminfo( .@nameid[.@i],2 );
  45. if( .@itemtype == 4 || .@itemtype == 5 )
  46. set .@slot,getitemslots( .@nameid[.@i] );
  47. mes "Reward ID: ^777777#"+.@id[.@i]+"^000000";
  48. mes "Reward by: ^777777"+.@gm_name$[.@i]+"^000000";
  49. mes "Time: ^777777"+.@reward_time$[.@i]+"^000000";
  50. mes "Item: ^777777"+.@amount[.@i]+" x "+( ( .@refine[.@i] && ( .@itemtype == 4 || .@itemtype == 5 ) )?"+"+.@refine[.@i]:" " )+getitemname( .@nameid[.@i] )+" "+( ( .@itemtype == 4 || .@itemtype == 5 )? "["+.@slot+"]":"" )+"^000000";
  51. for( set .@card,0; .@card < 4; set .@card,.@card + 1 ){
  52. set .@cardid,getd( ".@card"+.@card+"["+.@i+"]" );
  53. if( .@cardid )
  54. mes "^777777 > "+getitemname( .@cardid )+"^000000";
  55. }
  56. if( select( "Claim it","Cancel" ) == 1 ){
  57. if( !checkweight( .@nameid[.@i],.@amount[.@i] ) ){
  58. mes "You cant carry it since you will overweight.";
  59. }else{
  60. mes "Done, reward claimed.";
  61. query_sql( "UPDATE `gm_reward` SET `status` = 1,`claim_time` = NOW() WHERE `id`="+.@id[.@i] );
  62. getitem2 .@nameid[.@i],.@amount[.@i],1,.@refine[.@i],0,.@card0[.@i],.@card1[.@i],.@card2[.@i],.@card3[.@i];
  63. }
  64. }
  65. }else{
  66. mes "You dont have any pending rewards.";
  67. }
  68. }
  69. close;
  70. }
  71.  
  72.  
  73.  
  74. lighthalzen,205,139,5 script Reward NPC#gm 757,{
  75. set .@gm_level,getgmlevel();
  76.  
  77. mes "Pick an Option.";
  78. next;
  79. switch( select(
  80. ( .@gm_level < .gm_level )?"":"[GM] Give Reward",
  81. ( .@gm_level < .gm_level )?"":"[GM] Delete Reward",
  82. "close"
  83. )){
  84. Case 1:
  85. mes "Enter Item ID";
  86. do{
  87. input .@nameid,0,32767;
  88. if( !.@nameid ) close;
  89. }while( getitemname( .@nameid ) == "null" );
  90. set .@itemtype,getiteminfo( .@nameid,2 );
  91. if( .@itemtype == 4 || .@itemtype == 5 ){
  92. set .@slot,getitemslots( .@nameid );
  93. mes "Enter Refine ";
  94. input .@refine,0,10;
  95. mes "This item have "+.@slot+" slot";
  96. if( .@slot ){
  97. mes "Enter Card 1 ~ "+.@slot+" ID";
  98. for( set .@i,0; .@i < .@slot; set .@i,.@i + 1 ){
  99. do{
  100. input .@card[.@i];
  101. if( !.@card[.@i] ) break;
  102. }while( .@card[.@i] < 4001 || .@card[.@i] > 4555 );
  103. mes " Card "+( .@i+1 )+" : "+( ( .@card[.@i] )? getitemname( .@card[.@i] ):"none" );
  104. }
  105. }
  106. }
  107. mes "Enter Amount";
  108. input .@amount,0,30000;
  109. if( .@nameid && .@amount ){
  110. mes "Enter Player Name";
  111. do{
  112. input .@player$;
  113. if( query_sql( "SELECT `name`,`class` FROM `char` WHERE `name` = '"+escape_sql( .@player$ )+"' LIMIT 1",.@name$,.@class ) ){
  114. set .@player$,.@name$;
  115. }else{
  116. message strcharinfo(0),"Player named '"+.@player$+"' not found in database.";
  117. set .@player$,"";
  118. }
  119. }while( .@player$ == "" );
  120. next;
  121. mes "Reward : ";
  122. mes "^777777"+.@amount+" x "+( ( .@refine && ( .@itemtype == 4 || .@itemtype == 5 ) )?"+"+.@refine:" " )+getitemname( .@nameid )+" "+( ( .@itemtype == 4 || .@itemtype == 5 )? "["+.@slot+"]":"" )+"^000000";
  123. if( .@slot ){
  124. mes "Card List :";
  125. for( set .@i,0; .@i < .@slot; set .@i,.@i + 1 )
  126. mes "^777777 > "+( ( .@card[.@i] )? getitemname( .@card[.@i] ):"none" )+"^000000";
  127. }
  128. mes " ";
  129. mes "By: ^777777"+strcharinfo(0)+"^000000";
  130. mes "Player: ^777777"+.@player$+" ( "+jobname( .@class )+" )^000000";
  131. if( select( "Confirm","Cancel" ) == 1 ){
  132. mes "Reward Added Succesfully.";
  133. query_sql( "INSERT INTO `gm_reward` ( `gm_account_id`,`gm_name`,`nameid`,`amount`,`refine`,`card0`,`card1`,`card2`,`card3`,`reward_time`,`claim_name` ) VALUES ( "+getcharid(3)+",'"+escape_sql( strcharinfo(0) )+"',"+.@nameid+","+.@amount+","+.@refine+","+.@card[0]+","+.@card[1]+","+.@card[2]+","+.@card[3]+",NOW(),'"+escape_sql( .@player$ )+"' )" );
  134. }
  135. }
  136. break;
  137. Case 2:
  138. query_sql( "SELECT * FROM `gm_reward` WHERE `status` = 0 ORDER BY `id` DESC LIMIT 50 ",.@id,.@gm_acc_id,.@gm_name$,.@nameid,.@amount,.@refine,.@card0,.@card1,.@card2,.@card3,.@reward_time$,.@status,.@claim_name$,.@claim_time$ );
  139. set .@size,getarraysize( .@id );
  140. if( .@size ){
  141. while( .@i < .@size ){
  142. set .@itemtype,getiteminfo( .@nameid[.@i],2 );
  143. set .@menu$,.@menu$ + .@amount[.@i] +" x " +( ( .@refine[.@i] )?"+"+.@refine[.@i]:"" )+" "+ getitemname( .@nameid[.@i] );
  144. if( .@itemtype == 4 || .@itemtype == 5 )
  145. set .@menu$,.@menu$ + "["+getitemslots( .@nameid[.@i] )+"]";
  146. set .@menu$,.@menu$ + "by ^0055FF"+.@gm_name$+"^000000" + ":";
  147. set .@i,.@i + 1;
  148. }
  149. set .@i,select ( .@menu$ ) - 1;
  150. set .@itemtype,getiteminfo( .@nameid[.@i],2 );
  151. if( .@itemtype == 4 || .@itemtype == 5 )
  152. set .@slot,getitemslots( .@nameid[.@i] );
  153. mes "Reward ID: ^777777#"+.@id[.@i]+"^000000";
  154. mes "Receiver : ^777777"+.@claim_name$[.@i]+"^000000";
  155. mes "Reward by: ^777777"+.@gm_name$[.@i]+"^000000";
  156. mes "Time: ^777777"+.@claim_time$[.@i]+"^000000";
  157. mes "Item: ^777777"+.@amount[.@i]+" x "+( ( .@refine[.@i] && ( .@itemtype == 4 || .@itemtype == 5 ) )?"+"+.@refine[.@i]:" " )+getitemname( .@nameid[.@i] )+" "+( ( .@itemtype == 4 || .@itemtype == 5 )? "["+.@slot+"]":"" )+"^000000";
  158. for( set .@card,0; .@card < 4; set .@card,.@card + 1 ){
  159. set .@cardid,getd( ".@card"+.@card+"["+.@i+"]" );
  160. if( .@cardid )
  161. mes " ^777777> "+getitemname( .@cardid )+"^000000";
  162. }
  163. }else{
  164. mes "Dont have any un-claimed rewards.";
  165. }
  166. default: break;
  167. }
  168. close;
  169.  
  170. OnInit:
  171. set .gm_level,90;
  172. end;
  173. }
Advertisement
Add Comment
Please, Sign In to add comment