asd's fragenthread

Posted By: asd

asd's fragenthread - 09/01/08 18:04

So, da ich in nem Thread vorher gesagt bekommen habe dass ich nicht für jede frage einen thread aufmachen soll, jetz einer in dem ich die ganzen fragen posten werde.
1:
Kann man wärmebild einfügen(wahrscheinlich ja), aber wie? das einzige was mir einfällt sind shader, nur damit kenne ich mich garnicht aus;)
2:
gibt es irgendwo auch nur eine winzige anleitung zum characterlinking?
3:
wie baue ich den bumpmap shader ein? ich bekomme es nicht hin!
4:problem mit nem window, die bitmap wird nicht angezeigt!
Code:
PANEL* Sichtbarkeit = {
	pos_x = 0;
	pos_y = 0;
	window(600, 469,200,11,"Zeiger.tga",Sichtbarkeits_Anzeiger_Pos,0);
	flags = VISIBLE;
}

5: was muss ich für eine "npc_canseenpc" genau schreiben???
Code:
function Npc_CanSeeNpc(ENTITY* obj1, ENTITY* obj2)
{
	if(obj1.pan > obj2.pan + 190 && obj1.pan < obj2.pan + 170)
	{
		if(c_trace(vector(obj1.x,obj1.y,obj1.z),vector(obj2.x,obj2.y,obj2.z),IGNORE_PASSABLE | USE_POLYGON| SCAN_TEXTURE))
		{
			return (1);
		}
		else
		{
			return (0);
		}
	}
	else
	{
		return(0);
	}
}


das wars dann erstmal!
Posted By: Slin

Re: asd's fragenthread - 09/01/08 19:02

1. Shader oder per Fixed Function Effekt sollte auch etwas möglich sein. Ansonsten kannst du auch noch mit Lite-C etwas herumprobieren.

2. Wenn du keine findest und auch gründlich gesucht hast nicht.

3. Wie versuchst du es denn?

4. Dort muss ein BMAP Pointer und kein char angegeben werden.

5. Um was zu erreichen? Der Code ist warscheinlich nicht besonders schwierig, deshalb empfehle ich dir sehr den selbst zu schreiben. Aber du könntest doch mal deinen Ansatz hier posten und dann wird dir sicher jemand ein paar Hinweise geben, mit denen du dann vielleicht ja auch was anfangen kannst wink
Posted By: asd

Re: asd's fragenthread - 09/01/08 19:20

1:
ja, is klar, aber erstmal muss ich was über shader lernen... nur sogut is mein englisch auch nicht!
3:
Code:
#include "Shader.c"

der zeiger wird angezeigt:)
nur bewegt er sich nicht:(
Code:
function Sichtbarkeits_Anzeige_Setzen(var sichtbarkeit)
{
if(sichtbarkeit > 95) {Sichtbarkeits_Anzeiger_Pos = 10;}
if(sichtbarkeit > 90) {Sichtbarkeits_Anzeiger_Pos = 20;}
if(sichtbarkeit > 85) {Sichtbarkeits_Anzeiger_Pos = 30;}
if(sichtbarkeit > 80) {Sichtbarkeits_Anzeiger_Pos = 40;}
if(sichtbarkeit > 75) {Sichtbarkeits_Anzeiger_Pos = 50;}
if(sichtbarkeit > 70) {Sichtbarkeits_Anzeiger_Pos = 60;}
if(sichtbarkeit > 65) {Sichtbarkeits_Anzeiger_Pos = 70;}
if(sichtbarkeit > 60) {Sichtbarkeits_Anzeiger_Pos = 80;}
if(sichtbarkeit > 55) {Sichtbarkeits_Anzeiger_Pos = 90;}
if(sichtbarkeit > 50) {Sichtbarkeits_Anzeiger_Pos = 100;}
if(sichtbarkeit > 45) {Sichtbarkeits_Anzeiger_Pos = 110;}
if(sichtbarkeit > 40) {Sichtbarkeits_Anzeiger_Pos = 120;}
if(sichtbarkeit > 35) {Sichtbarkeits_Anzeiger_Pos = 130;}
if(sichtbarkeit > 30) {Sichtbarkeits_Anzeiger_Pos = 140;}
if(sichtbarkeit > 25) {Sichtbarkeits_Anzeiger_Pos = 150;}
if(sichtbarkeit > 20) {Sichtbarkeits_Anzeiger_Pos = 160;}
if(sichtbarkeit > 15) {Sichtbarkeits_Anzeiger_Pos = 170;}
if(sichtbarkeit > 10) {Sichtbarkeits_Anzeiger_Pos = 180;}
if(sichtbarkeit > 5 ) {Sichtbarkeits_Anzeiger_Pos = 190;}
else {Sichtbarkeits_Anzeiger_Pos = 190;}
}

diese func wird durch eine schleife immer wieder aktualisiert
Code:
function scan_texture()
{
	player = eBall;
	var tex_light = 60;
     while (1)
     {
         vec_set(temp, player.x);
         temp.z -= 300;
         trace_mode = scan_texture;
         trace (player.x, temp);
         Sichtbarkeits_Anzeige_Setzen(tex_light);
         wait(1);
     }
} 

5:
damit will ich abfragen ob entity1 entity2 sehen kann, und ob nichts dazwischen ist. also eine in richtung blicken und abfragen ob etwas zwischen spieler und gegner ist.
Posted By: Rasch

Re: asd's fragenthread - 09/02/08 15:59

zu 5.

c_trace vom gegner aus.

When you(entity) getroffen wird mach dies, ansonsten (blocks) mach das.

dem player einen skill zuweisen.

z.b. skill3 = 1;

und das dann noch abfragen das die action auch nur bei treffen der player entity ausgeführt wird smile

probiers mal aus smile
Posted By: asd

Re: asd's fragenthread - 09/02/08 18:02

thx jetz klappt es:)
aber:
das cansee soll auch abfragen ob npc in richtung player gedreht ist. diese abfrage von mir is ziemlich unsinnig.
Posted By: Rasch

Re: asd's fragenthread - 09/02/08 18:57

Sobald der NPc den Spieler trifft blickt er doch in seine Richtung da braucht es keine weitere Abfrage smile
Posted By: broozar

Re: asd's fragenthread - 09/02/08 19:00

Quote:
function Sichtbarkeits_Anzeige_Setzen(var sichtbarkeit)
{
if(sichtbarkeit > 95) {Sichtbarkeits_Anzeiger_Pos = 10;}
if(sichtbarkeit > 90) {Sichtbarkeits_Anzeiger_Pos = 20;}
if(sichtbarkeit > 85) {Sichtbarkeits_Anzeiger_Pos = 30;}
if(sichtbarkeit > 80) {Sichtbarkeits_Anzeiger_Pos = 40;}
if(sichtbarkeit > 75) {Sichtbarkeits_Anzeiger_Pos = 50;}
if(sichtbarkeit > 70) {Sichtbarkeits_Anzeiger_Pos = 60;}
if(sichtbarkeit > 65) {Sichtbarkeits_Anzeiger_Pos = 70;}
if(sichtbarkeit > 60) {Sichtbarkeits_Anzeiger_Pos = 80;}
if(sichtbarkeit > 55) {Sichtbarkeits_Anzeiger_Pos = 90;}
if(sichtbarkeit > 50) {Sichtbarkeits_Anzeiger_Pos = 100;}
if(sichtbarkeit > 45) {Sichtbarkeits_Anzeiger_Pos = 110;}
if(sichtbarkeit > 40) {Sichtbarkeits_Anzeiger_Pos = 120;}
if(sichtbarkeit > 35) {Sichtbarkeits_Anzeiger_Pos = 130;}
if(sichtbarkeit > 30) {Sichtbarkeits_Anzeiger_Pos = 140;}
if(sichtbarkeit > 25) {Sichtbarkeits_Anzeiger_Pos = 150;}
if(sichtbarkeit > 20) {Sichtbarkeits_Anzeiger_Pos = 160;}
if(sichtbarkeit > 15) {Sichtbarkeits_Anzeiger_Pos = 170;}
if(sichtbarkeit > 10) {Sichtbarkeits_Anzeiger_Pos = 180;}
if(sichtbarkeit > 5 ) {Sichtbarkeits_Anzeiger_Pos = 190;}
else {Sichtbarkeits_Anzeiger_Pos = 190;}
}
oh gott...

die zugehörige funktion ist linear
Posted By: asd

Re: asd's fragenthread - 09/02/08 19:08

was meinst du?
Posted By: broozar

Re: asd's fragenthread - 09/02/08 19:18

dass dein elendig langer (und langsamer, unschöner, uneleganter) if-baum durch eine zeile ausdrückbar ist:

int Sichtbarkeits_Anzeige_Setzen(int sichtbarkeit)
{
return int(20-(0.2*sichtbarkeit))*10;
}

das ganze kannst jetzt noch clampen, dann fällt auch das "else" weg
Posted By: asd

Re: asd's fragenthread - 09/02/08 19:36

Code:
sichtbarkeitsanzeige = 10 * tex_light 

Posted By: broozar

Re: asd's fragenthread - 09/02/08 19:57

kann dir grad nicht folgen... was?
Posted By: asd

Re: asd's fragenthread - 09/03/08 11:37

also das mit der anzeige klappt jetzt, hab einfach panel erstellt, dass sich dadrüber bewegt wink
© 2023 lite-C Forums