|
3 registered members (AndrewAMD, juanex, Grant),
1,018
guests, and 8
spiders. |
|
Key:
Admin,
Global Mod,
Mod
|
|
|
global definierte ENTITY* Zeiger in Panels & event-zuweisungen
#249058
01/31/09 12:03
01/31/09 12:03
|
Joined: Jan 2009
Posts: 5
Hazard
OP
Newbie
|
OP
Newbie
Joined: Jan 2009
Posts: 5
|
Guten Tag,
ich habe 2 Probleme mit einem Lite-C Script, die im C-Script nicht auftauchen.
Das Erste betrifft einen global definierten ENTITY* Zeiger (kugel_1), dem ich innerhalb der Main Funktion mittelst ent_for_name("kugel_1") eine Entity zuweise. (Innerhalb des C-Scripts, benutze ich "ptr_for_name")
Wenn ich auf die skill-werte innerhalb eines Panels zugreifen möchte:
digits 0,0,8.3,myfont,1,kugel_1.skill1;
bekomme ich folgende Fehlermeldung:
< digits 0,0,8.3,myfont,1 ^kugel_1.skill1;> 03A.C 6:6 (): Parameter unknown kugel_1 Keyword
Und ein Messagefenster, mit folgendem Inhalt: Error E355 Startup failure.
Das Zweite Problem besteht darin, das ich verschiedenen Events eine Funktion zuweise:
(Zwei Versionen der Zuweisung, da ich beide ausprobiert habe)
on_space = ect(); on_space = ect;
on_1 = ect(); on_1 = ect;
die Funktionen nach dem Start des Spiels jedoch nicht auf Knopfdruck gestartet werden.
Wie geschrieben, beide Probleme tauchen nicht auf, wenn ich mit C-Script arbeite.
Ich habe es auf 2 A7 Versionen ausprobiert. Jedes mal das gleiche.
7.01 / WED V6.812 und 7.66 / WED V6.888
Kann mir Jemand bitte sagen, was ich falsch mache?
Grüße, Hazard
|
|
|
Re: global definierte ENTITY* Zeiger in Panels & event-zuweisungen
[Re: Joey]
#249073
01/31/09 12:33
01/31/09 12:33
|
Joined: Jan 2009
Posts: 5
Hazard
OP
Newbie
|
OP
Newbie
Joined: Jan 2009
Posts: 5
|
Hallo Joey, hier ist das Lite-C Script. Durch das Drücken von Space soll der zaehler auf 0 gesetzt werden.
// 03B.c
#include <acknex.h> #include <default.c>
ENTITY* kugel_1; ENTITY* kugel_2;
var zaehler = 0;
FONT* myfont = "msgfont.pcx";
function main() { level_load("03A.wmb"); wait(2);
kugel_1 = ent_for_name ("kugel_1"); kugel_2 = ent_for_name ("kugel_2"); }
PANEL* mypanel = { pos_x = 2; pos_y = 2; flags = VISIBLE; digits 0,0,8.3,myfont,1,kugel_1.skill1; digits 0,20,8.3,myfont,1,zaehler; }
function event_planet2() { if(event_type == EVENT_SCAN) { my.skill1 += (you.x - my.x) / you.skill4; my.skill2 += (you.y - my.y) / you.skill4; my.skill3 += (you.z - my.z) / you.skill4; c_move (my,nullvector,vector(my.skill1 * time_step, my.skill2 * time_step, my.skill3 * time_step),0); } wait(1); }
action planet2() { my.emask |= (ENABLE_SCAN | ENABLE_DETECT); my.event = event_planet2; }
function event_planet1() { if (event_type == EVENT_DETECT) { zaehler += 1; } }
action planet1() { my.emask |= (ENABLE_DETECT); my.event = event_planet1; while(1) { c_scan(vector(my.x, my.y, my.z),vector(360,360,360),vector(360,360,100000),IGNORE_ME | SCAN_ENTS | SCAN_LIMIT); wait(1); } }
function ect() { zaehler = 0; }
on_space = ect;
|
|
|
Re: global definierte ENTITY* Zeiger in Panels & event-zuweisungen
[Re: Hazard]
#249084
01/31/09 12:53
01/31/09 12:53
|
Joined: Jul 2007
Posts: 288 Germany, NRW
Martek
Member
|
Member
Joined: Jul 2007
Posts: 288
Germany, NRW
|
Zu deinem 2. Problem: on_... functionen werden in Lite-C in der Main-Funktion definiert. Vielleicht ist das dein Fehler
3D Gamestudio A7 Extra
|
|
|
Re: global definierte ENTITY* Zeiger in Panels & event-zuweisungen
[Re: Martek]
#249089
01/31/09 13:07
01/31/09 13:07
|
Joined: Jan 2009
Posts: 5
Hazard
OP
Newbie
|
OP
Newbie
Joined: Jan 2009
Posts: 5
|
Hallo Martek, Ich habe die on_space Anweisung in die Main gesetzt und sie lief dannach wie erwaret. Das war mein Fehler. Danke schön! Ein Problem wäre gelößt, bleibt nur noch das andere.
|
|
|
|