Emistry icon

[RO] Auto Prune Account - SQL -2014

Emistry | PRO | 12/23/16 07:13:15 AM UTC | 0 ⭐ | 808 👁️ | Never ⏰ | []
text |

1.44 KB

|

None

|

0 👍

/

0 👎

  -	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

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎