CNDG
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.


Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  SuchenSuchen  Neueste BilderNeueste Bilder  AnmeldenAnmelden  LoginLogin  

 

 Inhalt nehmen

Nach unten 
5 verfasser
AutorNachricht
Pitri
Feldmarschall
Feldmarschall
Pitri


Männlich Alter : 30
Ort : Karlsruhe
Anmeldedatum : 02.03.09

Inhalt nehmen Empty
BeitragThema: Inhalt nehmen   Inhalt nehmen EmptyMo Mai 31, 2010 3:38 pm

Hi Leute ich bins wieder!

Ich bräuchte mal eure Hilfe!

Wenn ein SFT was aus einer Lore holen will muss er (dank dem fehlenden Kontexmenü) alles reinlegen, bis er ans Inhaltsmenü kommt! Deshalb wäre die überlegung per [Graben] Genau dieses Menü zu öffnen! Nur weiß ich nicht, wie der Befehl für dieses Menü heißt! Oder muss ich das sogar alles per hand machen?

Code:
for(var i;i = ContentsCount();i++)
  AddMenuItem(...); //Halt alles ausfüllen

Danke für eure Hilfe
Nach oben Nach unten
http://www.clonk-fanpage.lima-city.de
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Inhalt nehmen Empty
BeitragThema: Re: Inhalt nehmen   Inhalt nehmen EmptyMo Mai 31, 2010 3:44 pm

Mhm ja es gibt leider keinen Befehl wie "CreateContentsMenu()" Neutral
Da muss man wirklich dieses Menü nachmachen.
Sowas wie:
Code:

var iElement;
var pLore; // Eben diese Lore finden, das muss man in die ControlDig() Funktion schreiben
CreateMenu(GetID(),this());
while(Contents(pLore,iElement)){  iElement++; AddMenuItem(""...); }
//Eben die ganzen Menü Parameter reinmachen
Nach oben Nach unten
http://www.gamer95.npage.de/
Wipfmagus
Konteradmiral
Konteradmiral
Wipfmagus


Weiblich Alter : 28
Anmeldedatum : 06.03.10

Inhalt nehmen Empty
BeitragThema: Re: Inhalt nehmen   Inhalt nehmen EmptyMo Mai 31, 2010 10:45 pm

Ich würde statt des Whiledings eine For-Schleife mit "in" machen, weil das Ganze mit den Parametern dadurch besser übergeben werden kann. Aber das ist wohl Geschmackssache... An sich ist der Ansatz schon mal sehr gut...
Nach oben Nach unten
Extremclonk
Staatsrat
Staatsrat
Extremclonk


Männlich Ort : Am Anti-Spam-Limes
Anmeldedatum : 19.01.09

Inhalt nehmen Empty
BeitragThema: Re: Inhalt nehmen   Inhalt nehmen EmptyMo Mai 31, 2010 11:52 pm

Ich will eure Schleifenträume ja nicht stören, muss euch aber darauf hinweisen das Menüs die man mit einer Schleife gefüllt hat eine kritische Angelegenheit sind. Die Variable iElement wird gelöscht sobald die Funktion fertig ist. Daher ist sie nicht mehr definiert wenn man etwas im Menü auswählt. Übergibt man jetzt Contents(iElement) mit dem Menükommando, so erhält man einen Error.
Nach oben Nach unten
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Inhalt nehmen Empty
BeitragThema: Re: Inhalt nehmen   Inhalt nehmen EmptyDi Jun 01, 2010 12:32 am

Zitat :
Übergibt man jetzt Contents(iElement) mit dem Menükommando, so erhält man einen Error.
Dafür gibts eine simple Lösungsmöglichkeit: Als übergebene Funktion Format("Contents(%d)", iElement) nehmen, und die Sache hat sich. Ist natürlich ungeschickt, wenn sich zwischen Erstellung und Auswahl der Inhalt ändert (wenn zB 2 die Lore anfassen).
Da wär es sicherer, eine Schleife zu schreiben, die jede ID nur einmal ins Menü einbaut und stattdessen anzeigt, wieviele von der Sorte drin sind (wie beim normalen Loren-Menü der Fall). Dann nimmt man als aufzurufende Funktion nur den Funktionsnamen (zB "Funktion"), die ID wird ja übergeben.
Nach oben Nach unten
Extremclonk
Staatsrat
Staatsrat
Extremclonk


Männlich Ort : Am Anti-Spam-Limes
Anmeldedatum : 19.01.09

Inhalt nehmen Empty
BeitragThema: Re: Inhalt nehmen   Inhalt nehmen EmptyDi Jun 01, 2010 2:43 am

Meinst du so:
Code:

 for( var i; i < ContentsCount(); i++)
    {
    AddMenuItem("Objekt nehmen", "Format(\"Contents(%d)\", i)()", ROCK, Contained());
    }

Und dann eine Funktion Contents(int i)?

Wenn du das so meinst, hier kommt genauso: Unknown identifier "i" in Menucommand [...].
Nach oben Nach unten
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Inhalt nehmen Empty
BeitragThema: Re: Inhalt nehmen   Inhalt nehmen EmptyDi Jun 01, 2010 3:39 am

Die Anführungszeichen vor und hinter Format sind falsch. Format selbst gibt ja den Funktionsstring zurück.
Code:
for( var i; i < ContentsCount(); i++)
    {
    AddMenuItem("Objekt nehmen", Format("Contents(%d)", i), ROCK, Contained());
    }
Nach oben Nach unten
Pitri
Feldmarschall
Feldmarschall
Pitri


Männlich Alter : 30
Ort : Karlsruhe
Anmeldedatum : 02.03.09

Inhalt nehmen Empty
BeitragThema: Re: Inhalt nehmen   Inhalt nehmen EmptySa Jun 05, 2010 3:04 pm

Danke an alle, die geschrieben haben, aber ich hätte nicht gedacht, dass das So einfach geht:
Code:
#strict 2
#appendto LORY

func ControlDig(object pClonk)
{
  [Inhalt|Image=LORY]
  SetCommand(pClonk,"Get",this,0,0,0,1);
  return true;
}
Danke an Wipfagus, er hat es mir mal im Chat geschrieben!
Nach oben Nach unten
http://www.clonk-fanpage.lima-city.de
Gesponserte Inhalte





Inhalt nehmen Empty
BeitragThema: Re: Inhalt nehmen   Inhalt nehmen Empty

Nach oben Nach unten
 
Inhalt nehmen
Nach oben 
Seite 1 von 1

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Sonstiges :: Anfragen-
Gehe zu: