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
Page 2 of 3 1 2 3
Re: Lite-C wirklich besser? [Re: Unknow] #337519
08/11/10 12:02
08/11/10 12:02
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline
Expert
MasterQ32  Offline
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
#include "scripts//gui.c"
#define PRAGMA_PATH "scripts"

wär des was?


Visit my site: www.masterq32.de
Re: Lite-C wirklich besser? [Re: MasterQ32] #337636
08/12/10 09:54
08/12/10 09:54
Joined: Jan 2009
Posts: 18
U
Unknow Offline OP
Newbie
Unknow  Offline OP
Newbie
U

Joined: Jan 2009
Posts: 18
Aber das geht doch nur wenn im Hauptordner das Mainscript/Level drin ist.
Meine Struktur sieht aber so aus:

----------------------------- [Gameordner](ohne Scripts drinnen)
-------------------------------------------------------------------------
----------------| Level | Modelle | Script | Bilder |---------------


Und so weiter.Aber das Main Script ist im Levelordner und die anderen im ScriptOrdner.

Achja und damit ich nich extra einen neuen Therad Ordner aufmachen muss.Wie ist das mit der "temp" variable in C-lite ich kriege immer eine Meldung,
"undeclaired Identifier"(hoffe jetzt hab das richtig geschrieben :D)
Muss ich die neu definieren?

Last edited by Unknow; 08/12/10 09:57.
Re: Lite-C wirklich besser? [Re: Unknow] #337664
08/12/10 11:56
08/12/10 11:56
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline
Senior Expert
HeelX  Offline
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
Ich verstehe deine Grafik nicht. Du kannst auf beliebige Ordnerstrukturen zugreifen. Das war in CScript schon so und das ist in LiteC nicht anders. Betrachte von der Hauptdatei ausgehend dein ganzes Spiel in Form von relativen Pfadangaben. Schreib doch mal auf, wie du das meinst. Ich hab mir ja Mühe gegeben, aber so ganz habe ich dein Problem nicht verstanden.

Mach für temporäre Variablen einfach lokale Variablen auf.

Code:
void meineFunktion ()
{
   float meineTemporaereVariable;
   meineTemporaereVariable = ...
}



Re: Lite-C wirklich besser? [Re: HeelX] #337666
08/12/10 12:01
08/12/10 12:01
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline
Expert
MasterQ32  Offline
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
Mit deinem Projekt:
#define PRAGMA_PATH "..//models"
#include "..//test.c"

und bei Lite-C mit temp:
einfach ganz ganz oben im Main-Script

Vector temp;
#include <acknex.h>
....


Visit my site: www.masterq32.de
Re: Lite-C wirklich besser? [Re: MasterQ32] #337682
08/12/10 14:01
08/12/10 14:01
Joined: Jan 2009
Posts: 18
U
Unknow Offline OP
Newbie
Unknow  Offline OP
Newbie
U

Joined: Jan 2009
Posts: 18
Ich meinte damit kurz und doof gesagt.Es hat nicht funktioniert bei mir weil mein Main script in einem Unterordner war.
Ich kann das mit dem Path immoment nicht testen weil ich gerade dabei bin alles wieder auseinander zu tun.Ich war nämlich so doof ohne eine Sicherung alles aus allen Ordnern in einen zu haun und die alten dann zu löschen ^^"

Wegen dem mit temp:

Beides will klappt nicht weil temp ja kein Vector ist/war und auch keine einfache Variable.Mit temp konnte ich immer sowohl sowas:
Code:
temp = str_cmp(save_dir, "\\Save");



als auch sowas machen

Code:
vec_set(my.x,temp.x);



Auch im Handbuch steht:
Quote:
Die temp-Variable wird von vielen Funktionen für Zwischenergebnisse benutzt. All diese anderen Funktionen laufen währen der wait-Zeit. Beim Erreichen des ersten wait(1) hat temp einen Wert von 1 - aber nach dem wait(1) kann temp alle möglichen Werte haben. Das ist davon abhängig, was die anderen Funktionen damit getan haben.

Merke:
Betrachten Sie wait als eine Anweisung, die definitiv alle globalen Variablen und Pointer ändern kann. Nur der MY- und der you-Pointer sowie lokale Variablen behalten garantiert ihre Werte innerhalb einer Funktion.


Re: Lite-C wirklich besser? [Re: Unknow] #337685
08/12/10 14:41
08/12/10 14:41
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline
Senior Expert
HeelX  Offline
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
Dein main-Script ist in einem Unterordner? Ja und? ^^ dann mach doch sowas wie

#define PRAGMA_PATH ".\\..\\models"

oder

#define PRAGMA_PATH ".\\..\\data\\textures"

oder sowas... ich sehe das Problem nicht. Du musst einfach nur deine Ordnerstruktur abbilden. Das war in C-Script NICHT anders! Es wäre einfacher für uns, dir zu helfen, wenn du mal konkret sagen würdest was du (ausgehend von deinem top-level-folder) für eine Ordnerstruktur hast, wo dein main-Script sitzt und in welchen Ordner bei dir was sitzt...

Ja, wenn du temporäre Vektoren brauchst, mach das doch auch einfach über lokale Variablen:

VECTOR meinTemporaererVektor;
vec_set(&meinTemporaererVektor, vector(1,2,3));
...

Das "temp" so gesehen nicht mehr existiert, liegt daran, dass man nicht

float temp;

und

int temp;

und

VECTOR temp;

haben kann, da du dann ja temp auf drei verschiedene Weisen deklarierst. Früher in CScript war ja alles numerische eine var-Variable. temp war früher also ein vector, bzw. ein 3-er Array, also sowas wie

var[3] temp;

und wenn du einfach temp verwendet hast, hast du damit implizit auf das erste Element zugegriffen. Konntest aber temp auch in den Vektor-Anweisungen verwenden, da es ja ein 3er Array war. Zusätzlich wurde unter C-Script alle Objekt-Pointer und deren Adressen auf var abgebildet, da eine var ja eh 4 Byte groß war, sodass du auch Strings in vars oder auch Panels speichern konntest.

In C ist aber alles typisiert! - Da geht das dann nicht.

Last edited by HeelX; 08/12/10 14:42.
Re: Lite-C wirklich besser? [Re: HeelX] #337701
08/12/10 16:29
08/12/10 16:29
Joined: Jan 2009
Posts: 18
U
Unknow Offline OP
Newbie
Unknow  Offline OP
Newbie
U

Joined: Jan 2009
Posts: 18
Die struktur hab ich ja oben versucht zu erklären grin

Aber kann sein das es jetzt klappt werde es gleich dann testen.
Woran es liegen könnte ist das ich in lite-c bei PRAGMA_PATH anstatt // nur/ gemacht habe also Praktisch :

#define PRAGMA_PATH ".\..\models"


Wiso eigentlich auf 3 Weisen also ehrlich gesagt habe ich das immer nur so verstanden das Sachen wie float,int,var einfach nur variablen sind mit anderer Größenordnungen haben.Und das Lite-C sie sowieso automatisch "umwandelt".

Aber im Grunde heißt das doch für mich ich muss mir meine eigenen definieren muss.Einfach
float temp;
int temp;
VECTOR temp;
oder
var[3] temp;
geht ja nicht,oder?

wenn nicht dann muss ich doch nur

float temp_1;
int temp_2;
VECTOR temp_vec;

machen und das dann in meinem alten Script jeweils austauschen,oder?







Last edited by Unknow; 08/12/10 16:30.
Re: Lite-C wirklich besser? [Re: Unknow] #337706
08/12/10 17:35
08/12/10 17:35
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline
Senior Expert
HeelX  Offline
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
naja, dann doch lieber

float fTemp;
int iTemp;
VECTOR vTemp;

usw., bei temp_1 weißte ja von der Bezeichnung nicht was fürn Typ das ist und das wird auf dauer hoffnungslos undurchschaubar.

Re: Lite-C wirklich besser? [Re: HeelX] #337752
08/13/10 00:32
08/13/10 00:32
Joined: Jan 2009
Posts: 18
U
Unknow Offline OP
Newbie
Unknow  Offline OP
Newbie
U

Joined: Jan 2009
Posts: 18
Ja das war aber auch nur ein Beispiel smile

Alo das mit dem PATH klappt jetzt,danke vielmals!

Das einzige was ich immernoch nicht verstanden hab wiso float und int und wann soll ich welches einsetzen?
geht nicht auch einfach
var vtemp; ?

EDIT: Ok bei VECTOR temp_vec; gibt es immernoch ein Problem ich kann bei ihm schließlich nur die x,y,z Werte bestimmen und nicht pan,tilt,roll.Kann ich dies nicht irgendwie verbinden?So das ich mit einem vector sowohl temp_vec.pan als auch temp_vec.x machen kann?
Sonst kriege ich immer:
"PAN" is not a member of "VECTOR"

Last edited by Unknow; 08/13/10 04:59.
Re: Lite-C wirklich besser? [Re: Unknow] #337761
08/13/10 07:16
08/13/10 07:16
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline
Senior Expert
HeelX  Offline
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
Du kannst natürlich auch weiterhin var nutzen, es zwingt dich ja niemand float, int, double usw. zu verwenden.

Wegen der Vektor-Geschichte: für Winkel benutzt du ANGLE, aber du kannst auch in die Vektoren Winkel reinschreiben, basiert ja immer noch auf var. Also sowas wie

vec_set(my->pan, vector(0,45,90));

funktioniert weiterhin.

Wenn du explizit mit pan, tilt und roll arbeiten willst, musst du das über ANGLE lösen.

float ist ein Gleitkommaformat, also sowas wie 3.2123. Double ist dasselbe nur mit doppelter Genauigkeit. Int speichert nur ganzahlige Werte, also -1, 4, 2, 0... wenn du eine Gleitkommazahl in eine int schreibst, wird der Nachkommateil abgeschnitten. Also sowas wie

int eineZahl;
eineZahl = 3.71025;

ergibt dann 3 (gerundet wird nicht!)

long ist dasselbe wie double für float, also int's mit erweitertem Zahlenbereich.

Page 2 of 3 1 2 3

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