Gamestudio Links
Zorro Links
Newest Posts
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
2 registered members (Ayumi, 1 invisible), 584 guests, and 1 spider.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Focus auf ein Objekt...? #392255
01/20/12 18:13
01/20/12 18:13
Joined: Jan 2011
Posts: 27
Hamburg
O
Olchi Offline OP
Newbie
Olchi  Offline OP
Newbie
O

Joined: Jan 2011
Posts: 27
Hamburg
Guten Tag,
werd mir Mühe geben es kurz zu machen...
Folgendes Problem, ein Spiel ähnlich O-game...Habe im WED einige (15) Planeten-Modelle gesetzt und dem skill 1 jeweils eine fortlaufende Nummer gegeben um sie im Script als eindeutige ID zu verwenden (plid).
die action dazu kümmert sich um die Kreisbahn der Planeten (Winkelfunktionen in einer Dauerschleife). Bissher kein Poblem.
Wenn ich nun mit der linken Maus draufklicke, lasse ich nur zum Test einen beep ertönen, klappt auch. Auf diesem Objekt sollen sich später eine Menge Daten kontinuierlich verändern, die in einem Panel sichtbar sind, natürlich immer die Daten die zu dem angeklickten Objekt gehören,(ich mache das mit Arrays).Ich glaube das funktioniert mit der Definition eines Pointers den ich im Click-Event bestimme, ich habe soviel herumprobiert, mir schwirrt der Kopf.
Wo muß ich was machen???
Ich versuche hier mal irgendwie meinen Code zu zeigen, der allerdings noch völli konfus erscheint da ich noch vieles probiere.
Click to reveal..
////////////////////////////////////////////////////////////
#include <acknex.h>
#include <default.c>
////////////////////////////////////////////////////////////
var camrad = 2500;//Umlaufradius der Camera
var campan = 1;//Winkel pro step für Kamera-pan
var camtilt = 1;//Winkel pro step für Kamera-tilt
var camspeed = 10;//Kmerageschwindigkeit vertikal
var cam_max_z = 2500;//höchste Kamera-Position
var cam_min_z = -2500;//niedrigste Kamera-Position
////////////////////////////////////////////////////////////
var _plid = 0;
var x_rad[3] = {200,400,600};
var y_rad[3] = {200,400,1000};
var z_rad[3] = {200,0,100};
var winkel[3] = {0,90,180};
var pl_speed[3] = {5,10,15};

////////////////////////////////////////////////////////////
FONT* ari_12 = "Arial#12";
FONT* ari_14 = "Arial#14";
FONT* ari_18 = "Arial#18";
FONT* ari_24 = "Arial#24";
////////////////////////////////////////////////////////////
BMAP* maus_pcx = "maus.pcx";
////////////////////////////////////////////////////////////
ENTITY* sonne;
ENTITY* start;//aktueller Planet, der mit links angeklickt wurde
////////////////////////////////////////////////////////////
function sonnenlicht()
{
if(event_type == EVENT_TOUCH)
{
my.ambient = 300;
my.lightrange = 2500;
}
if(event_type == EVENT_RELEASE)
{
my.ambient = 0;
my.lightrange = 0;
}
}
////////////////////////////////////////////////////////////
function planet_data()
{
if(event_type == EVENT_TOUCH)
{
my.ambient = 100;
my.lightrange = 1500;
}
if(event_type == EVENT_RELEASE)
{
my.ambient = 0;
my.lightrange = 0;
}
if(event_type == EVENT_CLICK)
{
_plid = my.skill1;
beep(1);
}
}
////////////////////////////////////////////////////////////
action planet_ini()
{
my.emask = ENABLE_TOUCH | ENABLE_RELEASE | ENABLE_CLICK | ENABLE_RIGHTCLICK;
my.event = planet_data;

var plid = my.skill1;
while(1)
{
my.x = cos(winkel[plid]) * x_rad[plid];
my.y = sin(winkel[plid]) * y_rad[plid];
my.z = sin(winkel[plid]) * z_rad[plid];

winkel[plid] += pl_speed[plid];
wait(-1);
}
}
////////////////////////////////////////////////////////////
function camsteuerung()
{
my.emask = ENABLE_TOUCH | ENABLE_RELEASE;
my.event = sonnenlicht;

vec_set(camera.x,vector(-2500,0,0));
vec_set(camera.pan,vector(0,0,0));
while(1)
{
if(key_a)
{
sonne.pan += campan * time_step;
camera.pan = sonne.pan-180;
camera.x = cos(sonne.pan) * camrad;
camera.y = sin(sonne.pan) * camrad;
}
if(key_d)
{
sonne.pan -= campan * time_step;
camera.pan = sonne.pan-180;
camera.x = cos(sonne.pan) * camrad;
camera.y = sin(sonne.pan) * camrad;
}
if(key_w)
{
camera.tilt += camtilt * time_step;
}
if(key_s)
{
camera.tilt -= camtilt * time_step;
}
if(key_q)
{
camera.z += camspeed * time_step;
}
if(key_e)
{
camera.z -= camspeed * time_step;
}

//map.pos_x += 10 * (key_a - key_d) * time_step;
//map.pos_y += 10 * (key_w - key_s) * time_step;
wait(1);
}
}
////////////////////////////////////////////////////////////
function erstellewelt()
{
sonne = ent_create("null.mdl",vector(0,0,0),camsteuerung);
/*
pl[0] = ent_create("planet_0.mdl",vector(plx[0],ply[0],plz[0]),planet_ini);
pl[1] = ent_create("planet_1.mdl",vector(plx[1],ply[1],plz[1]),planet_ini);
pl[2] = ent_create("planet_1.mdl",vector(plx[2],ply[2],plz[2]),planet_ini);
*/
}
////////////////////////////////////////////////////////////
PANEL* testpanel =
{
bmap = "testpanel.pcx";
pos_x = 824;
pos_y = 0;
layer = 10;
blue = 200;
green = 128;
red = 128;

digits(5,5,"Kamera-Pan = %.2f",ari_12,1,camera.pan);
digits(5,20,"Kamera-Tilt = %.2f",ari_12,1,camera.tilt);
digits(5,35,"ID = %.2f",ari_12,1,_plid);

flags = VISIBLE;
}
////////////////////////////////////////////////////////////
function main()
{
video_screen = 1;//Vollbildmodus
video_mode = 8;//Auflösung = 1024 * 768 Pixel
level_load("stco_neu.wmb");//Lade Level
wait(3); //Warte bis Level geladen ist
mouse_mode = 2;
mouse_map = maus_pcx;
mouse_range = 5000;
//camsteuerung();
//kreissbahn();
erstellewelt();

while(1)
{
mouse_pos.x = mouse_cursor.x;
mouse_pos.y = mouse_cursor.y;

wait(1);
}

}



arbeite lustig und gediegen, was nicht fertig wird bleibt liegen!
Re: Focus auf ein Objekt...? [Re: Olchi] #392262
01/20/12 20:01
01/20/12 20:01
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Konkretisier mal deine Frage(n), was willst du wissen?
Übrigens, bevor du mit deinem "konfusen" Code weiterarbeitest, empfehle ich, erst einmal die wichtigsten Sachen zum Laufen zu bekommen, möglichst wenig wirr, und ihn erst dann zu erweitern.


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends
Re: Focus auf ein Objekt...? [Re: Superku] #392264
01/20/12 20:18
01/20/12 20:18
Joined: Apr 2005
Posts: 3,076
Germany, NRW
rvL_eXile Offline

3D Artist
rvL_eXile  Offline

3D Artist

Joined: Apr 2005
Posts: 3,076
Germany, NRW
Ogame ^^ Das hab ich 2007 auch mal angefangen... Wenn du möchtest, kannst du en paar Zeilen von mir benutzen (C-Script).
Dann haste schonmal die ganze Kacke mit der Ressourcen Verwaltung (Gebäude kosten etc fertig)...

Gruß Sebastian


Tutorials:
[Blender]Terrain creation ENG/GER
[Blender]Low Poly Tree Modeling
[GIMP]Create a Texture for Terrains
CLICK HERE


Re: Focus auf ein Objekt...? [Re: rvL_eXile] #392340
01/21/12 19:00
01/21/12 19:00
Joined: Jan 2011
Posts: 27
Hamburg
O
Olchi Offline OP
Newbie
Olchi  Offline OP
Newbie
O

Joined: Jan 2011
Posts: 27
Hamburg
Hallo Superkuh,
ich neige dazu etwas zu umständlich zu beschreiben...Der wirre Code ist nicht der mit dem ich arbeite, er ist quick and dirty zum test dahingeklickt um mein Problem zu beschreiben...okay, Versuch misslungen. Eine möglichst einfache Beschreibung:
Ich will mit links auf ein belibiges Objekt klicken. Dieses Objekt produziert kontinuirlich (jede Sekunde) irgendwelche Waren (Daten). Diese Daten will ich auf einem Panel in Form von Zahlen und Text darstellen. Klicke ich nun auf ein anderes Objekt, so sollen selbstverständlich die Daten des jeweils angeklickten Objektes zu sehen sein und zwar solange, bis ich ein anderes Objekt anklicke.
Ich glaube das dieses mit einem Pointer geht, zB im click-event "meinpointer" oder so, und im panel mit "digits...blablabla, meinpointer.variable"

Ist das die Lösung, wenn ja...wo muß ich einen pointer definieren?
Wenn es nicht die Lösung ist....Hiiilfe!!!
Zu rvL_eXile,
Ich habe zwar zentnerweise Tabellen in Excel erstellt und mir alle benötigten Formel mittels learning by doing (bin kein Mathe-Prof) erarbeitet, aber deine Zeilen interessieren mich mächtig! Mein Code kommt mir an vielen Stellen sehr lang und umstänlich vor, aber it works...

Olchi


arbeite lustig und gediegen, was nicht fertig wird bleibt liegen!
Re: Focus auf ein Objekt...? [Re: Olchi] #392351
01/21/12 20:40
01/21/12 20:40
Joined: Apr 2005
Posts: 3,076
Germany, NRW
rvL_eXile Offline

3D Artist
rvL_eXile  Offline

3D Artist

Joined: Apr 2005
Posts: 3,076
Germany, NRW
okay hier ma die File:
<---Hier--->

Wichtig sind folgende Files:
Header.wdl (dort hab ich bis ausbaustufe 25 alle Werte eingetragen).
Beispielsweise bei:
Var Metallmine_kosten[75] = 50,30,20,

Der erste Wert ist das benötigte Metall, der 2. steht für Kristall und der dritte für den Energieverbrauch

-Mine_ausbau.wdl
-Produktion.wdl
-Forschung.wdl (dort sind auch Forschungen vorhanden, die es bei Ogame nicht gibt...)

Schau dir die Sachen in Ruhe an (sind en paar tausend Zeilen tongue )
Wenn du fragen hast, frag einfach, evtl kann ich dir da helfen.

Gruß Sebastian


Tutorials:
[Blender]Terrain creation ENG/GER
[Blender]Low Poly Tree Modeling
[GIMP]Create a Texture for Terrains
CLICK HERE



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