Gamestudio Links
Zorro Links
Newest Posts
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/20/24 01:28
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
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
1 registered members (AndrewAMD), 609 guests, and 3 spiders.
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 3 of 4 1 2 3 4
Re: Will Tür aufmachen, wenn ich sie "sehe"?EVENT_SHOOT? [Re: CocaCola] #438858
03/22/14 16:20
03/22/14 16:20
Joined: Mar 2014
Posts: 359
CocaCola Offline OP
Senior Member
CocaCola  Offline OP
Senior Member

Joined: Mar 2014
Posts: 359
Ich konnte das schon lesen aber selber hatte ich noch nirgens so eine kurzschreibweise gesehen. Übrigens, ich versuche grad deinen ersten post umzu schreiben und zu Testen aber noch keine reaktion oder Rückmeldung von den Versuchen...

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

X
rayp  Offline

X

Joined: Jul 2008
Posts: 2,107
Germany
Ich hab das eben mal verfasst aber nicht getestet, es ist der c_trace-Aufruf. Er lasert nach vorne, in die Richtung in die der Player bzw. die Cam blickt, in einer per "range" definierten Reichweite. Erfasst er eine Tür ( per my.id = a_door markiert ) würde er dann Deine Tür - Öffnungs - function / void aufrufen. Hilft Dir das? ^^
Code:
#define id skill100
#define a_door 1000
action Door_WED(){ // gib diese Aktion einer Tuer in WED ( oder per ent_create )
   set (my, POLYGON);
   my.id = a_door;
   ...
   ..
   .
}
void interact_with_doors(){
   var    range = 50;
   VECTOR tpos;
   vec_for_angle (tpos, vector (camera.pan, camera.tilt, camera.roll));
   vec_scale     (tpos, range);
   vec_add       (tpos, vector (camera.x,camera.y,camera.z));
   trace_mode = IGNORE_ME | IGNORE_PASSABLE | USE_POLYGON | SCAN_TEXTURE | IGNORE_SPRITES;
   c_ignore (1, 0);
   c_trace  (vector (camera.x, camera.y, camera.z), tpos, trace_mode);
   draw_point3d (target.x, vector (50,50,255), 100, 3); // debug
   if (HIT_TARGET) if (you) if (you.id == a_door){
   	// Tuer gefunden! Ruf hier Deine TuerOeffnungs function / void auf
   }
}
action HeroOrPlayer(){
	my.group = 1; // Beim tracen ignorierte Gruppe
	while (1){
		...
		..
		.
		if (key_space) interact_with_doors(); // Leertaste? dann Tracen!
	   wait (1);
   }
}

Bedenke bitte, falls das alles mal klappt, das Du die function, die die Tür dann öffnet ( z.B. ne Schleife die my.pan addiert oder sowas ) gegen doppeltes Starten / aufrufen absichern solltest. Sowas wie z.B.
Code:
#define moving skill99
...
...
.
{ 
   if (my.moving) return; // bewege mich bereits, abbrechen
   my.moving = 1; // beginne mich zu bewegen
   while (my){
      c_rotate (me, vector(5*time_step, 0, 0), IGNORE_ME|IGNORE_PASSABLE);
      wait (1);
   }
   my.moving = 0; // fertig mit bewegen
}




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] #438862
03/22/14 17:00
03/22/14 17:00
Joined: Mar 2014
Posts: 359
CocaCola Offline OP
Senior Member
CocaCola  Offline OP
Senior Member

Joined: Mar 2014
Posts: 359
JAU! DANKE! blush
Ich musste nur noch
Code:
()

hinter
Code:
interact_with_doors

sätzen aber es funktioniert Besten dank! nur kann ich leider immer noch nicht selbst ständig sowas coden besonders HIT_TARGET wird ja im HB nicht so ausfürlich erklärt.. und noch mal sorry wegen am Anfang ich brauchte erst ein Paar TAGE um es überhaupt lesen zu können

Re: Will Tür aufmachen, wenn ich sie "sehe"?EVENT_SHOOT? [Re: CocaCola] #438863
03/22/14 17:01
03/22/14 17:01
Joined: Jul 2008
Posts: 2,107
Germany
rayp Offline

X
rayp  Offline

X

Joined: Jul 2008
Posts: 2,107
Germany
Ja mist sry, habs grad auch gemerkt und oben für weitere Leser ergänzt. ^^

Kein Ding, gerne wieder!
( Aber das was nun da steht, ist so ziemlich das selbe wie aus meinem C-Trace-Beispiel Link grin )

Viel Spaß noch.


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] #438864
03/22/14 17:13
03/22/14 17:13
Joined: Mar 2014
Posts: 359
CocaCola Offline OP
Senior Member
CocaCola  Offline OP
Senior Member

Joined: Mar 2014
Posts: 359
Ja kannte ich auch schon aber
Code:
HIT_TARGET

ist neu daruf wäre ich nie gekommen. und ich mache eine Schiebe Tür laugh

Wenn das enity eine andere id ha brauch ich doch nur
Code:
if (HIT_TARGET) if (you) if (you.id == a_door){
   	...// Tuer gefunden! Ruf hier Deine TuerOeffnungs function / void auf
   }
if (HIT_TARGET) if (you) if (you.id == b_door){
   	...// Tuer gefunden! Ruf hier Deine TuerOeffnungs function / void auf
   }
.
.
.

schreiben, oder?z.B wenn b_door einen dialog startet

Last edited by rayp; 03/22/14 17:52. Reason: posts merged
Re: Will Tür aufmachen, wenn ich sie "sehe"?EVENT_SHOOT? [Re: CocaCola] #438867
03/22/14 17:52
03/22/14 17:52
Joined: Jul 2008
Posts: 2,107
Germany
rayp Offline

X
rayp  Offline

X

Joined: Jul 2008
Posts: 2,107
Germany
Ich habe per define der Zahl 1000 das Wort a_door gegeben. Dann habe ich den entity.skill100 mit "id" was einfach für identification stehen sollte "maskiert". Genau so kannst Du weitere erstellen. Das dient nur der Leserlichkeit.

Doof
Code:
my.skill100 = 8989; // häh? was?
...
...
if (you.skill100 == 8989) blabla(); // was soll das bedeuten? mhhh...



Leserlich, toll und bildhübsch
Code:
#define wasbinich skill100
#define zuckerwatte 8989
...
...
my.wasbinich = zuckerwatte; // ich bin Zuckerwatte
...
...
if (you.wasbinich == zuckerwatte) blabla(); // ahh, es ist Zuckerwatte



Also müsstest Du in Deinem Fall nun folgendes ergänzen
Code:
#define b_door 1001
...
my.id = b_door;
...



Auch kann man, sehe ich grad, die IF Abfrage so gestalten
Code:
if (HIT_TARGET && you) if (you.id == a_door)

Vorsicht, das hier sollte man nicht tun, wie ich finde
Code:
if (HIT_TARGET && you && you.id == a_door)



edit:
Falls Du diesem "a_door-Prinzip" nenn ich's jetzt mal folgen willst, wäre b_door aber zu umständig. Wenns da um z.B. Schlüssel geht, wäre sowas hier sinnvoller
Code:
#define id        skill100;
#define keynr      skill99;
#define a_door        1000; // markiert eine ent als Tuer
#define id_red_card   1234; // brauch / bin ne rote Karte wa?!
var red_card        =    0; // 1 = Karte eingesammelt, Spieler hat se!
...
//skill1 KeyCardNr 1 // nun hat Skill1 in WED-Prop's eine Bezeichnung
action Door_WED(){
   if (my.skill1 == 1) my.keynr = id_red_card; // fuer mich brauchste ne rote Karte
   ...
}
...
if (HIT_TARGET && you) if (you == a_door){ // Tracehit Tuer
   if (you.keynr == id_red_card && red_card){
      // rote Karte benoetigt? rote Karte vorhanden? dann...
   }
}



Peace


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] #438868
03/22/14 18:19
03/22/14 18:19
Joined: Mar 2014
Posts: 359
CocaCola Offline OP
Senior Member
CocaCola  Offline OP
Senior Member

Joined: Mar 2014
Posts: 359
Nein, nicht um Schlüssel. Ich wollte die LeerTaste dan als AktionsTaste nutzen also andere Figuren ansprechen oder in Fahrzeuge einsteigen oder ...

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

X
rayp  Offline

X

Joined: Jul 2008
Posts: 2,107
Germany
Ich dachte eigentlich das mein ewig langer Beispielpost das nun geklärt haben sollte. Spätestens bei dem "Zuckerwatte" - Beispiel, sollte der Groschen fallen oder? Ob das eine Tür, ein Auto, ein Medikit ist, juckt den c_trace und Deine if-Abfrage nicht wirklich. Also ja, das geht, und ist eine gute Idee. So kannst Du quasi interact_with_doors zu "interact_with_all" machen.
Code:
if (HIT_TARGET && you){
   if (you.id == id_car){     // trace hit car
   }
   if (you.id == id_medikit){ // trace hit medikit
   }
   ...
   ..
   .
}


usw.


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: rayp] #438875
03/22/14 19:12
03/22/14 19:12
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Originally Posted By: rayp
Liegt, wie so oft, immer im Auge des Betrachters.
Leider nicht. Falsch eingerückter Code wird immer wieder misinterpretiert. So wäre es beispielsweise deutlich übersichtlicher.
Code:
if ((event_type == EVENT_SHOOT) && (you == player))
   my.health -= 25;




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: Uhrwerk] #438876
03/22/14 19:19
03/22/14 19:19
Joined: Jul 2008
Posts: 2,107
Germany
rayp Offline

X
rayp  Offline

X

Joined: Jul 2008
Posts: 2,107
Germany
Ja, aber eben nicht von allen, somit im Auge des Betrachters.
Gut das es nun geklärt ist, was am einfachsten zu lesen ist. Denn das war das wichtigste in diesem Thread. Die Goldwaagen laufen heute wieder heiß

edit:
you auf != null vor you == player zu checken macht natürlich nur Sinn, wenn man noch z.B. if (you.id... - Kram in einer if nutzen will, das stimmt wohl.

edit2:
Falls Du, Coca, ACTIVATE_SHOOT nutzt, brauchst Du logischerweise HIT_TARGET und .id nicht mehr. Könntest ja im EVENT_SHOOT reagieren.


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;
Page 3 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