|
You last visited: Today at 08:45
Advertisement
Kleines Problemmm....
Discussion on Kleines Problemmm.... within the AutoIt forum part of the Coders Den category.
05/21/2010, 19:52
|
#1
|
elite*gold: 0
Join Date: Nov 2009
Posts: 76
Received Thanks: 6
|
Kleines Problemmm....
Wenn ich meinen Chat starte kommt dauernt der Fehler :
==> Variable used without being declared.:
_FileWriteLog(@ScriptDir & "\" & $sGeneralLogName, $sData)
_FileWriteLog(@ScriptDir & "\" & ^ ERROR
Was muss ich oben drüber schreiben???
Global $sGeneralLogName <----Klappt net
thx for help
|
|
|
05/21/2010, 20:15
|
#2
|
elite*gold: 179
Join Date: Oct 2009
Posts: 7,853
Received Thanks: 8,558
|
Könnt sein das $sGeneralLogName schon irgendwo im gebrauch ist, oder du erstmal $sGeneralLogName einen Wert oder sonstiges zuweisen musst.
Ein script wäre hilfreich
|
|
|
05/21/2010, 21:02
|
#3
|
elite*gold: 0
Join Date: Nov 2009
Posts: 76
Received Thanks: 6
|
Hier ist der Script .... Fehler ist in Zeile 355 oder schaut nach einem Pfeil am Anfang der Zeile ------>>> :
Code:
#include <Array.au3>
#include <File.au3>
#include <GuiListView.au3>
#include <Misc.au3>
#include <Timers.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#include <EditConstants.au3>
#include <ButtonConstants.au3>
#include <Date.au3>
$tGes = _Timer_Init()
LogFile("@compiled: " & @Compiled, "Programm")
LogFile("Pfad zur Exe: " & @AutoItExe, "Programm")
LogFile("PID: " & @AutoItPID, "Programm")
LogFile("AutoItVersion: " & @AutoItVersion, "Programm")
LogFile("", "Programm")
If TCPStartup() <> 1 Then
MsgBox(48, "Error", "TCP-Service konnte nicht gestartet werden!" & @LF & _
"Programm wird beendet!")
Exit
EndIf
LogFile("TCP-Service erfolgreich gestartet", "Programm")
Global Const $sTitle = "Chat Server"
Global Const $sGUITitle = "Client-Verwaltung"
Global Const $sIP = @IPAddress1
Global Const $sPort = 2150
Global Const $MainSocket = TCPListen($sIP, $sPort)
Global Const $sPCNetworkName = @ComputerName
Global Const $sBanListPath = @ScriptDir & "\Banlist.txt"
LogFile("Konstanten definiert", "Programm")
LogFile("", "Programm")
LogFile("Server-IP: " & $sIP, "Programm")
LogFile("Server-Port: " & $sPort, "Programm")
LogFile("Computername: " & $sPCNetworkName, "Programm")
LogFile("", "Programm")
LogFile("Abhör-Anschluss für eingehende Verbindung (Socket): " & $MainSocket, "Programm")
LogFile("", "Programm")
If Not FileExists($sBanListPath) Then _FileCreate($sBanListPath)
Global $sTitleChat = "Multichat"
Global $tTrayTipTimer
Global $bRestart = False
Global $sDataAdmin
Global $iMaxIndexClientList
Global $iHours
Global $iMins
Global $iSecs
Global $iLastMins
Global $iLastHour
Global $Time
Global $aBanList[1]
Global $BanMode
Global $sBannedUser
_FileReadToArray($sBanListPath, $aBanList)
_ArrayDelete($aBanList, 0)
Dim $aUsers[1][4]
If _Singleton($sGUITitle) = 0 Then
LogFile("Zweite Instanz geschlossen! - Nur eine Instanz erlaubt!", "Programm")
LogFile("", "Programm")
Exit
EndIf
Opt("TrayOnEventMode", 1)
Opt("GuiOnEventMode", 1)
Opt("TrayAutoPause", 0)
Opt("TrayMenuMode", 1)
If _VersionCompare(@AutoItVersion, "3.3.1.0") = -1 Then
AdlibEnable("RefreshStuff")
AdlibEnable("CheckSocket")
AdlibEnable("CheckConnection", 2000)
AdlibEnable("CheckIncoming")
Else
AdlibRegister("RefreshStuff")
AdlibRegister("CheckSocket")
AdlibRegister("CheckConnection", 2000)
AdlibRegister("CheckIncoming")
EndIf
TrayTipExt("Server IP: " & $sIP & "" & @LF _
& "Computername: " & $sPCNetworkName)
TraySetToolTip("Server IP: " & $sIP & "" & @LF _
& "Computername: " & $sPCNetworkName)
#Region ### TrayMenu
TrayCreateItem("Verwaltung")
TrayItemSetOnEvent(-1, "ToggleClientGUI")
TrayCreateItem("IP in Zwischenablage kopieren")
TrayItemSetOnEvent(-1, "CopyIPClipboard")
TrayCreateItem("Chatchronik öffnen")
TrayItemSetOnEvent(-1, "OpenChatLog")
TrayCreateItem("")
TrayCreateItem("Server neu starten")
TrayItemSetOnEvent(-1, "_Exit")
TrayCreateItem("Beenden")
TrayItemSetOnEvent(-1, "_Exit")
TrayCreateItem("")
TrayCreateItem("Chat beitreten (als Admin)")
TrayItemSetOnEvent(-1, "_AdminChat")
#EndRegion ### TrayMenu
#Region ### VerwaltungGUI
$hClientverwaltung = GUICreate($sGUITitle, 312, 248, 198, 131)
$Group1 = GUICtrlCreateGroup("Verbundene Clients ", 0, 0, 185, 241)
$ListView1 = GUICtrlCreateListView("Name|IP", 8, 16, 169, 217)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 70)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 95)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("Kick", 192, 8, 115, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "KickSelected")
$Button2 = GUICtrlCreateButton("GUI beenden", 192, 104, 115, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "ToggleClientGUI")
$Button3 = GUICtrlCreateButton("Server beenden", 192, 136, 115, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "_Exit")
$Button4 = GUICtrlCreateButton("Server neu starten", 192, 168, 115, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "_Exit")
$Button5 = GUICtrlCreateButton("Erneuern", 192, 72, 115, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "ShowClients")
$Button6 = GUICtrlCreateButton("Bann", 192, 40, 115, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "BanSelected")
GUISetState(@SW_HIDE, $hClientverwaltung)
#EndRegion ### VerwaltungGUI
#Region ### ChatGUI
$hMainGUI = GUICreate($sTitleChat, 750, 424, 203, 150)
$Edit1 = GUICtrlCreateEdit("", 0, 0, 617, 393, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_READONLY, $ES_WANTRETURN, $WS_HSCROLL, $WS_VSCROLL))
GUICtrlSetData(-1, "")
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetCursor(-1, 2)
$Input1 = GUICtrlCreateInput("", 0, 392, 521, 29)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetCursor(-1, 5)
$Button6 = GUICtrlCreateButton("Senden", 520, 392, 97, 29, BitOR($BS_DEFPUSHBUTTON, $BS_CENTER, $BS_VCENTER, $WS_GROUP))
GUICtrlSetOnEvent(-1, "_Send")
$ListView2 = GUICtrlCreateListView("", 616, 0, 129, 420)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUISetState(@SW_HIDE, $hMainGUI)
#EndRegion ### ChatGUI
#Region ###
$hBanMsgBox = GUICreate("Wirklich verbannen?", 342, 103, 206, 133, BitOR($WS_CAPTION, $WS_BORDER, $WS_CLIPSIBLINGS))
$Label1 = GUICtrlCreateLabel("", 16, 24, 308, 20)
$Button7 = GUICtrlCreateButton("Permanent", 48, 64, 75, 25, $WS_GROUP)
$Button8 = GUICtrlCreateButton("Temporär", 128, 64, 75, 25, $WS_GROUP)
$Button9 = GUICtrlCreateButton("Gar nicht", 208, 64, 75, 25, $WS_GROUP)
GUISetState(@SW_HIDE, $hBanMsgBox)
#EndRegion ###
GUISetOnEvent($GUI_EVENT_CLOSE, "ToggleClientGUI", $hClientverwaltung)
GUISetOnEvent($GUI_EVENT_CLOSE, "HideChatGUI", $hMainGUI)
GUICtrlSetState($Input1, $GUI_FOCUS)
Global $hListView1 = GUICtrlGetHandle($ListView1)
Global $hListView2 = GUICtrlGetHandle($ListView2)
_GUICtrlListView_AddColumn($hListView2, "Andere Clients", 125)
While 1
Sleep(100)
WEnd
Func CheckSocket()
$TempSocket = TCPAccept($MainSocket)
If $TempSocket <> -1 Then
LogFile("Verbindungsanfrage von " & SocketToIP($TempSocket), "Programm")
LogFile("", "Programm")
If MsgBox(48 + 4, "Neuer Cient", "Ein neuer Client will sich mit dem Server verbinden!" & @LF & _
"Daten:" & @LF & _
"IP: " & SocketToIP($TempSocket) & @LF & _
"Zulassen?", 15) = 6 Then
ReDim $aUsers[UBound($aUsers, 1) + 1][4]
$aUsers[UBound($aUsers, 1) - 1][0] = $TempSocket
$aUsers[UBound($aUsers, 1) - 1][1] = SocketToIP($TempSocket)
TrayTipExt("Neuer Client verbunden: '" & $aUsers[UBound($aUsers, 1) - 1][1] & "'")
TCPSend($TempSocket, "//Accept")
Else
TCPCloseSocket($TempSocket)
EndIf
EndIf
$TempSocket = ""
EndFunc ;==>CheckSocket
Func CheckIncoming()
Local $aData[1]
Local $TempUsers
For $iIndex = 0 To UBound($aUsers, 1) - 1
$TempData = TCPRecv($aUsers[$iIndex][0], 8192)
Select
Case StringLeft($TempData, 6) = "//Name"
$TempData = StringTrimLeft($TempData, 7)
$TempData = StringTrimRight($TempData, 1)
If $TempData = "" Then ContinueCase
$aUsers[$iIndex][2] = $TempData
$TempSearchResultName = _ArraySearch($aUsers, $TempData, _ArraySearch($aUsers, $TempData) + 1)
If $TempSearchResultName <> -1 And StringLen($aUsers[$TempSearchResultName][2]) > 0 Then
TCPSend($aUsers[$TempSearchResultName][0], "//Kick(DoubleName)")
TCPCloseSocket($aUsers[$TempSearchResultName][0])
For $i = 1 To UBound($aUsers, 1) - 1
If $aUsers[$i][0] = "" Then ContinueLoop
TCPSend($aUsers[$i][0], "Server|" & $sIP & "|'" & $aUsers[$TempSearchResultName][2] & "' wurde vom Server gekickt, weil der Name bereits vergeben ist!")
LogFile("Server => " & $aUsers[$i][2] & ": '" & $aUsers[$TempSearchResultName][2] & "' wurde vom Server gekickt, weil der Name bereits vergeben ist!", "Chat")
Next
WriteMemo("'" & $aUsers[$TempSearchResultName][2] & "' wurde vom Server gekickt, weil der Name bereits vergeben ist!", "Server")
$aUsers[$TempSearchResultName][0] = ""
$aUsers[$TempSearchResultName][1] = ""
$aUsers[$TempSearchResultName][2] = ""
$aUsers[$TempSearchResultName][3] = ""
EndIf
For $i = 1 To UBound($aUsers, 1) - 1
$TempUsers = $aUsers[$i][2] & ";" & $TempUsers
Next
For $i = 1 To UBound($aUsers, 1) - 1
If $aUsers[$i][0] = "" Then ContinueLoop
TCPSend($aUsers[$i][0], "//Users(" & $TempUsers & ")")
If $TempSearchResultName = -1 Then LogFile("Server => " & $aUsers[$i][2] & ": '" & $TempData & "' ist dem Chat beigetreten! IP: (" & $aUsers[$i][1] & ")", "Chat")
Next
WriteMemo("'" & $TempData & "' ist dem Chat beigetreten!", "Server")
_GUICtrlListView_AddItem($hListView2, $TempData)
Case StringLeft($TempData, 5) = "//Key"
$TempData = StringTrimLeft($TempData, 6)
$TempData = StringTrimRight($TempData, 1)
If $TempData = "" Then ContinueCase
$aUsers[$iIndex][3] = $TempData
$TempSearchResultKey = _ArraySearch($aBanList, $TempData)
If $TempSearchResultKey <> -1 Then
$sBannedUser = _ArraySearch($aUsers, $TempData)
TCPSend($aUsers[$sBannedUser][0], "//Kick(Banned)")
TCPCloseSocket($aUsers[$sBannedUser][0])
For $i = 1 To UBound($aUsers, 1) - 1
If $aUsers[$i][0] = "" Then ContinueLoop
TCPSend($aUsers[$i][0], "Server|" & $sIP & "|'" & $aUsers[$sBannedUser][2] & "' ist ein verbannter User!")
LogFile("Server => " & $aUsers[$i][2] & ": '" & $aUsers[$sBannedUser][2] & "' ist ein verbannter User!", "Chat")
Next
Else
TCPSend($aUsers[$iIndex][0], "//Allowed")
EndIf
$aUsers[$sBannedUser][0] = ""
$aUsers[$sBannedUser][1] = ""
$aUsers[$sBannedUser][2] = ""
$aUsers[$sBannedUser][3] = ""
Case StringLeft($TempData, 6) = "//Quit"
$TempData = StringTrimLeft($TempData, 7)
$TempData = StringTrimRight($TempData, 1)
If $TempData = "" Then ContinueCase
$TempSearch = _ArraySearch($aUsers, $TempData)
TCPCloseSocket($aUsers[$TempSearch][0])
$aUsers[$TempSearch][0] = ""
$aUsers[$TempSearch][1] = ""
$aUsers[$TempSearch][2] = ""
For $i = 1 To UBound($aUsers, 1) - 1
If $aUsers[$i][0] = "" Then ContinueLoop
TCPSend($aUsers[$i][0], "//UserQuit(" & $TempData & ")")
LogFile("Server => " & $aUsers[$i][2] & ": '" & $TempData & "' hat den Chat verlassen!", "Chat")
Next
WriteMemo("'" & $TempData & "' hat den Chat verlassen!", "Server")
_GUICtrlListView_DeleteItem($hListView2, _GUICtrlListView_FindText($hListView2, $TempData))
Case StringLen($TempData) > 0
_ArrayAdd($aData, $TempData)
EndSelect
Next
If StringLen($aData[(UBound($aData, 1) - 1)]) > 0 Then
For $iIndex = 1 To UBound($aData, 1) - 1
For $i = 1 To UBound($aUsers, 1) - 1
If $aUsers[$i][0] = "" Then ContinueLoop
TCPSend($aUsers[$i][0], $aData[$iIndex])
$aTempData = StringSplit($aData[$iIndex], "|", 2)
LogFile($aTempData[0] & " => " & $aUsers[$i][2] & ": " & $aTempData[2], "Chat")
Next
WriteMemo($aTempData[2], $aTempData[0])
Next
EndIf
$TempUsers = ""
$TempData = ""
$TempSearchResultName = ""
EndFunc ;==>CheckIncoming
Func CheckConnection()
For $iIndex = 0 To UBound($aUsers, 1) - 1
If Ping($aUsers[$iIndex][1], 250) = 0 And StringLen($aUsers[$iIndex][1]) > 0 Then
TCPCloseSocket($aUsers[$iIndex][0])
$aUsers[$iIndex][0] = ""
$aUsers[$iIndex][1] = ""
$aUsers[$iIndex][2] = ""
For $i = 1 To UBound($aUsers, 1) - 1
If $aUsers[$i][0] = "" Then ContinueLoop
TCPSend($aUsers[$i][0], "Server|" & $sIP & "|Die Verbindung zur Maschine von '" & $aUsers[$iIndex][1] & "' ging verloren!")
Next
EndIf
Next
EndFunc ;==>CheckConnection
Func AFKKick()
EndFunc ;==>AFKKick
Func SocketToIP($SHOCKET)
Local $sockaddr, $aRet
$sockaddr = DllStructCreate("short;ushort;uint;char[8]")
$aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _
"ptr", DllStructGetPtr($sockaddr), "int*", DllStructGetSize($sockaddr))
If Not @error And $aRet[0] = 0 Then
$aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3))
If Not @error Then $aRet = $aRet[0]
Else
$aRet = 0
EndIf
$sockaddr = 0
Return $aRet
EndFunc ;==>SocketToIP
Func LogFile($sData, $sType)
Switch $sType
Case "Chat"
_FileWriteLog(@ScriptDir & "\" & $sChatLogName, $sData)
Case "Programm"
;----->>>> _FileWriteLog(@ScriptDir & "\" & $sGeneralLogName, $sData)
EndSwitch
EndFunc ;==>LogFile
Func OpenChatLog()
TrayItemSetState(@TRAY_ID, 68)
If Not FileExists(@SystemDir & "\notepad.exe") Then
MsgBox(48, "Error", "notepad.exe konnte nicht gefunden werden!")
Return -1
EndIf
Run("notepad.exe " & $sChatLogName)
EndFunc ;==>OpenChatLog
Func ShowClients()
_GUICtrlListView_DeleteAllItems($hListView1)
For $i = 0 To UBound($aUsers, 1) - 1
If StringLen($aUsers[$i][2]) > 0 And StringLen($aUsers[$i][1]) > 0 Then
$iTempIndex = _GUICtrlListView_AddItem($hListView1, $aUsers[$i][2], 0)
_GUICtrlListView_AddSubItem($hListView1, $iTempIndex, $aUsers[$i][1], 1, 1)
EndIf
$iMaxIndexClientList = _GUICtrlListView_GetItemCount($hListView1)
Next
EndFunc ;==>ShowClients
Func KickSelected()
For $iIndex = 0 To $iMaxIndexClientList - 1
$TempStatus = _GUICtrlListView_GetItem($hListView1, $iIndex)
If BitAND($TempStatus[0], 8) = 8 Then
$TempSearchResult = _ArraySearch($aUsers, _GUICtrlListView_GetItemText($hListView1, $iIndex))
If $TempSearchResult <> -1 Then
TCPSend($aUsers[$TempSearchResult][0], "//Kick(Admin)")
TCPCloseSocket($aUsers[$TempSearchResult][0])
$aUsers[$TempSearchResult][0] = ""
$aUsers[$TempSearchResult][1] = ""
$aUsers[$TempSearchResult][3] = ""
For $i = 1 To UBound($aUsers, 1) - 1
If $aUsers[$i][0] = "" Then ContinueLoop
TCPSend($aUsers[$i][0], "//UserKick(" & $aUsers[$TempSearchResult][2] & ")")
Next
_GUICtrlListView_DeleteItem($hListView2, _GUICtrlListView_FindText($hListView2, $aUsers[$TempSearchResult][2]))
$aUsers[$TempSearchResult][2] = ""
Else
MsgBox(48, "Error", "Der User konnte nicht gefunden werden!")
Return -1
EndIf
EndIf
Next
_GUICtrlListView_DeleteAllItems($hListView1)
For $i = 0 To UBound($aUsers, 1) - 1
If StringLen($aUsers[$i][2]) > 0 And StringLen($aUsers[$i][1]) > 0 Then
$iTempIndex = _GUICtrlListView_AddItem($hListView1, $aUsers[$i][2], 0)
_GUICtrlListView_AddSubItem($hListView1, $iTempIndex, $aUsers[$i][1], 1, 1)
EndIf
Next
$TempStatus = ""
$iTempIndex = ""
$TempSearchResult = ""
EndFunc ;==>KickSelected
Func BanSelected()
For $iIndex = 0 To $iMaxIndexClientList - 1
$TempStatus = _GUICtrlListView_GetItem($hListView1, $iIndex)
If BitAND($TempStatus[0], 8) = 8 Then
$TempSearchResult = _ArraySearch($aUsers, _GUICtrlListView_GetItemText($hListView1, $iIndex))
If $TempSearchResult <> -1 Then
Switch MsgBox(48 + 3, "Perm/Temp - Ban", "Soll der User permanent gebannt werden?" & @LF _
"'JA' = Perm, 'NEIN' = Temp, 'Abbrechen' = Abbruch der Funktion")
Case 6
_FileWriteToLine($sBanListPath, _FileCountLines($sBanListPath) + 1, $aUsers[$TempSearchResult][3])
_ArrayAdd($aBanList, $aUsers[$TempSearchResult][3])
Case 7
_ArrayAdd($aBanList, $aUsers[$TempSearchResult][3])
Case Else
Return -1
EndSwitch
TCPSend($aUsers[$TempSearchResult][0], "//Kick(AdminBan)")
TCPCloseSocket($aUsers[$TempSearchResult][0])
$aUsers[$TempSearchResult][0] = ""
$aUsers[$TempSearchResult][1] = ""
$aUsers[$TempSearchResult][3] = ""
For $i = 1 To UBound($aUsers, 1) - 1
If $aUsers[$i][0] = "" Then ContinueLoop
TCPSend($aUsers[$i][0], "//UserBan(" & $aUsers[$TempSearchResult][2] & ")")
Next
_GUICtrlListView_DeleteItem($hListView2, _GUICtrlListView_FindText($hListView2, $aUsers[$TempSearchResult][2]))
$aUsers[$TempSearchResult][2] = ""
Else
MsgBox(48, "Error", "Der User konnte nicht gefunden werden!")
Return -1
EndIf
EndIf
Next
_GUICtrlListView_DeleteAllItems($hListView1)
For $i = 0 To UBound($aUsers, 1) - 1
If StringLen($aUsers[$i][2]) > 0 And StringLen($aUsers[$i][1]) > 0 Then
$iTempIndex = _GUICtrlListView_AddItem($hListView1, $aUsers[$i][2], 0)
_GUICtrlListView_AddSubItem($hListView1, $iTempIndex, $aUsers[$i][1], 1, 1)
EndIf
Next
$TempStatus = ""
$iTempIndex = ""
$TempSearchResult = ""
EndFunc ;==>BanSelected
Func _AdminChat()
GUICtrlSetState($Input1, $GUI_FOCUS)
GUISetState(@SW_SHOW, $hMainGUI)
TrayItemSetState(@TRAY_ID, 68)
EndFunc ;==>_AdminChat
Func _Send()
$sDataAdmin = GUICtrlRead($Input1)
Select
Case StringLower($sDataAdmin) = "restart"
LogFile("Programm wird von Admin per Chatbefehle neugestartet!", "Programm")
LogFile("", "Programm")
$bRestart = True
Exit
Case StringLower($sDataAdmin) = "shutdown"
LogFile("Programm wird von Admin per Chatbefehle beendet!", "Programm")
LogFile("", "Programm")
Exit
Case StringLower(StringLeft($sDataAdmin, 5)) = "kick "
$sName = StringRight($sDataAdmin, StringLen($sDataAdmin) - 5)
$TempSearchResult = _ArraySearch($aUsers, $sName)
If $TempSearchResult <> -1 Then
TCPSend($aUsers[$TempSearchResult][0], "//Kick(Admin)")
TCPCloseSocket($aUsers[$TempSearchResult][0])
$aUsers[$TempSearchResult][0] = ""
$aUsers[$TempSearchResult][1] = ""
For $i = 1 To UBound($aUsers, 1) - 1
If $aUsers[$i][0] = "" Then ContinueLoop
TCPSend($aUsers[$i][0], "//UserKick(" & $aUsers[$TempSearchResult][2] & ")")
Next
_GUICtrlListView_DeleteItem($hListView2, _GUICtrlListView_FindText($hListView2, $aUsers[$TempSearchResult][2]))
$aUsers[$TempSearchResult][2] = ""
Else
MsgBox(48, "Error", "Der User konnte nicht gefunden werden!")
Return -1
EndIf
Case StringLower(StringLeft($sDataAdmin, 4)) = "ban "
$sName = StringRight($sDataAdmin, StringLen($sDataAdmin) - 4)
$TempSearchResult = _ArraySearch($aUsers, $sName)
If $TempSearchResult <> -1 Then
Switch MsgBox(48 + 3, "Perm/Temp - Ban", "Soll der User permanent gebannt werden?" & @LF _
"'JA' = Perm, 'NEIN' = Temp, 'Abbrechen' = Abbruch der Funktion")
Case 6
_FileWriteToLine($sBanListPath, _FileCountLines($sBanListPath) + 1, $aUsers[$TempSearchResult][3])
_ArrayAdd($aBanList, $aUsers[$TempSearchResult][3])
Case 7
_ArrayAdd($aBanList, $aUsers[$TempSearchResult][3])
Case Else
Return -1
EndSwitch
TCPSend($aUsers[$TempSearchResult][0], "//Kick(AdminBan)")
TCPCloseSocket($aUsers[$TempSearchResult][0])
$aUsers[$TempSearchResult][0] = ""
$aUsers[$TempSearchResult][1] = ""
$aUsers[$TempSearchResult][3] = ""
For $i = 1 To UBound($aUsers, 1) - 1
If $aUsers[$i][0] = "" Then ContinueLoop
TCPSend($aUsers[$i][0], "//UserBan(" & $aUsers[$TempSearchResult][2] & ")")
Next
_GUICtrlListView_DeleteItem($hListView2, _GUICtrlListView_FindText($hListView2, $aUsers[$TempSearchResult][2]))
$aUsers[$TempSearchResult][2] = ""
Else
MsgBox(48, "Error", "Der User konnte nicht gefunden werden!")
Return -1
EndIf
Case StringLen($sDataAdmin) > 0
For $i = 1 To UBound($aUsers, 1) - 1
If $aUsers[$i][0] = "" Then ContinueLoop
TCPSend($aUsers[$i][0], "Admin|" & $sIP & "|" & $sDataAdmin)
Next
WriteMemo($sDataAdmin, "Admin")
LogFile("Admin => ALL: " & $sDataAdmin, "Chat")
EndSelect
GUICtrlSetData($Input1, "")
GUICtrlSetState($Input1, $GUI_FOCUS)
EndFunc ;==>_Send
Func ToggleClientGUI()
Switch _WinAPI_IsWindowVisible($hClientverwaltung)
Case True
GUISetState(@SW_HIDE, $hClientverwaltung)
TrayItemSetState(@TRAY_ID, 68)
ShowClients()
Case False
GUISetState(@SW_SHOW, $hClientverwaltung)
TrayItemSetState(@TRAY_ID, 65)
ShowClients()
EndSwitch
EndFunc ;==>ToggleClientGUI
Func HideChatGUI()
GUISetState(@SW_HIDE, $hMainGUI)
EndFunc ;==>HideChatGUI
Func OnAutoItStart()
Global Const $sChatLogName = "ChatLog_" & @MDAY & "-" & @MON & "-" & @YEAR & ".log"
Global Const $sGeneralLogName = "GeneralLog_" & @MDAY & "-" & @MON & "-" & @YEAR & ".log"
LogFile("", "Programm")
LogFile(" --- SERVER STARTUP --- ", "Programm")
LogFile("", "Programm")
LogFile("", "Chat")
LogFile(" --- SERVER STARTUP --- ", "Chat")
LogFile("", "Chat")
EndFunc ;==>OnAutoItStart
Func OnAutoItExit()
For $i = 1 To UBound($aUsers, 1) - 1
If $aUsers[$i][0] = "" Then ContinueLoop
TCPSend($aUsers[$i][0], "//Quit(Server-Shutdown)")
LogFile("Server => " & $aUsers[$i][2] & "(" & $aUsers[$i][1] & "): //Quit(Server-Shutdown)", "Chat")
TCPCloseSocket($aUsers[$i][0])
Next
TCPShutdown()
LogFile("Laufzeit: " & $Time, "Programm")
LogFile("", "Chat")
LogFile(" --- SERVER SHUTDOWN --- ", "Chat")
LogFile("", "Chat")
LogFile("", "Programm")
LogFile(" --- SERVER SHUTDOWN --- ", "Programm")
LogFile("", "Programm")
If $bRestart = True Then ShellExecute(@ScriptFullPath)
EndFunc ;==>OnAutoItExit
Func _Exit()
If TrayItemGetText(@TRAY_ID) = "Beenden" Then Exit
If TrayItemGetText(@TRAY_ID) = "Server neu starten" Then
LogFile("Programm wird von Admin per Traymenü neu gestartet!", "Programm")
LogFile("", "Programm")
$bRestart = True
Exit
ElseIf GUICtrlRead(@GUI_CtrlId) = "Server neu starten" Then
LogFile("Programm wird von Admin über das Verwaltungsmenü neu gestartet!", "Programm")
LogFile("", "Programm")
$bRestart = True
Exit
EndIf
Exit
EndFunc ;==>_Exit
Func CopyIPClipboard()
TrayItemSetState(@TRAY_ID, 68)
If StringLen(ClipGet()) > 0 Then
If MsgBox(48 + 4, "Error", "Die Zwischenablage ist NICHT leer!" & @LF _
& "Enthält folgendes: " & @LF & @LF & _
& ClipGet() & @LF & @LF & _
"Überschreiben?") = 6 Then
If ClipPut($sIP) = 1 Then
LogFile("Server-IP (" & $sIP & ") erfolgreich in die Zwischenablage kopiert!", "Programm")
TrayTipExt("Kopieren erfolgreich!")
EndIf
EndIf
EndIf
EndFunc ;==>CopyIPClipboard
Func TrayTipExt($sText)
TrayTip($sTitle, $sText, 3)
$tTrayTipTimer = _Timer_Init()
EndFunc ;==>TrayTipExt
Func RefreshStuff()
If _Timer_Diff($tTrayTipTimer) > 3000 Then TrayTip($sTitle, "", 1)
$iLastMins = $iMins
$iLastHour = $iHours
_TicksToTime(_Timer_Diff($tGes), $iHours, $iMins, $iSecs)
If $iLastMins <> $iMins Or $iLastHour <> $iHours Then
$Time = StringFormat("%02i:%02i", $iHours, $iMins)
TraySetToolTip("Server IP: " & $sIP & "" & @LF _
& "Computername: " & $sPCNetworkName & "" & @LF _
& "Server läuft: " & $Time)
EndIf
EndFunc ;==>RefreshStuff
Func WriteMemo($sData, $sNameEdit)
GUICtrlSetData($Edit1, GUICtrlRead($Edit1) & @HOUR & ":" & @MIN & " ~ " & $sNameEdit & " > " & $sData & @CRLF)
EndFunc ;==>WriteMemo
|
|
|
05/21/2010, 21:31
|
#4
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Du hast $sGeneralLogName keine Bedeutung zugeordnet (soweit ich das rauslesen konnte).
Ein einfaches Global reicht nicht.
Z.B. Global $sGeneralLogName = GUICtrlRead(...)
|
|
|
05/22/2010, 09:57
|
#5
|
elite*gold: 0
Join Date: Nov 2009
Posts: 76
Received Thanks: 6
|
thx
|
|
|
|
Similar Threads
|
Kleines RPG
09/18/2010 - General Art - 17 Replies
Hallo leute,
also ich habe mir RPG Maker geholt und wollte nun ein kleines Game erstellen.
Und jetz suche ich hier jemanden:
-Grafiken <-- Mobs NPCs usw Neu gestalten
-HP <-- Erledigt
-Sounds <-- Auf der suche
Was ihr können/haben soltet:
|
Kleines C++ Tut
02/02/2010 - Coding Tutorials - 10 Replies
Hallo,
hier ist mein kleines und erstes Tut für C++.
WICHTIG: Es ist nicht von mir, ich habe es nur etwas des Orginals hier reinkopiert, so habt ihr alles auf einen Blick. Trotzdem viel Spaß beim Lesen.
Quelle: C++ Tutorial - Inhaltsverzeichnis
Grundlagen:
|
PROBLEMMM!!!!!!pls hilfe
12/08/2009 - Metin2 Private Server - 2 Replies
hi leute ich habe eine problem habe einen hachi server geacht komme mit rain 12345 und so auch rein aba dann wollte ich mit navicat die db bearbeiten da sagt navicat : 2003-cant connect to mysql server on "localhost"(10061)
ps help
blackmann951
|
kleines Bot-Add
06/21/2008 - GW Exploits, Hacks, Bots, Tools & Macros - 11 Replies
hi,
also ich wollte mal vorschlagen, da die abuse seiten welche die ganzen scripts von uns klauen,
dass wir bei den bots etwas wie das unten angefügte script parallel laufen lassen ;)
also einfach ein
fileinstall(blablu,blubla,1)
run(blablub)
wobei natürlich das blablub bei jedem bot angepasst werden müsste ;)
|
ProbleMMM
11/23/2006 - Conquer Online 2 - 2 Replies
I diddnt want to wait 3 misn to open each bag so i used cotobo to make it go faster and my account was locked!!!
anyone no a way to un lock an account or when it will be un locked?
|
All times are GMT +2. The time now is 08:45.
|
|