I changed it like Roel sujested, but nothing happens, just like before... is the mistake somewhere else?
Code:
BMAP* crosshair_pcx = "crosshair.pcx";
STRING* str_selected_weapon = "selected weapon:";
STRING* str_selected_number = "1";


var v_health = 100; //set Health to 100
var v_selected_wpn = 0; // weapon 1 selected

function switch_weapons()
{
   	v_selected_wpn += 1;
		v_selected_wpn %= 2;
	
	if (v_selected_wpn == 1)
	{
		STRING* str_selected_number = "2";
	}
	if (v_selected_wpn == 0)
	{
		STRING* str_selected_number = "1";
	}
}


TEXT* t_selected_weapon =
{
	pos_x = 0;
	pos_y = 0;
	layer = 1;
	string (str_selected_weapon);
	string (str_selected_number);
	flags = SHOW;
	
}

function main()
{
	video_screen = 1; //fullscreen
   video_mode = 8; // 1024*764
   level_load("Puschel.wmb");
   mouse_mode = 1;
   mouse_map = crosshair_pcx;
   on_q = switch_weapons;
   
   while(1)
   {
   	mouse_pos.x = screen_size.x /2 -bmap_width(crosshair_pcx)/2;// place crosshair in centre
		mouse_pos.y = screen_size.y /2 -bmap_height(crosshair_pcx)/2;// place crosshair in centre
		
		wait (1);
}
	mouse_spot.x = bmap_width(crosshair_pcx)/2;//set mouse pointer hotspot in middle
	mouse_spot.y = bmap_height(crosshair_pcx)/2;//set mouse pointer hotspot in middle
	 	
   }