hi,

i want to try anet so i downloaded the demo but when i close the alert that it will close after 3 mins the screen freezes and i cant do anything and the alert is in the screen as if it is a panel.

main script
Code:
#include <acknex.h>
#include <anet.h>
#include <default.c>
#include <windows.h>
#include <ackphysx.h>
#include <main.h>
#include <kotu_network.c>

function PhysikIntialise()
{
	physX_open();// für Physik !

	pX_setgravity(vector(0,0,-9));
}

function main()
{	
	PhysikIntialise();
	var i;
	fps_max = 60;
	mouse_mode 		= 0;
	video_mode 		= 8;
	video_screen 	= 0;
	

	
	for(i=0;i<4;i++) {players[i] = 0;}
	level_load("");
	
	while(!key_any)
	{
		wait(1);
	}
	
	if(key_s)
	{
		inkey_playername_text.flags |= VISIBLE;
		inkey(playername_input); 
		inkey_playername_text.flags &= ~VISIBLE;	
		enet_initialisieren();
		start_server();
		wait(4);
		start_client(_str("127.0.0.1"));
	}
	else
	{
		inkey_playername_text.flags |= VISIBLE;
		inkey(playername_input); 
		inkey_playername_text.flags &= ~VISIBLE;	
		enet_initialisieren();
		start_client(_str("127.0.0.1"));	
	}
	while(1) 
	{	
		mouse_pos.x = mouse_cursor.x;
      mouse_pos.y = mouse_cursor.y;
      camera.pan -= mouse_intens*mouse_force.x;
      camera.tilt += mouse_intens*mouse_force.y;
      if(camera.tilt > 90 )
      {
      	camera.tilt = 90;
      }
      if(camera.tilt < -90)
      {
      	camera.tilt = -90;	
      }	

      
      wait (1);	
      	
	}
}



main.h
Code:
ENTITY* players[4];
var team1 = 0;
var team2 = 0;
var run 							= 1;
var PlayerinderLuft			= 1;
var anziehung					= 0;
var gravitiy					= 1;
var movement_speed_fb 		=	12; 
var movement_speed_rl   	=  6;
var mouse_intens     		= 4.5;
STRING* playername_input = "#50";

TEXT* inkey_playername_text =
{
	pos_x = 245;
	pos_y = 180;
	layer = 1;
	strings = 2;
	string = "Playername:",playername_input;
}

function start_server();
function start_client(STRING* ip);
function client_disconnected(var sender, STRING* msg, var length);
function connected_with_server(var sender, STRING* msg, var length);
function disconnected_from_server(var sender, STRING* msg, var length);
function synchronizing_complete(var sender, STRING* msg, var length);
function create_player();
function Bewegen();
function disconnected_from_server(var sender, STRING* msg);
function enet_initialisieren();



kotu_network.c
Code:
#include <acknex.h>
#include <anet.h>
#include <main.h>
#include <default.c>
#include <windows.h>
#include <ackphysx.h>


//netzwerk
function enet_initialisieren()
{
	enet_init();
	
	enet_svset_event(EVENT_DISCONNECTED,"client_disconnected");
	enet_clset_event(EVENT_CONNECTED,"connected_with_server");
	enet_clset_event(EVENT_DISCONNECTED,"disconnected_from_server");
	enet_clset_event(EVENT_SYNCHRONIZED,"synchronizing_complete");
	//enet_clset_event(EVENT_LEVEL,"change_level_event");
	
	//enet_svset_event(16,"kick_client");
	//enet_svset_event(17,"receive_chatmsg");
	//enet_clset_event(17,"receive_chatmsg");
}

function start_server()
{
	level_load("media/levels/shooter.wmb");
	wait(3);
	enet_init_server(80,4,"");
	wait(-1);
	enet_set_level("media/levels/shooter.wmb");
}

function start_client(STRING* ip)
{
	enet_init_client(ip,80,"");	
}

function client_disconnected(var sender, STRING* msg, var length)
{
	if(players[sender] != NULL)
	{
		ptr_remove(ptr_for_handle(players[sender].skill[40]));
		enet_ent_remove(enet_ent_globpointer(players[sender]));
		players[sender] = 0;
	}
}

function connected_with_server(var sender, STRING* msg, var length)
{
	enet_set_playername(playername_input); //sets the playername
	
	if(enet_get_connection() == CLIENT_MODE) //if started as client
	{
		level_load(msg); //loads the level which is loaded on the server
		wait(3); //wait until the level is loaded
		enet_ent_synchronize(); //sends a synchronizing request
	}
	else //started as server or server/client
	{
		create_player(); //creates the correct character
	}
}

function disconnected_from_server(var sender, STRING* msg, var length)
{
	if(length == 0)
		error("Lost connection to server!"); //shows a warning on the screen
	else
		error(msg); //show the sent string
	
	sys_exit(NULL);
}

function synchronizing_complete(var sender, STRING* msg, var length)
{
	create_player(); //creates the correct character
}

function follow(ENTITY* ent)
{
	my.pan  	= camera.pan;
	
	vec_set(camera.x,ent.x);		
}

function Bewegen()
{	
	VECTOR player_dist; 
	VECTOR save_pos; 
	VECTOR temp; 
	var save_pan = 0;
	TEXT* name_text; 
	STRING* save_str = "#50";
	
	VECTOR vFeet;
	vec_for_min(vFeet,me);
	my.flags |= SHADOW;
	while(enet_ent_globpointer(my) == ANET_ERROR) {wait(1);} 
	players[enet_ent_creator(enet_ent_globpointer(my))] = my;
	if(enet_ent_creator(enet_ent_globpointer(my)) == enet_get_clientid()) 
	{
		wait(1);
		while(enet_get_clientid() != ANET_ERROR) 
		{
			if(key_shift)
			{
				run = 1.5;	
			}
			else
			{
				if(key_ctrl)
				{
					run = 0.5;	
				}
				else
				{
					run = 1;	
				}
			}
 			VECTOR* mov = vector(0,0,0);
  			if(key_w)mov.x=movement_speed_fb * run*time_step;
  			if(key_s)mov.x=movement_speed_fb/2 *-1*run*time_step;
  			if(key_a)mov.y=movement_speed_rl * run*time_step;
  			if(key_d)mov.y=movement_speed_rl *-1*run*time_step;

 // ANGLE* nothing = camera.pan;
 // nothing.tilt=0;
 			if(c_trace(my.x,vector(my.x,my.y,my.z-40),IGNORE_ME | IGNORE_PASSABLE)){
 				anziehung=0;
 				PlayerinderLuft=0; 	
 		//	c_trace(my.x,vector(my.x,my.y,my.z-1000),IGNORE_ME | IGNORE_PASSABLE);
	//	my.z = hit.z - vFeet.z + 15;
			}	
			else
			{
				anziehung=anziehung+gravitiy;
				PlayerinderLuft=1;
			}
  			vec_rotate(mov,camera.pan);
   		if(key_space && PlayerinderLuft==0)
   		{
   	 		mov.z=5*time_step;
   	 		anziehung=-30;
   	 		PlayerinderLuft=1;
   			mov.z=-1*anziehung*time_step;
			}
			else
			{
   		   mov.z=-1*anziehung*time_step; // must be set, because vec_rotate sets mov.z when the camera looks up/down.
   		}
	
	 	 	pXent_movechar(me, mov, camera.pan, 0);
	
			follow(me); 
		
			if(save_pos.x != my.x || save_pos.y != my.y || save_pos.z != my.z)
			{
				enet_send_pos(enet_ent_globpointer(my),BROADCAST,NULL);vec_set(save_pos,my.x);
			} 
		
			if(save_pan != my.pan) 
			{
				enet_send_angle(enet_ent_globpointer(my),BROADCAST,ONLYSEND_PAN);save_pan = my.pan;
			}
		}
	}
	else 
	{
		name_text = txt_create(2,2);
		name_text.flags |= VISIBLE;
		my.skill[40] = handle(name_text); //saves the handle local
		
		while(my != NULL && enet_get_connection() != NO_CONNECTION && enet_ent_globpointer(my) != ANET_ERROR)
		{
			
			vec_set(temp,my.x);
			vec_to_screen(temp,camera);
			name_text.pos_x = temp.x-20;
		
			if(vec_dist(my.x,camera.x)>1) //no div through 0
			{
				name_text.pos_y = temp.y-250/(vec_dist(my.x,camera.x)*0.01);
			}
			else
			{
				name_text.pos_y = temp.y-300;
			}
			
			enet_get_playername(enet_ent_creator(enet_ent_globpointer(my)),save_str);
			str_cpy((name_text->pstring)[0],save_str);
			
			wait(1);
		}
	}
}

function create_player()
{
	if(team1 <= team2)
	{
		ENTITY* phys=enet_ent_create("media/models/earth.mdl",vector(-3,2439,100),"Bewegen"); // die variable wird nur für die folgenden physikeinstellungen gebraucht
		team1 += 1;
		pXent_settype(phys, PH_CHAR, PH_SPHERE);
		pXent_setfriction (phys,0);
		pXent_setmass( phys, 2 );
	}
	else if(team1 >team2)
	{
		team2 += 1;
		ENTITY* phys=enet_ent_create("media/models/earth.mdl",vector(-3,2439,100),"Bewegen"); // die variable wird nur für die folgenden physikeinstellungen gebraucht
		pXent_settype(phys, PH_CHAR, PH_SPHERE);
		pXent_setfriction (phys,0);
		pXent_setmass( phys, 2 );
	}
}
//netzwerk



any idea? or is it just on my pc?