call_out() returns void, so it can’t be assigned to callout_id. Maybe your call_out is different though - you’d have to look to see if you can get the argument “this_player()” from the callout_id. If you can, this becomes a bit easier.
exec_call_out_now (callout_id);
The main problem is, unless your callout_id contains some way to get the argument this_player() that you passed to the call_out(), you’ll have to use call_out_info() and iterate through all the call_out()s until you find the one you want. It won’t be difficult to iterate though - you know the object, and you know the function.
find_call_out(“aura_end”) can be used to easily determine if there is a call_out to “aura_end”.
remove_call_out(“aura_end”); can be used to abort the scheduled call_out(“aura_end”).
Assuming callout_id isn’t returned by call_out(), the steps you’d take are:
find_call_out(“aura_end”); //to see if there is a pending call - if you want.
foreach call_out_info() and test for the proper object and function call to find what this_player() was when you called the call_out().
remove_call_out(“aura_end”); //So the call_out isn’t executed later.
aura_end(whatever this_player() was when you scheduled the call_out – get this from call_out_info() if you can’t get it from callout_id)