1 registered members (AndrewAMD),
1,014
guests, and 1
spider. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Im- / Außerhalb Umkreis
#258885
04/02/09 17:46
04/02/09 17:46
|
Joined: Oct 2005
Posts: 612
Inari
OP
User
|
OP
User
Joined: Oct 2005
Posts: 612
|
Ich habe 3 feststehende Kamera´s in meinem Level verteilt. Die auf den Player per einmal inerhalb des Unkreises und einmal außerhalb des Umkreisen, reagieren. Das wiederspricht sich natürlich total. Da wenn man im Umkreis der einen Kamera ist. Ist man gelichzeitig außerhalb der anderen Beiden. Wie kann man diesen wiederspruch am besten lösen? Ich möchte nicht extra jeweils eine neue Aktion schreiben! Inari
|
|
|
Re: Im- / Außerhalb Umkreis
[Re: Inari]
#258975
04/03/09 10:03
04/03/09 10:03
|
Joined: Jul 2002
Posts: 4,436 Germany, Luebeck
Xarthor
Expert
|
Expert
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
|
Wenn ich das Problem richtig verstanden hab könntest du es so lösen, dass du prüfst ob der spieler außerhalb des umkreis ist und nicht im umkreis einer kamera. Wenn dies der fall ist, ist der spieler außerhalb jeder kamera, oder ist dies gar nicht möglich?
Könntest du das problem vllt genauer beschreiben oder eine skizze zeichnen wo die situation deutlich wird?
Last edited by Xarthor; 04/03/09 10:03.
|
|
|
Re: Im- / Außerhalb Umkreis
[Re: Xarthor]
#259074
04/03/09 17:57
04/03/09 17:57
|
Joined: Oct 2005
Posts: 612
Inari
OP
User
|
OP
User
Joined: Oct 2005
Posts: 612
|
OK, für das bessere Verständnis, statt einer Kamera eine Grafik die sichtbar geschaltet wird.Im Level habe ich 30 gleiche Entities verteilt die alle die selbe Aktion nutzen. Das Skript prüft nur ob der Player in der jeweiligen nähe ist. Wenn ja, wird eine Grafik sichtbar geschaltet. Wenn nicht, aktiviert sich eine ELSE, die die Grafik unsichtbar schaltet. Der Abstand ist so groß dass der Player nur immer einer Entitie zu nahe kommen kann, dass also sich nur eine Bedingung erfüllt aber auch 29mal ihr wiedersprochen wird. Es ist eigentlich egal ob er prüft ob der Player inerhalb oder außerhalb ist. Da es immer 29mal wiedersprochen wird. Inari
|
|
|
Re: Im- / Außerhalb Umkreis
[Re: Inari]
#259079
04/03/09 18:17
04/03/09 18:17
|
Joined: Jul 2002
Posts: 4,436 Germany, Luebeck
Xarthor
Expert
|
Expert
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
|
Ist es immer die selbe grafik? Vorschlag:
define _activ, skill20;
action trigger_act
{
my._activ = 0;
while(me)
{
if(vec_dist(my.x,player.x) < 50)
{
my._activ = 1;
// zeige grafik
}
else
{
if(my._activ)
{
my._activ = 0;
// verstecke grafik hier
}
}
wait(1);
}
}
|
|
|
Re: Im- / Außerhalb Umkreis
[Re: Xarthor]
#260810
04/13/09 19:41
04/13/09 19:41
|
Joined: Oct 2005
Posts: 612
Inari
OP
User
|
OP
User
Joined: Oct 2005
Posts: 612
|
danke Xarthor für deine Hilfe, das Skript funzt jetzt so wie es soll ich hab da nun noch ein ganz anderes Problem, zu etwas total anderem. Ich create kleine Kugeln (Entitie) und lasse sie per c_move eine Strecke entlang fahren. Dabei create ich zur selben Zeit, über ihre Funktion an die selbse Stelle, noch eine zweite gößere Kugel (Entitie, transparent) um sie herum. So wie eine Zelle mit Zellkern. Mein Problem: Über "grosse_Kugel.x=kleine_Kugel.x;" lasse ich die große Kugel die kleine folgen. Das funktionier natürlich, aber nur bis eine zweite kleine Kugel createt wird. Sobald die zweite Kugel Gruppe (die kleine und die große Kugel) createt wird läuft die zwar die erste kleine Kugel noch weiter aber. Doch bleibt ihre gorße Kugel einfach stehen. ein Stück aus der Funktion der kleinen Kugel: while(1)
{
grosse_Kugel.x=my.x;
grosse_Kugely=my.y;
grosse_Kugel.z=my.z;
c_move(me,vector(3,0,0),nullvector,IGNORE_PASSABLE);
wait(1);
} Inari Edit: 555 Posts, cool
|
|
|
Re: Im- / Außerhalb Umkreis
[Re: Widi]
#260849
04/14/09 04:59
04/14/09 04:59
|
Joined: Jul 2002
Posts: 4,436 Germany, Luebeck
Xarthor
Expert
|
Expert
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
|
Alternativ könntest du auch versuchen die große kugel im you pointer der kleinen kugel abzulegen:
action kugelKlein_act
{
you = ent_create("GrosseKugel.mdl",my.x,kugelGross_act);
while(me)
{
vec_set(you.x,my.x);
// c_move etc. ...
wait(1);
}
}
In der action der großen kugel machst du dann nur noch einstellungen wie transparenz etc. und evtl ne while schleife um sie rotieren zu lassen oder ähnliches.
|
|
|
Im- / Außerhalb Umkreis [neues / ähnliches Problem]
[Re: Xarthor]
#265269
05/11/09 16:14
05/11/09 16:14
|
Joined: Oct 2005
Posts: 612
Inari
OP
User
|
OP
User
Joined: Oct 2005
Posts: 612
|
Hi, hab ein neues / ähnliches Problem, wie bei der eröffnung dieses Tread. Ursprünglich habe ich Entities nach dem Player suchen lassen und sobald er in ihrer nähe war sollte ein bmap erscheinen. Diese Methode ist nur sehr rechen intensiv Statt dessen sucht(scan) nun der Player in seiner Umgebung, nach diesen Entities. Mein Problem ist daher nun... wenn ich mich nun zb einem dieser Modelle nähere erscheint das bmap wie gewünscht, verschwindet aber leider nicht mehr wenn ich mich von ihm entferne entferne. Habt ihr eine Idee wie man das am besten lösen könnte? Ich wüsste im Moment nicht was für eine laufene Bedingung oder so schaffen könnte welche es regeln könnte. Inari
|
|
|
Re: Im- / Außerhalb Umkreis [neues / ähnliches Problem]
[Re: Inari]
#265285
05/11/09 17:11
05/11/09 17:11
|
Joined: Jul 2002
Posts: 4,436 Germany, Luebeck
Xarthor
Expert
|
Expert
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
|
(Ich gehe davon aus, dass der spieler jeden frame einen scan produziert) Starte eine funktion wenn die bitmap angezeigt wird die läuft solange die entity nicht länger als 5 (z.b.) frames im scan radius lag:
var scanframes_threshold = 5;
function coutdown_scan()
{
var frames_WithoutScan;
frames_WithoutScan = 0;
while(frames_WithoutScan < scanframes_threshold)
{
if(my.event_type != event_scan}
{
frames_WithoutScan += 1;
}
else
{
frames_WithoutScan = 0;
}
wait(1);
}
// Switch bitmap off here...
}
edit: hier die stelle wo du es aufrufst:
function object_events()
{
if(event_type == event_scan)
{
// schalte bitmap ein
...
// rufe funktion:
countdown_scan();
}
}
Achtung: Ungetester code, spontane idee, might crash!!!
Last edited by Xarthor; 05/11/09 17:12.
|
|
|
|