ok sind schon mal ein paar errors weg, aber dafür sind andere dazugekommen.
Aber kannst du mit diesen code was anfangen??? (Es geht prima!!):


include<cameras.wdl>;



var video_mode = 7;
var video_depth = 16;
var player_movement;
var jump_speed = 2;
var jump_height = 10;
var jump_time = 1;


var hold_vertex;
var holding=0;
var myspeed;

string lvl_wmb=<lvl.wmb>;



function my_gravity();
function my_jump();
function grabme();


function main()
{
clip_size = 0;
clip_range =2000;
fps_max = 90;
camera.arc=80;
level_load(lvl_wmb);
sleep(1);
}

action bart
{
player=me;
init_camera();
my.event = null;
my_jump();
my_gravity();
my.albedo=0;
my.ambient=-50;
camera.z=my.z+40;
camera.tilt=-10;
my.enable_entity=on;
//my.trigger_range=100;
myspeed=8;
while (1)
{

trace_position=camera_distance+20;
vec_set (temp, my.x);temp.x -= trace_position*cos(camera.pan);temp.y -= trace_position*sin(camera.pan);temp.z = camera.z+10;
trace_mode = ignore_me + ignore_models+ ignore_passable + use_box;
if (trace (my.pos,temp) != 0)&&(camera_distance>10){camera_distance-=20*time;}

trace_position2=camera_distance+40;
vec_set (temp, my.x);temp.x -= trace_position2*cos(camera.pan);temp.y -=trace_position2*sin(camera.pan);temp.z = camera.z+10;
trace_mode = ignore_me + ignore_models + ignore_passable + use_box;
if (trace (my.pos,temp) == 0)&&(camera_distance<maxcam_distance) {camera_distance+=6*time;}



//my.pan += 10 *(key_a - key_d) * time;
//my.pan -= 4 *mouse_force.x;
if(holding==0)
{

if ((key_w == 1) || (key_s == 1))
{

if(myspeed<16)
{
myspeed+=.5*time;
}
else
{
myspeed=16;
}
my.pan=camera.pan;
ent_cycle("walk", my.skill20);
my.skill20 += myspeed * time;
if (my.skill20 > 100) {my.skill20 = 0;}
}
else
{
myspeed=8;
ent_cycle("stand", my.skill20);
my.skill20 += 1 * time;
if (my.skill20 > 100) {my.skill20 = 0;}
}
on_mouse_right = my_jump;
}

if (jump_time !=1)
{
ent_cycle("jump", my.skill20);
my.skill20 += 1 * time;
if (my.skill20 > 100) {my.skill20 = 0;}
}



if(holding==1)
{
myspeed=8;
if ((key_w == 1) || (key_s == 1))
{
my.pan=camera.pan;
ent_cycle("walkhold", my.skill20);
my.skill20 += myspeed * time;
if (my.skill20 > 100) {my.skill20 = 0;}
}
else
{
ent_cycle("grabup", my.skill20);
my.skill20 += 1 * time;
if (my.skill20 > 100) {my.skill20 = 0;}
}

}

if (key_e == 1)
{

ent_cycle("crouch", my.skill20);

}
player_movement.x = myspeed * (key_w-key_s) * time;

my_gravity();
move_mode = IGNORE_YOU +ignore_passable+ use_box+ GLIDE;
result = ent_move(player_movement, nullvector);
wait(1);
}
}





action pickup_act
{
vec_set (temp, my.x);
temp.z -= 2000;
trace_mode = ignore_me + ignore_sprites + ignore_models + use_box;
my.z- = trace(my.x, temp);
my.ambient = -50;
my.albedo=0;
while (player==null){wait(1);}
my.enable_impact=on;
my.event=grabme;
}






function my_gravity()
{
vec_set (temp, my.x);
temp.z -= 2000;
trace_mode = ignore_me + ignore_sprites + ignore_models + use_box;
my.skill11 = trace(my.x, temp);
if (my.skill11 > 2)
{
player_movement.z -= .8 * time;
}
else
{
if (jump_time == 1)
{
player_movement.z = 0;
}
}
if (my.skill11 < 0)
{
player_movement.z += 6 * time;
}
}

function my_jump()
{
exclusive_global;
jump_time = 1;
while (jump_time > -1)
{
on_mouse_right = null;
player_movement.z = jump_height * time * jump_time;
jump_time -= 0.14 * time;
wait (1);
}
jump_time = 1;
}








function grabme()
{
my.event=null;
if(holding==0)
{

while(vec_dist(my.x,player.x)<50)&&(holding==0)
{
if (key_e == 1)
{
if(holding==0)
{
holding=1;
}
else
{
holding=0;
}
while (key_e==1)
{
vec_for_vertex(hold_vertex,player,1499);
my.x=hold_vertex.x;my.y=hold_vertex.y;my.z=hold_vertex.z;my.pan=player.pan;
wait(1);
}
}
wait(1);
}


while (holding==1)&&(vec_dist(my.x,player.x)<50)
{
proc_late();
vec_for_vertex(hold_vertex,player,1499);
my.x=hold_vertex.x;my.y=hold_vertex.y;my.z=hold_vertex.z;my.pan=player.pan;

if (key_e == 1)
{
if(holding==0)
{
holding=1;
}
else
{
holding=0;
}
while (key_e==1)
{
vec_for_vertex(hold_vertex,player,1499);
my.x=hold_vertex.x;my.y=hold_vertex.y;my.z=hold_vertex.z;my.pan=player.pan;
wait(1);
}
}


wait(1);
}
vec_set (temp, my.x);
temp.z -= 200;
trace_mode = ignore_me +ignore_sprites +ignore_models + use_box;
my.z- = trace(my.x, temp);
wait(1);
vec_set (temp, my.x);
temp.z -= 200;
trace_mode = ignore_me +ignore_sprites +ignore_models + use_box;
my.z- = trace(my.x, temp);
}


my.event=grabme;
}



wenn du den include<cameras.wdl> sehen wilst dan schreib es mir.

Last edited by MDMDFSS; 09/17/08 17:51.