Code:
#include <acknex.h>
#include <anet.h>

void main()
{
	level_load("");
	wait(3);
	enet_init();
	enet_clset_event(EVENT_DISCONNECTED, "ev_cl_disconnected");
	while(1)
	{
		if(key_1)
		{
			enet_init_server(2300, 4, "");
			while(key_1) wait(1);
		}
		if(key_2)
		{
			enet_init_client("localhost", 2300, "");
			while(key_2) wait(1);
		}
		if(key_d)
		{
			enet_disconnect_client(0, "Disconnected");
			while(key_d) wait(1);
		}
		wait(1);
	}
}

void ev_cl_disconnected(var sender, STRING* msg)
{
	STRING* test_str = str_create("#100");
	str_cpy(test_str, msg);
	error(test_str);
}



The code above works just fine for me.
If I do it this way:

Code:
void ev_cl_disconnected(var sender, STRING* msg)
{
	STRING* test_str = str_create(msg);
	error(test_str);
}



Then there is no zero termination at the end of the string => random characters after the original text.


ANet - A stable and secure network plugin with multi-zone, unlimited players, voip, server-list features,... (for A7/A8)!
get free version