Waffe soll player folgen

Posted By: TheShooter

Waffe soll player folgen - 11/09/10 14:07

Hi,
ich habe mir eine Axt von Acknex Unlimited runtergeldaen, sie in MED geöffnet, und in die richtige Position gebracht. So, wie bekomme ich das jetzt nun hin, ohne Templates, dass die Waffe dem Player folgt?? Ich benutze die Ego-Ansicht, wenn ihr den Playercode braucht, sagt bescheid.
mfG TheShooter :-)
Posted By: Anonymous

Re: Waffe soll player folgen - 11/09/10 14:15

keine ahnung wie viele möglichkeiten es da gibt, aber ich kenn nur die möglichkeit ein "View-Entity" zu definieren. Gibts es bestimmt genug im Forum darüber schon.
Ob es aber eine bessere, aktuellere Möglichkeit gibt, das weiss ich leider nicht.
Posted By: Potter_deluxe

Re: Waffe soll player folgen - 11/09/10 14:54

vec_set(dein_entity.x,camera.x);
vec_to_angle(dein_entity.pan,camera.pan);
vec_set(dein_entity.pan,camera.pan);

Das schmeißt du in deine Waffenfunktion.
PS. Hab gehört AUM´s können weiterhelfen!
Posted By: TheShooter

Re: Waffe soll player folgen - 11/09/10 14:56

soll ich das alles in eine action packen, und dann der Axt zuweisen? Oder wie?
Hab davon leider keine Ahnung. Könntest du mir mal ein Musterbeispiel schreiben?? also ich weiß nich was hinter x kommt und so tongue Hab auch grad mein handbuch verlegt...
wäre schön tongue
Posted By: Potter_deluxe

Re: Waffe soll player folgen - 11/09/10 15:14

function place_axt()
{
proc_mode = PROC_LATE;
while(player != NULL)
{
vec_set(dein_entity.x,camera.x);
vec_to_angle(dein_entity.pan,camera.pan);
vec_set(dein_entity.pan,camera.pan);
wait(1);
}
}

action dein_player()
{
ent_create("dein.mdl",nullvector,place_axt);
// dein player code
}
Posted By: Potter_deluxe

Re: Waffe soll player folgen - 11/09/10 15:15

so sollte es funktionieren falls ich in der eile nichts vergessen hab^^
Posted By: TheShooter

Re: Waffe soll player folgen - 11/09/10 19:41

Hi,
leider bekomme ich immer noch Errors. (Undeclared)
Das ist in meinem Playercode. (chopper.mdl ist meine Axt)
action player_walk()
{
ent_create("chopper.mdl",nullvector,place_axt);
my.health=100;
player = me;
my.eflags |= FAT | NARROW;
set(my, FLAG2);
my.emask |= ENABLE_IMPACT;
set(my,INVISIBLE);
while(my.health>0)
...........


Das ist in meiner Axt.c. Oder soll ich das in meine main schreiben?
function place_axt()
{
proc_mode = PROC_LATE;
while(player != NULL)
{
vec_set(chopper.mdl.x,camera.x);
vec_to_angle(chopper.mdl.pan,camera.pan);
vec_set(chopper.mdl.pan,camera.pan);
wait(1);
}
}

Hast du eine Ahnung??
mfG TheShooter :-)
Posted By: Potter_deluxe

Re: Waffe soll player folgen - 11/10/10 07:13

vec_set(chopper.mdl.x,camera.x); << steht das so in deinem Script?
Du musst da noch ein Entity definieren:
ENTITY* axt_ent;
vec_set(axt_ent.x,camera.x); ...usw.
function place_axt()
{
axt_ent = me;
//und der restliche code
Posted By: JoGa

Re: Waffe soll player folgen - 11/10/10 09:39

naja, er kann doch einfach auch den my-pointer der Axt nehmen, dann müsste er nicht extra nen Pointer definieren, oder?

while(player != NULL)
{
vec_set(my.x,camera.x);
vec_to_angle(my.pan,camera.pan);
vec_set(my.pan,camera.pan);
wait(1);
}

und bevor man das Axtentity in der Spieleraktion erschafft, müsste meines Wissens noch player = me davor, sonst fällt die Axt beim ersten mal der while(player != NULL)-Abfrage durch und macht nichts mehr.
Posted By: TheShooter

Re: Waffe soll player folgen - 11/10/10 12:54

Hi,
also ich habe jetzt in meinem Axt.c Script folgenes:
ENTITY* axt_ent;
vec_set(axt_ent.x,camera.x);
function place_axt()
{
axt_ent = me;
proc_mode = PROC_LATE;
while(player != NULL)
{

vec_set(chopper.mdl.x,camera.x);
vec_to_angle(chopper.mdl.pan,camera.pan);
vec_set(chopper.mdl.pan,camera.pan);
wait(1);
}
}


ENTITY* axt_ent;
vec_set(axt_ent.x,camera.x);
function place_axt()
{
axt_ent = me;

So.....

Und in meinem playercode folgenes:
action player_walk()
{
ent_create("chopper.mdl",nullvector,place_axt);
my.health=100;
player = me;
my.eflags |= FAT | NARROW;
set(my, FLAG2);
my.emask |= ENABLE_IMPACT;
set(my,INVISIBLE);
while(my.health>0)
{
player_health=my.health;
handle_gravity(); // gravity
handle_movement(); // movement
my_speed = c_move(my,dist,absdist,IGNORE_PASSABLE|GLIDE);
handle_camera(); // camera function
wait(1);
}
player_health=0;
...........
Da ist nur das ent_create neu.
Leider bekomme ich jetzt folgenen Error: place_axt undeclared identifier.
Jemand eine Idee??
Posted By: Potter_deluxe

Re: Waffe soll player folgen - 11/10/10 13:19

die funktion place_axt() muss vor die player action und ersetze mal bitte dein "chopper.mdl" in deiner axt funjtion durch my...ach ja und player = me schmeiss ma über das ent_create gedönst^^
Posted By: Anonymous

Re: Waffe soll player folgen - 11/10/10 13:24

oh je,
ich bein kein scripting experte, aber ich versuch mal zu helfen.

ENTITY* axt_ent;
//das gehört ganz am anfang des scriptes


//vec_set(axt_ent.x,camera.x);
//diese zeile hat hier ALLEINE (?!) nichts verloren

function place_axt()
{
axt_ent = me;
proc_mode = PROC_LATE;
while(player != NULL)
{

vec_set(my.x,camera.x);
vec_to_angle(my.pan,camera.pan);
vec_set(my.pan,camera.pan); //macht das sinn??
wait(1);
}
}
Posted By: TheShooter

Re: Waffe soll player folgen - 11/10/10 13:38

hmm... geht immer noch nicht. Hab das jetzt so:
in der Axt.c:

ENTITY* axt_ent;
vec_set(axt_ent.x,camera.x);
function place_axt()
{
axt_ent = me;
function place_axt()
{
axt_ent = me;
proc_mode = PROC_LATE;
while(player != NULL)
{

vec_set(my.x,camera.x);
vec_to_angle(my.pan,camera.pan);
vec_set(my.pan,camera.pan);
wait(1);
}
}



In dem Playercode:

action player_walk()
{
player = me;
ent_create("chopper.mdl",nullvector,place_axt);
my.health=100;
player = me;
my.eflags |= FAT | NARROW;
.......

Ich find einfach das Problem nicht frown

Vielleicht könnte jemand mir das script so schreiben, dass ich es nur noch einfügen muss.... Wäre sehr sehr sehr hilfreich tongue

Ach und, ich include die Axt.c vor der Player.c
mfG TheShooter :-)



Posted By: Anonymous

Re: Waffe soll player folgen - 11/10/10 13:41

Sag mal, liest du nicht genau??

Originally Posted By: TheShooter

ENTITY* axt_ent;
vec_set(axt_ent.x,camera.x);
function place_axt()
{
axt_ent = me;
function place_axt()
{
axt_ent = me;
proc_mode = PROC_LATE;
while(player != NULL)
{

vec_set(my.x,camera.x);
vec_to_angle(my.pan,camera.pan);
vec_set(my.pan,camera.pan);
wait(1);
}
}


was soll das so??? Ich weiss nicht viel über scripting, aber so viel das das da oben einfach nicht funktionieren kann.
Lerne noch etwas, oder lies dir meinen vorrigen Post besser durch.
Posted By: JoGa

Re: Waffe soll player folgen - 11/10/10 13:41

kenn mich nur in wdl aus, aber da wars so, dass man den Befehl vec_set(axt_ent.x,camera.x); nicht einfach so schreiben konnte, der muss in ne funktion.
Und logischerweise (wenn deine spielfigur bewegt wird) muss das auch jedes frame ausgeführt werden, also in ne while(1)-loop oder besser while(player!=null) rein.

und warum hast du 2x pace_axt definiert?
einmal oben, dann nochmal in der mitte:
Code:
ENTITY* axt_ent;
vec_set(axt_ent.x,camera.x);
function place_axt()
{
axt_ent = me;

So.....



und der kommentar so..... muss mit // auskommentiert werden

mach das doch einfach so:
Code:
function axt_function()
{
my.passable = on; //wdl, in c-lite iwie anderst
while(player!=null) //solang Spieler existiert
{
 vec_set(my.x,camera.x);
 vec_to_angle(my.pan,camera.pan);
 vec_set(my.pan,camera.pan);
 wait(1);
}
}

action spieler()
{
player = me;
ent_create("dein_axt_modell.mdl",nullvector, axt_function);
//grosses blabla
}


Aber bei ner Egoperspektive solltest du dir besser das mit den View-entities durchlesen und die an den x-y-Koordinaten des Bildschirmes ausrichten, und nicht an den Weltkoordinaten der Kamera, falls ich mich nicht irre (mache eig. nie was mit View-entities, saher sollte dir lieber jmd anderees n Beispiel dafür zeigen. Oder am besten schaust du im manual bei den view-entities nach)
Posted By: Potter_deluxe

Re: Waffe soll player folgen - 11/10/10 14:08

my.passable = on; ersetze einfach mit set(my,PASSABLE);
VIEW - entitys reagieren meines wissens nach nicht auf licht mit shadern (specular bumpmapping) oder schatten usw. oder täusche ich mich da?!
Posted By: TheShooter

Re: Waffe soll player folgen - 11/10/10 14:24

Hi,
also ich habe jetzt erstmal alles neu gemacht, und zwar so:

In der Axt.c:

ENTITY* ent_gun;

function Waffen_initialisieren()
{
ent_create("chopper.mdl",nullvector,gun_point);
}



function gun_point()
{
my.invisible = off;
ent_gun = me;
affenpositionierung()
}

function Waffen_positionierung()
{
my.scale_x = 1;
my.scale_y = 1;
my.scale_z = 1;
my.passable = on;
my.metal = on;
my.albedo = 50;

while(1)
{
vec_set(my.x,camera.x);
vec_to_angle(my.pan,camera.pan);
vec_set(my.pan,camera.pan);
wait(1);
}
}

//So...



Und mehr habe ich auch nicht. Ich habe jetzt das ent_create nicht im playercode. Nun bekomme ich keine Errors, aber die Axt taucht nicht auf.....
hab echt keine ahnung frown
mfG TheShooter tongue


Posted By: TheShooter

Re: Waffe soll player folgen - 11/10/10 14:25

Ne du täuscht dich nicht, deshalb möchte ich auch möglichst ein Modell verwenden.....
Posted By: JoGa

Re: Waffe soll player folgen - 11/10/10 14:51

ich versteh dich langsam echt nicht -.-
warum machst du es nicht so, wie wir dir gesagt haben, so klappts.

Fehler in deinem Code:
- einmal wird Waffen_positionierung in der funktion gun_point als "affenpositionierung" aufgerufen - das geht nicht, gleicher name muss sein.
- my.invisible=off kannst du dir schenken, wir standardmäßig beim kreieren angeschalten, sowie my.scale_x = 1; ist auch Standard, kannst auch weglassen. Es sei denn, diese Eigenschaften werden später nochmal ingame verändert, und um die veränderungen rückgängig zu machen, willst du die funktion nochmal aufrufen - aber das nem ich nicht an, dass du das willst, das führt oft zu Kuddelmuddel.
- wird Waffen_initialisieren von deiner spieler-aktion aufgerufen?

schau doch als nochmal über deinen Code, wenn was nicht stimmt und vollziehe den Weg der engine durch deinen code nach - dann wirst du meist die Fehler selbst finden.

Hoffe, das half. Aber wie gesagt, eig. müsste das Beispiel von Potter_delux, Chris_oat und mir eigentlich funktionieren, und es wäre weniger Spagetticode.
Posted By: TheShooter

Re: Waffe soll player folgen - 11/10/10 15:00

Leider habe ich den code davor nicht gecheckt. In dem playercode kam immer der error place_axt undecladed idntifier.
Und bei "affenpositionierund tongue " hab ich mich verschrieben ...
Naja, aber theoretisch müsste es doch auch so gehen??
Ich verstehe das grad nicht. Was ist denn jetzt konkret an meinem Code falsch, bzw. was fehlt??
jedenfalls habe ich jetzt gun_point vor waffen_intialisieren gesetzt, aber ohne wirkung.
Muss ich denn im WED irgendeine function zuweisen??
Das habe ich ja bei ent_create schon gemacht.

Posted By: Potter_deluxe

Re: Waffe soll player folgen - 11/10/10 15:14

function Waffen_positionierung()
{
my.passable = on;
my.metal = on;
my.albedo = 50;
while(1)
{
vec_set(my.x,camera.x);
vec_to_angle(my.pan,camera.pan);
vec_set(my.pan,camera.pan);
wait(1);
}
}

action player_act
{
player = me;
ent_create("chopper.mdl",nullvector,Waffen_positionierung);
while (player !=NULL)
{
wait(1);
}
}
ersetze dein code oben durch dies hier...
so klappts auf jedem fall hab´s sogar getestet...ich denke da gibts noch was anderes in deinem code was net so ganz hinhaut...(evtl auch position der waffe in MED usw.)
Posted By: TheShooter

Re: Waffe soll player folgen - 11/10/10 15:45

Hi,
Der Code macht keine Errors, aber ich sehe die Axt immer noch nicht. frown
Ich habe von der positionierung in MED ein Video auf Youtube hochgeladen. klick
Ist sogar in 1080p, da sollte kein Detail verloren gehen tongue

EDIT: Ich brauche doch nicht unbedingt animationen, dass die waffe vor mir erscheint? ich will nämlich erstmal nur testen, wie so etwas geht. ich habe jetzt auch keinen weiteren code für die axt. nur den du gepostet hast ...
mfG TheShooter
Posted By: JoGa

Re: Waffe soll player folgen - 11/10/10 16:06

gabs da nicht ein parameter, der zu nahe entities an der Kamera weg-klippt?
Frag mich nicht wie der hieß -.- vll. weis es jmd, kA, ob dsa hilft - zum test könntest du dein Entity etwas verschieben, oder du machst folgendes:
statt "vec_set(my.x,camera.x);" schreibst du "vec_set(my.x,player.x);"
dann kommentierst du dein Kamera-Code aus bzw. machst sie beweglich, sodass sie unabhängig von der spielfigur bewegbar ist. Dann kannst du in deinem Spiel mit der Kamera etwas wegfahren, um zu schauen, ob die Axt am Spieler hängt, oder ob sie vll. hinter ihm bzw. so an ihm hängt, dass man das durch die Kamera nicht sieht.
Aber das einfachste wäre vll. erstmal, die Axt im Modelleditor etwas vorzu schieben, oder einige andere kleine Meshes einzufügen, die weiter weg sind; das modell speichern und dann im spiel schaun, ob die meshes zu sehen sind.
Was anderes fällt mir im Moment leider nicht ein.
Posted By: TheShooter

Re: Waffe soll player folgen - 11/10/10 16:17

Oder liegt es dara, dass ich das vor dem level_load includet hab, weil man kann ja nicht vor dem level_load entitys createn....
EDIT:
Wenn ich Axt.c in der main include bekomme ich immer folgendes: passable is not a member of entity, function waffenpositionierung undeclared identifier.... usw.
wenn ich es aber vor der main include dann nicht.
ps ich benutze void main.
Posted By: Potter_deluxe

Re: Waffe soll player folgen - 11/10/10 16:21

>>gabs da nicht ein parameter, der zu nahe entities an der Kamera weg-klippt?<<

camera.clip_near = 0;// erlaubt sehr nahes Herangehen an Objekten

ansonsten wie JoGa schon gesagt hat model einfach mal verschieben
Posted By: TheShooter

Re: Waffe soll player folgen - 11/10/10 17:08

Hilft leider nicht. weder das verschieben, noch das mit camera_clip... (was ich schon probiert hatte tongue Und das ausklammern der camera in meinem playercode ist sehr komplex, denn damit ist jump crawl, prone, usw verknüpft.....
Woran kann das denn liegen? ich hatte es ja schonmal hinbekommen, doch dann kam mein bruder, hat meinen pc ausgemacht, und wie das schicksal so will, hatte ich nicht gespeichert...... ich könnt wahnsinnig werden....
naja #
mfG TheShooter
Posted By: Anonymous

Re: Waffe soll player folgen - 11/11/10 11:22

Am besten fängst du nochmal von vorne an.
Nimm am besten in der "Free Resources" site Shooter Tutorials zur hand, oder auch das AUM 58. Ist zwar in c-script aber das sollte kein Problem sein.
Posted By: TheShooter

Re: Waffe soll player folgen - 11/11/10 11:47

ok tongue
© 2024 lite-C Forums