Deutsche Tutorial für das 3D-Gamestudio

Dragoron

Grünschnabel
Hallo! Ich habe komme leider nicht weiter. In keinem der Tutorials habe ich eine Antwort gefunden....
Ich versuchs so zu erklären, das es leicht nachvollziehbar ist...
Mein Problem: Ich habe Gamestudio 7 Extra, habe eine Level erstellt und das OLD_A5 Script bei Map Properties eingefügt. Meine Spielfigur läuft, kann schießen alles soweit OK. Bei Choose Action ist eine ganze Liste mit möglichkeiten für Waffen, Medipacks usw. Jetzt kommt das Problem!
Ich habe mehrere Modelle in meinem Level z.B. eine Lampe... Jetzt müsste ich wissen wie ich ein Script, das ich mir selbst geschrieben habe in DIESE "Choose Action" Liste bekomme. Ich habe schon versucht, das ganze im Mainscript auf das andere Script zu verweisen per include <lampe.wdl>; aber da erscheint die Action auch nicht im Leveleditor in der "Choose Action" liste.

Habe bei den Anwendungen schon herumgesucht ob da etwas drinnt steht wie die Actionen in die Liste kommen, habe aber nix gefunden. Ich möchte das ganze nicht im Mainscript schreiben sondern per klick das eigene Script speziell auf das Modell legen.

Vielen Dank im Vorraus für eure Hilfe

Gruß Dragoron
 

Dragoron

Grünschnabel
Hallo! Weiß jemand wie ich dieses Script umschreiben muss, das dass Modell am ende des Weges verschwindet. versuch schon seit 2 Tagen das mit der funktion ent_remove hinzubekommen, klappt aber irgendwie nicht so richtig.

action patrol_path
{
actor_init();

// attach next path
temp.pan = 360;
temp.tilt = 180;
temp.z = 1000;
var node;

//node = c_scan(my.x,my.pan,temp,SCAN_PATHS);
node = path_scan(me,my.x,my.pan,temp);
if (node == 0) { my._MOVEMODE = 0; } // no path found
node = 1; // start at first node

// find first waypoint
ent_waypoint(my._TARGET_X,1);

while (my._MOVEMODE > 0)
{
// find direction
temp.x = MY._TARGET_X - MY.X;
temp.y = MY._TARGET_Y - MY.Y;
temp.z = 0;
result = vec_to_angle(my_angle,temp);

force = MY._FORCE;

// near target? Find next waypoint
// compare radius must exceed the turning cycle!
if (result < 25) {
ent_nextpoint(my._TARGET_X);
//node = path_nextnode(my,node,1);
//path_nodepos(my,node,my._TARGET_X);
}

// turn and walk towards target
actor_turnto(my_angle.PAN);
actor_move();


// Wait one tick, then repeat
wait(1);
}
}
 
J

Jens

Hi,

könnte daran liege das du das ent_remove nicht in deiner funktion nutzt. Denn diese Funktion nicht da ist kann sie ja auch nicht aktiv werden. Du musst dir also was einfallen lassen wann und unter welchen Bedingungen dann die ent_remove(me) (oder so ähnlich war es, siehe Handbuch). Des weiteren gibt es auch eine offizelles 3d Game Studio Forum in den einen Besser geholfen wird.

By
Jens