Hallo zusammen !
Ich bin neu hier ! Darum kurz was zu meinem Hintergrund ! Ich programmiere seit Jahren Software mit c / c++ / basic etc. und wollte mich nun mal mit lite-c befassen ! Ich hänge jetzt allerdings bei dem Befehl "trace" bzw. "c_trace".
Ich habe folgendes Script zu Testzwecken geschrieben :
#include <acknex.h>
#include <default.c>
ENTITY* obj1;
VECTOR vecFrom;
VECTOR vecTo;
function shoot_event()
{
if (event_type==EVENT_SHOOT)
{
obj1.ambient=-300;
obj1.lightrange=200;
}
}
function steuerung()
{
if(mouse_left)
{
vecFrom.x = mouse_cursor.x;
vecFrom.y = mouse_cursor.y;
vecFrom.z = 0;
vec_set(vecTo,vecFrom);
vec_for_screen(vecTo,camera);
vecTo.z = 20000;
//trace_mode=IGNORE_ME+IGNORE_PASSABLE+ACTIVATE_SHOOT;
//trace(vecFrom, vecTo);
c_trace(vecFrom, vecTo, IGNORE_PASSABLE|ACTIVATE_SHOOT);
}
}
action feuer()
{
obj1=my;
my.ambient=0;
set(my,ENABLE_SHOOT);
my.event=shoot_event;
}
action player_act()
{
player=me;
vec_set(camera.x,player.x);
camera.pan=player.pan;
wait(1);
}
void main()
{
video_mode=7;
video_depth=16;
level_load("level.wmb");
wait (2);
while(1)
{
steuerung();
wait(1);
}
} Ich habe das Script schon mit Hilfe von anderen Forenusern umgeschrieben, aber es funktioniert trotzdem nicht.
Das Level besteht aus einem Terrain, einer Skybox, einem Playermodell und einem Kugekobjekt. Das Ziel ist es, dass bei einem Mausklick auf die Kugel (obj1) die
Funktion "shoot_event" ausgeführt wird und die Kugel dann das ambiente und die lightrange ändert (bei event_type==EVENT_SHOOT) ! Nur irgendwie scheint das event nicht ausgelöst zu werden !?
Danke schon mal für die Hilfe !!