Gamestudio Links
Zorro Links
Newest Posts
loading historical data 1st time
by AndrewAMD. 04/14/23 12:54
Trade at bar open
by juanex. 04/13/23 19:43
Bug in Highpass2 filter
by rki. 04/13/23 09:54
Adding Limit Orders For IB
by scatters. 04/11/23 16:16
FisherN
by rki. 04/11/23 08:38
AUM Magazine
Latest Screens
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Hecknex World
Who's Online Now
3 registered members (AndrewAMD, juanex, Grant), 1,018 guests, and 8 spiders.
Key: Admin, Global Mod, Mod
Newest Members
rki, FranzIII, indonesiae, The_Judge, storrealba
18919 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
global definierte ENTITY* Zeiger in Panels & event-zuweisungen #249058
01/31/09 12:03
01/31/09 12:03
Joined: Jan 2009
Posts: 5
H
Hazard Offline OP
Newbie
Hazard  Offline OP
Newbie
H

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: Hazard] #249062
01/31/09 12:16
01/31/09 12:16
Joined: Jan 2003
Posts: 4,615
Cambridge
Joey Offline
Expert
Joey  Offline
Expert

Joined: Jan 2003
Posts: 4,615
Cambridge
es ist prinzipiell on_space = foo; bist du sicher, dass die funktion zugewiesen und nicht überschrieben wird? poste mal ein stück code. zum 1. problem: vielleicht ist die entity an der panel-stelle noch nicht bekannt. bist du sicher, dass dem compiler "kugel_1" an dieser stelle schon bekannt ist?

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
H
Hazard Offline OP
Newbie
Hazard  Offline OP
Newbie
H

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 Offline
Member
Martek  Offline
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
H
Hazard Offline OP
Newbie
Hazard  Offline OP
Newbie
H

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! smile

Ein Problem wäre gelößt, bleibt nur noch das andere.

Re: global definierte ENTITY* Zeiger in Panels & event-zuweisungen [Re: Hazard] #249094
01/31/09 13:30
01/31/09 13:30
Joined: Dec 2008
Posts: 271
Saturnus Offline
Member
Saturnus  Offline
Member

Joined: Dec 2008
Posts: 271
Tach,

selbst definierte Entity-Pointer funktionieren in lite-C offenbar nicht in digits.

Der vordefinierte Pointer 'player' verursacht hingegen keine Probleme:
digits(0, 0, 8.3, myfont, 1, player.skill1);

Vielleicht ein Bug?


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