- script auto_prune_sql -1,{
OnMon0000: // every monday ( weekly )
// OnClock0000: // everyday ( daily )
query_sql( "SELECT `account_id` FROM `login` WHERE DATEDIFF( NOW(),`lastlogin` ) > 30 )",.@aid );
.@size = getarraysize( .@aid );
while( .@acc < .@size ){
.@char_id = "";
query_sql( "SELECT `char_id` FROM `char` WHERE `account_id` = "+.@aid[.@acc],.@char_id$ );
.@char_size = getarraysize( .@char_id$ );
if( .@char_size ){
if( .@char_size > 1 )
.@char_id$ = implode( .@char_id$,"," );
for( .@sql = 0; .@sql < .char_sql_table_size; .@sql++ )
query_sql( "DELETE FROM `"+.char_sql_table$[.@sql]+"` WHERE `char_id` IN ( "+escape_sql( .@char_id$ )+" )" );
}
for( .@sql = 0; .@sql < .acc_sql_table_size; .@sql++ )
query_sql( "DELETE FROM `"+.acc_sql_table$[.@sql]+"` WHERE `account_id` = "+.@aid[.@acc] );
.@acc++;
}
end;
OnInit:
setarray .acc_sql_table$,
"guild_expulsion",
"storage",
"account_data",
"acc_reg_num_db",
"acc_reg_str_db",
"login";
.acc_sql_table_size = getarraysize( .acc_sql_table$ );
setarray .char_sql_table$,
"cart_inventory",
"char",
"elemental",
"friends",
"hotkey",
"guild_id",
"guild_member",
"homunculus",
"inventory",
"sc_data",
"memo",
"mercenary",
"mercenary_owner",
"pet",
"quest",
"skill",
"char_reg_num_db",
"char_reg_str_db",
"autotrade_merchants",
"autotrade_data";
.char_sql_table_size = getarraysize( .char_sql_table$ );
end;
}
Comments
0 B
|👍
/👎