Advertisement
Emistry

[RO] Auto Prune Account - SQL -2014

Dec 23rd, 2016
556
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1.  
  2.  
  3. - script auto_prune_sql -1,{
  4. OnMon0000: // every monday ( weekly )
  5. // OnClock0000: // everyday ( daily )
  6.  
  7. query_sql( "SELECT `account_id` FROM `login` WHERE DATEDIFF( NOW(),`lastlogin` ) > 30 )",.@aid );
  8. .@size = getarraysize( .@aid );
  9. while( .@acc < .@size ){
  10. .@char_id = "";
  11. query_sql( "SELECT `char_id` FROM `char` WHERE `account_id` = "+.@aid[.@acc],.@char_id$ );
  12. .@char_size = getarraysize( .@char_id$ );
  13.  
  14. if( .@char_size ){
  15. if( .@char_size > 1 )
  16. .@char_id$ = implode( .@char_id$,"," );
  17.  
  18. for( .@sql = 0; .@sql < .char_sql_table_size; .@sql++ )
  19. query_sql( "DELETE FROM `"+.char_sql_table$[.@sql]+"` WHERE `char_id` IN ( "+escape_sql( .@char_id$ )+" )" );
  20. }
  21.  
  22. for( .@sql = 0; .@sql < .acc_sql_table_size; .@sql++ )
  23. query_sql( "DELETE FROM `"+.acc_sql_table$[.@sql]+"` WHERE `account_id` = "+.@aid[.@acc] );
  24. .@acc++;
  25. }
  26. end;
  27.  
  28. OnInit:
  29. setarray .acc_sql_table$,
  30. "guild_expulsion",
  31. "storage",
  32. "account_data",
  33. "acc_reg_num_db",
  34. "acc_reg_str_db",
  35. "login";
  36. .acc_sql_table_size = getarraysize( .acc_sql_table$ );
  37.  
  38. setarray .char_sql_table$,
  39. "cart_inventory",
  40. "char",
  41. "elemental",
  42. "friends",
  43. "hotkey",
  44. "guild_id",
  45. "guild_member",
  46. "homunculus",
  47. "inventory",
  48. "sc_data",
  49. "memo",
  50. "mercenary",
  51. "mercenary_owner",
  52. "pet",
  53. "quest",
  54. "skill",
  55. "char_reg_num_db",
  56. "char_reg_str_db",
  57. "autotrade_merchants",
  58. "autotrade_data";
  59. .char_sql_table_size = getarraysize( .char_sql_table$ );
  60. end;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement