Page 1 of 1

Suche einen Scripter der mir Helfen kann

Posted: Sun Feb 05, 2017 9:15 am
by HERBY-MBH
Hallo zusammen, :hi:

ich bin am Verzweifeln mit einem Script für den Editor.
Mit der Erlaubnis von TracMax habe ich seinem Script ein bisschen was entnommen doch jetzt habe ich Probleme mit einer Schleife.

Da ich gerade erst anfange mich mit Scripten zu Beschäftigen nehme ich jeden Tipp und Rat gerne an.

Hier habe Ich einmal das Script mit dem ich Objekte im Editor auf den Boden setzen möchte,
TracMax hat mir schon einige Tipps gegeben wie mann das ganze vervollständigen kann.
Damit habe ich allerdings Probleme das umzusetzen.

Das Script Funktioniert soweit das Ich ein Objekt auf null setzen kann,
nur mit der Schleife so das Ich mehrere Objekte gleichzeitig auf den Boden setzen kann bekomme ich es nicht so hin :?: :?:

Code: Select all

-- Author:TracMax/Martin
-- Name:Objekt auf Y-Null
-- Description:
-- Icon:
-- Hide: no

local node = getSelection(0)
if node == 0 then
    print("Objekt auf 0: nichts Markiert")
    return
end

local xNode,yNode,zNode = getTranslation(node)
print(string.format("Objekt auf 0: selected node at x=%f, y=%f, z=%f",xNode,yNode,zNode))
if (yNode == 0)then -- nothing to do
    print("Objekt auf 0: Nichts zu tun")
    return
end

setTranslation(node, xNode, 0, zNode)


Und hier mein versuch das ganze mit einer Schleife zu verwirklichen doch hier komme Ich nicht weiter.

hier mal das Script bis jetzt:

Code: Select all

-- Author:Martin
-- Name:aufgelaende
-- Description:
-- Icon:
-- Hide: no


getNum = getNumSelected() - 1;
for i=0, getNum do
   Node = getSelection(0);
   xNode,yNode,zNode = getTranslation(node);
  
   setTranslation(Node,xNode,0,zNode);
end;
Ich hoffe und Bitte das mir Jemand HELFEN kann :frown:

für jeden Tipp bin ich sehr dankbar

Re: Brauche Hilfe bei einem Script

Posted: Sun Feb 05, 2017 11:25 am
by HeinzS

Re: Suche einen Scripter der mir Helfen kann

Posted: Sun Feb 12, 2017 2:32 pm
by HERBY-MBH
UPDATE: erster Post

Re: Suche einen Scripter der mir Helfen kann

Posted: Mon Feb 13, 2017 10:03 pm
by mx11
HI,
ohne jetzt den Wertebereich von getNumSelected() zu kennen und warum du -1 nimmst würde ich tippen, dass du in der Schleife getSelection(i) verwenden solltest.

Code: Select all

getNum = getNumSelected() - 1;
for i=0, getNum do
   Node = getSelection(i);
   xNode,yNode,zNode = getTranslation(node);
 
   setTranslation(Node,xNode,0,zNode);
end;
Grüße
MX11

Re: Suche einen Scripter der mir Helfen kann

Posted: Tue Feb 14, 2017 7:08 pm
by HERBY-MBH
Hallo,
der Wertebereich ist je nachdem wie viele Objekte ich Markiert habe.
Die -1 habe ich so aus einem Tipp übernommen ich weiß nicht ob die nötig ist.
Ich habe es jetzt gerade mal mit getSelection (i) ausprobiert und bekomme leider noch eine Fehlermeldung.

Danke für deinen Tipp. :hi:

Re: Suche einen Scripter der mir Helfen kann

Posted: Tue Feb 14, 2017 9:08 pm
by Fastrac

Code: Select all

   Node = getSelection(i);
   xNode,yNode,zNode = getTranslation(node);
Man muß drauf achten das die Variablen auch Identisch geschrieben sind, also hier das Node und nicht node, damit sollte das dann klappen.

Code: Select all

   Node = getSelection(i);
   xNode,yNode,zNode = getTranslation(Node);

Re: Suche einen Scripter der mir Helfen kann

Posted: Wed Feb 15, 2017 7:28 pm
by HERBY-MBH
Hallo Fastrac,

VIELEN VIELEN DANK für deinen Tipp :hi: ich habe es jetzt hinbekommen das Ich alle markierten Objekte auf
denn eingestellten Wert setzen kann, ein Riesen Vorschritt.

Jetzt kann ich mich daran versuchen die Terrain höhe abzufragen um die Höhe automatisch einzutragen.

hier schon mal das Script bis jetzt für alle die Selber so was Suchen :search: , für weitere Tipps bin ich sehr dankbar.

Code: Select all

-- Author:Martin
-- Name:Objekt auf Boden Setzten
-- Description:
-- Icon:
-- Hide: no


getNumSelected()

for i=0, getNumSelected(Node) -1 do
    Node = getSelection(i);
    xNode,yNode,zNode = getTranslation(Node);
    --print(string.format("Objekt auf Boden: selected node at x=%f, y=%f, z=%f",xNode,yNode,zNode))
    setTranslation(Node,xNode,51.8,zNode);		--Der Wert 51.8 ist die Hoehe die veraendert werden kann
    --print ("auf Boden gesetzt")
    print (i)
end;
Vielen Dank