Gamestudio Links
Zorro Links
Newest Posts
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (AndrewAMD, ChrstphFr), 941 guests, and 4 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Skills an Pathnode abfragen klappt nicht! #132776
05/30/07 20:12
05/30/07 20:12
Joined: Jan 2006
Posts: 168
Germany, Hannover
DexLoomer Offline OP
Member
DexLoomer  Offline OP
Member

Joined: Jan 2006
Posts: 168
Germany, Hannover
Hi Leute!
Ich mochte meine Gegner auf einen Pfad patolieren lassen, den ich im WED erstellt habe.
Das funktioniert auch prima, nur sollen sie auch an bestimmten Node´s anhalten uns pausieren.
Die Skills der Nodes habe ich im WED entsprechend erhöht, aber die Zeilen die diese Werte abfragen sollen klappen nicht!
Im Moment habe ich an der Stelle wo die Standanimation später hinkommt, nur einen Beep() zum Ausprobieren.
Kann mir jemand helfen?



Code:
  
//Var´s für Pathwalk
var force[3];
var aforce[3];
var my_angle[3];
var force;
var ang_fric = 0.6;

var path_skills[6];
/////////////////////////////////////////////////////



Auszug aus Code...
.
.
.
if ( my.pathwalk == 1 )
{
// lass die Entity einen Rundweg folgen
my._FORCE = 5; // Geschwindigkeit der Drehung des Gegners
temp.pan = 360; // finde den Pfad und hänge ihn an die Entity
temp.tilt = 180;
temp.z = 1000;
result = scan_path(my.x,temp);
if (result == 0) { return; } // kein Path gefunden
ent_waypoint(my._TARGET_X,1); // speichere ersten Wegpunkt
while (1)
{
check_state(); // Zustand wird überprüft
if (my.alarm != 0) {break;}

ent_cycle("walk", my.anim_perc % 100); // Hier den Animationsframe angeben
my.anim_perc += 6 * time; // Hier die Geschwindigkeit der Animation ändern
temp.x = my._TARGET_X - my.x; // finde die Richtung zum Wegpunkt
temp.y = my._TARGET_Y - my.y;
temp.z = 0;
result = vec_to_angle(my_angle,temp);
// in Zielnähe? Dann finde den nächsten Wegpunkt

if (result < 25)
{


// DIESE ZEILEN GEHEN NICHT!!!!
path_getnode(me, my._TARGET_X, NULL, path_skills);
if (path_skills[1] != 0)
{
Beep(); // Hier kommt später die `Stand`-Animation
}

ent_nextpoint(my._TARGET_X);
}
// wende und gehe Richtung Ziel
force = my._FORCE;
actor2_turn(); // wende dich dem Wegpunkt zu
actor2_move(); // geh geradeaus
wait(1);
}
}
.
.
.
Auszug aus Code...






A8-Com-v 8.47.1
Re: Skills an Pathnode abfragen klappt nicht! [Re: DexLoomer] #132777
05/31/07 06:32
05/31/07 06:32
Joined: Jan 2006
Posts: 168
Germany, Hannover
DexLoomer Offline OP
Member
DexLoomer  Offline OP
Member

Joined: Jan 2006
Posts: 168
Germany, Hannover
Kann mir jemand einen Tip geben?
Ich denke in meiner ´path_getnode(me, my._TARGET_X, NULL, path_skills);´ Anweisung ist eine Variable falsch.
Aber ich kann den Fehler nicht finden!


A8-Com-v 8.47.1
Re: Skills an Pathnode abfragen klappt nicht! [Re: DexLoomer] #132778
05/31/07 08:54
05/31/07 08:54
Joined: Apr 2002
Posts: 4,801
Richmond B.C., Canada
Captain_Kiyaku Offline

Dichotomic
Captain_Kiyaku  Offline

Dichotomic

Joined: Apr 2002
Posts: 4,801
Richmond B.C., Canada
sicher das im 2. skill auch was drin steht? Falls du nur dem 1. Skill einen wert gegeben hat, sollte das path_skills[0] sein, denke ich mal

ausserdem probier mal ein exit(); anstatt einem beep();, vielleicht geht das beep ja nicht.


My Blog

"Tag und Nacht schrei ich mich heiser,
Wind weht alle Worte fort,
Tag und Nacht schrei ich mein Krähenwort!"

Subway To Sally - Krähenkönig
Re: Skills an Pathnode abfragen klappt nicht! [Re: Captain_Kiyaku] #132779
05/31/07 11:58
05/31/07 11:58
Joined: Jan 2006
Posts: 168
Germany, Hannover
DexLoomer Offline OP
Member
DexLoomer  Offline OP
Member

Joined: Jan 2006
Posts: 168
Germany, Hannover
Jap, Danke für deine Antwort!
Habe zum testen in alle 6 Skills, einer Node, den Wert 100 eingetragen.
Das Beep() hab ich auch erstetzt.
Leider aber beides ohne Erfolg!


A8-Com-v 8.47.1
Re: Skills an Pathnode abfragen klappt nicht! [Re: DexLoomer] #132780
05/31/07 13:23
05/31/07 13:23
Joined: Jan 2007
Posts: 221
F
Fenriswolf Offline
Member
Fenriswolf  Offline
Member
F

Joined: Jan 2007
Posts: 221
Hi,

Du solltest ertmal die alte Syntax deines Scriptes mit den neuen Befehlen ersetzen:
scan_path -> path_scan
ent_waypoint -> path_nodepos
ent_nextpoint -> path_nextnode
Im Handbuch findest du bei path_scan ein entsprechendes Scriptbeispiel!

Quote:

path_getnode(me, my._TARGET_X, NULL, path_skills);



Anstatt my._target_x musst du als zweiten Parameter die Nummer des Knotens angeben. Die erhältst du mit path_nextnode als Rückgabewert.
_target_x bzw. der Vektor in dem die Knotenposition gespeichert werden soll, wird als dritter Parameter (hier anstatt NULL) angegeben.

Re: Skills an Pathnode abfragen klappt nicht! [Re: Fenriswolf] #132781
05/31/07 18:53
05/31/07 18:53
Joined: Jan 2006
Posts: 168
Germany, Hannover
DexLoomer Offline OP
Member
DexLoomer  Offline OP
Member

Joined: Jan 2006
Posts: 168
Germany, Hannover
Hi Fenriswolf, vielen Dank für deine Tips,
aber ich bekomme immer Fehlermeldungen wenn ich die Befehle ersetze.
Kannst Du mir ein Beispiel geben?


A8-Com-v 8.47.1
Re: Skills an Pathnode abfragen klappt nicht! [Re: DexLoomer] #132782
05/31/07 20:24
05/31/07 20:24
Joined: Jan 2007
Posts: 221
F
Fenriswolf Offline
Member
Fenriswolf  Offline
Member
F

Joined: Jan 2007
Posts: 221
Klar, du kannst folgenden Code mal ausprobieren.
Es handelt sich um eine modifizierte Version des Codebeispiels aus dem Handbuch.
Dort funktioniert auch die if-Abfrage der Knoten-Skills, die du einbauen wolltest.

Und ich muss mich verbessern: ent_waypoint muss nicht mit ent_nodepos, sondern mit ent_getnode ausgetauscht werden. Die Function ent_nodepos wird zwar vom Beispielcode im Handbuch benutzt, existiert aber offenbar gar nicht..

Für folgenden Code musst du dir noch einen zusätzlichen Entityskill startklar machen (_node), in dem die Nummer des aktuellen Knotens gespeichert wird.
Code:
 function follow_path
{
// weise Entity dem nächsten Pfad zu
result = path_scan(me,my.x,my.pan,vector(360,180,1000));
if (result == 0) { return; } // kein Pfad gefunden

var angle[3];

// finde den ersten Wegpunkt
my._node = 1;
path_getnode(my,my._node, my._TARGET_X, NULL);

while (my) {

// finde die Richtung
result = vec_to_angle(angle,vec_diff(temp,my._TARGET_X,my.x));

if (result < 25) { // Knoten erreicht

// Skills von erreichten Knoten erhalten
path_getnode(my,my._node, my._TARGET_X, path_skills);

if (path_skills[0] == 12) {
beep;
}

// nächster Knoten
my._node = path_nextnode(my,my._node,1);
path_getnode(my,my._node, my._TARGET_X, NULL); // Koordinaten des Knotens erhalten
}

// zu Knoten drehen & bewegen
vec_set(my.pan, angle);
vec_set(temp, vector(6*time_step,0,0));
vec_rotate(temp, angle.pan);
vec_add(my.x, temp);

wait(1);
}
}



Re: Skills an Pathnode abfragen klappt nicht! [Re: Fenriswolf] #132783
05/31/07 23:07
05/31/07 23:07
Joined: Jan 2006
Posts: 168
Germany, Hannover
DexLoomer Offline OP
Member
DexLoomer  Offline OP
Member

Joined: Jan 2006
Posts: 168
Germany, Hannover
Thank you Fenriswolf !
Hab den Code schon eingestzt und zum laufen gebracht! Bisher funktioniert die Stehanimation, beim erreichen der Node mit Skill, nur im Endlosloop.
Außerdem dreht der Character sich nur sehr eckig um die anderen Nodes.
Aber, dass kriege ich bestimmt noch in den Griff!
Vielen Dank noch einmal ..


A8-Com-v 8.47.1

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

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