Gamestudio Links
Zorro Links
Newest Posts
Free Live Data for Zorro with Paper Trading?
by dr_panther. 05/18/24 11:01
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
2 registered members (dr_panther, Ayumi), 702 guests, and 2 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
Probleme mit ent_decal in Version 7.82 #318249
04/06/10 12:05
04/06/10 12:05
Joined: Nov 2008
Posts: 946
T
the_clown Offline OP
User
the_clown  Offline OP
User
T

Joined: Nov 2008
Posts: 946

Nach dem Updaten meiner A7 Version auf 7.82 habe ich folgendes Problem festgestellt:
Ich nutze in zwei meiner älteren Projeckte ent_decal, für Einschusslöcher sowie für Blutflecken;
Nun habe ich in dem einen Projekt das Problem, das die Engine mir einen "dangerous instruction" Error ausgibt, wenn die Funktion zum Platzieren der Blutflecke aufgerufen wird, in dem anderen gibt es keine Fehlermeldung, die Decals erscheinen aber nicht. Bei den Einschusslöchern gibt es interessanterweise keine Probleme, sie erscheinen und verhalten sich wie zuvor.

Dies ist die Funktion zum Platzieren der Blutflecken, wie sie im ersten Projekt geschrieben ist:

Code:
function bloodPlaceDecal()
{
	///////////////////////////////////////////////////////////////////
	/// trace from TRACEFROM down
	///////////////////////////
	c_trace(my.x,vector(my.x+random(300) - random(300),my.y+random(300) - random(300),my.z-500),IGNORE_MODELS | IGNORE_PASSABLE);
	///////////////////////////////////////////////////////////////////////////
	if (HIT_TARGET)///target hit?
	{
	
	   PARTICLE* p = ent_decal(0,goreBmap001,random(80)+random(20),random(360));
	   p->flags |= TRANSLUCENT;
	   p->lifespan = 3600;
	   p->alpha = random(100);
	   p->size += 30 + random(20);
	   p->material = mat_gore;
	}
}



Und hier die Funktionen, wie sie im anderen Projekt geschrieben sind:
Code:
//////////////////////////////////////////////////////////////////////////////////////////////////////
/// function to place blood decal and emit effect

function targetBloodFX()  // to be called after a c_trace
{
	/////////////////////////////////////////////////////////////////////////////////////////////////////////
	if(you)
	{
		vec_scale(normal,2);
		effect(bloodFX01,2+random(2),target.x,normal);
		//
		PARTICLE* p = ent_decal(you,gore_hole001Bmap,random(35)+random(5),random(360)); // place a random sized decal at the hit entity 
		
		p->flags |= TRANSLUCENT;
		p->lifespan = 3600;
		p->alpha = random(20)+80;
	//	p->size +=  50 + random(50);
		p->material = mat_gore;
		
	}
	else
	{
	
		PARTICLE* p = ent_decal(0,gore_bmap001,random(90)+random(10),random(360));
	
		p->flags |= TRANSLUCENT;
		p->lifespan = 3600;
		p->alpha = random(40)+60;
	//	p->size += 50 + random(50);
		p->material = mat_gore;
	}
	//////////////////////////////////////////////////////////////////////////////////
	
}
////////////////////////////////////////////////////////////////////////////////
//// Here's a function that spawns a bloody decal 

function traceForBlood(VECTOR* from, VECTOR* to,ENTITY* ent, var range)
{
        you = ent;
	////////////////////////////////
	vec_add(to,vector(random(range)+random(range),random(range)-random(range),random(range)-random(range)));	
	/////////
	result = c_trace(from,to,IGNORE_ME | IGNORE_YOU | IGNORE_PASSABLE | SCAN_TEXTURE);
	if (HIT_TARGET && result <= 300)///target hit?
	{
		targetBloodFX(); 
	}
}



Ich entschuldige mich für die langen Codestücke, aber ich möchte gerne jede mögliche Fehlerquelle einbeziehen.
Nochmal, die Fehlermeldung lautet lediglich "dangerous instruction in event bloodPlaceDecal", beziehungsweise ist nicht vorhanden.
Ich hoffe, dass ich mich verständlich ausgedrückt habe und dass eine Lösung möglich ist.

Re: Probleme mit ent_decal in Version 7.82 [Re: the_clown] #318566
04/08/10 14:40
04/08/10 14:40
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Ich sehe gar keine Events in Ihrem geposteten Code - die "Dangerous Instruction" wird also von woanders in Ihrem Skript ausgelöst. Das sollten Sie aber leicht selbst fixen können, viele Möglichkeiten gibt's ja nicht.

Die Engine hat sicherlich keinen Zensor-Modus, der Blutflecken unterdrückt, Einschusslöcher aber nicht. Vergleichen Sie beide Codes und auch die Image-Formate. Dann müssten Sie irgendeinen Unterschied feststellen können.

Re: Probleme mit ent_decal in Version 7.82 [Re: jcl] #318976
04/11/10 10:24
04/11/10 10:24
Joined: Nov 2008
Posts: 946
T
the_clown Offline OP
User
the_clown  Offline OP
User
T

Joined: Nov 2008
Posts: 946
FÜr die Fehlermeldung hat sich bereits eine Lösung gefunden, sie wurde aber durchaus durch eine Zeile in meinem geposteten Code ausgelöst - offensichtlich bezieht sich das Wort "event" hier nicht auf eines, wie wir es aus lite-c kennen, sondern auf die tatsächliche Übersetzung - die Engine hat lediglich ein kritisches Ereignis festgestellt.
Auch für meine anderen Probleme hat sich zumindest eine Erklärung gefunden, insgesamt lässt sich alles auf die c_trace Anweisungen zurückführen. Die scheinen sich in 7.82 anders zu verhalten als zuvor.
Danke aber für die Antwort.

Re: Probleme mit ent_decal in Version 7.82 [Re: the_clown] #319353
04/14/10 12:56
04/14/10 12:56
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
"Event" ist eine durch ein Ereignis, wie z.B. ein Treffer mit c_trace, getriggerte Funktion. Das finden Sie unter "Event" im Handbuch. In einer solchen Event-Funktion dürfen Sie bestimmte Befehle erst nach einem wait() verwenden, sonst bekommen Sie diese Fehlermeldung.


Moderated by  HeelX, Spirit 

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