|
 |
Auf die Map zugreifen / kollision herausfinden? |
serthy
Codemeister
  
Dabei seit: 29.07.2010
Beiträge: 628

|
|
hört sich schon gut an
also das macht man mit der funktion bullettrace()
lies dir bitte zuerst das durch, das enthält das wichtigste: http://modsonline.com/Tutorials-read-781.html
mit bullettrace kann man sogut wie alles machen
für dich:
Code 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:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
|
showTargetIndicator()
{
self endon( "stop_targeting" ); // stoppt alles, tag muss aber noch gelöscht werden
self.indicator_tag = spawn( "script_model" , self.origin ); //spawne ein tag_origin, um den effect bewegen zu können und um die richtung bestimmen zu können
self.indicator_tag setModel( "xmodel/tag_origin" ); // weiß aber nich wie das in cod4 heißt
self.indicator_tag.angles = anglesToUp( self.indicator_tag.angles ); //kA ob das so rictig ist, sollte den effect nach oben gehen lassen
self.indicator_tag thread indicatorEffect(); //spielt den effect derzeit
self.indicator_tag _deleteOnEvent( self , "death" ); //muss nicht unbedingt sein
range = 100000; // entfernung wie weit du zielen können willst
while( self.sessionstate == "playing" ) //solange du am leben bist
{
start = self getEye() + ( 0 , 0 , 20 ); //start = dein auge
forward = anglesToForward( self getPlayerAngles() ); // deine blickrichtung
forward = _vectorScale( forward , range ); //dein blickpunkt in der entfernung
end = start + forward; // dein ziel wo du hinsiehst
trace = bullettrace( start , end , true , self.indicator_tag ); // tag ignorieren, falls er dazwischen kommt
self.indicator_tag.origin = trace["position"]; //tag an die position wo du hinguckst
wait 0.05; // kürzeste wartezeit im multiplayer
/* kürzer: das selbe nur in kurz
eye = self getEye() + ( 0 , 0 , 20 );
self.indicator_tag.origin = bullettrace( eye , eye + _vectorScale( anglesToForward( self getPlayerAngles() ) , range , true , self.indicator_tag )["position"];
wait 0.05;
*/
}
}
indicatorEffect() //spielt den effect, aber ka wie der heißt und wie lange der brauch
{
while( isDefined( self ) )
{
playFxOnTag( level._effect["target_indicator"] , self , "tag_origin" );
wait time;
}
}
_deleteOnEvent( owner , event ) //löscht tag wenn du stirbst
{
self endon( "stop_targeting" );
owner waittill( event );
self delete();
}
_vectorScale( vec , scale ) //verlängert einen vektor
{
return ( vec[1] * scale , vec[2] * scale , vec[3] * scale );
} |
|
das enthält sicher fehler, aber darauf kannst du dich in etwa orientieren
|
|
|
|
|
SB*Silen.Ced
Tele-Tubbie
Dabei seit: 22.06.2010
Beiträge: 147

|
|
danke!
MfG
__________________

|
|
|
|
|
|
|
|
 |
Impressum ||Datenschutzerklärung
|