3 registered members (Ayumi, Akow, AndrewAMD),
1,505
guests, and 9
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Schaden beim Schlagen zufügen
[Re: JoGa]
#353481
01/10/11 17:16
01/10/11 17:16
|
Joined: Jan 2011
Posts: 797 Da wo du nicht bist! Muhahaha!
xxxxxxx
OP
User
|
OP
User
Joined: Jan 2011
Posts: 797
Da wo du nicht bist! Muhahaha!
|
Jetzt tut sich das problem auf zb. bei einem Laserstrahl wenn ich da die Ausrichtung ändere will ich nicht nur alle Feinde bei der neuen Ausrichtung verletzen sondern auch die dazwischen!(ich glaube c_scan liefert nur einmal den You-pointer) Dafür müsste ich wissen ob man eine Kollision zwischen zwei Objekten feststellen kann.Ich will ein unsichtbares Würfelmodell mit mit Bones so animieren das die Ecken immer an der Position der alten, der neuen Spitze und des alten, des neuen Griffs sind also die ungefähre Bewegung. Danach noch c_updatehull und dann sollte man auf Kollision überprüfen. JoGa deine Lösung kann ich wahrscheinlich für Haus- und Hofgegner verwenden. Loditek deine Lösung ist wie du gesagt hast auf Faust-Angriffe ausgerichte(oder Stich) ich lass meine Schlagwaffe lieber schwingen.
Wie kann man herausfinden ob zwei objekte kollidieren (ohne c_move, trace und konsorten)
Last edited by xxxxxxx; 01/10/11 18:01.
Es ist immer wieder erstaunlich, dass Leute die riesen Scripte schreiben die einfachsten sachen nicht können zb. mich mit SIEBEN x zu schreiben!
|
|
|
Re: Schaden beim Schlagen zufügen
[Re: xxxxxxx]
#353483
01/10/11 18:05
01/10/11 18:05
|
Joined: Apr 2005
Posts: 4,506 Germany
fogman
Expert
|
Expert
Joined: Apr 2005
Posts: 4,506
Germany
|
Schau Dir mal ENABLE_DETECT bzw. event_detect an, vielleicht ist das etwas für Dich! Die Gegner brauchen dann eine ID, die sie in einem skill speichern. Z.B.: my.skill1 = 666;
666 ist in diesem fall die "Typnummer", alle Objekte mit 666 in skill1 sind also Gegner. Im event des Schwerts fragst Du ab, on die gefundene Entity ein Feind ist:
if(you.skill1 == 666) { you.health-= 10; ... ... }
no science involved
|
|
|
Re: Schaden beim Schlagen zufügen
[Re: xxxxxxx]
#353484
01/10/11 18:05
01/10/11 18:05
|
Joined: Jun 2008
Posts: 428
Rasch
Senior Member
|
Senior Member
Joined: Jun 2008
Posts: 428
|
Du könntest tatsächlich c_scan verwenden und am bei der Hälfte der Animation 1x In einem gewissen Bereich vor deinem Charakter scannen. Setze bei deinem CHarakter die EVENT_DETECT Flag. Diese wird dann pro gescanntem Gegner ausgelöst. Damit kannst du dann allen Schaden zufügen Etwa so.
function detect_event()
{
if (event_type == EVENT_DETECT)
{
if(you.gegner == 1) // Bsp. Um nur etwas zu tun wenn es ein Gegner ist.
{
you.health -= 25; // Ziehe dir Leben ab (je nach skill ^^)
ent_playsound(you, sword_hit, 75);
}
}
}
function zuschlagen()
{
var animation_perc = 0; // Animations Fortschritt
while(animation_perc < 50)
{
animation_perc += 10*time_step;
ent_animate(me,"attack",animation_perc,ANM_CYCLE);
wait(1);
}
c_scan(player.x, player.pan, vector(120,120,500),SCAN_ENTS|IGNORE_ME); // Hier checken
while(animation_perc < 100)
{
animation_perc += 10*time_step;
ent_animate(me,"attack",animation_perc,ANM_CYCLE);
wait(1);
}
}
action spieler()
{
player = my;
my.emask |= ENABLE_DETECT;
my.event = scan_event;
}
Natürlich kommt es jetzt auf dein Script an. Aber ich denke so könnte das gehen
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|