Gamestudio Links
Zorro Links
Newest Posts
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/22/24 13:41
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
0 registered members (), 803 guests, and 6 spiders.
Key: Admin, Global Mod, Mod
Newest Members
AemStones, LucasJoshua, Baklazhan, Hanky27, firatv
19056 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
multiplayer structs #237337
11/19/08 18:03
11/19/08 18:03
Joined: Aug 2003
Posts: 127
Berlin, Germany
C
CHaP Offline OP
Member
CHaP  Offline OP
Member
C

Joined: Aug 2003
Posts: 127
Berlin, Germany
HEY !!

Der Multiplayer mal wieder.
Ist mir immer noch ein Rätsel, was ich nicht verstehe.

Schaut euch mal bitte den Code an.
Was muss geändert werden, damit die Player richtig synchronisiert werden?

Code:
typedef struct PLAYER
{
	var Handle;
	var X;
	var Y;
	var Z;
	var Pan;
} PLAYER;
////////////////////////////////////////////////////////////////////////////////////
void ManipulateMovement(PLAYER* Player)
{
	Player.X += (key_w - key_s);
	Player.Y += (key_a - key_d);
	Player.Pan += (key_q - key_e);
	send_data_to(NULL,Player,sizeof(PLAYER));
}
////////////////////////////////////////////////////////////////////////////////////
void MakeMovement(PLAYER* Player)
{
	c_move((ptr_for_handle(Player.Handle)),(vector(Player.X,Player.Y,Player.Z)),nullvector,NULL);
	Player.X = 0;
	Player.Y = 0;
	Player.Z = 0;
	p4Euler = ptr_for_handle(Player.Handle);
	p4Euler.pan = Player.Pan;
	p4Euler = 0;
}
////////////////////////////////////////////////////////////////////////////////////
void InitiatePlayer(PLAYER* Player,ENTITY* pPlayer)
{
	Player.Handle = handle(pPlayer);
	Player.X = 0;
	Player.Y = 0;
	Player.Z = 0;
	Player.Pan = 0;
	send_data_to(NULL,Player,sizeof(PLAYER));
	while(1)
	{
		ManipulateMovement(Player);
		MakeMovement(Player);
		wait(1);
	}
}
////////////////////////////////////////////////////////////////////////////////////
void main()
{
...
	PLAYER* MyPlayer = malloc(sizeof(PLAYER));
	my = ent_create("player_1.mdl",vector(0,0,130),NULL);
	wait(1);
	InitiatePlayer(MyPlayer,my);
...
}


Ich glaub, der erste Fehler ist schon, das die structs lokal erzeugt werden, oder?
Des weiteren, fehlt dem Player-Entity die eigene Funktion, was bestimmt wichtig wäre.

Übergebe ich der Player-Entity eine Funktion beim erzeugen, kennt diese dann den struct-Zeiger 'Player' nicht mehr. Somit wäre ich wieder bei dem lokal erzeugtem struct Problem.


EDIT:
Das Ziel ist also, einen struct zu benutzen, für mehrere verschiedenen Player.

Ein Player wird erzeugt, bekommt einen struct und alle Werte die sich nun für den Player ändern, sind auf seinen struct zurück zuführen.

Beispiel:
Anstatt die my.Skill Werte der jeweiligen Entity zu verändern, um diese dann z.B. für die Bewegung zu benutzen, möchte ich stattdessen Werte in einem struct verändern.

Anders gesagt, soll sogut wie jedes Objekt, in der 3D-Welt, dann später auf einem struct Objekt basieren.


Wie ich die Skill's von Entitys synchronisieren weiss ich, aber mit den struct klappts nicht wirklich.
Mir fehlt da noch etwas die Vorstellung dafür.

Vielleicht kann mir da jemand mit einem einfachen Beispiel helfen.

Re: multiplayer structs [Re: CHaP] #237493
11/20/08 10:56
11/20/08 10:56
Joined: Jun 2001
Posts: 1,004
Dossenbach
N
nfs42 Offline
Serious User
nfs42  Offline
Serious User
N

Joined: Jun 2001
Posts: 1,004
Dossenbach
du hast den struct lediglich versendet.
du mußt die daten im empfänger noch verarbeiten
//receiving data
function on_client_event(void* buffer)
{
if (event_type == EVENT_DATA)
{
// struct to entity code
}
}


Andreas
GSTools - Home of
GSTScript 0.9.8: lua scripting for A6/7/8
GSTNet 0.7.9.20: network plugin for A6/7/8
GSTsqlite 1.3.7: sql database plugin for A6/7/8
3DGS Codebase: 57 snippets || 3DGS Downloads: 248 files
Re: multiplayer structs [Re: nfs42] #238928
12/01/08 08:37
12/01/08 08:37
Joined: Aug 2004
Posts: 1,305
New York
PrenceOfDarkness Offline
Serious User
PrenceOfDarkness  Offline
Serious User

Joined: Aug 2004
Posts: 1,305
New York
If you could write this in english maybe I could helpy ou some how because I've been dealing alot with this lately.


"There is no problem that can't be solved with time and determination." -me
prenceofdarkness for instant messages on AIM.

Looking for a model designer
PLEASE, SEND ME A PRIVATE MESSAGE OR EMAIL IF YOU'RE INTERESTED.

Moderated by  HeelX, Spirit 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1