Hi, ich bin am Proggen eines kleinen MMORPG's popeligen unwichtigen miniatur-online-rollenspiel (<.<) und da hat sich ein kleines Problem aufgetan:
Ich habe versucht, um den Transfer zu reduzieren, nur die Position und den Winkel der Playerentity zu senden. Jedenfalls habe ich diesen Code geschrieben:

Click to reveal..
Code:
#include <acknex.h>
#include <default.c>


function send_pos(my)
{
while(1)
{
if (my.client_id == dplay_id)  
send_skill(my.skill1,SEND_VEC);
send_skill(my.skill4,0);
wait(10);
if (connection & CONNECT_SERVER)
send_skill(my.skill1,SEND_ALL + SEND_VEC);
send_skill(my.skill4,SEND_ALL);
wait(10);
}}

function blop()
{
VECTOR ziel;
var boden=0;
wait(-2);
my.emask |= ENABLE_DISCONNECT;
my.smask |= NOSEND; 
set(my,FLAG2);
vec_set(my.scale_x,vector(0.3,0.3,0.3));
send_pos(my);
while(1)
{

if (my.client_id == dplay_id)  
{
my.pan +=6*(key_cul-key_cur)*time_step;
my.skill4=my.pan;
c_move(my,vector((key_cuu-key_cud)*3*time_step,0,0),nullvector,GLIDE + IGNORE_MODELS);
boden = c_trace(vector(my.x,my.z,my.z+10),vector(my.x,my.z,my.z-1000),IGNORE_MODELS + IGNORE_ME);
if(boden>11)
my.z-=5*time_step;
else
if(boden<9)
my.z+=5*time_step;

vec_set(camera.x,vector(-200*my.scale_x,0,40*my.scale_x));
vec_rotate(camera.x,my.pan);
vec_add(camera.x,my.x);
vec_set(camera.pan,nullvector);
ang_add(camera.pan,my.pan);
vec_set(my.skill1,my.x);
}
else
{vec_set(ziel,my.skill1);	
vec_sub(ziel,my.x);
vec_to_angle(vector(my.pan,0,0),ziel);
my.z=my.skill3;
if(vec_dist(my.x,my.skill1)>2)
c_move(my,vector(3*time_step,0,0),nullvector,GLIDE + IGNORE_MODELS);
else
my.pan=my.skill4;
}


wait(1);
}}





function main()
{
do { wait(1); }
while (dplay_status < 2);
  
max_entities = 99999;
var brx=400;
var bry=400;
wait(3);
d3d_alpharef=1;
fps_max = 100;
video_set(brx,bry,0,2);
video_window(nullvector,vector(brx,bry,0),0,"Cyborgfight");
vec_set(sky_color,vector(100,100,100));

dplay_entrate = -1;  
dplay_smooth = 0;   
dplay_localfunction = 2;
level_load("testlevel.wmb");
vec_set(camera.x, vector (-600, 0, 100)); 

if (connection & CONNECT_SERVER) { 
video_window(0,0,0,"Server");} else { 
video_window(0,0,0,player_name);}

ent_create("blop.mdl",nullvector,blop);

}



Wenn ich nun den Server und zwei Clients starte, wird nun auf dem ersten Client die Playerentity vom zweiten Client nicht mehr erstellt. Ist irgent ein trivialer Fehler aber ich sehe ihn nicht smirk
Vielen Dank für die, die einem armen Noob wie mir helfen laugh
Lg, Hopfel

Last edited by hopfel; 03/12/10 15:47.

Hilf mir, dir zu helfen!