was man machen könnte wäre:
Code:
typedef struct {
	
	unsigned short		fae_castid;			
	char  	                fae_bezeichnung[40];
	unsigned char		fae_schadensart;
	unsigned char		fae_klasse;
	unsigned short		fae_kosten;
	var			fae_castzeit;
	var			fae_cooldown;
	unsigned char		fae_reichweite;
	char 	                fae_icon[20];
	char  	                fae_tooltip[200];
	
} pl_faehigkeit;

typedef struct {
     pl_faehigkeit faehigkeit[MAX_FAEHIGKEITEN];
} pl;

pl _pl[MAX_CONNECTIONS];



allerdings muss ich dazu noch sagen das du die ganzen daten eigentlich vermutlich nciht übers netzwerk schicken musst.

je nach spiel würde es vermutlich reichen die cast-id zu senden.


zu deiner 2. frage, die ich eben übersehen habe:

Das beispiel nutzt die sogenannte "Pointer-Arithmetik", ein feature von c, c++ und anscheind auch lite-c.
Hier eine kleine Einleitung, die leider kein beispiel mit structs macht:
http://manderc.manderby.com/operators/pointerarithmetic/index.php


allerdings hat das manual da meiner meinung nach einen fehler. statt

Code:
enet_send_data(players,sizeof(player_struct),BROADCAST);



müsste die erste zeile der function sending

Code:
enet_send_data(&players,sizeof(player_struct),BROADCAST);



heißen (beachte das &). das gleiche auch bei dem beispiel welches du gepostet hast:

Code:
enet_send_data(&players+sizeof(var),sizeof(var),BROADCAST);





jetzt dazu noch eine kurze erklärung in meinen worten:

&players ist nicht nur der pointer auf die ganze struct, sondern zeigt generell auf den anfang der struct. nimmt man von &players nur 4 Byte (die länge eines vars), so hat man einen pointer auf die var health, die man auch ohne die struct verwenden kann.

&players +sizeof(var) schiebt den pointer nochmal 4 Bytes weiter. Nun zeigt er auf die var armor. nimmt man nur 4 Bytes (die sizeof(var) im längenfeld von enet_send_data), hat man den armor.

Somit kann man teile einer struct senden, ohne sie komplett übertragen zu müssen. einfacher wäre allerdings:
enet_send_data(&(players.armor), sizeof(var), BROADCAST);