Schon Klar mit der Properties File kenn ich mich aus, allerdings
meine ich dies schonmal getestet zu haben.
Ich versuchs nochmal.
Edit:
Hast du nen Hamachi Server?
Beiträge von Nathax
-
-
Ja, es ist Minecraft
aber wie soll ich die Items verbieten?
Habe einen Hamachi Server.Und was muss ich jetzt als erster Paramater bei Run reinschreiben, wenn ich eine Batch-Datei
Inhalt: ( java -Xmx2048M -Xms2048M -jar minecraft_server.jar )
starten will -
Hallo,
es liegt folgendes problem vor.
ich habe einen server für ein spiel,
den ich per batch datei starte, damit ich ihm mehr ram zuweisen kann.
=> ein cmd fenster öffnet sich und bleibt offen
gibt man ingame einen befehl per chat ein,
so wird dieser nicht nur im ingame chat angezeigt, sondern auch im cmd fenster.
dort steht dann z.b. /give SpielerName ItemID
nun möchte ich dauerhaft das cmd fenster auslesen und abfragen ob ein bestimmter befehl ausgeführt wurde,
damit ich bestimmte befehle sperren kann.
wird z.b. ein bestimmter befehl eingegeben so soll in das cmd fenster "/kick SpielerName" geschrieben werden,
um den spieler zu kicken.
ich weiß, dass man abfangen kann was cmd zurückgibt wenn man beispielsweise ipconfig eingibt,
wie geht es jedoch in diesem fall? -
-
Zitat
ich glaub das is dein problem du kennst deine ips nicht?
Ach mit Ips hab ich mich schon genug außeinander gesetzt - hab ja schon mal nen eigenen M2-P-Server gemacht.
-
Ja ich verstehe schon, nur leider klappt es nicht.
muss ich im clienten script bei TCPConnect(ip, port)
bei ip die ip von meinem rechner(TCPNameToIP ("Nathan-PC")) oder die ip des rechners wo der client läuft eintragen
eigentlich ersteres oder?
Edit:
Juhu es klappt.
Vielen dank an alle -
Vielen Dank,
ich werds heute abend nochmal testen.
Und dann bescheid sagen obs funzt
Edit: Also muss ich den Clienten am anderen Pc starten und im clientscript den Pc namen
des ClientPcs eingeben und bei mir den server starten?? -
Wenn ich beides an meinem Rechner starte funzt es,
also liegt der Fehler wahrscheinlich an den Ips und Ports was genau muss man dennn da eintragen,
damit zwei unterschiedliche Rechner "kommunizieren" können? -
Also eigentlich müsste es doch klappen oder...
ich starte an meinem pc den server und an dem laptop meines vaters den clienten und
ich müsste die maus so steueren können wie wenn ich beides bei mir starte, oder?Client:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>$ClientGui = GUICreate("Client", 400, 400, 250, 150)
[/autoit] [autoit][/autoit] [autoit]
$Input = GUICtrlCreateInput("Input", 10, 10, 380, 20)
$Button = GUICtrlCreateButton("Button", 10, 40, 380, 35)
$Group = GUICtrlCreateGroup("Maus-Analyzer", 10, 80, 380, 300)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)TCPStartup();TCP wird initialisiert
[/autoit] [autoit][/autoit] [autoit]
Sleep(3000)
AdlibRegister("_moveMouse",60)While 1
[/autoit] [autoit][/autoit] [autoit]
$Msg = GUIGetMsg()
Select
Case $Msg = $GUI_EVENT_CLOSE
_ende()
EndSelect
WEndFunc _moveMouse()
[/autoit] [autoit][/autoit] [autoit]
If Not _IsPressed(01) Then
$MPos = GUIGetCursorInfo()
If IsArray($MPos) Then
$MposX = $MPos[0]
$MposY = $MPos[1]
EndIf
$Socket = TCPConnect("127.0.0.1", 12345) ; Versucht eine Verbindung zum Server aufzubauen und speichert die SocketID in "$Socket" ab
If $Socket = -1 Then ; Wenn $Socket = -1 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Die Verbindung zum Server konnte nicht hergestellt werden!") ; Fehlermeldung
EndIf
$Message = $MposX&":"&$MposY
$SendedBytes = TCPSend($Socket, $Message) ; Sendet den Text an unseren verbundenen Socket
If $SendedBytes = 0 Then ; Wenn der Rückgabewert von TCPSend(...) 0 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Das Paket konnte nicht gesendet werden.") ; Fehlermeldung
EndIf
TCPCloseSocket($Socket)
ElseIf _IsPressed(01) Then
$Socket = TCPConnect("127.0.0.1", 12345) ; Versucht eine Verbindung zum Server aufzubauen und speichert die SocketID in "$Socket" ab
If $Socket = -1 Then ; Wenn $Socket = -1 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Die Verbindung zum Server konnte nicht hergestellt werden!") ; Fehlermeldung
EndIf
$Message = "[LeftClick]"
$SendedBytes = TCPSend($Socket, $Message) ; Sendet den Text an unseren verbundenen Socket
If $SendedBytes = 0 Then ; Wenn der Rückgabewert von TCPSend(...) 0 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Das Paket konnte nicht gesendet werden.") ; Fehlermeldung
EndIf
TCPCloseSocket($Socket)
EndIf
EndFuncFunc _ende()
[/autoit]
$Socket = TCPConnect("127.0.0.1", 12345) ; Versucht eine Verbindung zum Server aufzubauen und speichert die SocketID in "$Socket" ab
If $Socket = -1 Then ; Wenn $Socket = -1 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Die Verbindung zum Server konnte nicht hergestellt werden!") ; Fehlermeldung
EndIf
$Message = "[Exit]"
$SendedBytes = TCPSend($Socket, $Message) ; Sendet den Text an unseren verbundenen Socket
If $SendedBytes = 0 Then ; Wenn der Rückgabewert von TCPSend(...) 0 ist, Fehlermeldung ausgeben
MsgBox(16, "Error", "Das Paket konnte nicht gesendet werden.") ; Fehlermeldung
EndIf
TCPCloseSocket($Socket)
TCPShutdown()
Exit
EndFuncServer:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>$ServerGui = GUICreate("Server", 400, 400, 250, 150)
[/autoit] [autoit][/autoit] [autoit]
$Input = GUICtrlCreateInput("Input", 10, 10, 380, 20)
$Button = GUICtrlCreateButton("Button", 10, 40, 380, 35)
$Group = GUICtrlCreateGroup("Maus-Analyzer", 10, 80, 380, 300)
$Cursor = GUICtrlCreateIcon(@WindowsDir & "\cursors\aero_arrow.cur", -1, 20, 100, 32, 35)
GUICtrlSetBkColor(-1,0xff0000)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)TCPStartup() ; TCP wird initialisiert
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$MainSocket = TCPListen("127.0.0.1", 12345) ; Den MainSocket erstellenWhile 1
[/autoit] [autoit][/autoit] [autoit]
$Msg = GUIGetMsg()
Select
Case $Msg = $Button
MsgBox(0,"Hinweis","Button wurde gedrückt!")
EndSelect$AcceptedSocket = TCPAccept($MainSocket) ; Wir versuchen eine möglicher Verbindung anzunehmen
[/autoit]
If $AcceptedSocket <> -1 Then ; Wenn $AcceptedSocket ungleich -1 ist, ...
$ReceivedData = TCPRecv($AcceptedSocket, 1024) ; Wenn eine Socketverbindung hergestellt wurde, empfange ein Paket vom Client ($ConnectedSocket)
$Split = StringSplit($ReceivedData, ":")
If $ReceivedData = "[Exit]" Then
TCPCloseSocket($MainSocket)
TCPShutdown()
Exit
ElseIf $ReceivedData = "[LeftClick]" Then
$CursorInfo = ControlGetPos("Server","",$Cursor)
If IsArray($CursorInfo) Then
$CursorX = $CursorInfo[0]
$CursorY = $CursorInfo[1]
MouseClick("left",1,$CursorX,$CursorY)
EndIf
ElseIf IsArray($Split) Then
$X = $Split[1]
$Y = $Split[2]
;$ServerGuiInfo = WinGetPos("Server","")
;$ServerGuiX = $ServerGuiInfo[0]+3
;$ServerGuiY = $ServerGuiInfo[1]+25
ControlMove("Server","",$Cursor,$X,$Y)
$X = 0
$Y = 0
EndIf
TCPCloseSocket($AcceptedSocket)
EndIf
Sleep(50)
WEnd -
Vielen Dank, ich werde mich heute abend damit auseinandersetzten
und bescheid sagen ob es funktioniert...Edit:
Ich benutze Windows 7 Professional 64-BitEdit:
Nun wird der Error etwas später ausgegegeben
Ka warum, jedenfalls habe ichs gelöst indem ich die Zeile in der FF.au3 auskommentiert hab, in der der Error ausgegeben wird.
Trotzdem danke. -
Moin ich habe mich bereits seit längerem mit der FF.au3 usw. beschäftigt und schon viele nützliche scripte geschrieben.
nun habe ich allerdings noch eine frage...
ich habe folgenden source:Spoiler anzeigen
[autoit]#include <FF.au3>
[/autoit] [autoit][/autoit] [autoit];...
[/autoit]
_FFStart()
_FFWindowOpen("http://www.google.de/")
$FFWindowHandle = WinGetHandle("Google - Mozilla Firefox")
WinSetState($FFWindowHandle,"",@SW_HIDE)
_FFWindowSelect()
Sleep(3000)
WinSetState($FFWindowHandle,"",@SW_SHOW)
;...
man sieht, dass der Fehler: __FFStartProcess ==> General Error: Error reading registry entry for FireFox. auftritt,
dass ist eigentlich kein problem, da dies nicht den weiteren verlauf des scriptes beeinträchtigt,
allerdings erscheint bei der kompilierten exe eine msgbox wo dieser error ausgegeben wird und die stört.
deswegen bitte ich um hilfe um diesen error zu umgehen. -
Interessante Idee,
wird ja anscheinend so eine Art Koda für Gdi+.
Was ich nicht so gut finde ist, dass wenn man ein Objekt ausgewählt hat
und dieses plazieren möchte, der Cursor verschwindet wenn man in den Zeichen-Gui geht,
und man so nicht weiß wo angesetzt wird. -
[autoit]
$IniName = StringReplace(GUICtrlRead($Combo),"/","-") ;In dem String GuiCtrlRead($Combo) werden alle "/" durch "-" ersetzt
[/autoit]
If Not FileExists(@ScriptDir & "\Skripte\Start\Liste\" & $IniName & ".ini") Then DirCreate(@ScriptDir & "\Skripte\Start\Liste\") ;Es wird abgefragt, ob schon ein Ordner besteht
IniWrite(@ScriptDir & "\Skripte\Start\Liste\" & $IniName & ".ini", "Sektion 1", "Schlüssel 1", "Ich hoffe ich konnte helfen...") ;Die Ini-Datei wird erstellt und mit Daten gefüllt -
Hallo,
schau mal hier nach
http://www.autoit.de/index.php?page=Board&boardID=32
ich hoffe ich konnte helfen -
gute idee, aber es bugt bei mir sodass ich manchmal die punkte nicht andruecken kann und sie verschwinden oder dass wenn sich zwei punkte ueberlagern und man einen wegmacht der darunter abgeschnitten bzw. halbiert ist
-
dieser thread ist noch nicht geschlossen!!
-
ja ok wie oben genannt
es ist einprogramm wo man alle 10 sek rohstoffe bekommt die anzahl die man pro 10 s bekommt hängt dabei von der stufe der gebäude ab um die stufen zu erhöhen braucht man rohstoffe. Nun möchte ich dass wenn man sich ein gebäude nicht leisten kann der button disabled wird und der rohstoff der fehlt rot dargestellt wird. das klappt auch zum größten teil jedoch nicht immer . es scheint mir so als wenn die rohstoffanzahl unter 100 liegt und ich abrage ob sie größer ist als 100 true gesendet wird. kann das sein?? -
das hab ich auch schon versucht aber da flackern die ganzen controls und der effekt ist der selbe
-
mach ich doch ich hab doch in die while die fuktion check()
gesetzt und wenn du ein bisschen nach unten scrollst kannst du sehen dass dort die labels ausgelesen werden.
und es müssen ja nicht nur die buttons gesperrt werden sondern auch angezeigt werden was fehlt also welchen rohstoff man zu wenig hat um ein bestimmtes gebäude zu bauen
hat noch wer anders ne idee?? -
meinst du so??
mnusst die sleep halt noch ein bisschen anpassenSpoiler anzeigen
[autoit]Dim $vOwnCards[33][3]; [0][0] = number of cards, [x][0] = x-pos on gui, [x][1] = y-pos on gui
[/autoit] [autoit][/autoit] [autoit]
Dim $vCards[32] = ["p7", "p8", "p9", "p10", "pbube", "pdame", "pkoenig", "pas", "kr7", "kr8", "kr9", "kr10", "krbube", "krdame", "krkoenig", "kras", "k7", "k8", "k9", "k10", "kbube", "kdame", "kkoenig", "kas", "h7", "h8", "h9", "h10", "hbube", "hdame", "hkoenig", "has"]
Dim $vLatestHover[3] ;contains the latest hovered card$vOwnCards[0][0] = 8
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Dim $vGUIWidth = 585, $vGUIHeight = 400
[/autoit] [autoit][/autoit] [autoit]
$hGUI = GUICreate("Durak", $vGUIWidth, $vGUIHeight)
GUISetBkColor(0xBDD7D9)Dim $vOwnCardTop = 100
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To 8
Assign("hGUICard" & $i, GUICtrlCreatePic("", ($i - 1) * 15 + 10, $vOwnCardTop, 100, 140))
$vOwnCards[$i][0] = ($i - 1) * 15 + 10
$vOwnCards[$i][1] = $vOwnCardTop
NextGUISetState()
[/autoit] [autoit][/autoit] [autoit];Probekarten erstellen
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To 8
_D_CreateCard($i)
NextWhile 1
[/autoit] [autoit][/autoit] [autoit]
Switch GUIGetMsg()
Case -3
Exit
EndSwitch
Sleep(5);Hovereffects on cards
[/autoit] [autoit][/autoit] [autoit]
$vCurserPos = GUIGetCursorInfo($hGUI)
If $vLatestHover[0] <> $vCurserPos[4] And $vLatestHover[0] <> "" Then
Sleep(50)
Guictrlsetpos($vLatestHover[0], $vLatestHover[1], $vLatestHover[2])
$vLatestHover[0] = ""
EndIf
For $i = 1 To $vOwnCards[0][0]
$vCurCTRL = Eval("hGUICard" & $i)
If $vCurCTRL = $vCurserPos[4] Then
GUICtrlSetPos($vCurCTRL, $vOwnCards[$i][0], $vOwnCards[$i][1] - 5)
$vLatestHover[0] = $vCurCTRL
$vLatestHover[1] = $vOwnCards[$i][0]
$vLatestHover[2] = $vOwnCards[$i][1]
ExitLoop
EndIf
Next
WEnd;Mixes all the cards
[/autoit] [autoit][/autoit] [autoit]
Func _D_MixCards()
For $o = 1 To 10000
$No1 = Random(0.5, 32.4999) - 1
$No2 = Random(0.5, 32.4999) - 1
$Value1 = $vCards[$No1]
$Value2 = $vCards[$No2]
$vCards[$No1] = $Value2
$vCards[$No2] = $Value1
Next
EndFunc;Set image to control
[/autoit]
Func _D_CreateCard($v_kind)
GUICtrlSetImage(Eval("hGUICard" & $v_kind), "cards\" & $vCards[$v_kind-1] & ".jpg")
EndFunc