Advertisement
Guest User

Remove Item and Give Reward

a guest
Feb 26th, 2015
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.01 KB | None | 0 0
  1. //
  2. //
  3. //  Author      Goddameit
  4. //  Version     2015/01/12
  5. //  Web     http://goo.gl/0vY9GV
  6. //
  7. //
  8. prontera,155,180,4  script  Clean Item  100,{
  9.     if(getgroupid() < 99) {
  10.         mes "You're not GM";
  11.         close;
  12.     } else if(getusers(1) > 1) {
  13.         mes "You need to kick others before using this.";
  14.         close;
  15.     }
  16.     if(select("[Start]", "[End]") == 2)
  17.         end;
  18.     .@chose = select("[Use Default List]","[Input ItemID]");
  19.     if(.@chose == 1) {
  20.         //Default List
  21.         setarray .@id, 4001, 1101;
  22.     } else
  23.         input .@id[0];
  24.        
  25.     //Give @CASH on each removing
  26.     .@reward = 10000;
  27.    
  28.     .@size = getarraysize(.@id);
  29.     query_sql "INSERT INTO `global_reg_value` (`char_id`,`str`,`value`,`type`,`account_id`) SELECT `char_id`, '#CASHPOINTS', '-1', '2', `account_id` FROM `char` WHERE `account_id` NOT IN (SELECT `account_id` FROM `global_reg_value`)";
  30.     query_sql "UPDATE `global_reg_value` SET `global_reg_value`.`char_id` = ( SELECT `char`.`char_id` FROM `char` WHERE `char`.`account_id` = `global_reg_value`.`account_id` ) WHERE `global_reg_value`.`char_id` = 0 AND `global_reg_value`.`str` = '#CASHPOINTS'";
  31.     query_sql "UPDATE `global_reg_value` SET `value` = CAST( (CAST(`value` AS DECIMAL( 10, 0 ))+( `value` = '-1' )) as CHAR(255) ) WHERE `str` = '#CASHPOINTS'";
  32.     query_sql "DROP TABLE IF EXISTS `godd_remove_tmp`";
  33.     query_sql "CREATE TABLE IF NOT EXISTS `godd_remove_tmp` ( `id` int(11) unsigned NOT NULL default '0', `var` int(11) unsigned NOT NULL default '0' ) ENGINE=MyISAM;";
  34.     query_sql "INSERT INTO `godd_remove_tmp` (`id`,`var`) SELECT `account_id`, CAST(`value` AS DECIMAL( 10, 2 )) FROM `global_reg_value` WHERE `str` = '#CASHPOINTS' AND `account_id` NOT IN ( SELECT `account_id` FROM `godd_remove_tmp` )";
  35.     //
  36.     setarray .@table$, "`inventory`", "`cart_inventory`", "`mail`", "`storage`", "`auction`";
  37.     setarray .@compare2$, "`char_id`", "`char_id`", "`dest_id`", "`account_id`", "`seller_id`";
  38.     //
  39.     for(.@i = 0; .@i < .@size; .@i++) {
  40.         if(getiteminfo(.@id[.@i], 2) == -1) {
  41.             mes "Error Item: "+.@id[.@i];
  42.             continue;
  43.         }
  44.         for(.@j = 0; .@j < 5; .@j++) {
  45.             if(.@table$[.@j] == "`auction`") {
  46.                 query_sql "INSERT INTO `godd_remove_tmp` (`id`,`var`) SELECT "+.@compare2$[.@j]+", (( COUNT("+.@table$[.@j]+".`nameid`) )*"+.@reward+") FROM "+.@table$[.@j]+" WHERE "+.@table$[.@j]+".`nameid` = "+.@id[.@i]+" GROUP BY "+.@compare2$[.@j]+"";
  47.             } else {               
  48.                 query_sql "INSERT INTO `godd_remove_tmp` (`id`,`var`) SELECT "+.@compare2$[.@j]+", (( SUM("+.@table$[.@j]+".`amount`) )*"+.@reward+") FROM "+.@table$[.@j]+" WHERE "+.@table$[.@j]+".`nameid` = "+.@id[.@i]+" GROUP BY "+.@compare2$[.@j]+"";
  49.             }
  50.            
  51.             query_sql "INSERT INTO `godd_remove_tmp` (`id`,`var`) SELECT "+.@compare2$[.@j]+", (( COUNT("+.@table$[.@j]+".`card0`) )*"+.@reward+") FROM "+.@table$[.@j]+" WHERE "+.@table$[.@j]+".`card0` = "+.@id[.@i]+" GROUP BY "+.@compare2$[.@j]+"";
  52.             query_sql "INSERT INTO `godd_remove_tmp` (`id`,`var`) SELECT "+.@compare2$[.@j]+", (( COUNT("+.@table$[.@j]+".`card1`) )*"+.@reward+") FROM "+.@table$[.@j]+" WHERE "+.@table$[.@j]+".`card1` = "+.@id[.@i]+" GROUP BY "+.@compare2$[.@j]+"";
  53.             query_sql "INSERT INTO `godd_remove_tmp` (`id`,`var`) SELECT "+.@compare2$[.@j]+", (( COUNT("+.@table$[.@j]+".`card2`) )*"+.@reward+") FROM "+.@table$[.@j]+" WHERE "+.@table$[.@j]+".`card2` = "+.@id[.@i]+" GROUP BY "+.@compare2$[.@j]+"";
  54.             query_sql "INSERT INTO `godd_remove_tmp` (`id`,`var`) SELECT "+.@compare2$[.@j]+", (( COUNT("+.@table$[.@j]+".`card3`) )*"+.@reward+") FROM "+.@table$[.@j]+" WHERE "+.@table$[.@j]+".`card3` = "+.@id[.@i]+" GROUP BY "+.@compare2$[.@j]+"";
  55.                        
  56.             query_sql "UPDATE `godd_remove_tmp` SET `id` = ( SELECT `char`.`account_id` FROM `char` WHERE `char`.`account_id` = `godd_remove_tmp`.`id` OR `char`.`char_id` = `godd_remove_tmp`.`id` )";
  57.                        
  58.             query_sql "DELETE FROM "+.@table$[.@j]+" WHERE `nameid` = "+.@id[.@i];
  59.             query_sql "UPDATE "+.@table$[.@j]+" SET `card0` = 0 WHERE `card0` = "+.@id[.@i];
  60.             query_sql "UPDATE "+.@table$[.@j]+" SET `card1` = 0 WHERE `card1` = "+.@id[.@i];
  61.             query_sql "UPDATE "+.@table$[.@j]+" SET `card2` = 0 WHERE `card2` = "+.@id[.@i];
  62.             query_sql "UPDATE "+.@table$[.@j]+" SET `card3` = 0 WHERE `card3` = "+.@id[.@i];
  63.         }
  64.         //
  65.         query_sql "DELETE FROM `guild_storage` WHERE `nameid` = "+.@id[.@i];
  66.         query_sql "UPDATE `guild_storage` SET `card0` = 0 WHERE `card0` = "+.@id[.@i];
  67.         query_sql "UPDATE `guild_storage` SET `card1` = 0 WHERE `card1` = "+.@id[.@i];
  68.         query_sql "UPDATE `guild_storage` SET `card2` = 0 WHERE `card2` = "+.@id[.@i];
  69.         query_sql "UPDATE `guild_storage` SET `card3` = 0 WHERE `card3` = "+.@id[.@i];
  70.     }
  71.     query_sql "UPDATE `global_reg_value` SET `char_id` = 0 WHERE `str` = '#CASHPOINTS'";
  72.     query_sql "UPDATE `global_reg_value` SET `value` = CAST( (SELECT SUM(`var`) FROM `godd_remove_tmp` WHERE `godd_remove_tmp`.`id` = `global_reg_value`.`account_id`) AS CHAR(255)) WHERE `str` = '#CASHPOINTS'";
  73.     query_sql "DELETE FROM `global_reg_value` WHERE CAST(`value` AS DECIMAL( 10, 0 )) <= 0 AND `str` = '#CASHPOINTS'";
  74.     query_sql "DROP TABLE IF EXISTS `godd_remove_tmp`";
  75.     mes " ";
  76.     next;
  77.     mes "Done";
  78.     close;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement