1 registered members (monarch),
1,259
guests, and 5
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Rutschparty! Mein Gegner will nicht?
#337153
08/09/10 04:14
08/09/10 04:14
|
Joined: May 2010
Posts: 48
Ich_bin_Batman
OP
Newbie
|
OP
Newbie
Joined: May 2010
Posts: 48
|
Hallo ihr lieben, Wiedermal komme ich zu euch mit einem meiner Probleme Es geht darum, der Player kann auf den Gegnern einfach stehen.Wenn er auf sie springt , ist es wie eine Plattform.Ich hoffe ihr versteht was ich meine. Ich möchte aber das dies nicht geht, das mein Player vom Gegner abrutscht,sozusagen weg-glitscht wie es in den meisten Spielen der Fall ist. Wie mache ich das soll ich ihm so etwas wie eine unsichtbare Hülle geben, die immer auf der gleichen Position wie er ist? MFG Ich_bin_Batman
|
|
|
Re: Rutschparty! Mein Gegner will nicht?
[Re: Ich_bin_Batman]
#337158
08/09/10 06:16
08/09/10 06:16
|
Joined: Jul 2010
Posts: 127 Germany, Herford
Ditje
Member
|
Member
Joined: Jul 2010
Posts: 127
Germany, Herford
|
Der Spieler-Char soll auf dem Gegner stehen bleiben? Wahrscheinlich rutscht er ab, weil die Fläche unter dem Spieler-Char zu klein und uneben ist.
Versuch mal die Bounding Box so groß zu setzen, dass er nicht mehr abrutscht.
Ditje
Last edited by Ditje; 08/09/10 06:21.
|
|
|
Re: Rutschparty! Mein Gegner will nicht?
[Re: Ditje]
#337179
08/09/10 10:31
08/09/10 10:31
|
Joined: Feb 2010
Posts: 482 in deinem Kopf
Otter
Senior Member
|
Senior Member
Joined: Feb 2010
Posts: 482
in deinem Kopf
|
Nein, Ditje, der Gute will doch das der spieler abrutscht! Schau dir das hier an:
function gravitation() { while(me != NULL) { vec_set (temp, my.x); temp.z -= 100; distance_to_ground = c_trace (my.x, temp.x, IGNORE_ME | IGNORE_FLAG2 | USE_BOX | IGNORE_PASSABLE | ACTIVATE_SHOOT); distance_to_ground = maxv(distance_to_ground,!trace_hit*300); if(you) { if((distance_to_ground < 20)&&(your.typ == GLITSCHIG)) { if(you.x > my.x) my.speed_x = -14; if(you.y > my.y) my.speed_y = -14; if(you.x < my.x) my.speed_x = 14; if(you.y > my.y) my.speed_y = 14; } } if((distance_to_ground < 10)&&(my.speed_z <= 0)) { my.z -= distance_to_ground-1; my.speed_z = 0; } else { my.speed_z -=3*time_step; my.speed_z = maxv(my.speed_z,-20); } wait(1); } }
Gib dem spieler diese function sollte ungefähr so aussehen:
action Hero { set(my, BRIGHT); gravitation(); /// < die da!! my.skill3 = ... ... while(my!= NULL) { ... ...
c_move (my, vector(my.speed_x,my.speed_y,my.speed_z), nullvector, GLIDE | IGNORE_ME | IGNORE_PASSABLE); /// und dann dashier für die bewegung!
Achja und setz dem Gegner sein POLYGON flag!
Bei mir hats geklappt
Be my UBB-Buddy, without any reason!
|
|
|
Re: Rutschparty! Mein Gegner will nicht?
[Re: Ditje]
#337279
08/09/10 21:28
08/09/10 21:28
|
Joined: May 2010
Posts: 48
Ich_bin_Batman
OP
Newbie
|
OP
Newbie
Joined: May 2010
Posts: 48
|
Danke Otter für den schön übersichtlichen Code du gibst dir wirklich immer ne menge Mühe bei deinen Posts Also ich wollte eig. einfach das ganze ein bischen auf meinen Code übetragen, jedoch hat es nicht ganz so geklappt. Das Problem ist es wenn ich auf den Gegner drauspringe ist es nun so: Sprung>stehe kurz auf Gegnger > ich fliege durch den Raum Auch wenn ich nich mehr auf ihm Stehe werde ich dannach immer quer durch den raum gekickt. Was ich geändert habe: Das habe ich rausgenommen weil ich sonst nicht Springen kann >
if((distance_to_ground < 10)&&(my.speed_z <= 0))
{
my.z -= distance_to_ground-1;
my.speed_z = 0;
}
else
{
my.speed_z -=3*time_step;
my.speed_z = maxv(my.speed_z,-20);
Und die C_move anweisung musste ich irgendwie mit meiner "verbinden" ich denke daran liegt auch das Problem das sieht dann so aus:
#define speed_x skill74;
#define speed_y skill75;
#define speed_z skill77;
c_move(my,vector(my.speed_x,my.speed_y,my.speed_z),my.move_x,use_aabb | ignore_passable | glide);
Last edited by Ich_bin_Batman; 08/09/10 21:31.
|
|
|
Re: Rutschparty! Mein Gegner will nicht?
[Re: Ich_bin_Batman]
#337283
08/09/10 21:40
08/09/10 21:40
|
Joined: Feb 2010
Posts: 482 in deinem Kopf
Otter
Senior Member
|
Senior Member
Joined: Feb 2010
Posts: 482
in deinem Kopf
|
Ups, ich hab vergessen das du deine figur wieder bremsen lassen musst. Also: Dashier kommt hinter die while() schleife vom spieler: if(irgendein key der den spieler bewegt != 1) { if(my.speed_x > 0){my.speed_x -= 2*time_step;} if(my.speed_y > 0){my.speed_y -= 2*time_step;} if(my.speed_x < 0){my.speed_x += 2*time_step;} if(my.speed_y < 0){my.speed_y += 2*time_step;} } stell die werte höher wenn du immer noch zu weit fliegst. probier mal und schreib bescheit!
Be my UBB-Buddy, without any reason!
|
|
|
Re: Rutschparty! Mein Gegner will nicht?
[Re: Otter]
#337288
08/09/10 22:20
08/09/10 22:20
|
Joined: May 2010
Posts: 48
Ich_bin_Batman
OP
Newbie
|
OP
Newbie
Joined: May 2010
Posts: 48
|
Ich habs einfach über meine c_move anweisung geschrieben. Also es klappt nich so ganz.Aufjedenfall hält er jetzt an,jedoch kann ich manchmal immernoch einfach auf den Gegnern rumlaufen oder ich kann ne halbe Sekunde auf ihnen stehen und erst dann haut es mich runter. Ein weiteres Problem wäre das seit dem er anhalten kann, das er ganz lamsang in eine richtung auf dem Boden rumrutscht nachdem es mich "weggehauen" hat. Sorry hoffe du verstehst es bin gerade etwas durcheinander
|
|
|
Re: Rutschparty! Mein Gegner will nicht?
[Re: Ich_bin_Batman]
#337290
08/09/10 22:37
08/09/10 22:37
|
Joined: Feb 2010
Posts: 482 in deinem Kopf
Otter
Senior Member
|
Senior Member
Joined: Feb 2010
Posts: 482
in deinem Kopf
|
hmmm, wie sieht den deine gravitations anweisung aus. Also was zieht dich auf den boden wenn du mal abhebst? Vielleicht zieht es dich ja in den gegner rein, sodas du darinsteckst und deshalb nicht richtig abrutscht!
Be my UBB-Buddy, without any reason!
|
|
|
Re: Rutschparty! Mein Gegner will nicht?
[Re: Ich_bin_Batman]
#337300
08/10/10 00:00
08/10/10 00:00
|
Joined: Feb 2010
Posts: 482 in deinem Kopf
Otter
Senior Member
|
Senior Member
Joined: Feb 2010
Posts: 482
in deinem Kopf
|
Tut mir leid Batman mir fällt momentan nix ein. Vielleicht hilfts dir nochmal die Theorie anzuschauen: 1# der trace der dich in der luft wieder auf den boden zieht soll den gegner unter sich erkennen!
2# dadurch wird der you pointer auf den gegner unter dir gesetzt und geprüft ob sein skill "glitschig" aktiv ist.
3# falls ja werden die x und y cordinaten von dem spieler und den gegner geprüft.
4# ist die distanz zum gegner schon gering, dann wird der spieler durch ändern seiner bewegungsanweisungen "wegrutschen".geh diese punkte nochmal durch und schau genau nach. Oft ist es nur eine dumme kleinigkeit. Keine sorge ich überleg mir weiterhin was und vielleicht fällt auch jemand anderen etwas dazu ein! viel glück!
Be my UBB-Buddy, without any reason!
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|