1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Techmix

Beiträge von Techmix

  • Wie steht ihr zu Fasching?

    • Techmix
    • 26. Februar 2012 um 12:01

    Fasching ist was für meine Kid´s, ich selber finde es total ätzend!
    Haloween find ich schon viel Geiler!

  • Kleine AutoIt Funktion zu C++

    • Techmix
    • 26. Februar 2012 um 11:58

    @Pee:
    Der Gedanke kam mir garnicht....

  • Kleine AutoIt Funktion zu C++

    • Techmix
    • 26. Februar 2012 um 11:37

    Hallo!
    Danke schonmal für die ganzen Antworten! Ich werde wohl erstmal die Version von Funkey probieren.

    Um es mal zu verdeutlichen: Eigentlich geht es nur um die Automatisierung einer Inetenerseite via IE, da ich aber an einer Stelle nimmer weiterkomme (_IEAction lässt mein Script Pausieren) Da erscheint dann eine Meldung vom Browser und die muß eben Geklickt werden damit alles schön weiterläuft.
    Ich hab´s ja auch mit AU3 gelöst - ABER es ist unschön dort 2 exen u haben! _Zumal der 13-Zeiler kompiliert ganze 295KB groß ist. Ich muß diese 'Funktion' in einem Externen Programm auslagern, welches ich wiederum als HEX im Sourcecode unterbringen möchte. Da aber dann aus der 295KB exe eine 2xgrössere Hex-Variable wird -- Wird mein ganzer Source von jetzt 20 KB NUR wegen dieser Funktion auf über 600KB angehoben.
    Und das geht garnicht!

    Deswegen dachte ich mir diese Funktion als C / C++ / iwas zu Kompilieren und ich Denke das die erstellte exe dan nimmal 15KB hat!
    Die Sprache ist 2.Rangig - Es kommt einfach nur auf die Grösse drauf an.


    [EDIT]
    Hey Super! Danke an Funkey!! Es läuft so wie du es 'Portiert' hast - Nur beendet es sich nich von selber, das stellt aber kein Problem da! Und dein AutoC ist echt prima - wieso kannte ich es noch nicht...

    Grüsse!

  • Kleine AutoIt Funktion zu C++

    • Techmix
    • 25. Februar 2012 um 23:06

    Nabend!

    Also ich habe hier einen kleinen 13 Zeiler welchen ich einfach nicht nach C++ portiert bekomme...

    Spoiler anzeigen
    [autoit]

    while Sleep(10) if WinExists("Meldung von Webseite", "") then ; Win 7 / IE8 WinActivate("Meldung von Webseite", "") ControlClick("Meldung von Webseite", "", "[CLASS:Button; INSTANCE:1]") Exit Elseif WinExists("Microsoft Internet Explorer", "") then ; Win XP / IE7 WinActivate("Microsoft Internet Explorer", "") ControlClick("Microsoft Internet Explorer", "", "[CLASS:Button; INSTANCE:1]") Exit EndIfWEnd

    [/autoit]


    Die Funktion 'ControlClick' macht mir am meißten Kopfweh, aber auch 'WinExists' und 'WinActivate'... Das liegt vielleicht an meinem Mieserablen C++ Helpfile - könnte aber auch an meinem Skill liegen :D

    Mag mir vielleicht jemand helfen??? Ich nutze Code:Blocks und DevCpp.

    Grüsse!

    [EDIT]
    Iwie hat sich die Formatierung zerschossen.... Ich habs jetzt auch als Anhang eingefügt.

    Dateien

    Func.au3 435 Byte – 341 Downloads
  • Audioverstärker & Fequenzweichen

    • Techmix
    • 22. Februar 2012 um 11:23

    Hallo, schönes Thema ;)
    Also von DSP halte ich nicht wirklich viel... Von den derzeitigen DSP 'Programmen' haben nur 3% eine echte Nutzung, der Rest macht es meißtens nur noch schlimmer!
    Aktive Frequenzweichen können auch sehr interessant werden; gerade wenn man diese anschliessend mit verschiedenen Verstärkertechniken antreibt. (Für Sub ein kräftigen Class-A, Röhren für den Hochtonbereich und Class-D könnte man für die übrigen Bänder verwenden).
    Da einen schalbaren 18hz Sub-Sonic (24db Hochpass) Filter verbauen. Phasenwechsler für den Sub mit 12/18db (schaltbar) Tiefpassfilter mit einer Trennfrequenz von 40-120hz.
    Für den 'Normalton' Bereich einen 12/18db (schaltbar) Hochpassfilter aus der Frequenz des Subby´s schalten. Und darauf einen zusätzlichen 12 db Hoch/Tief-Passfilter für zusätzlichen Röhren schalten.
    Aber zu beachten ist das Grundrauschen der Bauteile! Je billiger die Teile um so höher wird das Gundrauschen. Sollte gemessen bei >98db liegen, besser sind natürlich höhere Werte - aber um auf 108db zu kommen wirst du schon einige Hunderter lassen müssen.

    Aber wenn du richtig Gut bist, erledigst du das nicht mit Poti´s, Spulen & Co, sondern mithilfe von der 'Digitalen-Informationstechnik'. Darauf kannste sogar mithilfe von Microcontrolern einen PC (USB) Zugriff einrichten - und alle Funktionen mit einem Tool vom PC aus steuern.
    So kannst du die Klassische (Analoge) Schaltungstechnik für die Verstärkung nutzen, und dieses mit mit Digitaler Steuerungs-Technik verbinden. Das kannste die letzten 30 Jahre an Innovation einfliessen lassen 8o

    Wegen der 'Digitalen-Informationstechnik' mußte mein Vater sein Laden vor 8 Jahren schliessen - Radio/Fernseh-Techniker werden dabei nicht mehr gebaucht, Reparieren kannste solche Geräte eh nicht mehr...

    Aber ist schon Intensiv, ein solches Thema! Mein Dad baut sich gerade einen 'neuen' Röhrenverstärker für seine (Selbstgebauten) Aktiv-Lautsprecher. Da kannste schnell nur für eine Röhre über 120€ lassen... Lohnt sich aber!
    Investierst du richtig Kohle für deine Anlage - wirst du auch richtig dafür belohnt :D
    Man kann bei einem guten Equipment sogar Qualitätsunterschiede von Lautsprecherkabeln raushören.

    Grüsse!

  • Derzeitiger Musikhit bei Pia-Zoe und mir

    • Techmix
    • 16. Februar 2012 um 00:44

    Nabend!
    Ich war mit meinem Sohn Ende letzen Jahres in dem Musical 'Tarzan' - und seit dem laufen Abends immer diese Musical-Tracks...
    Tagsüber läuft hier meißtens eine der SpongeBop CD´s aber auch viel vom Zuckofski. Aber die Kids hören auch Klassische Musik und auch solche Techno-Mucke...

    Breit gestaffelt also ;)
    Grüsse!

  • Kryptographie-Überlegungen

    • Techmix
    • 16. Februar 2012 um 00:22

    Nabend!
    Also ich würde es so machen wie Oscar es bereits getan hat, nur zusätzlich die Ini Crypten - ich habe gerade so ein 'Billig-System' dafür erstellt. Das Verschlüsselt mir die ini nur einmalig - ist also nicht soooo sicher, aber eine weitere Bariäre!
    Außerdem wird bei mir die Gecryptete Ini nicht als Klartext iwo auf der Hdd gespeichert, sondern ich habe mir einfach die Funktionen IniRead & Co weitesgehend angepasst. Somit wird sie nur im RAM kurzzeitig als Klartext verfügbar - oder man könnte auch auf ein (Klartext) Array zurückgreifen, was aber die Sicherheit runterstuft.

    Grüsse!

    [EDIT]
    Ausserdem gibt es ja mehrere Verschlüsselungsmethoden, die kann man auch problemlos Kombinieren!
    Beispiel:
    Klartext
    -> Hex vom Klartext
    -> Ceasar Chiffre
    -> Vignere Chiffre
    -> Wieder Hex draus machen
    -> .....
    Und zum Entschlüsseln die Crypt-Reihenfolge einfach umkehren. Ist eigentlich ziemlich einfach - aber da der Angreifer nicht weiß welche Reihenfolge festgelegt wurde (die man auch mit unterschiedlichen Passwörtern versehen kann) stellt diese Vorgehensweise eine weitere Barriäre dar! Und bei diesen derzeitigen 'Hightech-Methoden' zum Crypten ist so eine Alternative eigentlich ziemlich Witzreich!

  • Datenbank

    • Techmix
    • 15. Februar 2012 um 15:50

    Die SQLight ist aber direkt als UDF dabei, und somit auch im Helpfile verteten.
    Und eine CSV zu erstellen ist eigentlich die Einfachste Wahl.

  • Datenbank

    • Techmix
    • 15. Februar 2012 um 15:44

    Tach,
    also mir fallen da 2 Möglichkeiten ein:
    1.) SQLight - direkt in AutoIt die Rechnungs-Datenbank erstellen & verwalten. Sollte sich in mySQL importieren lassen.
    2.) CSV-Format - Eine einfache Textdatei wo die Saplten durch ein ; getrennt werden. Kann in Excel geladen werden.

    So wie du das jetzt machst, ist es eine Automatisierung einer HTML-Seite - Richtig???? Also die GUI die du erwähntest ist doch bestimmt selber erstellt, oder ein Externes-Programm??

    Grüsse!

  • Grafiker gesucht: 3D Spiel im Horrorgenre

    • Techmix
    • 11. Februar 2012 um 22:19

    Nabend!
    Ich kann dir zwar nicht helfen, aber WOW...

    ...interessiert mich!
    Grüsse!

  • Andy hat Geburtstag

    • Techmix
    • 4. Februar 2012 um 23:50

    Auch von mir noch einen Herzlichen Glückwunsch!

    Grüsse!

  • Mord

    • Techmix
    • 20. Januar 2012 um 09:22

    Guten Morgen...

    Ich habe ja selber 2 Kinder, und das 3.te ist schon fast da :)
    Wie alt ist den deine Tochter?? Ich habe einen Sohn und eine Tochter, diese beiden sind sooo unterschiedlich als Baby´s gewesen...
    Der große ist eher der Ruhige, hatte aber als Baby ganz schlimme Neurodermietis und sich immer seine Arme und das Gesicht zerkratzt - das hat ganz viele Nächte und Nerven gekostet. Zudem konnte er die Milchnahrung nicht gut vertragen, und bis wir das bemerkt hatten - verging fast ein halbes Jahr!! Er hatte immer so kleine 'Hasenködel' als Stuhlgang und währe dabei immer fast geplatzt... Und das bei dieser teuren 'Huma..' Milchpulver - Wir sind auf die günstigere Variante umgestiegen, und dann war alles Gut. Anschliessend bekam er Bronchial-Asthma was die Sache echt nicht einfach gemacht hat.
    Meine Tochter ist total Hibbelig - früher hat sie zwar gut geschlafen (nicht wie der große eben) aber schon bereits mit 2,5 Jahren wollte sie keinen Mittagsschlaf halten. Ab 17Uhr wurde sie unerträglich :cursing: - Nur am Rum-Quengeln, Heulen und ihren Bruder ärgern. Das ist bis Heute so geblieben (sie ist jetzt 7 Jahre alt)...
    Jeden Abend werden Unsere Nerven von der kleinen bis auf´s Maximum strapaziert, da wird immer 'Papaaa' gerufen und dann platzt Ihre Fantasie aus allen Näten...
    Sowas hört sich immer super Lustig an - ist es aber nicht... Meine Kid´s gehen ja schon beide zur Schule, und somit ist hier so ggn. 20:00 Uhr Feierabend - Ich bin dann aber schon so angespannt das ich mich überhaupt nicht hinsetzten kann, weil ich immer Denke 'Wenn die jetzt wieder Rummeckert, dann muß ich wieder aufstehen...'
    Glücklicherweise ist meine Frau auch noch da, und die versucht mich dann immer zu beruhigen - was auch ganz gut klappt :thumbup:

    ...was ich damit Sagen will, ist einfach: Lass den Kopf nicht hängen!!!
    Das wird schon wieder! Gehe mit deiner Kleinen zum Arzt und trage Ihm das vor, vielleicht hat Sie ja Bauchweh (irgendeine Unvertäglichkeit) oder eine andere Kleinigkeit - die einfach übersehen wird.
    Sonst gehe viel mit Ihr an die frisch Luft - und versuche Sie Tagsüber nicht soviel Schlafen zu lassen (Aktivität steigen). Ich habe eins meiner Kinder häufig mit zum Einkaufen genommen (zu Fuß), damit die frische Luft, das Schaukeln, und die ganzen Eindrücke das Kind einfach ermüden!

    Das wird schon wieder!
    Viele Grüsse von
    Sascha!

  • Arengu - Das AutoIt 2D RPG

    • Techmix
    • 16. Januar 2012 um 22:27

    Hey Mattthias ;)
    Ogre hatte ich mal vor 2 Jahren versucht auf AU3 zu Porten.... War nix!
    Außerdem Spammen wir hier Hauke´s Thema voll, wenn wir Uns über 3D-Engines unterhalten wollen, sollten wir ein eigenes Thema eröffnen.

    Aber ich finde ein 2D Spiel noch immer Klasse! Da hat man sooo viele Freiheiten, und kann sie mit relativ 'wenig' Komplikationen umsetzten. Außerdem bin ich noch mit 2D aufgewachsen, 3D kam erst viel später ;) Ich bin weiterhin gespannt über den Verlauf dieses Projektes!

    Grüsse!

  • Arengu - Das AutoIt 2D RPG

    • Techmix
    • 16. Januar 2012 um 19:07

    Genau, um Flutch!
    Ich erstelle dort eine 'Game-Engine' zumindest versuch ich es... Wir haben Uns einige Funktionen völlig aus dem Ärmel geschüttelt; weil die Irrlicht-Engine doch noch ziemlich nach 90er aussieht. Jetzt sind wir bei einem Look aus etwa 2003 angekommen.
    Um alleine das Terrain zu erstellen, braucht es mehrere 'Layer', einmal die HightMap (Das Terrain eben), darauf eine Entsprechende Textur als ColorMap und dann kommt noch eine Detailmap - Dieses entspricht nur dem 1.ten Layer. Die Funktionen haben wir uns komplett selber erstellt, und nutzen eigentlich nur die Renderfunktionen der Irrlicht-Engine. Die HightMap, ColorMap und DetailMap erstellen wir durch eigene Funktionen.
    Jetzt kommt aber noch der 2.te Layer hinzu: Die Flora&Fauna... Dafür braucht es auch wieder ein neues System. Wir werden z.B. Gräser als Sprites (Billboards) UND als 3D-Modelle anzeigen lassen. Diese werden zu einem gewissen Grad gemischt, und ein Cooler Look kan entstehen.
    DANN kommte der 3.te Layer: Items, NPC´s, Gebäude und Dungeon-Eingänge.
    Das ALLES entspricht einem 3D-Terrain, in 2D Malst dir ein paar Pics - und gut ist...

    Grüsse!

    [EDIT]
    Schleichwerbung: Wir werden Ende Februar ein Release präsentieren können ;)

  • Arengu - Das AutoIt 2D RPG

    • Techmix
    • 16. Januar 2012 um 16:19

    Da muß ich völlig Recht geben!
    2D ist wesentlich einfacher zu Coden, und ein 'laufendes' 2D-Projekt in 3D zu realisieren - das würde eine komplette Neu-Programmierung nach sich ziehen...

    Aber weiter so!
    Grüsse!

    [EDIT]
    Zu Punkt 5: Ich bin dort der Coder, und um alleine das Terrain nicht Mittelalterlich aussehen zu lassen braucht es jetzt schon über 4000 Zeilen und knapp 200kb Source.... Jetzt befindet sich ein Editor bei knapp 80% und anschließend kommt erst das 'Spielgeschehen' - Das ist echt ´ne Mords-Arbeit!!

  • Irrlicht vorbereitetes Objekt im Kreis drehen lassen

    • Techmix
    • 3. Januar 2012 um 11:59

    Jup, mach mal!
    Wenn man bei SketchUp Modelle als .obj exportiert - dann mußte ich sie iwie anders laden...
    Ich schau mir das mal an! Und das es verzogen aussieht, liegt wohl an dem Kameraabstand oder an dem FOV.

    Bis Später!

    [EDIT]
    Du könntest versuchen dein Expotriertes Model z.B. mit Milkshape oder Blender in ein anderes Format zu bringen. .X (DircetX) und .irr (IrrMesh) laufen tadellos. Bei dem .obj Format wird direkt im Model die Textur angegeben und diese braucht dann nicht in Irrlicht Manuell geladen zu werden. Und das kann auch das Problem verursachen...

  • Irrlicht vorbereitetes Objekt im Kreis drehen lassen

    • Techmix
    • 23. Dezember 2011 um 23:58

    Ich habe Fertich :D

    Im Prinzip hat es nur einige Stunden gedauert, weil ich das Script aus einem alten Projekt von mir gebastelt habe. Es hat einige 'Sonderfunktionen' die du über eine Ini steuern kannst. In dem Downloadlink ist auch eine Beispieldatei enthalten!

    Anleitung


    Du kannst eine Ini-Datei Starten, indem du diese über die 'GK.exe' ziehst, oder diese per CMD aufrufen 'GK.exe ini.ini', oder die Beispiel-Ini einfach durch einen normalen Programmstart laden.

    Code
    [Settings]
    UseFullScreen=1
    ResX=
    ResY=


    Ist für die Auflösung zuständig. Bei Angabe von 'UseFullScreen' braucht es keine Angabe der Auflösung.

    Code
    [Model]
    Model=Data\Beispiel\4096.irrmesh
    MainTxt=Data\Beispiel\earth.jpg
    FxTxt=ASM
    Size=35


    Bei 'Model' musst du das 3D-Model angeben, ebenso bei 'MainTxt'.
    'Size=50' bedeutet einen Füllgrad (Höhe) von 100% (Da 50% Durchmesser == 100% Radius).
    Wenn du bei 'FxTxt' ASM angibst erstellt GK mit der Assemblerfunktion '_ASM_BitmapBnW' von Seubo eine Effekttexture die im weiteren Verwendung findet. Diese kannst du aber natürlich auch angeben, dann wird keine Erstellt.

    Code
    [BackGround]
    UseImage=
    UseScreenshot=1


    Wenn du 'UseScreenshot' mit 1 bestätigt, erstellt GK ein Hintergrundbild des derzeigtigen Monitorbildes und verwendet dieses als Hintergrundpic.
    Dieses kannst du aber auch direkt mit 'UseImage' angeben.
    Lässt du beide Felder frei, wird kein Backgroundpic erstellt und gesetzt.

    Code
    [Animation]
    TurnSpeedX=1
    TurnSpeedY=0


    Hier gibst du die Drehgeschwindigkeit der X und Y Achse an. Die Geschwindigkeiten musst du ausloten.

    Code
    [Effect]
    effekt_scale=6
    bump=2
    solid=
    lightmap=
    detailmap=
    spheremap=
    reflect=


    Das Kernstück! Hier kannst du die allgemeinen Irrlicht Effeke ansteuern:
    'effekt_scale' >= 1 Gibt den Grad des Effektes an; Kann bei einigen Effekten zu Problemen führen, dann die 0 versuchen.
    'bump' Es gibt 1 (A solid normal map renderer) und 2 (more realistic providing virtual displacement of the surface)
    'solid' 1 (2 blended textures using vertex alpha value)
    'lightmap' 1 - 4 (lightmap, Add, M2, M4)
    'detailmap' 1 (a different scale adds and subtracts from the color to add detail)
    'spheremap' 1 (makes the material appear reflective)
    'reflect' 1 (a reflective material blended with a color texture)

    Code
    [Light]
    main_light=EEBBAA
    xtra_light=445599
    ambient_light=
    diffuse_light=


    Die Lichtsteuerung der Effekte.
    'main_light' RGB-HEX Lichtquelle.
    'xtra_light' RGB-HEX zusatz Lichtquelle.
    'ambient_light' RGB-HEX Ambient-Farbe.
    'diffuse_light' RGB-HEX Diffuse-Farbe.

    Source
    [autoit]

    #AutoIt3Wrapper_UseX64=n
    #AutoIt3Wrapper_Version=Beta
    #AutoIt3Wrapper_Res_Field=by|Techmix
    #RequireAdmin
    #include <Array.au3>
    #include <GDIPlus.au3>
    #include <GDIPlusConstants.au3>
    #include <WinAPI.au3>
    #include "Data\au3Irrlicht2.au3"
    #include <ScreenCapture.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #cs ================================================================================================================================
    ==== ChangeLog =====================================================================================================================
    ====================================================================================================================================

    [/autoit] [autoit][/autoit] [autoit]

    AutoIt Version: 3.3.7.22 (beta)
    Skript: GK.au3
    Author: Techmix

    [/autoit] [autoit][/autoit] [autoit]

    ## --------------------------------------------------------------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    Steuerbar durch Config-Files.

    [/autoit] [autoit][/autoit] [autoit]

    ## --------------------------------------------------------------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    V0.10:
    Erststart

    [/autoit] [autoit][/autoit] [autoit]

    ## ================================================================================================================================
    #ce

    [/autoit] [autoit][/autoit] [autoit]

    #Region -GK Variablen--------------------------------------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    Global $s_Version="V0.10", $s_sizeX, $s_sizeY, $s_BsizeX, $s_BsizeY
    Global $s_Config=@ScriptDir&"\GK.ini", $a_Config_Model[1], $a_Config_Animation[1], $a_Config_Effect[1], $a_Config_BackGround[1], $a_Config_Settings[1], $a_Config_Light[1]
    Global $irr_MainTxt, $irr_FxTxt, $irr_Mesh, $irr_Node, $irr_Camera, $irr_BackTxt, $irr_Light, $irr_Light2

    [/autoit] [autoit][/autoit] [autoit]

    #EndRegion -IrrPlanet Variablen-----------------------------------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    if @Compiled Then
    ; CMD Modus
    if $CmdLine[0] >= 1 Then
    for $i = 1 to $CmdLine[0]
    $s_Config = $CmdLine[$i]
    if FileExists($s_Config) then ExitLoop
    Next
    EndIf
    EndIf
    HotKeySet("{ESC}", "_Exit")
    _InitGFX($s_Config)
    _MainLoop()

    [/autoit] [autoit][/autoit] [autoit]

    Func _MainLoop()
    while _IrrRunning()
    _IrrBeginSceneAdvanced(_IrrMakeARGB(0, 0, 0, 0), $IRR_ON, $IRR_ON)
    _IrrDraw2DImageElementStretch($irr_BackTxt, 0,0,$s_sizeX,$s_sizeY, 0, 0, $s_BsizeX, $s_BsizeY, $IRR_USE_ALPHA)
    _IrrDrawScene()
    _IrrEndScene()
    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _InitGFX($_Config)
    _Load_Config($_Config)
    Local $i_FullScreen = $IRR_WINDOWED
    Local $s_Model = _Get_Data($a_Config_Model, "Model"), _
    $s_MainTxt = _Get_Data($a_Config_Model, "MainTxt"), _
    $s_FxTxt = _Get_Data($a_Config_Model, "FxTxt"), _
    $s_Size = _Get_Data($a_Config_Model, "Size")
    Local $s_TurnSpeedX = _Get_Data($a_Config_Animation, "TurnSpeedX"), _
    $s_TurnSpeedY = _Get_Data($a_Config_Animation, "TurnSpeedY"), _
    $s_UseMovment = _Get_Data($a_Config_Animation, "UseMovment"), _
    $s_BaseMoveAxis = _Get_Data($a_Config_Animation, "BaseMoveAxis")
    Local $s_UseImage = _Get_Data($a_Config_BackGround, "UseImage"), _
    $s_UseScreenshot= _Get_Data($a_Config_BackGround, "UseScreenshot")
    Local $s_FullScreen = _Get_Data($a_Config_Settings, "UseFullScreen")
    $s_sizeX = _Get_Data($a_Config_Settings, "ResX")
    $s_sizeY = _Get_Data($a_Config_Settings, "ResY")
    Local $s_Bump_scale = _Get_Data($a_Config_Effect, "effekt_scale"), _
    $s_Bump = _Get_Data($a_Config_Effect, "bump"), _
    $s_Solid = _Get_Data($a_Config_Effect, "solid"), _
    $s_Lightmap = _Get_Data($a_Config_Effect, "lightmap"), _
    $s_Detailmap = _Get_Data($a_Config_Effect, "detailmap"), _
    $s_Spheremap = _Get_Data($a_Config_Effect, "spheremap"), _
    $s_Reflect = _Get_Data($a_Config_Effect, "reflect")
    Local $s_MainLight = _Get_Data($a_Config_Light, "main_light"), _
    $s_XtraLight = _Get_Data($a_Config_Light, "xtra_light"), _
    $s_AmbientLight = _Get_Data($a_Config_Light, "ambient_light"), _
    $s_DiffuseLight = _Get_Data($a_Config_Light, "diffuse_light")
    Local $irr_AmbientLight, $irr_DiffuseLight

    [/autoit] [autoit][/autoit] [autoit]

    ; Background erstellen
    if $s_UseScreenshot <> "" and $s_UseScreenshot <> 0 then
    dim $tmp, $a_effect_map=StringSplit($s_MainTxt,"\",1)
    for $i=1 to $a_effect_map[0]-1
    $tmp&=$a_effect_map[$i]&"\"
    Next
    $s_UseImage=$tmp&"BACK.jpg"
    _ScreenCapture_Capture($s_UseImage)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; Start Irrlicht
    if $s_FullScreen = 1 Then
    $s_sizeX = @DesktopWidth
    $s_sizeY = @DesktopHeight
    $i_FullScreen = $IRR_FULLSCREEN
    EndIf
    $_GUI=_IrrStartAdvanced($IRR_EDT_DIRECT3D9, $s_sizeX, $s_sizeY, $IRR_BITS_PER_PIXEL_32, _
    $i_FullScreen, $IRR_SHADOWS, $IRR_IGNORE_EVENTS, $IRR_VERTICAL_SYNC_ON, _
    0, $IRR_ON, 16, $IRR_ON)
    $_GUI_txt="GK " & $s_Version
    _IrrSetWindowCaption($_GUI_txt)
    _IrrHideMouse()

    [/autoit] [autoit][/autoit] [autoit]

    ; Kamera Setzen
    $irr_Camera = _IrrAddCamera(0,0,-25, 0,0,0 )

    [/autoit] [autoit][/autoit] [autoit]

    ; Background Laden
    if $s_UseImage <> "" then
    $irr_BackTxt = _IrrGetImage($s_UseImage)
    Local $aInfo = _IrrGetImageInformation($irr_BackTxt)
    dim $s_BsizeX=$aInfo[0], $s_BsizeY=$aInfo[1]
    _IrrRemoveImage($irr_BackTxt)
    $irr_BackTxt = _IrrGetTexture($s_UseImage)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; Mesh Laden
    $irr_Mesh = _IrrGetMesh($s_Model)
    $irr_MainTxt = _IrrGetTexture($s_MainTxt)
    if $s_Size = "" or $s_Size = 0 then $s_Size = 50
    $s_Size = 2.92 / 50 * $s_Size
    _IrrScaleMesh($irr_Mesh, $s_Size)
    $irr_Node = _IrrAddStaticMeshForNormalMappingToScene($irr_Mesh)
    _IrrSetNodeMaterialFlag($irr_Node, $IRR_EMF_LIGHTING, $IRR_On)
    _IrrSetNodeMaterialFlag($irr_Node, $IRR_EMF_BILINEAR_FILTER, $IRR_ON)
    _IrrSetNodeMaterialFlag($irr_Node, $IRR_EMF_TRILINEAR_FILTER, $IRR_ON)
    _IrrSetNodeMaterialFlag($irr_Node, $IRR_EMF_ANISOTROPIC_FILTER, $IRR_ON)
    _IrrSetNodeMaterialTexture($irr_Node, $irr_MainTxt, 0)

    [/autoit] [autoit][/autoit] [autoit]

    ; Effekt Texture vorbereiten
    if $s_FxTxt = "ASM" or $s_FxTxt = "" Then
    dim $s_FxTxt="", $a_effect_map=StringSplit($s_MainTxt,"\",1)
    for $i=1 to $a_effect_map[0]-1
    $s_FxTxt&=$a_effect_map[$i]&"\"
    Next
    dim $s_FxTxt_Bmp=$s_FxTxt&"BUMP.bmp", $s_FxTxt_Jpg=$s_FxTxt&"BUMP.jpg", $s_FxTxt=$s_FxTxt_Jpg
    _ASM_BitmapBnW($s_MainTxt, Random(88,98,1), 0, $s_FxTxt_Bmp)
    _ConvertBMP2JPG($s_FxTxt_Bmp)
    FileDelete($s_FxTxt_Bmp)
    EndIf
    $irr_FxTxt = _IrrGetTexture($s_FxTxt)
    if $s_Bump_scale <> "" and $s_Bump_scale <> "0" then _IrrMakeNormalMapTexture($irr_FxTxt, Number($s_Bump_scale))
    _IrrSetNodeMaterialTexture($irr_Node, $irr_FxTxt, 1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Mesh Drehung
    _IrrAddRotationAnimator($irr_Node, ($s_TurnSpeedY/100), ($s_TurnSpeedX/100), 0)

    [/autoit] [autoit][/autoit] [autoit]

    ; Grafik-Effekte
    if $s_Bump <> "" and $s_Bump <> "0" then
    if $s_Bump = "1" then _IrrSetNodeMaterialType($irr_Node, $IRR_EMT_NORMAL_MAP_SOLID)
    if $s_Bump = "2" then _IrrSetNodeMaterialType($irr_Node, $IRR_EMT_PARALLAX_MAP_SOLID)
    EndIf
    if $s_Solid <> "" and $s_Solid <> "0" then
    _IrrSetNodeMaterialType($irr_Node, $IRR_EMT_SOLID_2_LAYER)
    EndIf
    if $s_Lightmap <> "" and $s_Lightmap <> "0" then
    if $s_Lightmap = "1" then _IrrSetNodeMaterialType($irr_Node, $IRR_EMT_LIGHTMAP)
    if $s_Lightmap = "2" then _IrrSetNodeMaterialType($irr_Node, $IRR_EMT_LIGHTMAP_ADD)
    if $s_Lightmap = "3" then _IrrSetNodeMaterialType($irr_Node, $IRR_EMT_LIGHTMAP_M2)
    if $s_Lightmap = "4" then _IrrSetNodeMaterialType($irr_Node, $IRR_EMT_LIGHTMAP_M4)
    EndIf
    if $s_Detailmap <> "" and $s_Detailmap <> "0" then
    _IrrSetNodeMaterialType($irr_Node, $IRR_EMT_DETAIL_MAP)
    EndIf
    if $s_Spheremap <> "" and $s_Spheremap <> "0" then
    _IrrSetNodeMaterialType($irr_Node, $IRR_EMT_SPHERE_MAP)
    EndIf
    if $s_Reflect <> "" and $s_Reflect <> "0" then
    _IrrSetNodeMaterialType($irr_Node, $IRR_EMT_REFLECTION_2_LAYER)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    dim $i_ColSplit=0.00394
    ; Lichtfarbe
    dim $a_LightColor[3]
    if $s_MainLight <> "" Then
    $s_LightColor=StringReplace($s_MainLight,"0x","")
    $a_LightColor[0] = $i_ColSplit*Dec(stringmid($s_LightColor, 1, 2))
    $a_LightColor[1] = $i_ColSplit*Dec(stringmid($s_LightColor, 3, 2))
    $a_LightColor[2] = $i_ColSplit*Dec(stringmid($s_LightColor, 5, 2))
    $a_LightColor[0] = Number(StringLeft($a_LightColor[0], 3))
    $a_LightColor[1] = Number(StringLeft($a_LightColor[1], 3))
    $a_LightColor[2] = Number(StringLeft($a_LightColor[2], 3))
    for $ii = 0 to UBound($a_LightColor)-1
    if $a_LightColor[$ii]="" then $a_LightColor[$ii]=0
    Next
    Else
    $a_LightColor[0] = 1
    $a_LightColor[1] = 1
    $a_LightColor[2] = 1
    EndIf
    $irr_Light = _IrrAddLight($IRR_NO_PARENT, 0,0,-240, $a_LightColor[0],$a_LightColor[1],$a_LightColor[2], 1000)

    [/autoit] [autoit][/autoit] [autoit]

    ; Zusatzlicht
    if $s_XtraLight <> "" Then
    dim $a_XtraLightColor[3]
    $s_LightColor=StringReplace($s_XtraLight,"0x","")
    $a_XtraLightColor[0] = $i_ColSplit*Dec(stringmid($s_LightColor, 1, 2))
    $a_XtraLightColor[1] = $i_ColSplit*Dec(stringmid($s_LightColor, 3, 2))
    $a_XtraLightColor[2] = $i_ColSplit*Dec(stringmid($s_LightColor, 5, 2))
    $a_XtraLightColor[0] = Number(StringLeft($a_XtraLightColor[0], 3))
    $a_XtraLightColor[1] = Number(StringLeft($a_XtraLightColor[1], 3))
    $a_XtraLightColor[2] = Number(StringLeft($a_XtraLightColor[2], 3))
    for $ii = 0 to UBound($a_XtraLightColor)-1
    if $a_XtraLightColor[$ii]="" then $a_XtraLightColor[$ii]=0
    Next
    $irr_Light2 = _IrrAddLight($IRR_NO_PARENT, 0,0,-240, $a_XtraLightColor[0],$a_XtraLightColor[1],$a_XtraLightColor[2], 1000)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; Ambient Light
    if $s_AmbientLight <> "" Then
    dim $a_AmbientColor[3]
    $s_LightColor=StringReplace($s_AmbientLight,"0x","")
    $a_AmbientColor[0] = $i_ColSplit*Dec(stringmid($s_LightColor, 1, 2))
    $a_AmbientColor[1] = $i_ColSplit*Dec(stringmid($s_LightColor, 3, 2))
    $a_AmbientColor[2] = $i_ColSplit*Dec(stringmid($s_LightColor, 5, 2))
    $a_AmbientColor[0] = Number(StringLeft($a_AmbientColor[0], 3))
    $a_AmbientColor[1] = Number(StringLeft($a_AmbientColor[1], 3))
    $a_AmbientColor[2] = Number(StringLeft($a_AmbientColor[2], 3))
    for $ii = 0 to UBound($a_AmbientColor)-1
    if $a_AmbientColor[$ii]="" then $a_AmbientColor[$ii]=0
    Next
    $irr_AmbientLight = _IrrAddLight($irr_Node, 0,0,0, 1,1,1, 1000)
    _IrrSetLightAmbientColor($irr_AmbientLight, $a_AmbientColor[0],$a_AmbientColor[1],$a_AmbientColor[2])
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ; Diffuse Light
    if $s_DiffuseLight <> "" Then
    dim $a_DiffuseColor[3]
    $s_LightColor=StringReplace($s_DiffuseLight,"0x","")
    $a_DiffuseColor[0] = $i_ColSplit*Dec(stringmid($s_LightColor, 1, 2))
    $a_DiffuseColor[1] = $i_ColSplit*Dec(stringmid($s_LightColor, 3, 2))
    $a_DiffuseColor[2] = $i_ColSplit*Dec(stringmid($s_LightColor, 5, 2))
    $a_DiffuseColor[0] = Number(StringLeft($a_DiffuseColor[0], 3))
    $a_DiffuseColor[1] = Number(StringLeft($a_DiffuseColor[1], 3))
    $a_DiffuseColor[2] = Number(StringLeft($a_DiffuseColor[2], 3))
    for $ii = 0 to UBound($a_DiffuseColor)-1
    if $a_DiffuseColor[$ii]="" then $a_DiffuseColor[$ii]=0
    Next
    $irr_DiffuseLight = _IrrAddLight($irr_Node, 0,0,0, 1,1,1, 1000)
    _IrrSetLightDiffuseColor($irr_DiffuseLight, $a_DiffuseColor[0],$a_DiffuseColor[1],$a_DiffuseColor[2])
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _Load_Config($sFile)
    $a_Config_Model = IniReadSection($sFile, "Model")
    $a_Config_Animation = IniReadSection($sFile, "Animation")
    $a_Config_Effect = IniReadSection($sFile, "Effect")
    $a_Config_BackGround= IniReadSection($sFile, "BackGround")
    $a_Config_Settings = IniReadSection($sFile, "Settings")
    $a_Config_Light = IniReadSection($sFile, "Light")
    EndFunc
    Func _Get_Data($aCfgArray, $sSearch)
    $i=_ArraySearch($aCfgArray, $sSearch)
    if $i <> -1 then Return $aCfgArray[$i][1]
    Return 0
    EndFunc
    Func _Exit()
    ; Alles Releasen
    _IrrRemoveAllNodes()
    _IrrRemoveTexture($irr_BackTxt)
    _IrrRemoveTexture($irr_MainTxt)
    _IrrRemoveTexture($irr_FxTxt)
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _ASM_BitmapBnW($vBitmap, $iLight, $iBlackAndWhite = 0, $sOutPath = "")
    ; Diese Funktion habe ich mir aus dem 'Mona-Lisa-V2' Script von Seubo genommen.
    ; Diese hier ist sooo schnell das eine Neu-Programmierung meinerseits keinen Sinn ergibt!
    ; Hoch lebe ASSEMBLER!!
    ;
    ; Schwarzweiß:
    ; _ASM_BitmapBnW(@ScriptDir & "\mona-lisa.jpg", 100, 1, @ScriptDir & "\mona-lisa-sw.bmp")

    [/autoit] [autoit][/autoit] [autoit]

    ; Graustufen: %
    ; _ASM_BitmapBnW(@ScriptDir & "\mona-lisa.jpg", 90, 0, @ScriptDir & "\mona-lisa-bnw.bmp")

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()
    Local $hBitmap = $vBitmap, $iTimer
    Local $iWidth, $iHeight, $hBitmapData, $Scan, $Stride, $tPixelData, $pPixelStruct
    If Not IsHWnd($vBitmap) Then $hBitmap = _GDIPlus_BitmapCreateFromFile($vBitmap)
    If @error Then Return SetError(1)

    [/autoit] [autoit][/autoit] [autoit]

    $iWidth = _GDIPlus_ImageGetWidth($hBitmap)
    $iHeight = _GDIPlus_ImageGetHeight($hBitmap)

    [/autoit] [autoit][/autoit] [autoit]

    $hBitmapData = _GDIPlus_BitmapLockBits($hBitmap, 0, 0, $iWidth, $iHeight, BitOR($GDIP_ILMREAD, $GDIP_ILMWRITE), $GDIP_PXF32RGB)
    $Scan = DllStructGetData($hBitmapData, "Scan0")
    $Stride = DllStructGetData($hBitmapData, "Stride")
    $tPixelData = DllStructCreate("dword[" & (Abs($Stride * $iHeight)) & "]", $Scan)

    [/autoit] [autoit][/autoit] [autoit]

    ;ASM Bytecode aufrufen
    $bytecode = "0x8B7C24048B5424088B5C240CB900000000C1E202575352518B040FBA00000000BB00000000B90000000088C2C1E80888C3C1E80888C18B44240883F800772FB85555000001CB01D3F7E3C1E810BB00000000B3FFC1E30888C3C1E30888C3C1E30888C389D8595A5B5F89040FEB3B89C839C3720289D839C2720289D05089F839C3770289D839C2770289D05B01D8BBDC780000F7E3C1E810595A5B5F3B4424107213C7040FFFFFFF0083C10439D1730EE95FFFFFFFC7040F00000000EBEBC3"

    [/autoit] [autoit][/autoit] [autoit]

    $tCodebuffer = DllStructCreate("byte[" & StringLen($bytecode) / 2 - 1 & "]") ;Speicher für den Bytecode reservieren
    DllStructSetData($tCodebuffer, 1, $bytecode) ;Bytecode in den Speicher schreiben
    $iTimer = TimerInit()
    $Ret = DllCall("user32.dll", "int", "CallWindowProcW", "ptr", DllStructGetPtr($tCodebuffer), "ptr", DllStructGetPtr($tPixelData), "int", $iWidth * $iHeight, "int", $iBlackAndWhite, "int", $iLight);
    If @error Then Return SetError(2)
    $iTimer = TimerDiff($iTimer)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_BitmapUnlockBits($hBitmap, $hBitmapData)
    If $sOutPath <> "" Then _GDIPlus_ImageSaveToFile($hBitmap, $sOutPath)
    _GDIPlus_Shutdown()
    Return SetError(0, $iTimer, $hBitmap)
    EndFunc
    Func _ConvertBMP2JPG($sFileName)
    ; by eukalyptus
    _GDIPlus_Startup()
    Local $tGUID = _WinAPI_GUIDFromString("{557CF401-1A04-11D3-9A73-0000F81EF32E}")
    Local $pGUID = DllStructGetPtr($tGUID)
    Local $tParams = _GDIPlus_ParamInit(1)
    Local $pParams = DllStructGetPtr($tParams)
    Local $tData = DllStructCreate("int Quality")
    DllStructSetData($tData, "Quality", 90)
    _GDIPlus_ParamAdd($tParams, $GDIP_EPGQUALITY, 1, $GDIP_EPTLONG, DllStructGetPtr($tData))

    [/autoit] [autoit][/autoit] [autoit]

    Local $aResult = DllCall($ghGDIPDll, "int", "GdipLoadImageFromFile", "wstr", $sFileName, "ptr*", 0)
    DllCall($ghGDIPDll, "int", "GdipSaveImageToFile", "handle", $aResult[2], "wstr", StringTrimRight($sFileName, 3) & "jpg", "ptr", $pGUID, "ptr", $pParams)
    DllCall($ghGDIPDll, "int", "GdipDisposeImage", "handle", $aResult[2])
    _GDIPlus_Shutdown()
    EndFunc

    [/autoit]
    Ini
    Code
    [Settings]
    UseFullScreen=1
    ResX=
    ResY=
    
    
    [Model]
    Model=Data\Beispiel\4096.irrmesh
    MainTxt=Data\Beispiel\earth.jpg
    FxTxt=ASM
    Size=35
    
    
    [BackGround]
    UseImage=
    UseScreenshot=1
    
    
    [Animation]
    TurnSpeedX=1
    TurnSpeedY=0
    
    
    [Effect]
    effekt_scale=6
    bump=2
    solid=
    lightmap=
    detailmap=
    spheremap=
    reflect=
    
    
    [Light]
    main_light=EEBBAA
    xtra_light=445599
    ambient_light=
    diffuse_light=
    Alles anzeigen

    Downloadlink

    Grüsse!

    [EDIT]
    Ach, ganz vergessen - Es ist noch ohne Bewegungsanimationen! Habe ich noch nicht eingebaut, wenn du sie noch willst baue ichsie dir iwan noch ein!

  • Irrlicht vorbereitetes Objekt im Kreis drehen lassen

    • Techmix
    • 23. Dezember 2011 um 13:54

    Da hasste schon recht, ABER bringt doch Spass :D

  • Irrlicht vorbereitetes Objekt im Kreis drehen lassen

    • Techmix
    • 22. Dezember 2011 um 12:13

    Moin!
    Also gestern habe ich es nicht mehr geschafft, kann mich aber die nächsten Tage damit beschäftigen! Also ich werde es mit einer ini ansteuern, worin das Model sowie die Rotaionsbewegung und Geschwindigkeit angegeben sind. Soll sich das Model auch noch über den Bildschirm bewegen?

    Grüsse!

  • Irrlicht vorbereitetes Objekt im Kreis drehen lassen

    • Techmix
    • 21. Dezember 2011 um 11:47

    Ist nicht schwer...

    Automatische Drehung so mit einer vorgegebenen Geschwindigkeit? Kann man einfach in Ini-Form lösen, also komplett ohne GUI-Gedöns.

    Vielleicht Proge ich dir das, ich überlege mir das bis Heute Abend und meld mich dann wieder!

    Grüsse!

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™