Gamestudio Links
Zorro Links
Newest Posts
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (Konsti, AndrewAMD, 1 invisible), 1,376 guests, and 1 spider.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 4 1 2 3 4
Will Tür aufmachen, wenn ich sie "sehe"?EVENT_SHOOT? #438650
03/19/14 15:27
03/19/14 15:27
Joined: Mar 2014
Posts: 359
CocaCola Offline OP
Senior Member
CocaCola  Offline OP
Senior Member

Joined: Mar 2014
Posts: 359
In meinem Player Code hab ich:
Code:
c_trace(player.x,your.x,IGNORE_ME|IGNORE_PASSABLE|ACTIVATE_SHOOT);


und auf eine Tür:
Code:
function shoot_event() 
{
  while (event_type == EVENT_SHOOT) 
  {
    {
               set (scanning_txt, VISIBLE);
               wait (1);
       }
       reset (scanning_txt, VISIBLE);
  }
}
action my_entity() 
{
//  my.ENABLE_SHOOT = ON;
  my.emask |= ENABLE_SHOOT;
  my.event = shoot_event;
}


ich dachte wenn ich die Tür sehe, wird der Text angezeigt

Last edited by rayp; 03/19/14 15:33. Reason: only added code-tags
Re: Will Tür aufmachen, wenn ich sie "sehe"?EVENT_SHOOT? [Re: CocaCola] #438651
03/19/14 15:32
03/19/14 15:32
Joined: Jul 2008
Posts: 2,107
Germany
rayp Offline

X
rayp  Offline

X

Joined: Jul 2008
Posts: 2,107
Germany
Bitte benutz Code - Tags, danke ( hab die mal ergänzt ).

Auf keinen Fall (!) die while ins Event. Vllt solltest Du Dir mal
Code:
c_scan

oder
Code:
vec_dist

ansehen.

Dieses tut zeigt Dir, wie ein
Code:
c_trace

aussehen sollte.
http://www.opserver.de/ubb7/ubbthreads.php?ubb=showflat&Number=421831#Post421831

Beispiel eines Events ( Entity nach SHOOT's entfernen ):
Code:
#define health skill100

action myPlayer(){
   ..
   ...
   my.group = 1;   // vorm c_trace bietet sich c_ignore an
   player   = me;
   ...
   ..
}

void _event_from_me(){
   if (event_type == EVENT_SHOOT) if (you) if (you == player){
      my.health -= 25; // vom Spieler getroffen?
   }
}

action MyEntity_WED(){
   my.emask |= ENABLE_SHOOT;
   my.event  = _event_from_me;
   my.health = 100;
   while (my.health) wait (1);
   wait (1);
   ptr_remove (me);
}



Info ( ähnliches Thema : Türen ):
http://www.opserver.de/ubb7/ubbthreads.php?ubb=showflat&Number=404132

MfG


Acknex umgibt uns...zwischen Dir, mir, dem Stein dort...
"Hey Griswold ... where u gonna put a tree that big ?"
1998 i married my loved wife ... Sheeva from Mortal Kombat, not Evil-Lyn as might have been expected
rayp.flags |= UNTOUCHABLE;
Re: Will Tür aufmachen, wenn ich sie "sehe"?EVENT_SHOOT? [Re: CocaCola] #438662
03/19/14 18:36
03/19/14 18:36
Joined: Mar 2014
Posts: 359
CocaCola Offline OP
Senior Member
CocaCola  Offline OP
Senior Member

Joined: Mar 2014
Posts: 359
Code:
vec_dist

Werde ich noch nutzen und mit
Code:
c_scan

hab ichs schon probiert das klappt auch ganz gut, ich kann auch den Sichtwinkel einstellen aber leider geht die funktion auch durch Wände und ich will die Tür nur öffnen wenn ich sie sehe.

Re: Will Tür aufmachen, wenn ich sie "sehe"?EVENT_SHOOT? [Re: CocaCola] #438665
03/19/14 19:41
03/19/14 19:41
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Und da kommt dann c_trace in Spiel... =)


Always learn from history, to be sure you make the same mistakes again...
Re: Will Tür aufmachen, wenn ich sie "sehe"?EVENT_SHOOT? [Re: CocaCola] #438703
03/20/14 11:06
03/20/14 11:06
Joined: Mar 2014
Posts: 359
CocaCola Offline OP
Senior Member
CocaCola  Offline OP
Senior Member

Joined: Mar 2014
Posts: 359
Code:
c_trace

scheint keine Wirkung zu haben. warum?
Code:
var  scanning;
TEXT* scanning_txt =
{
       string("[E] druecken]");
}

function got_scanned()
{
//scanning= c_trace (player.x,my.x,IGNORE_ME|IGNORE_PASSABLE);
       while (event_type == EVENT_SCAN && scanning=1)
       {
 set (scanning_txt, VISIBLE);
               wait (1);}
       reset (scanning_txt, VISIBLE);
}

action my_entity() // attach this action to your entities
{
scanning= c_trace (player.x,my.x,IGNORE_ME|IGNORE_PASSABLE);
       my.emask |= ENABLE_SCAN; // make the entity sensitive to scanning
       my.event = got_scanned;
}

Ich kann immernoch aus dem nebenzimmer die tür aktivieren obwol ne Wand zwischen ist und ich die Tür nicht sehe frown

Re: Will Tür aufmachen, wenn ich sie "sehe"?EVENT_SHOOT? [Re: CocaCola] #438728
03/20/14 16:08
03/20/14 16:08
Joined: Jul 2008
Posts: 2,107
Germany
rayp Offline

X
rayp  Offline

X

Joined: Jul 2008
Posts: 2,107
Germany
Ich gehe davon aus, das Du das hier gelesen hast ja ?
http://www.opserver.de/ubb7/ubbthreads.php?ubb=showflat&Number=421831#Post421831
Denn dort sieht man ( im getesteten Beispiel ), wie man die Vektoren zum Trace'n ausrichtet, was nicht unerheblich für einen erfolgreichen Trace ist.

Des weiteren, warum fragst Du wies geht, ignorierst dann aber alle Ratschläge? Die While ist immer noch im Event. Irgendwie kommt man sich da leicht v* vor...sorry


Acknex umgibt uns...zwischen Dir, mir, dem Stein dort...
"Hey Griswold ... where u gonna put a tree that big ?"
1998 i married my loved wife ... Sheeva from Mortal Kombat, not Evil-Lyn as might have been expected
rayp.flags |= UNTOUCHABLE;
Re: Will Tür aufmachen, wenn ich sie "sehe"?EVENT_SHOOT? [Re: CocaCola] #438735
03/20/14 17:39
03/20/14 17:39
Joined: Mar 2014
Posts: 359
CocaCola Offline OP
Senior Member
CocaCola  Offline OP
Senior Member

Joined: Mar 2014
Posts: 359
Deshalb habe ich den Wert extern in eine Variable ausgelegt. Ich hab auch versucht die Funktion als If Schleife zu schreiben aber wenn ich das richtig verstehe wird die If Schleife nur 1 mal beim Start vom Entety aufgerufen und das was ich geschrieben habe schien mir irgendwie logisch aber es funktioniert eben nicht

Re: Will Tür aufmachen, wenn ich sie "sehe"?EVENT_SHOOT? [Re: CocaCola] #438767
03/21/14 08:23
03/21/14 08:23
Joined: Mar 2014
Posts: 359
CocaCola Offline OP
Senior Member
CocaCola  Offline OP
Senior Member

Joined: Mar 2014
Posts: 359
Du hast ja das geschrieben:
Code:
void boxerplayer_ctrace(){
	VECTOR trace_target;
   var scale = 150;      
   vec_for_angle (trace_target,vector(my.pan,my.tilt,my.roll));
   vec_scale     (trace_target,scale);
   vec_add       (trace_target,vector(my.x,my.y,my.z)); 
   c_ignore (1, 0); 
   trace_mode = IGNORE_PASSABLE | USE_BOX| SCAN_TEXTURE |IGNORE_SPRITES | IGNORE_ME;
   c_trace(my.x,trace_target, trace_mode);
   if(you) if(you.id == id_boxerenemy) {
   	you.health -= 25;
   }


aber bei c_trace steht als ziel Element der VECTOR trace_target, wie kann das sein? wird das Ergebniss von c_trace in den Vector kopiert? Ich dachte da muss z.B. Ein Modell stehen wie BoxerEnemy. Und die C_trace steht einfach nur so im Text, was für ein Ergebniss liefert denn die Zeile und wohin? Und Da ja die Funktion in BoxerPlayer in einer while-Schleife aufgerufen wird nehme ich an, dass das dan geht aber mit meiner Variablen nicht? Tut mir leid, dass das so läuft aber ich wäre für weitere Hilfe Dankbar.

Re: Will Tür aufmachen, wenn ich sie "sehe"?EVENT_SHOOT? [Re: CocaCola] #438774
03/21/14 09:54
03/21/14 09:54
Joined: Mar 2010
Posts: 57
Germany, Niedersachsen
LemmyTheSlayer Offline
Junior Member
LemmyTheSlayer  Offline
Junior Member

Joined: Mar 2010
Posts: 57
Germany, Niedersachsen
Quote:
wird die If Schleife nur 1 mal beim Start vom Entety aufgerufen

Siehe dazu http://www.if-schleife.de/

Die Antworten auf deine Fragen stehen übrigens alle im Handbuch. Vielleicht solltest du es mal lesen. Das soll helfen.

Last edited by LemmyTheSlayer; 03/21/14 09:59.

SCHLEIFE SCHLEIFE SCHLEIFE SCHLEIFE SCHLEIFE SCHLEIFE
Re: Will Tür aufmachen, wenn ich sie "sehe"?EVENT_SHOOT? [Re: CocaCola] #438780
03/21/14 12:05
03/21/14 12:05
Joined: Mar 2014
Posts: 359
CocaCola Offline OP
Senior Member
CocaCola  Offline OP
Senior Member

Joined: Mar 2014
Posts: 359
...ich hab Vector mit var vertauscht...
kann das sein, dass das so funktioniert: c_trace prüft ob ein Entity zwischen my.x und trace_target (die Armlänge), welches nicht zur Gruppe 1 gehört, ist. Das Resultat wird in die nächste Zeile übergeben
Code:
if(you) if(you.id == id_boxerenemy)

Und
Code:
you

ist ein entity nicht aus Gruppe 1. Würde passieren, wenn ich nach der c_trace anweisung irgend eine andere codezeile stehen haben würde? Geht dan das Ergebniss verloren? Kann ich das in eine Variable speichern? smile

Page 1 of 4 1 2 3 4

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1