Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.10 KB | None | 0 0
  1.  
  2.  
  3.  
  4. /*
  5.  
  6. CREATE TABLE IF NOT EXISTS `guildpack_log` (
  7. `id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
  8. `gm_aid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
  9. `gid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
  10. `aid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
  11. `name` VARCHAR(30) NOT NULL DEFAULT '',
  12. `nameid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
  13. `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
  14. `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
  15. `time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
  16. `claim` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
  17. PRIMARY KEY (`id`)
  18. ) ENGINE=MyISAM;
  19.  
  20. */
  21.  
  22.  
  23. prontera,155,181,5 script Sample#guild_rewarder 757,{
  24. function getitemname2;
  25.  
  26. set .@gm_level,getgmlevel();
  27. set .@gid,getcharid(2);
  28. set .@aid,getcharid(3);
  29.  
  30. switch( select(
  31. "Claim Package",
  32. ( .@gm_level >= .gm_level )?"^FF0000[ GM ] Give Item^000000":"",
  33. "Cancel"
  34. )){
  35. case 1:
  36. query_sql( "SELECT `id`,`nameid`,`amount`,`refine` FROM `guildpack_log` WHERE `aid` = "+.@aid+" AND `claim` = '0000-00-00 00:00:00' ORDER BY `id` DESC",.@id,.@nameid,.@amount,.@refine );
  37. set .@id_size,getarraysize( .@id );
  38. if ( !.@id_size ) {
  39. mes "didnt have any available guildpack items.";
  40. }
  41. else {
  42. for ( set .@i,0; .@i < .@id_size; set .@i,.@i + 1 )
  43. if ( checkweight( .@nameid[.@i],.@amount[.@i] ) ) {
  44. getitem2 .@nameid[.@i],.@amount[.@i],1,.@refine[.@i],0,0,0,0,0;
  45. query_sql( "UPDATE `guildpack_log` SET `claim` = NOW() WHERE `id` = "+.@id[.@i]+" LIMIT 1" );
  46. mes "gained item.";
  47. close;
  48. }
  49. mes "Overweight, please clear your weight.";
  50. }
  51. break;
  52. case 2:
  53. do {
  54. mes "[GM Menu]";
  55. set .@is_valid_item,( getitemname( .@item_id ) != "null" && .@amount > 0 );
  56. set .@is_valid_char,( .@player_aid && .@player_name$ != "" );
  57.  
  58. set .@gm_option,select(
  59. "Char Name "+ ( ( .@is_valid_char )? .@player_name$:"" ),
  60. ( !.@is_valid_char )? "":"Item " + ( ( .@is_valid_item )? getitemname2( .@refine,.@item_id,.@amount ):"" ),
  61. ( .@is_valid_char && .@is_valid_item )? "^0055FFDone, send reward!^000000":""
  62. );
  63. next;
  64. switch ( .@gm_option ) {
  65. case 1:
  66. mes "Enter Guild Name. ^777777(Full/Partial)^000000";
  67. input .@temp_name$;
  68. query_sql( "SELECT `name`,`guild_id` FROM `guild` WHERE `guild_id` > 0 AND `name` LIKE '%"+escape_sql( .@temp_name$ )+"%' LIMIT 100",.@temp_name_list$,.@temp_gid_list );
  69. set .@temp_name_list_size,getarraysize( .@temp_name_list$ );
  70.  
  71. if ( .@temp_name_list_size ) {
  72.  
  73. set .@temp_name_menu$,"";
  74. for( set .@i,0; .@i < .@temp_name_list_size; set .@i,.@i + 1 )
  75. if ( .@temp_gid_list[.@i] ) {
  76. set .@temp_name_menu$, .@temp_name_menu$ + .@temp_name_list$[.@i] + ":";
  77. }
  78. set .@i,select( .@temp_name_menu$ ) - 1;
  79.  
  80. query_sql( "SELECT `claim` FROM `guildpack_log` WHERE `gid` = "+.@temp_aid_list[.@i],.@date$ );
  81. if ( .@date$ != "" && .@date$ != "0000-00-00 00:00:00" ) {
  82. mes .@temp_name_list$[.@i]+" assigned guildpack items since "+.@date$;
  83. }
  84. else {
  85. set .@temp_gid,.@temp_aid_list[.@i];
  86. }
  87. }
  88. else {
  89. mes "Didnt found any records.";
  90. }
  91. break;
  92. case 2:
  93. mes "Enter Item ID";
  94. do {
  95. input .@item_id,0,32767;
  96. if ( !.@item_id ) break;
  97. } while ( getitemname( .@item_id ) == "null" );
  98.  
  99. if ( .@item_id ) {
  100. mes "Item: "+getitemname2( .@refine,.@item_id,.@amount );
  101. set .@type,getiteminfo( .@item_id,2 );
  102. set .@is_eq,( .@type == IT_WEAPON || .@type == IT_ARMOR );
  103.  
  104. if ( .@is_eq && .@refine ) {
  105. mes "Enter Refine rate";
  106. input .@refine,0,.max_refine;
  107. }
  108.  
  109. mes "Enter amount";
  110. input .@amount,0,(( .@is_eq )? 100:30000 );
  111. }
  112. default: break;
  113. }
  114. if ( .@gm_option < 3 ) next;
  115. } while ( .@gm_option < 3 );
  116.  
  117. query_sql( "SELECT `account_id`,`name` FROM `guild_member` WHERE `guild_id` = "+.@temp_gid+" AND `account_id` NOT IN ( SELECT `aid` FROM `guildpack_log` )",.@g_aid,.@g_name$ );
  118. set .@g_aid_size,getarraysize( .@g_aid );
  119. for( set .@i,0; .@i < .@g_aid_size; set .@i,.@i + 1 )
  120. query_sql( "INSERT INTO `guildpack_log` ( `gm_aid`,`aid`,`name`,`nameid`,`amount`,`refine`,`time` ) VALUES ( "+.@aid+","+.@g_aid[.@i]+",'"+escape_sql( .@g_name$[.@i] )+"',"+.@item_id+","+.@amount+","+.@refine+",NOW() )" );
  121. mes "Item sent.";
  122. default: break;
  123. }
  124. close;
  125.  
  126. OnInit:
  127. set .gm_level,99;
  128. set .max_refine,10;
  129. end;
  130.  
  131. function getitemname2 {
  132. set .@refine,getarg(0);
  133. set .@item_id,getarg(1);
  134. set .@amount,getarg(2);
  135.  
  136. set .@item_name$,getitemname( .@item_id );
  137.  
  138. if ( .@item_name$ == "null" )
  139. return "^FF0000Unknown-Item (#"+.@item_id+")^000000";
  140. else {
  141. set .@type,getiteminfo( .@item_id,2 );
  142. if ( ( .@type == IT_WEAPON || .@type == IT_ARMOR ) && .@refine ) {
  143. set .@item_name$, "+" + .@refine +" "+ .@item_name$;
  144. }
  145. if ( .@amount > 1 )
  146. set .@item_name$, .@amount + "x " + .@item_name$;
  147. }
  148.  
  149. return .@item_name$;
  150. }
  151.  
  152.  
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement