Probleme mit NM Schader + anders Script

Posted By: White_Wolf

Probleme mit NM Schader + anders Script - 08/28/07 09:15

Hallo,

Ich habe ein Problem. Wenn ich den Normalmaping Schader von xXxGuitar511 benutze und das Lampen Script (zum anschalten und ausschalten von Lampen), wird zwar der Schader angezeigt aber der Schalter schalten nicht mehr die Lampen an und aus. (ohne Schader scribt funktioniert das Lampenscript einwandfrei). Wie kann ich beides benutzen??

Code:
 //--------------------------------------------------------------
// Normal Mapping Shader
//
// Matt_Aufderheide, Bloodline, William, xXxGuitar511
// -------------------------------------------------------------
// title: Normal Mapping Shader
// text: -
// -------------------------------------------------------------

// entry: FX File:
string fxNM = <NM.fx>;

// section: Ambient Lighting:
// enable: Faked Dynamics
DEFINE staFake;
// enable: Ambience
DEFINE staAmb;


material mat_NM
{
// section: Diffuse:
// entry: Red
diffuse_red = 255;
// entry: Green
diffuse_green = 255;
// entry: Blue
diffuse_blue = 255;

// section: Ambient:
// entry: Red
ambient_red = 16.0;
// entry: Green
ambient_green = 16.0;
// entry: Blue
ambient_blue = 16.0;

// // section: Sun:
// // entry: Red
// specular_red = 64.0;
// // entry: Green
// specular_green = 64.0;
// // entry: Blue
// specular_blue = 64.0;

// section: Static Lighting:
// entry: Red
emissive_red = 255.0;
// entry: Green
emissive_green = 255.0;
// entry: Blue
emissive_blue = 255.0;
//
flags = tangent | enable_render;
effect = fxNM;
//event = checkLight;
}


function effect_startup()
{
effect_load(mat_NM, fxNM);
//
var SLF;
while(1)
{
SLF = 0;
ifdef staAmb;
SLF += 1;
endif;
ifdef staFake;
SLF += 2;
endif;
//
vec_set(mat_NM.specular_blue, sun_color);
mat_NM.skill1 = pixel_for_vec(nullvector, SLF*10, 8888);
wait(1);
}
}

//function checkLight()
//{
// vec_set(temp, my.x);
// temp.z -= floor_range;
// c_trace(my.x, temp, ignore_me | scan_texture);
// mtl.skill1 = pixel_for_vec(tex_color, tex_light, 8888);
//}

define _Red, skill1;
define _Green, skill2;
define _Blue, skill3;
define _Range, skill4;
// action: Dynamic Light
// text: -
// skill1: Red 128
// skill2: Green 128
// skill3: Blue 128
// skill4: Range 300
ACTION DLight
{
vec_set(my.blue, my._red);
my.lightrange = my._Range;
my.light = on;
}


ACTION SpinMe
{
while(1)
{
my.pan -= 2 * time_step;
wait(1);
}
}





Lampen code:

//////////////////////////////////////////////////////////////////////////
// Variablen, Synonyme, Functionsvordef. //
//////////////////////////////////////////////////////////////////////////
entity* lamp_syn;
entity* lamp_syn2;
entity* lamp_syn2_2;

var lamp_counter = 0;
var lamp_counter2 = 0;

function lamp_on();
function lamp_on2();
//////////////////////////////////////////////////////////////////////////
// Funktionen //
//////////////////////////////////////////////////////////////////////////
action light_switch
{
my.enable_click=ON;
my.enable_scan = ON;
//MY.enable_shoot = ON;
MY.event = lamp_on;

}

action light_switch2
{
my.enable_click=ON;
my.enable_scan = ON;
//MY.enable_shoot = ON;
MY.event = lamp_on2;
}

action lamp2
{
lamp_syn2 = ME;
MY.LIGHTRED = 200;
MY.LIGHTGREEN = 200;
MY.LIGHTBLUE = 150;
}

action lamp2_2
{
lamp_syn2_2 = ME;
MY.LIGHTRED = 200;
MY.LIGHTGREEN = 200;
MY.LIGHTBLUE = 150;
}

action lamp
{
lamp_syn = ME;
MY.LIGHTRED = 200;
MY.LIGHTGREEN = 200;
MY.LIGHTBLUE = 150;
}

function lamp_on()
{
if(indicator == _HANDLE)
{
if (lamp_counter == 1)
{
lamp_syn.LIGHTRANGE = 450;
lamp_counter = 0;
}
else
{
lamp_syn.LIGHTRANGE = 0;
lamp_counter = 1;
}
}
}

function lamp_on2()
{
if(indicator == _HANDLE)
{
if (lamp_counter2 == 1)
{
lamp_syn2.LIGHTRANGE = 400;
lamp_syn2_2.LIGHTRANGE = 400;
lamp_counter2 = 0;
}
else
{
lamp_syn2.LIGHTRANGE = 0;
lamp_syn2_2.LIGHTRANGE = 0;
lamp_counter2 = 1;
}
}
}






Posted By: BoH_Havoc

Re: Probleme mit NM Schader + anders Script - 08/28/07 15:52

versuch mal wenn du die lampe "ausschaltest" auch gleichzeitig red, green und blue auf 0 zu setzen, das könnte evtl klappen.
Posted By: White_Wolf

Re: Probleme mit NM Schader + anders Script - 08/28/07 18:46

@BoH_Havoc

Habe den Coder der Lampe abgeändert (So wie ich dachte dass du es meintest). Geht aber trotzdem nicht in Verbindung mit den Shader. Geht also weiterhin nur wenn dem Lichtschalter nicht der Normalmap Schader zugewiesen ist.

Code:
 

action light_switch
{
my.enable_click=ON;
my.enable_scan = ON;
//MY.enable_shoot = ON;
MY.event = lamp_on;

}

action lamp
{
lamp_syn = ME;
// MY.LIGHTRED = 200;
// MY.LIGHTGREEN = 200;
// MY.LIGHTBLUE = 150;
}

function lamp_on()
{
if(indicator == _HANDLE)
{
if (lamp_counter == 1)
{
lamp_syn.LIGHTRANGE = 450;
lamp_syn.LIGHTRED = 200;
lamp_syn.LIGHTGREEN = 200;
lamp_syn.LIGHTBLUE = 150;
lamp_counter = 0;
}
else
{
lamp_syn.LIGHTRANGE = 0;
lamp_syn.LIGHTRED = 0;
lamp_syn.LIGHTGREEN = 0;
lamp_syn.LIGHTBLUE = 0;

lamp_counter = 1;
}
}
}




Edit: Habe nochmal alles Überprüft jetzt geht es komischer weise.
© 2024 lite-C Forums