Gamestudio Links
Zorro Links
Newest Posts
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (AndrewAMD, TipmyPip), 923 guests, and 4 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Verständnisproblem bei Trace / c_trace #172084
12/10/07 18:23
12/10/07 18:23
Joined: Dec 2007
Posts: 7
Germany
PloKoon Offline OP
Newbie
PloKoon  Offline OP
Newbie

Joined: Dec 2007
Posts: 7
Germany
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 !!

Re: Verständnisproblem bei Trace / c_trace [Re: PloKoon] #172085
12/10/07 18:44
12/10/07 18:44
Joined: Oct 2002
Posts: 4,753
Munich, Bavaria, South of Germ...
TripleX Offline
Expert
TripleX  Offline
Expert

Joined: Oct 2002
Posts: 4,753
Munich, Bavaria, South of Germ...
Hey,

Ich habe jetzt nicht dein ganzes script angeschaut, aber leider ist set(my,ENABLE_SHOOT); falsch.

ENABLE_SHOOT ist ein Flag der NICHT in entity_struct->flags enthalten ist (den die set funktion verändert) sondern in den emask (event enable) flags.

==> me->eflags |= ENABLE_SHOOT; ist die richtige Version.

Re: Verständnisproblem bei Trace / c_trace [Re: TripleX] #172086
12/10/07 19:36
12/10/07 19:36
Joined: Oct 2004
Posts: 262
Augsburg,Bayern
A
ARAS Offline
Member
ARAS  Offline
Member
A

Joined: Oct 2004
Posts: 262
Augsburg,Bayern
Hi,

TripleX hat Dir ja das mit den emask flag schon gesagt. Was noch nicht stimmt ist Deine
Trace Anweisung. Dort fehlt etwas. Ich habe Dir jetzt Dein Skript einmal so umgeschrieben,
das es eigentlich funktionieren müsste. Hoffe ich zumindest.

Code:
 
#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 = 20;
vec_set(vecTo,vecFrom);
vec_for_screen(vecFrom,camera);
vecTo.z = 20000;
vec_for_screen(vecTo,camera);
c_trace(vecFrom, vecTo, IGNORE_PASSABLE|ACTIVATE_SHOOT);
}
}

action feuer()
{
obj1=my;
my.ambient=0;
my.emask = 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);
}
}



Re: Verständnisproblem bei Trace / c_trace [Re: ARAS] #172087
12/10/07 20:22
12/10/07 20:22
Joined: Dec 2007
Posts: 7
Germany
PloKoon Offline OP
Newbie
PloKoon  Offline OP
Newbie

Joined: Dec 2007
Posts: 7
Germany
Hey danke !

Das ging ja schnell !
Ich habe den Startvektor (z) noch auf 40 gesetzt und dann ging es !

Vielen Dank

Gruß

PloKoon


Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

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