yuhsing

Untitled

Aug 21st, 2013
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.98 KB | None | 0 0
  1. /*
  2. // Load this SQL script.
  3.  
  4. ALTER TABLE `guild` ADD COLUMN `gpack` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `emblem_data`;
  5.  
  6. CREATE TABLE IF NOT EXISTS `gpacks_record` (
  7. `id` int(11) unsigned NOT NULL auto_increment,
  8. `guild_id` int(11) unsigned NOT NULL default '0',
  9. `account_id` int(11) unsigned NOT NULL default '0',
  10. `char_id` int(11) unsigned NOT NULL default '0',
  11. `ip` varchar(24) NOT NULL default '',
  12. `time` datetime NOT NULL default '0000-00-00 00:00:00',
  13. PRIMARY KEY (`id`)
  14. ) ENGINE=MyISAM AUTO_INCREMENT=1;
  15.  
  16.  
  17. */
  18.  
  19.  
  20. prontera,155,181,5 script Sample 757,{
  21. .@guild_id = getcharid(2);
  22. if( !.@guild_id ){
  23. mes "You didnt have a guild.";
  24. }else{
  25. query_sql( "SELECT `char_id`,`connect_member`,`gpack` FROM `guild` WHERE `guild_id` = "+.@guild_id,.@master,.@online,.@gpack$ );
  26. if( getcharid(0) != .@master ){
  27. mes "You're not guild master of this guild.";
  28. }else if( .@online < .min_online_member ){
  29. mes "You need to have minimum "+.min_online_member+" member to online before you can take this.";
  30. }else if( .@gpack$ != "0000-00-00 00:00:00" ){
  31. mes "Your Guild already claimed this since ^FF0000"+.@gpack$+"^000000";
  32. }else{
  33. mes "Do you want to claim GPack...?";
  34. mes "You got "+.@online+" member online.";
  35. mes "are you sure to claim it now ?? you can only claim once.";
  36. mes "^FF0000Same IP users wont be able to get rewards.^000000";
  37. next;
  38. if( select( "Yes, claim it","Close" ) == 1 ){
  39. if( !query_sql( "SELECT `time` FROM `gpacks_record` WHERE `account_id` = "+getcharid(3)+" OR `char_id` = "+getcharid(0)+" OR `ip` = '"+escape_sql( getcharip() )+"' ",.@time$ ) ){
  40. while( .@reward < .master_reward_size ){
  41. getitem .master_reward[.@reward],.master_reward_qty[.@reward];
  42. .@reward++;
  43. }
  44. query_sql( "INSERT INTO `gpacks_record` ( `guild_id`,`account_id`,`char_id`,`ip`,`time` ) VALUES ( "+.@guild_id+","+getcharid(3)+","+getcharid(0)+",'"+escape_sql( getcharip() )+"',NOW() )" );
  45.  
  46. }else{
  47. message strcharinfo(0),"You already take the guild rewards or someone who have similar IP already took it since "+.@time$+".";
  48. }
  49.  
  50. query_sql( "SELECT `account_id`,`char_id`,`name` FROM `guild_member` WHERE `guild_id` = "+.@guild_id,.@acc_id,.@char_id,.@name$ );
  51. .@size = getarraysize( .@acc_id );
  52. while( .@member < .@size ){
  53. if( .@char_id[.@member] != .@master ){
  54. query_sql( "SELECT `last_ip` FROM `login` WHERE `account_id` = "+.@acc_id[.@member],.@ip$ );
  55.  
  56. if( query_sql( "SELECT `time` FROM `gpacks_record` WHERE `account_id` = "+.@acc_id[.@member]+" OR `char_id` = "+.@char_id[.@member]+" OR `ip` = '"+escape_sql( .@ip$ )+"' ",.@time$ ) ){
  57. message .@name$[.@member],"You already take the guild rewards or someone who have similar IP already took it since "+.@time$+".";
  58. }else{
  59. .@reward = 0;
  60. while( .@reward < .member_reward_size ){
  61. getitem .member_reward[.@reward],.member_reward_qty[.@reward],.@account_id[.@member];
  62. .@reward++;
  63. }
  64. query_sql( "INSERT INTO `gpacks_record` ( `guild_id`,`account_id`,`char_id`,`ip`,`time` ) VALUES ( "+.@guild_id+","+.@acc_id[.@member]+","+.@char_id[.@member]+",'"+escape_sql( .@ip$ )+"',NOW() )" );
  65. }
  66. }
  67. .@member++;
  68. }
  69. query_sql( "UPDATE `guild` SET `gpack` = NOW() WHERE `guild_id` = "+.@guild_id );
  70.  
  71. mes "Rewards has been assigned to all users...users who didnt received the rewards are most probably having the similar IP with other users.";
  72. dispbottom "Member who didnt get the rewards are most probably they have similar IP with other users within the Guild.";
  73. }
  74. }
  75. }
  76. close;
  77.  
  78. OnInit:
  79. // minimum member to online and get the rewards.
  80. .min_online_member = 2;
  81.  
  82. // reward for guild master
  83. setarray .master_reward,512,607,608;
  84. setarray .master_reward_qty,10,20,30;
  85.  
  86. // reward for member master
  87. setarray .member_reward,512,607,608;
  88. setarray .member_reward_qty,1,2,3;
  89.  
  90. .master_reward_size = getarraysize( .master_reward );
  91. .member_reward_size = getarraysize( .member_reward );
  92. end;
  93. }
Advertisement
Add Comment
Please, Sign In to add comment