script_brushmodels ausrichten

vatterger
hallo,

ich habe 2 Fragen zu dem bewegen von script_brushmodels!

1. wie kriege ich es hin das das script_model sich wenn es sich an mich gelinkt hat, in die richtung dreht in die ich schaue/hinziele?

2.gibt es einen BEFEHL der dafür sorgt, das es sich nicht nach "x","y" oder "z" sondern in die richtung bewegt in die der lila pfeil im Radianten zeigen würde, wenn man es mit "R" dreht?

ich hoffe ihr könnt mir mit dem script weiterhelfen, ich möchte nehmlich ein Flugzeug bauen! Augenzwinkern

VlG vatter smile

PS: ich habe etwas ähnliches(Flugzeug) in einem Server für CoDuo gesehen, und möchte in meine CoD2map auch ein oder zwei Flugzeuge reinbauen.
OLD MAN WITH GUN

Zitat:

Original von vatterger
1. wie kriege ich es hin das das script_model sich wenn es sich an mich gelinkt hat, in die richtung dreht in die ich schaue/hinziele?
Garnicht.
Wenn ein Objekt an ein anderes gelinkt ist, kann man es nicht mehr per script steuern. Erst wenn der Link (per unlink) wieder aufgehoben wurde.

Zitat:

Original von vatterger
2.gibt es einen BEFEHL der dafür sorgt, das es sich nicht nach "x","y" oder "z" sondern in die richtung bewegt in die der lila pfeil im Radianten zeigen würde, wenn man es mit "R" dreht?
Nein, gibt es nicht.
vatterger
hi

danke für deine Antwort,

schade das die beiden sachen nicht gehen unglücklich ,

kann man denn ein script_model nach dem blickfeld des spielers ausrichten, wenn der spieler an das s_model gelinkt ist, das geht doch irgendwie mit

getorigin();

und dann vieleicht user.origin einsetzen?

ich habe nicht soviel Ahnung von scripten...

VlG vatter
SB*Silen.Ced
dieser Beitrag bezieht sich hier drauf! (wollte eig ne Antwort machen, kein neues Thema grosses Grinsen aber so geht's auch)

hi, ich wollte mal wissen, ob's so etwas wie "getorigin Player.Origin ( und dann so was wie , dass er ca 20 Einheiten unter dem Spieler ist und dann zb 128(zb innerhalb von 2 sec) Einheiten nach oben geht, und das ganze ausgelöst wird, sobald er das "getOrigin" bekommt)(zb
getorigin Player.Origin (- 20);
movey +128 (0.5 2 0.5);
self waittill "movedone";
)


--- Edit by Nightwing: Thema zusammengefügt ---
OLD MAN WITH GUN
Ja, das geht, aber nicht mit einem einzigen Befehl (und du brauchst nicht das player.origin sondern die player.angles).
Vom Prinzip her: Winkel des Spielers ermitteln (player.angles) mit dem Winkel des script_models vergleichen und dann das script_model um die Differenz rotieren.

Edit: Wenn du aber, wie du selber sagst, wenig Ahnung vom Scripten hast, sehe ich ehrlich gesagt schwarz für dein Flugzeug, denn das ist Scripterei ohne Ende und das auf einem hohen Level.
OLD MAN WITH GUN
Verstehe ehrlich gesagt nicht, was du jetzt genau meinst bzw. willst.
Vieleicht solltest du dir da selbst erst mal Gedanken drüber machen.
Um den Player zu bewegen, müsstest du realen Spieler erst mal die Kontrolle über das Payermodel wegnehmen (der wartet ja schließlich nicht darauf, was jetzt passiert).

Wenn das an einer bestimmten Stelle passieren soll geht das auch ohne den origin des players. Einfach ein script_orign (ist ja unsichtbar) und nen trigger an die Stelle packen, und wenn der Player den Trigger auslöst (indem er z.B. reinläuft) den Player an das script_origin linken (somit hat der reale Spieler keine Kontrolle mehr über sein Playermodel) und das script_origin per move Befehl bewegen. Um dem realen Spieler wieder die Kontrolle über sein Playermodel zu geben muss das Playermodel wieder geunlinkt werden (wodurch der Player aber auch wieder zu Boden fällt).
SB*Silen.Ced
ja ich hatte eig vor, wie mit dem flugzeug oder was weis ich:
-einen trigger
-ein brushmodel
der trigger soll das brushmodel 20 einheiten unter den player "teleportieren" und dann wie ein aufzug 128 einheiten innerhalb von ca 2 sekunden hochzubewegen
_______________________________
Hoffe, das ist verständlicher Augenzwinkern
SB*Silen.Ced
könntest du mir vllt ne vorlage oder so für n fahrzeug posten? (ich hätte gerne, dass man im avatar mod den dicken über- heli fliegen könnte grosses Grinsen )
MfG RmbRT
OLD MAN WITH GUN

Zitat:

Original von [F34R_otD]RmbRT
könntest du mir vllt ne vorlage oder so für n fahrzeug posten?
Mit Sicherheit nicht.
Ich hab nämlich keine Lust mich jetzt Stunden über Stunden für nen Script hinzusetzen (du stellst dir das einfacher vor als es ist (abgesehen von der komplizierten Steuerung über Kollisionsabfrage bis hin zur damage/kill überwachung und und und). Sowas ist nicht mit eiun paar Zeilen Code erledigt. Ich hab ehrlich gesagt wichtigeres zu tun.
Da musst du dich schon selbst einarbeiten.

Wenn man ne Mod entwickeln will, reicht eine Idee leider nicht. Man sollte von der ganzen Materie schon ein wenig mehr Ahnung haben als ein bisschen bis garnichts. Klingt vielleicht hart, ist aber leider so.
Also erst lernen was und wie es geht, und dann das gelernte anwenden.
Und das geht nur durch Lesen, Ausprobieren und Üben (es gibt von einigen Mods auch den Quellcode im Inet, google hilft) und nicht mit haste mal, könntest du mir...
vatterger
hi

hmm wenn du dich auf ein script_brushmodel stellst und mit linkto() daran velinkt wirst, dann kannst du es wie ein schwereloses surfbrett benutzen, springen zum höher kommen , is aber nen bisschen lahm^^

der script:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
////////////////////
main()
{
thread brett();
}

brett()
{

trig = getent ("brett_trig","targetname");

//trig_sinken = getent ("brett_sink_trig","targetname");//unwichtig

brett = getent ("brett","targetname");

trig enablelinkto();
trig linkto(brett);

trig_sinken enablelinkto();
trig_sinken linkto(brett);

    while(1)
    {

    trig waittill ("trigger", user);
    
    brett linkto(user);

    trig waittill ("trigger", user);

    brett Unlink(); 
    
    }
}
////////////////////



(den linkto(); befehl,etc. habe ich im CoD-Infobase Forum erfahren)

hoffe der nützt dir auch was, im editor musstu nurn brett (als sript_brushmodel) mit targetname "brett" und nen trigger use_touch mit targetname "brett_trig" machn und fertig grosses Grinsen

(so habe ich schon ne art flugzeug gebaut)

zu der sache mit dem flugzeug!

ich hatte mir das so überlegt, das das Flugzeug aus nem clip-gerüst(script_brushmodel) und nen script_model vonnem stuka besteht

dann noch 4 trigger:

~1xtrigger_lookat zum verlinken ans flugzeug

~1oder2xtrigger_lookat der mit dem player verlinkt ist und dessen angles von player bestimmt werden, diese wiederum das flugzeug annimmt!

~evtl noch 2x20mm kanone aus trigger_hurt die über seperates script gesteuert werden und über nen use_touch ausgelöst werden(habe sowas schon mal gebaut)!

soo, wenn man auf den triggerlookat schaut, dann bewegt sich das flugzeug zu dessen position, und kriegt gleichzeitig die angles vom trigger_lookat, der ja an den player gelinkt ist

(ach ja wenn der player nach oben oder unten schaut, dann ändert er doch garnicht seine angles,oder? also brauche ich eig. 2xtrigger_lookat um das flugzeug nach oben oder unten zu drehen...)

ich bin noch dabei mir nen script zu überlegen, habe jetz keine lust dazu^^

VlG vatter


--- Edit by Nightwing: Codetag eingefügt ---
SB*Silen.Ced
Ty grosses Grinsen
ich bräuchte nur noch mal ne erklärung wie genau das funzt mit dem fliegen,
ich bräuchte ja so was wie n beschleuniger,
dass ich dann auch schneller als schrittempo fliegen kann Augenzwinkern

Edit: Kann man auch irgendwie machen, dass das flugzeug (oder surfbrett) sich etwas langsamer dreht als ich?
(d.h. dass es sozusagen sagen wir mal mit max 45°/s dreht)
Und wie mache ich, dass ich mit einem Geschütz schießen kann (auf dem Heli, Flugzeug, Brett oder was auch immer)?
dafür bräuchte ich den Befehl,
sich nicht auf der x, y, oder z-Achse zu bewegen,
sondern sozusagen gerade aus vom script_brushmodel?
vatterger
~schneller als schritttempo geht nur wenn du in die console schreibst

"g_speed = "zahl über 180""

~langsamer drehen als man selbst, wäre kompliziert^^

~geschütze funzen ohne mods nur im singleplayer

~das flugzeug muss sich zu einem andren objekt bewegen! einfach nach vorne wäre schwierig zu scripten!

VlG vatter