Carom3D

    • Offizieller Beitrag

    Hi,
    gestern beim TmN spielen (man war ich schlecht :comp1: ) hatten wir auch das Free - Billardspiel "Carom3D" angesprochen.
    Hier etwas mehr dazu:
    - enthält: 3-Band, 4-Ball, 6-Ball, 8-Ball, 9-Ball, Rotation, Card-Ball, Snooker
    - Match Type: Normal (bis max. 5 vs. 5) oder Challenge-Mode (1 vs. 1)
    - man bekommt Punkte für Sieg und verliert Punkte bei Niederlage
    - mit steigender Spielstufe verbessern sich Queueführung, Stoßkraft und techn. Möglichkeiten
    - alle Details findet ihr auf http://www.carom3d.com
    - Download: http://www.carom3d.com/download/download_client_1.asp
    - Im Practice-Mode sind nicht alle Spielarten verfügbar. Durch eine technische Panne war einmal die Version 2.83 mit allen Spielen im Practice-Mode verfügbar. Ein flinker Gamer hat diese Version gesichert. Ich hab sie etwas entschlackt und mit Anweisung zur Nutzung auf meine Web-Site geladen. Wer will, darf zugreifen: Download Carom Full Practice

    Übrigens hat das Spiel tolle Onlinefunktionen per Kommandozeile (z.B. "/where nickname", "/join raumname", Nachricht an Spieler in anderem Raum: "/to nickname text" uva.)

    Vielleicht sieht man sich ja mal beim Billard. Enjoy & have fun.

  • Hi Bugfix,

    ich hoffe TMN hat Dir gestern trotzdem Spass gemacht. Habe mir noch carom3d runtergeladen... und was soll ich sagen... bis ich mich in ein Match trauen kann, muß ich noch ne Menge trainieren :D. Carom ist die bisher beste (kostenlose) Billard-Simulation die ich gesehen habe. Wenn ich etwas geübt habe können wir gerne mal ne Runde spielen. Noch muß ich an meiner Feinmotorik arbeiten :musik2:.

    • Offizieller Beitrag

    Freut mich, dass es euch gefällt.
    Am Anfang kommt man sich wirklich ziemlich hilflos vor - vor allem, wenn man eine entfernte Kugel anvisiert und diese dann vorm Queue 'tanzt'. Aber das gibt sich mit steigender Qualifikation.
    Mein Lieblingsspiel ist übrigens Rotation.
    Also bis dann.

    PS: Klar hat mir TmN Spaß gemacht. Aber gewinnen macht noch mehr Spaß!! :klatschen:

    Edit: @jonk
    Sag mal - Dein Signum ist das ein Auszug aus dem daVinci-Code? :rofl:

    • Offizieller Beitrag

    Hi,
    habe meinen ersten Urlaubstag mal dazu genutzt, ein Startwiederholungsscript für Carom3D zu schreiben. D.h., das Script hatte ich ja schon - jetzt hab ich es nur allgemeingültig umgebastelt, mit INI für die Einstellungen.

    Spoiler anzeigen

    SETTINGS:

    WIEDERHOLUNGSSCRIPT

    INI


    Damit ich die INI-Datei anhängen konnte, hab ich ihr noch den Suffix .txt verpaßt. Bei Nutzung also wieder entfernen.

    Und das ganze mit der Beta nutzen. Gute Nacht auch noch.


    Edit:
    Kleine Änderung - ich hatte glatt Snooker vergessen einzubauen. Jetzt ist aber alles komplett.

    Edit 2:
    Aus mir nicht erklärlichen Gründen funktioniert das BlockInput() (Script: carom_again.au3; Zeilen: 65 bis 73) nicht. Der User kann beim Erststart die Maus munter bewegen, sodass die gesendeten Befehle verpuffen.
    Hängt vermutlich damit zusammen, dass vorm Aufruf der Funktion zwar mit WinWaitActive() (Zeile 58 ) auf das Fenster gewartet wird, dieses jedoch noch nicht komplex aufgebaut ist (die Befehle somit ins Leere gehen).
    Ich habe jetzt hinter das WinWaitActive() noch ein Sleep(800) gesetzt und nun funktioniert es auch. Wobei 800 ms die untere Grenze ist. Ich denke mit 1 s ist man absolut auf der sicheren Seite.

    • Offizieller Beitrag

    NEUE VERSION von Carom_Again (Carom_Again.zip )

    Hab mich nun mal ran gemacht und die Änderungen eingearbeitet.
    Da im neuen Outfit die Position des Practice-Buttons verändert ist, wurde dies angepaßt.
    Auf Einblendungen der Hilfefunktionen, die man per Hand mit F1 und F4 abschalten muß, prüfe ich 6 Sekunden nach Programmstart per PixelSearch. Je nachdem, welches Hilfesymbol eingeblendet ist, wird automatisch F1 und/oder F4 gesendet und somit ausgeblendet.

    carom_again

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    AutoitSetOption("MouseCoordMode", 0)
    Dim $state, $aktiv, $butt_x, $butt_y, $var, $path, $game, $c_game, $key_game
    Dim $room, $c_room, $key_room, $i, $t1, $t2, $delay, $Spiel

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

    If FileExists(@ScriptDir & "\" & "carom_again.INI") Then
    $var = IniRead(@ScriptDir & "\" & "carom_again.INI", "set", "done", "")
    If $var = 0 Then
    MsgBox(16, "Achtung", "Die 'carom_again_settings' müssen zumindest einmal ausgeführt" & @LF & @LF & _
    "und an deine Installation angepaßt werden." & @LF & @LF & @LF & @LF & "Das Einstellungsprogramm wird jetzt aufgerufen.")
    Run(@ScriptDir & "\" & "carom_again_settings.exe")
    If @error Then
    MsgBox(16, "Achtung!", "Das Einstellungsprogramm: 'carom_again_settings.exe' ist nicht im Installationspfad: " & _
    @ScriptDir & "\" & "vorhanden!" & @LF & @LF & "Das Programm wird jetzt beendet.")
    Exit
    EndIf
    While $var = 0
    Sleep(250)
    $var = IniRead(@ScriptDir & "\" & "carom_again.INI", "set", "done", "")
    WEnd
    EndIf
    $path = IniRead(@ScriptDir & "\" & "carom_again.INI", "path", "current", "")
    $game = IniReadSection(@ScriptDir & "\" & "carom_again.INI", "game")
    $c_game = $game[10][1]
    $room = IniReadSection(@ScriptDir & "\" & "carom_again.INI", "room")
    $c_room = $room[9][1]
    $delay = IniRead(@ScriptDir & "\" & "carom_again.INI", "set", "delay", "")
    Else
    MsgBox(16, "Achtung ! Fehlende Datei!", "Die Datei: <carom_again.INI> ist nicht im Ordner: <" & @ScriptDir & "\" & "> enthalten!" _
    & @LF & @LF & "Ohne diese Datei kann das Programm nicht ausgeführt werden!")
    Exit
    EndIf
    HotKeySet("!y", "_CaromStart")
    $aktiv = 0
    For $i = 1 To $game[0][0]-1
    If $game[$i][0] = $c_game Then
    $key_game = $game[$i][1]
    ExitLoop
    EndIf
    Next
    For $i = 1 To $room[0][0]-1
    If $room[$i][0] = $c_room Then
    $key_room = $room[$i][1]
    ExitLoop
    EndIf
    Next
    Select
    Case $key_game = 3
    $t1 = "3-Cushion"
    Case $key_game = 4
    $t1 = "4-Ball"
    Case $key_game = 6
    $t1 = "6-Ball"
    Case $key_game = 8 Or $key_game = "e"
    $t1 = "8-Ball"
    Case $key_game = 9
    $t1 = "9-Ball"
    Case $key_game = "c"
    $t1 = "CardBall"
    Case $key_game = "r"
    $t1 = "Rotation"
    Case $key_game = "s"
    $t1 = "Short-Snooker"
    Case $key_game = "n"
    $t1 = "Normal-Snooker"
    EndSelect

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

    Switch $key_room
    Case "u"
    $t2 = "Underground"
    Case "j"
    $t2 = "Japanese"
    Case "k"
    $t2 = "Korean"
    Case "m"
    $t2 = "Millennium"
    Case "c"
    $t2 = "Christmas"
    Case "e"
    $t2 = "Event"
    Case "a"
    $t2 = "Antique"
    Case "{PGDN}"
    $t2 = "CaromBeach"
    EndSwitch
    If StringInStr($path, "carom.exe") Then
    $Spiel = "Standard"
    Else
    $Spiel = "Full Practice"
    EndIf
    MsgBox(64, "Hinweis", "Spiel: " & $t1 & @LF & @LF & _
    "Raum: " & $t2 & @LF & @LF & _
    "Modus: " & $Spiel & @LF & @LF & @LF & _
    "Nach Beendigung des Spiels, kann mit der Tastenkombination:" & @LF & @LF & "< ALT > + < y >" & @LF & @LF & _
    "sofort ein neues Spiel begonnen werden." & @LF & @LF & @LF & @LF & @LF & @LF & _
    "eMail: [email='bug_fix@web.de'][/email]" & @LF & @LF & "Created with AutoIt3")

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

    While 1
    Sleep(500)
    $state = WinGetState("Carom3D", "")
    Select
    Case $state = 0 And $aktiv = 1
    ExitLoop
    Case $aktiv = 0 ; Practice Mode
    Run($path)
    If @error Then
    MsgBox(16, "Achtung", "Programmpfad der Anwendung: " & $path & " ist nicht vorhanden!")
    Exit
    EndIf
    WinWaitActive("Carom3D")
    $aktiv = 1
    Sleep(1000)
    _CaromStart()
    EndSelect
    WEnd
    Exit

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

    Func _CaromStart()
    BlockInput(1)
    If StringInStr($path, "carom.exe") Then
    MouseClick("left",520,180,1,0)
    Else
    MouseClick("left",492,128,1,0)
    EndIf
    If $key_game = 8 Or $key_game = "e" Then
    Send("8e")
    Else
    Send($key_game)
    EndIf
    Send("{TAB}")
    Send($key_room)
    Send("{ENTER}")
    BlockInput(0)
    Sleep($delay)
    If StringInStr($path, "carom.exe") Then ; wenn nicht full_praxis_modus
    If _ScanF1() Then Send("{F1}")
    If _ScanF4() Then Send("{F4}")
    EndIf
    EndFunc

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

    Func _ScanF1()
    Local $left, $top, $right, $bottom
    Switch @DesktopWidth
    Case 800
    $left = 696
    $top = 108
    $right = 788
    $bottom = 204
    Case 1024
    $left = 920
    $top = 120
    $right = 1012
    $bottom = 208
    Case 1280
    $left = 1176
    $top = 108
    $right = 1268
    $bottom = 208
    EndSwitch
    PixelSearch($left,$top,$right,$bottom,0x00314A,0,4)
    If Not @error Then Return True
    EndFunc

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

    Func _ScanF4()
    Local $left, $top, $right, $bottom
    Switch @DesktopWidth
    Case 800
    $left = 8
    $top = 156
    $right = 164
    $bottom = 320
    Case 1024
    $left = 8
    $top = 156
    $right = 164
    $bottom = 304
    Case 1280
    $left = 8
    $top = 156
    $right = 164
    $bottom = 324
    EndSwitch
    PixelSearch($left,$top,$right,$bottom,0x00314A,0,4)
    If Not @error Then Return True
    EndFunc

    [/autoit]


    EDIT: Wär toll, wenn es mal jemand auf seinem PC testen kann. Habe nämlich (nur in der kompilierten Version) manchmal den Effekt, dass beim Neustart mit "Alt+y" ein Zustand eintritt, als ob nur "ALTDOWN" gesendet ist. Hebt sich nach einigen Sekunden auf, manchmal auch gar nicht. Denke aber, das ist hardwareabhängig. Meine Kiste ist einfach zu alt.

  • hehe carom3d ist euch aber nen bisl spät aufgefallen x) Ich hab das vor 3-4 jahren angefangen zu spielen und hab ein ganzes jahr lang jeden tag gezockt.

    Danach war ich bronce crown (gold crown war damals das höchste. wies heute ist weis ich ned) und hatte keine lust mehr.

    Das Game ist auf jeden fall das beste free-billiardspiel das es gibt :)

    Werds mir auch ma wieder runterladen


    Carom_again werde ich dann bei gelegenheit auch gleich ma testen :)

    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.

    [autoit]

    If Not $Elephant Then $Irelephant = True

    [/autoit]

    Einmal editiert, zuletzt von Blubkuh (26. Mai 2007 um 11:53)

  • Hi,
    hab mir Carom auch vor 3 Tagen runtergeladen. Aber, so schwer ist es doch auch nicht die Kugeln in die Löcher zu kriegen, oder? Falls jemand mal lust hat können wage ich gern ein Spielchen...

    Grüße Vinschni