Gamestudio Links
Zorro Links
Newest Posts
Zorro 2.70
by jcl. 09/29/25 09:24
optimize global parameters SOLVED
by dBc. 09/27/25 17:07
ZorroGPT
by TipmyPip. 09/27/25 10:05
assetHistory one candle shift
by jcl. 09/21/25 11:36
Plugins update
by Grant. 09/17/25 16:28
AUM Magazine
Latest Screens
Rocker`s Revenge
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Who's Online Now
5 registered members (Dico, AndrewAMD, TipmyPip, NewbieZorro, Grant), 15,791 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
krishna, DrissB, James168, Ed_Love, xtns
19168 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
c-script to lite-c script #128470
05/07/07 15:44
05/07/07 15:44
Joined: Jun 2004
Posts: 134
127.0.0.1
V
Vampir Offline OP
Member
Vampir  Offline OP
Member
V

Joined: Jun 2004
Posts: 134
127.0.0.1
Hallo.
Versuche mein C-Script in Lite-C umzuschreiben. Es zeigt zwar keine Fehler an, aber beim starten kommt ne normale Windows Fehler Meldung: "acknex.exe hat ein Problem festgestellt und muss beendet werden". Finde den Fehler nicht.

Ich finde das ganze Lite-C etwas komisch. Falls ich irgendwo sonst noch was korrigieren sollte -> bitte melden.
Hier beide Script's
C-Script:
Code:
// testlevel.wdl
var video_mode = 9;
var video_depth = 32;

bmap bmp_cursor = "bmp_cursor.bmp";

function generate_level();
function felsblock();

include "pathfinding.wdl";
include "system.wdl";

function main
{
level_load("testlevel.wmb");
wait(1);
generate_level(8);
}

function generate_level(anzahl_blocks)
{
var i1 = 0;
var i2 = 0;
var temp_pos[3] = -976, -976, 48;

while(i1 < anzahl_blocks)
{
while(i2 < anzahl_blocks)
{
ent_create("fels.mdl",temp_pos,felsblock);
wait(1);
temp_pos[0] += 88;
i2 += 1;
}
i1 += 1;
i2 = 0;
temp_pos[0] = -976;
temp_pos[1] += 88;
wait(1);
}
}

function entity_glow()
{
while (event_type == event_touch)
{
my.light=on;
my.blue = 255;
my.green = 255;
my.red = 255;
wait (1);
}

while (event_type == event_release)
{
my.lightrange = 0;
my.blue = 0;
my.green = 0;
my.red = 0;
wait (1);
}
}

function felsblock()
{
my.enable_touch = on;
my.enable_release = on;
my.event = entity_glow;
}

action kreatur_skelett
{
my.enable_touch = on;
my.enable_release = on;
my.event = entity_glow;
}



Lite-C Script:

Code:
// testlevel.wdl
#include <acknex.h>;
#include <default.c>;

BMAP* bmp_cursor ;
bmp_cursor = bmap_create("bmp_cursor.bmp");

function generate_level();
function felsblock();

//#include "pathfinding.h";
#include "system.h";

function main()
{
video_mode = 9;
video_depth = 32;
level_load("testlevel.wmb");
wait(1);
init_mouse();
generate_level(8);
}

function generate_level(anzahl_blocks)
{
var i1 = 0;
var i2 = 0;
VECTOR* temp_pos = {x=-976; y=-976; z=48;}

while(i1 < anzahl_blocks)
{
while(i2 < anzahl_blocks)
{
ent_create("fels.mdl",temp_pos,felsblock);
wait(1);
temp_pos.x += 88;
i2 += 1;
}
i1 += 1;
i2 = 0;
temp_pos.x = -976;
temp_pos.y += 88;
wait(1);
}
}

function entity_glow()
{
switch(event_type)
{
case EVENT_TOUCH:
my.blue = 255;
my.green = 255;
my.red = 255;
wait(1);

case EVENT_RELEASE:
my.blue = 0;
my.green = 0;
my.red = 0;
wait (1);
}
}

action felsblock()
{
my.flags = ENABLE_TOUCH | ENABLE_RELEASE;
my.event = entity_glow;
}

action kreatur_skelett()
{
my.flags = ENABLE_TOUCH | ENABLE_RELEASE;
my.event = entity_glow;
}



An include pathfinding.h/system.h kanns nicht liegen.

mfg
Vampir


My english is version 0.1 BETA. wow gamecard 4 president
Re: c-script to lite-c script [Re: Vampir] #128471
05/07/07 15:56
05/07/07 15:56
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline
Senior Expert
HeelX  Offline
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
bmp_cursor = bmap_create("bmp_cursor.bmp");

Muss in einer Funktion stehen. Wenn du das nicht willst, kannst du dir auch eine startup function erzeugen:

Code:
void bmp_cursor_startup ()
{
bmp_cursor = bmap_create("bmp_cursor.bmp");
}



Ansonsten kommentiere alle functions aus und auch alles aus der main. Rufe nur

level_load("testlevel.wmb");

auf. Wenn dann alles klappt, stückweise alles auskommentieren. Wenn da noch ein Fehler ist, wirst du dann schnell feststellen, wo dieser liegt.

Last edited by HeelX; 05/07/07 15:56.
Re: c-script to lite-c script [Re: HeelX] #128472
05/07/07 16:28
05/07/07 16:28
Joined: Jun 2004
Posts: 134
127.0.0.1
V
Vampir Offline OP
Member
Vampir  Offline OP
Member
V

Joined: Jun 2004
Posts: 134
127.0.0.1
Danke.
Der Fehler muss in diesem Code sein:
Code:
function generate_level(var* anzahl_blocks)
{
var i1 = 0;
var i2 = 0;
VECTOR* temp_pos = {x=-976; y=-976; z=48;}

while(i1 < anzahl_blocks)
{
while(i2 < anzahl_blocks)
{
ent_create("fels.mdl",temp_pos,felsblock);
wait(1);
temp_pos.x += 88;
i2 += 1;

}
i1 += 1;
i2 = 0;
temp_pos.x = -976;
temp_pos.y += 88;
wait(1);

}
}



Und ich vermute stark die Variablen übergabe und while Funktionen. Der grüne Code ist Clean.
Hab noch ein var* angehängt, spuckt dann can not translate bla bla error aus.


My english is version 0.1 BETA. wow gamecard 4 president
Re: c-script to lite-c script [Re: HeelX] #128473
05/08/07 17:31
05/08/07 17:31
Joined: Jun 2004
Posts: 134
127.0.0.1
V
Vampir Offline OP
Member
Vampir  Offline OP
Member
V

Joined: Jun 2004
Posts: 134
127.0.0.1
Die Funktion steht so wie oben, die Fehler Meldung ist:
"Error in 'MAIN' line 33: machine code generator:can not translate LT:FIXED:POINTER:LONG."
< while(i1 < anzahl_blocks) >
Can't compile INI.c

Bei der var Übergabe stimmt was nicht. Denk ich zumindest

EDIT: Hab Das Problem gefunden!
Ich id**t hab oben im Script bei der Definition der Function vergessen, dass dort auch ein var* anzahl_blocks hinkommt!
Danke trotzdem

Last edited by Vampir; 05/08/07 17:46.

My english is version 0.1 BETA. wow gamecard 4 president

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

Gamestudio download | 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