Gamestudio Links
Zorro Links
Newest Posts
Newbie Questions
by fairtrader. 12/05/23 14:22
Zorro Trader GPT
by TipmyPip. 12/04/23 11:34
Square root rule
by Smallz. 12/02/23 09:15
RTest not found error
by TipmyPip. 12/01/23 21:43
neural function for Python to [Train]
by TipmyPip. 12/01/23 14:47
Xor Memory Problem.
by TipmyPip. 11/28/23 14:23
Training with command line parameters
by TipmyPip. 11/26/23 08:42
Combine USD & BTC Pairs In Asset Loop
by TipmyPip. 11/26/23 08:30
AUM Magazine
Latest Screens
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Who's Online Now
6 registered members (AndrewAMD, Quad, soulman3, Ayumi, steyr, 3run), 631 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
fairtrader, hus, Vurtis, Harry5, KelvinC
19019 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Wer kann mir bitte bei struct helfen, raff das einfach nicht !!! #232555
10/22/08 13:22
10/22/08 13:22
Joined: Apr 2005
Posts: 274
austria
Ascalon Offline OP
Member
Ascalon  Offline OP
Member

Joined: Apr 2005
Posts: 274
austria
Hallo,
ich habe folgendes struct im code:

typedef struct{
STRING* Name;
int Dorfnummer;
ENTITY* Dorf;
} VILLAGE;
VILLAGE myVillage[index];

mit der Funktion "function buildVillage()" möchte ich zur Laufzeit ein Dorf erstellen.
Code:
function BuildVillage()
{
	VECTOR temp;
	vec_set(temp.x,Siedler.x);	
	temp.z = 0;
	index += 1;
	myVillage[index].Dorfnummer = index;
	myVillage[index].Dorf = ent_create("dorf.mdl",temp.x,village_property); 
}


Mittels village_property möchte ich dann, wenn ich auf das Dorf klicke, über ein Panel die aktuelle Dorfnummer angeben und die Gesamtanzahl der Dörfer.
Beide Werte sind aber imm die gleichen, ganz egal, welches Dorf ich dann anklicke.
Was mach ich da falsch ?


my webside : www.ascalon.jimdo.de
Re: Wer kann mir bitte bei struct helfen, raff das einfach nicht !!! [Re: Ascalon] #232587
10/22/08 15:20
10/22/08 15:20

M
mercuryus
Unregistered
mercuryus
Unregistered
M



Woher soll die angeklickte Entity wissen welchen Index sie in Deinem Array hat?
Du musst der Entity (per Skill) diesen Wert mitteilen...

...
you = ent_create("dorf.mdl",temp.x,village_property);
myVillage[index].Dorf = you;
you.skill1 = index;
...

...den Du dann beim Klick-event anzeigst.


PS: vorsicht bei dem String!
Soweit ich weis must Du den String erst erzeugen bevor Du ihn über den Pointer im struct verwendest:

myVillage[index].Dorf = str_create("Mein Dorf");





Re: Wer kann mir bitte bei struct helfen, raff das einfach nicht !!! [Re: ] #232627
10/22/08 19:06
10/22/08 19:06
Joined: Apr 2005
Posts: 274
austria
Ascalon Offline OP
Member
Ascalon  Offline OP
Member

Joined: Apr 2005
Posts: 274
austria
oh...man !! ich raffs leider immer noch nicht cry
was genau muss ich dann in der function village_property schreiben ?

danke jedenfalls mal für die Hilfe !


my webside : www.ascalon.jimdo.de
Re: Wer kann mir bitte bei struct helfen, raff das einfach nicht !!! [Re: Ascalon] #232643
10/22/08 20:34
10/22/08 20:34

M
mercuryus
Unregistered
mercuryus
Unregistered
M



ohne es zu prüfen...

Code:
// event handler........................................................
function evt_village(){
STRING* str_tmp = "#20";
STRING* str_vid = "#10";

  // angeklickt
  if(event_type==EVENT_CLICK){
    str_cpy(str_tmp, "Ich bin Dorf #");
    str_for_num(str_vid, myVillage[my.skill1].Dorfnummer);
    str_cat(str_tmp, str_vid);
    error(str_tmp); // Ausgabe
  }
}

// entity action.........................................................
action village_property(){

  // make me clickable
  my.emask|=ENABLE_CLICK;
  my.event=evt_village;

}



myVillage[index].Dorfnummer = index;
muss - wie von Dir beschrieben - beim Erzeugen natürlich gesetzt werden.


[edit] Da fällt mir noch auf:
VILLAGE myVillage[index]; index sollte eine Zahl sein: z.B.: VILLAGE myVillage[100]


Last edited by mercuryus; 10/22/08 20:40.
Re: Wer kann mir bitte bei struct helfen, raff das einfach nicht !!! [Re: ] #232645
10/22/08 20:54
10/22/08 20:54
Joined: Apr 2005
Posts: 274
austria
Ascalon Offline OP
Member
Ascalon  Offline OP
Member

Joined: Apr 2005
Posts: 274
austria
Vielen vielen vielen dank !! Jetzt funktioniert es bei mir endlich !! laugh


my webside : www.ascalon.jimdo.de
Re: Wer kann mir bitte bei struct helfen, raff das einfach nicht !!! [Re: Ascalon] #232687
10/23/08 08:07
10/23/08 08:07
Joined: Apr 2005
Posts: 274
austria
Ascalon Offline OP
Member
Ascalon  Offline OP
Member

Joined: Apr 2005
Posts: 274
austria
Hab jetzt leider noch ein Problem mit den Dorfnamen. Ich möcht ja bei jedem neu erstellten Dorf einen eigenen Dorfnamen zuweisen. Mit der Dorfnummer funktioniert alles einwandfrei, nur gehts jetzt bei dem Dorfnamen nicht.
Code:
 
function BuildVillage()
{
	while(key_any) {wait(1);}
	
	VECTOR temp;
	vec_set(temp.x,Siedler.x);	
	temp.z = 0;
	
	index += 1;
	
	myVillage[index].DorfNummer = index;
	str_cpy(strEntry,"                    ");
	inkey(strEntry);
	myVillage[index].Name = strEntry;
	you = ent_create("dorf.mdl",temp.x,village_property);		// erstellt das Dorf
	myVillage[index].Dorf = you;
	you.skill99 = index;
}


in der village_property hab ich dann den verweis auf das klick-Ereignis und das weißt dann auf CityInfo_Event. Da steht dann folgendes:
Code:
 
function CityInfo_Event()
{	
	if(event_type == EVENT_CLICK)
	{
		str_cpy(strVillageName,myVillage[my.skill99].Name);
		
		DorfNummer = myVillage[my.skill99].DorfNummer;
		CityInfoPanel.flags = VISIBLE;
	}
}


Jetzt hab ich aber wieder das gleiche Problem wie vorhin mit dem Counter, dass jedes Dorf den zuletzt eingegebenen Namen hat.
Was hab ich jetzt falsch gemacht ?


my webside : www.ascalon.jimdo.de
Re: Wer kann mir bitte bei struct helfen, raff das einfach nicht !!! [Re: Ascalon] #232688
10/23/08 08:27
10/23/08 08:27

M
mercuryus
Unregistered
mercuryus
Unregistered
M



Hier weist Du nur einen Pointer zu myVillage[index].Name = strEntry;
.
Verwende str_cpy um stringinhalte zu kopieren.

In Deinem Fall denke ich aber, Du musst den String (Spiecher) erst allocieren:
myVillage[index].Name = str_create(strEntry);

Re: Wer kann mir bitte bei struct helfen, raff das einfach nicht !!! [Re: ] #232696
10/23/08 10:17
10/23/08 10:17
Joined: Apr 2005
Posts: 274
austria
Ascalon Offline OP
Member
Ascalon  Offline OP
Member

Joined: Apr 2005
Posts: 274
austria
Nochmals vielen vielen dank !! Jetzt klappt alles wie ich es mir wünsche, danke !!


my webside : www.ascalon.jimdo.de

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