Hallo JoeIII,

hier wie gewünscht erst einmal der Source-Code zum herunterladen.

PING_PONG_SOURCE

Und hier das Skript das Du noch wolltest.
Code:
 //////////////////////////////////////////////////////////////////////////////

PATH "sprites";
PATH "scripts";
PATH "models";
PATH "levels";
PATH "sounds";



var video_mode = 8; // 1024 x 768 pixels
var video_depth = 32; // 32 bit mode
var video_screen = 1; // full screen mode
var d3d_lightres = 1;


var ball_speed = 60;
var treffer_spieler_1 = 0;
var treffer_spieler_2 = 0;
var level_number = 1;
var ball_pos;
var ball_pan;

//////////////////////////////////////////////////////////////////////////////

font ping_pong1_font = <ping_pong1.pcx>, 25, 19;

//////////////////////////////////////////////////////////////////////////////

string level_wmb = <level.wmb>;
string ball_mdl = <ball.mdl>;

//////////////////////////////////////////////////////////////////////////////

sound wall_wav = <wall.wav>;
sound lost_wav = <lost.wav>;

//////////////////////////////////////////////////////////////////////////////

entity* ball;
entity* player1;
entity* player2;

//////////////////////////////////////////////////////////////////////////////

function balltreffer();
function ball_event();

//////////////////////////////////////////////////////////////////////////////

panel pingpong_pan
{
layer = 15;

digits = 150, 15, 6, ping_pong1_font, 1, treffer_spieler_1;
digits = 605, 15, 6, ping_pong1_font, 1, treffer_spieler_2;
flags = overlay, refresh, visible;
}

text pingpong_txt
{
layer = 15;
pos_x = 5;
pos_y = 15;
font = ping_pong1_font;
flags = visible;
}

//////////////////////////////////////////////////////////////////////////////


function main()
{
fps_max = 100;
if (level_number == 1)
{
level_load(level_wmb);
}

wait (3);
camera.z = 2000; // Kamerahöhe
camera.x = 0;
camera.y = 0;
camera.pan = -90;
camera.tilt = -90;
while (player1 == null || player2 == null) {wait (1);} // Keine Spielerentity ist vorhanden, dann stoppt das Spiel
while (ball == null) {wait (1);} // Keine Ball ist vorhanden, dann stoppt das Spiel
ball.invisible = off;
ball_speed = 60; // Ballgeschwindigkeit
}


action my_paddle_1
{
player1 = my;
my.transparent = on;
my.alpha = 100;
my.enable_impact = on;
my.enable_entity = on;
my.event = balltreffer;
while (1)
{
ent_move(nullvector, vector(0, -90 * mouse_force.y * time, 0));
wait (1);
}
}

action my_paddle_2
{
player2 = my;
my.transparent = on;
my.alpha = 100;
my.enable_impact = on;
my.enable_entity = on;
my.event = balltreffer;
while (1)
{
ent_move(nullvector, vector(0, -80 * (key_cuu - key_cud) * time, 0));
wait (1);
}
}

function balltreffer()
{
proc_kill(4);
snd_play (wall_wav, 50, 0);
my.event = null;
sleep (0.5);
my.event = balltreffer;
}

action my_ball
{
vec_set (ball_pos.x, my.x);
my.invisible = on;
while (mouse_left == 0) {wait (1);}
ball_speed = 60;
my.invisible = off;
randomize();
ball = my;
my.pan = 70 - random(140);
my.enable_block = on;
my.enable_impact = on;
my.enable_entity = on;
my.event = ball_event;
while(1)
{
ball_pan = my.pan;
move_mode = ignore_passable;
ent_move(vector(ball_speed * time, 0, 0), nullvector);
if (my.x < -1024 || my.x > 1024) // Grenzen für Ball im Aus
{
snd_play (lost_wav, 70, 0);
if (my.x < -1024)
{
treffer_spieler_1 += 1; // Erhöhung der Trefferpunkte
}
if (my.x > 1024)
{
treffer_spieler_2 += 1; // Erhöhung der Trefferpunkte
}
ent_create (ball_mdl, ball_pos.x, my_ball); // Ball wird am Anfangspunkt wieder kreiert
ent_remove (my);
return;
}
wait(1);
}
}

function ball_event() // Eventfunktionen des Balles
{
if (event_type == event_block) // Auftreffen des Balles auf Wände
{
snd_play (wall_wav, 50, 0);
}
vec_to_angle (my.pan, bounce);
if(ball_speed < 120) // Stetige Erhöhung der Ballgeschwindigkeit
{
ball_speed += 1;
}
my.tilt = 0; // Keine horizontale Bewegung zulassen.
if ((my.pan > -80) && (my.pan < -100)) // Reduzierung von zu geradlinigem Abprallen von der Wand
{
if (my.pan > -90)
{
my.pan = -80;
}
else
{
my.pan = -100;
}
}
if ((my.pan > 80) && (my.pan < 100)) // Reduzierung von zu geradlinigem Abprallen von der Wand
{
if (my.pan < 90)
{
my.pan = 80;
}
else
{
my.pan = 100;
}
}
my.pan += 1 - random(2); // Zufällige Erhöhung der Pan-Wertes um gleichbleibende Bewegung zu verhindern
}



MFG

ARAS