Gamestudio Links
Zorro Links
Newest Posts
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/20/24 20:05
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
0 registered members (), 1,438 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Ansätze für Mini-Golf Editor #89510
09/11/06 16:52
09/11/06 16:52
Joined: Mar 2004
Posts: 286
Maintal, Deutschland
TheTommynator Offline OP
Member
TheTommynator  Offline OP
Member

Joined: Mar 2004
Posts: 286
Maintal, Deutschland
Hallo,

Ich bin im Moment an der Planung für ein Mini-Golf-Spiel.
Da wollte ich auch einen Editor einbauen, mit dem der Spieler eigene Bahnen einbauen kann.

Allerdings habe ich keine wirkliche Idee, wie ich das im Hintergrund umsetzen kann.
Im Vordergrund dachte ich mir, dass man einzelne Models (die Hindernisse) bereitstellt, die der User dann auf einer Grundfläche platzieren kann.
Das mit dem Platzieren krieg ich auch noch hin, aber wie speichere ich die Positionen der Models (Drehung, Höhe) und lese sie wieder ein?

Ihr braucht keinen vollständigen Code zu posten, aber Idee-Ansätze wären toll

Danke


Back @ work with 3DGS.
Re: Ansätze für Mini-Golf Editor [Re: TheTommynator] #89511
09/11/06 17:23
09/11/06 17:23
Joined: May 2002
Posts: 611
Germany => Bavaria => Unterfra...
LordRathan Offline
User
LordRathan  Offline
User

Joined: May 2002
Posts: 611
Germany => Bavaria => Unterfra...
Du könntest das Zeug in einer Textdatei speichern. Oder du wartest noch ein oder zwei Wochen, da hat Sinthoras hier am Forum seine Datenbank fertig.

Re: Ansätze für Mini-Golf Editor [Re: TheTommynator] #89512
09/11/06 17:27
09/11/06 17:27
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Xarthor Offline
Expert
Xarthor  Offline
Expert

Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
du könntest der reihe nach die entity liste ab-arbeiten (ent_next) und jeweils den dateinamen (str_for_entfile) + x,y,z position + scale x,y,z + angle pan,tilt,roll in eine datei schreiben.

Beim laden erstellst du halt erst die entity mittels des
dateinamen und liest dann die ganzen anderen sachen entsprechend in die parameter der entity die du grade erstellt hast.

Code beispiel:
Code:

string entity_file;
var fhandle;

function save_map()
{
fhandle = file_open_write("map00.txt");
you = ent_next(null);
while(you != null)
{
str_for_entfile(entity_file,you);
file_str_write(fhandle,entity_file);
file_var_write(fhandle,you.x);
file_var_write(fhandle,you.y);
file_var_write(fhandle,you.z);
file_var_write(fhandle,you.pan);
file_var_write(fhandle,you.tilt);
file_var_write(fhandle,you.roll);

you = ent_next(you);
wait(1); //nicht wirklich nötig
}
file_close(fhandle);
}


Wie das laden aussieht ist -denke ich- klar

Re: Ansätze für Mini-Golf Editor [Re: Xarthor] #89513
09/11/06 19:45
09/11/06 19:45
Joined: Mar 2004
Posts: 286
Maintal, Deutschland
TheTommynator Offline OP
Member
TheTommynator  Offline OP
Member

Joined: Mar 2004
Posts: 286
Maintal, Deutschland
Und ent_next() liefert nur die Entitys, die geladen sind?

Auf jeden Fall schonmal danke für den tollen Ansatz Thunder


Back @ work with 3DGS.
Re: Ansätze für Mini-Golf Editor [Re: TheTommynator] #89514
09/12/06 14:59
09/12/06 14:59
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Xarthor Offline
Expert
Xarthor  Offline
Expert

Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Ein Blick ins manual sagt mir dies:
Quote:


ent_next (entity);
All level entities are sorted into an internal list. This instruction returns a pointer to the first entity in the list when the entity parameter is NULL, and a pointer to the next entity otherwise. When the last entity is given as parameter, the instruction returns NULL. With this instruction something can be done to all entities in a level - or a certain entity can be found.
The parameters of all entities can be read, but changing the parameters only has an effect on active entities (with an action attached). A level must be loaded for this instruction to work, so it can be executed one frame after a level_load instruction the earliest.





Ein andere Ansatz wäre:
Wenn immer der Spieler im Editor eine Entity setzt, schreibt diese ihr handle in ein array rein und am ende arbeitest du den array ab.
Das würde dir als Entwickler auch die Möglichkeit geben ein bestimmtest limit einzubauen, damit der User seine landschaft nicht allzu sehr zu baut

Das Laden aus einer datei bietet auch folgenden vorteil:
Es gibt immer eine möglichkeit herauszufinden, wieviel entitys gesetzt wurden.
Diese zahl könntest du nun an den anfang der datei schreiben und somit, mit der tatsächlichen anzahl geladener entities einen Ladebalken realisieren.
Aber das nur nebenbei

Re: Ansätze für Mini-Golf Editor [Re: Xarthor] #89515
09/13/06 12:03
09/13/06 12:03
Joined: Mar 2004
Posts: 286
Maintal, Deutschland
TheTommynator Offline OP
Member
TheTommynator  Offline OP
Member

Joined: Mar 2004
Posts: 286
Maintal, Deutschland
Danke für die tollen Ansätze

Nur eine Frage noch: Wie kann ich mit Hilfe von ent_next() bestimmte Entitys "herausfiltern". Z.b. Müssen die Seitenbegrenzungen des Levels (die ja fast immer gleich sind) nicht in die Datei geschrieben werden. Wie kann ich diese herausfiltern?


Back @ work with 3DGS.
Re: Ansätze für Mini-Golf Editor [Re: TheTommynator] #89516
09/13/06 15:13
09/13/06 15:13
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Xarthor Offline
Expert
Xarthor  Offline
Expert

Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Du könntest ein bestimmtes flag der entity setzen und dieses per if abfragen, oder halt einen skill wert o.ä.
möglich wäre es auch über den namen der entity zu filtern, was allerdings wesentlich komplexer ist als einfach:
if(you.flag1 != 0) ..
zu schreiben


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