Sign in to follow this  
Followers 0
CodyBarrett

TCP chat GUI freeze

3 posts in this topic

ok hi i made a TCP chat server (old version is in sig) and uhh i added an installation GUI to it, sort of NOT installing it but anyway... it wont close once the installation stops? any help would be VERY apreciative? BTW its probably just a small thing i missed but anyway here:

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.0.0
 Author:         Bob

 Script Function:
    TCP Multiclient Chat Server

#ce ----------------------------------------------------------------------------
#Include <GUIConstantsEx.Au3>
#Include <WindowsConstants.Au3>
#Include <EditConstants.Au3>
#Include <StaticConstants.Au3>
#Include <Misc.Au3> 
#Include <GUIEdit.Au3>
#Include <Date.Au3>
#Include <Array.au3>
#include <ScrollBarConstants.au3>
#include <ProgressConstants.au3>


HotKeySet('{F11}','Maxi_Mini')
HotKeySet('^p','Preferences')
HotKeySet('{F1}','Help')

Opt('GUIOnEventMode',1)

If FileExists(@ScriptDir & '\S-Settings.ini') And FileExists(@ScriptDir & '\Alert.wma') And FileExists(@ScriptDir & '\Online.wma') Then ;Installation GUI Check
    
Else

    $InstallGUI = GUICreate('Installing...',300,100,-1,-1,-2139094904)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_EXIT',$InstallGUI)
    $InstallLabel = GUICtrlCreateLabel('Installing... Files',10,10,300,20)
    $InstallProgressBar = GUICtrlCreateProgress(10,40,280,50)
    GUISetState(@SW_SHOW)
    $o0o = 0
    
    Do
    
        $o0o = $o0o + 1
        GUICtrlSetData($InstallProgressBar,$o0o,'')
    
        Do
            
            $o0o = $o0o + 1
            GUICtrlSetData($InstallProgressBar,$o0o,'')
            GUICtrlSetData($InstallLabel,'Installing... S-Settings.Ini')
            IniWrite(@ScriptDir & '\S-Settings.ini','##Global##','IP',@IPAddress1 )
            IniWrite(@ScriptDir & '\S-Settings.ini','##Global##','Port','4444')
            IniWrite(@ScriptDir & '\S-Settings.ini','##Global##','Name','Server')
            IniWrite(@ScriptDir & '\S-Settings.ini','##Global##','MaxConnections','100')
            IniWrite(@ScriptDir & '\S-Settings.ini','##Font##','Name','Courier New')
            IniWrite(@ScriptDir & '\S-Settings.ini','##Font##','Size','10')
            IniWrite(@ScriptDir & '\S-Settings.ini','##Font##','Style','400')
            IniWrite(@ScriptDir & '\S-Settings.ini','##Font##','Color','0xFFFFFF')
            IniWrite(@ScriptDir & '\S-Settings.ini','##Edits##','Color','0x000000')
            Sleep(100)
            
        until $o0o = 33
        
        Do
            
            $o0o = $o0o + 1
            GUICtrlSetData($InstallProgressBar,$o0o,'')
            GUICtrlSetData($InstallLabel,'Installing... Alert.Wma') 
            FileInstall('C:\Documents and Settings\Barett\My Documents\Scripts\TCP Chat\BTCP Chat\Alert.wma',@ScriptDir & '\Alert.wma')
            Sleep(100)
        
        until $o0o = 66
    
        Do
            
            $o0o = $o0o + 1
            GUICtrlSetData($InstallProgressBar,$o0o,'')
            GUICtrlSetData($InstallLabel,'Installing... Online.Wma')
            FileInstall('C:\Documents and Settings\Barett\My Documents\Scripts\TCP Chat\BTCP Chat\Online.wma',@ScriptDir & '\Online.wma')
            Sleep(100)
        
        until $o0o = 99
        
    Until $o0o = 99
        
    GUIDelete($InstallGUI)
    
EndIf


;================================================================================================================
;================================================================================================================
;================================================================================================================



TCPStartup()

Global $F_Name = IniRead(@ScriptDir & '\S-Settings.ini','##Font##','Name','')
Global $F_Size = IniRead(@ScriptDir & '\S-Settings.ini','##Font##','Size','')
Global $F_Style = IniRead(@ScriptDir & '\S-Settings.ini','##Font##','Style','')
Global $F_Color = IniRead(@ScriptDir & '\S-Settings.ini','##Font##','Color','')
Global $Bkcolor = IniRead(@ScriptDir & '\S-Settings.ini','##Edits##','Color','')
Global $Server_Name = IniRead(@ScriptDir & '\S-Settings.ini','##Global##','Name','')
Global $IP = IniRead(@ScriptDir & '\S-Settings.ini','##Global##','IP','')
Global $Port = IniRead(@ScriptDir & '\S-Settings.ini','##Global##','Port','')
Global $MaxConnections = IniRead(@ScriptDir & '\S-Settings.ini','##Global##','MaxConnections','')

Dim $Clients[$MaxConnections + 1][10]
Global $Listen = TCPListen($IP,$Port,$MaxConnections)

If $Listen = -1 Or @error Then Exit MsgBox(42,'Error','Cannot Open A Listening Socket.')

Wipe()

$Server_GUI = GUICreate('BTCPS - Bobs [ TCP Server ] ',500,320,-1,-1,1,138)
GUISetOnEvent($GUI_EVENT_CLOSE, '_EXIT',$Server_GUI)

$Menu = GUICtrlCreateMenu('File')
$M_Pre = GUICtrlCreateMenuItem('Preferences [ Ctrl + p ]',$Menu)
GUICtrlSetOnEvent($M_Pre,'Preferences')
$HELP_Menu = GUICtrlCreateMenuItem('Help [ F1 ]',$Menu)
GUICtrlSetOnEvent($HELP_Menu,'Help')
$M_Exit = GUICtrlCreateMenuItem('Exit [ Esc ]',$Menu)
GUICtrlSetOnEvent($M_Exit,'_EXIT')


$Main = GUICtrlCreateEdit('',5,5,485,220,2103360)
GUICtrlSetFont($Main,$F_Size,$F_Style,'',$F_Name)
GUICtrlSetColor($Main,$F_Color)
GUICtrlSetBkColor($Main,$Bkcolor)
$Send = GUICtrlCreateEdit('',5,230,485,40,2101248)
GUICtrlSetFont($Send,$F_Size,$F_Style,'',$F_Name)
GUICtrlSetColor($Send,$F_Color)
GUICtrlSetBkColor($Send,$Bkcolor)
GUICtrlSetState($Send,$GUI_FOCUS)
GUISetBkColor($Bkcolor,$Server_GUI)
GUISetState(@SW_SHOW,$Server_GUI)

;================================================================================================================
;=========================================Preferences GUI========================================================
;================================================================================================================
$Preferences_GUI = GUICreate('Preferences',200,300,-1,-1,-2139094904,'',$Server_GUI)
$Change = GUICtrlCreateButton('Change',5,270,90,20)
GUICtrlSetOnEvent($Change,'Change')
$Cancel = GUICtrlCreateButton('Cancel',100,270,90,20)
GUICtrlSetOnEvent($Cancel,'Preferences')
GUICtrlCreateInput('Name : ',5,5,50,20,$ES_READONLY)
$Input_Name = GUICtrlCreateInput($Server_Name,60,5,130,20)
Global $I_Name = $Input_Name
GUICtrlCreateInput('Ip : ',5,30,50,20,$ES_READONLY)
$Input_Ip = GUICtrlCreateInput($IP,60,30,130,20)
Global $I_Ip = $Input_Ip
GUICtrlCreateInput('Port : ',5,55,50,20,$ES_READONLY)
$Input_Port = GUICtrlCreateInput($Port,60,55,130,20,$ES_NUMBER)
Global $I_Port = $Input_Port
GUICtrlCreateInput('Clients : ',5,80,50,20,$ES_READONLY)
$Input_MaxConnections = GUICtrlCreateInput($MaxConnections,60,80,130,20,$ES_NUMBER)
Global $I_Max = $Input_MaxConnections
$Input_Font = GUICtrlCreateButton('Font...',5,110,70,20)
GUICtrlSetOnEvent($Input_Font,'Font')
$Input_Bk = GUICtrlCreateButton('Background Color...',80,110,110,20)
GUICtrlSetOnEvent($Input_Bk,'Background')
$Input_Disconnect = GUICtrlCreateInput('Client Name',5,160,100,20)
$Button_Disconnect = GUICtrlCreateButton('Disconnect',110,160,80,20)
GUICtrlSetOnEvent($Button_Disconnect,'DisconnectClient')
GUISetState(@SW_HIDE)
;================================================================================================================
;=========================================END Preferences START Help GUI=========================================
;================================================================================================================
$Help_GUI = GUICreate('Help',300,300,-1,-1,-2139094904,'',$Server_GUI)
$X = GUICtrlCreateButton('x',270,0,20,20)
GUICtrlSetOnEvent($X,'Help')
$Tab = GUICtrlCreateTab(0,0,300,300)
$Help_Info = GUICtrlCreateTabItem('General Help')
GUICtrlCreateLabel('#Authored by Bob - 2009' & @CRLF & '   *Bob00037 On Autoit Forums*' & @CRLF & @CRLF & '#HotKeys : ' & @CRLF & @CRLF & ' F1 = Help ' & @CRLF & ' Esc = EXIT' & @CRLF & ' F11 = Maximize Window\Minimize Window' & @CRLF & ' CTRL + P = Preferences',30,30,300,500)
$TCP_Info = GUICtrlCreateTabItem('TCP Help')
GUICtrlCreateLabel('#HotKeys : ' & @CRLF & @CRLF & '   F1 = Help ' & @CRLF & '   CTRL + P = Preferences' & @CRLF & @CRLF &'#Server Specifications: '& @CRLF & @CRLF & '   Max Connnections = 100' & @CRLF & '   Startup = When BTCPS Is Run.' & @CRLF & '   Shutdown = When BTCPS Is Exited.',30,30,300,500)
GUISetState(@SW_HIDE)
;================================================================================================================
;=========================================END Help START NewClient GUI===========================================
;================================================================================================================
$NewClientGUI = GUICreate('Help',200,20,-1,-1,-2139094904,'',$Server_GUI)
$NewClientLabel = GUICtrlCreateLabel('',5,5,100,55)
GUISetState(@SW_HIDE)
;================================================================================================================
;=========================================END NewClient GUI======================================================
;================================================================================================================

GUICtrlSetData($Main,GUICtrlRead($Main) & 'Starting TCP Services...')
GUICtrlSetData($Main,GUICtrlRead($Main) & @CRLF & 'Name : ' & $Server_Name )
GUICtrlSetData($Main,GUICtrlRead($Main) & @CRLF & 'Ip : ' & $IP )
GUICtrlSetData($Main,GUICtrlRead($Main) & @CRLF & 'Port : ' & $Port )
GUICtrlSetData($Main,GUICtrlRead($Main) & @CRLF & 'Maximum Connections : ' & $MaxConnections )
SoundPlay(@ScriptDir & '\Online.wma')

While 1
    
    If _IsPressed('0D') And GUICtrlRead($Send) <> '' Then Sent()
    
    $OldCount = $Clients[0][0]
    Accept()
    
    If $Clients[0][0] <> $OldCount Then 
        
        NewNotif($Clients[0][0])
        
    EndIf
    
    Recieve()
    _GUICtrlEdit_Scroll($Main,$SB_PAGEDOWN)

WEnd

Func Accept() ;Accepts An Incomming Connection.
    
    Local $NewClient = TCPAccept($Listen)
    
    If $NewClient = -1 Then Return
    
    For $i = 0 To $MaxConnections
        
        If $Clients[$i][0] = 0 Then
            
            $Clients[$i][0] = $NewClient
            $Clients[0][0] += 1
            SoundPlay(@ScriptDir & '\Online.wma')
            Return
            
        EndIf
        
    Next
    
    If $Clients[0][0] <> $OldCount Then 
        
        For $i = 0 To $MaxConnections
            
        NewNotif($Clients[$i][1])
        
        
        Next
    
    EndIf

EndFunc

Func Background() ;Sets GUI Background & $Main Background & Send Background Color.
    
    Local $c = _ChooseColor(2,$Bkcolor,1,$Preferences_GUI)
    
    If @error Then
        
        MsgBox(42,'Error','Please Choose A Color.')
        
    Else
        
        GUISetBkColor($c,$Server_GUI)
        GUICtrlSetBkColor($Send,$c)
        GUICtrlSetBkColor($Main,$c)
        IniWrite(@ScriptDir & '\S-Settings.ini','##Edits##','Color',$c)
        
    EndIf
    
EndFunc

Func Broadcast($Msg) ;Broadcasts A MSG To ALL Clients.
    
    For $i = 0 To $MaxConnections
        
        If $Clients[$i][0] <> -1  Then TCPSend($Clients[$i][0],$Msg)
        
    Next

EndFunc

Func Change() ;Changes KEY Settings In The Preferences GUI.
    
    If GUICtrlRead($Input_Ip) <> '' and GUICtrlRead($I_Ip) <> IniRead(@ScriptDir & '\S-Settings.ini','##Global##','IP','') Then ; Changes IP.
        
        IniWrite(@ScriptDir & '\S-Settings.ini','##Global##','IP',GUICtrlRead($Input_Ip ))
        GUISetState(@SW_HIDE,$Preferences_GUI)
        GUICtrlSetData($Main, GUICtrlRead($Main) & @CRLF & '[Server Message] :'  & @CRLF & 'Ip Has Been Changed To ' & GUICtrlRead($Input_Ip) & @CRLF & 'Closing BTCPS In 5 Seconds...')
        Sleep(5000)
        _EXIT()
    
    EndIf

    If GUICtrlRead($Input_MaxConnections) <> '' and GUICtrlRead($I_Max) <> IniRead(@ScriptDir & '\S-Settings.ini','##Global##','MaxConnections','') Then ;Changes MAXConnections.
        
        IniWrite(@ScriptDir & '\S-Settings.ini','##Global##','MaxConnections',GUICtrlRead($Input_MaxConnections ))
        GUISetState(@SW_HIDE,$Preferences_GUI)
        GUICtrlSetData($Main, GUICtrlRead($Main) & @CRLF & '[Server Message] :'  & @CRLF & 'Maximum Connections Has Been Changed To ' & GUICtrlRead($Input_MaxConnections) & '....' & @CRLF & 'Closing BTCPS In 5 Seconds...')
        Sleep(5000)
        _EXIT()
    
    EndIf

    If GUICtrlRead($Input_Port) <> '' and GUICtrlRead($I_Port) <> IniRead(@ScriptDir & '\S-Settings.ini','##Global##','Port','')Then ;Changes PORT.
        
        IniWrite(@ScriptDir & '\S-Settings.ini','##Global##','Port',GUICtrlRead($Input_Port ))
        GUISetState(@SW_HIDE,$Preferences_GUI)
        GUICtrlSetData($Main, GUICtrlRead($Main) & @CRLF & '[Server Message] :' & @CRLF &  'Port Has Been Changed To ' & GUICtrlRead($Input_Port) & @CRLF & 'Closing BTCPS In 5 Seconds...')
        Sleep(5000)
        _EXIT()
    
    EndIf

    If GUICtrlRead($Input_Name) <> '' and GUICtrlRead($I_Name) <> IniRead(@ScriptDir & '\S-Settings.ini','##Global##','Name','') Then  ;Changes Name.
        
        IniWrite(@ScriptDir & '\S-Settings.ini','##Global##','Name',GUICtrlRead($Input_Name ))
        GUISetState(@SW_HIDE,$Preferences_GUI)
        GUICtrlSetData($Main, GUICtrlRead($Main) & @CRLF & '[Server Message] :' & @CRLF & 'Server-Name Has Been Changed To ' & GUICtrlRead($Input_Name))
    
        If $Listen <> -1 Then
        
            $Server_Name = GUICtrlRead($Input_Name)
            Broadcast('[Server Message] :' & @CRLF & 'Server-Name Has Been Changed To ' & GUICtrlRead($Input_Name))
    
        Else
    
            MsgBox(0,'Error','Must Have A Client To Send To.')
    
        EndIf

    EndIf
    
EndFunc

Func Disconnect($list, $Mode = 0) ;Upon Client Disconnection - Severs The Socket's Connection.
    
    If $Mode = 0 Then
        
        For $i = 0 To $MaxConnections
            
            Broadcast('[ Server Message ]' & @CRLF &    $Clients[$i][0] & ' Has Disconnected.')
            TCPCloseSocket($Clients[$i][0])
            
        Next
        
    EndIf
    
EndFunc

Func DisconnectClient() ;Server Is Able To Disconnect Client.
    
    Local $Socket = GUICtrlRead($Input_Disconnect)
    
    If GUICtrlRead($Input_Disconnect) <> '' Then
    
        For $i = 1 To $MaxConnections
        
            If $Clients[$i][1] = GUICtrlRead($Input_Disconnect) Then TCPSend($Clients[$i][$Socket],'^/Disconnect')
            TCPCloseSocket($Clients[$i][0])
        
        Next
    
    EndIf

EndFunc

Func Font() ;Sets $Main & Send Font + Specs.
    
    Local $Font = _ChooseFont($F_Name,$F_Size,$F_Color,$F_Style,'','','',$Preferences_GUI)
    
    If @error Then 
        
        MsgBox(42,'Error','Please Choose A Font type.','',$Preferences_GUI)
    
    Else
    
        IniWrite(@ScriptDir & '\S-Settings.ini','##Font##','Name',$Font[2])
        IniWrite(@ScriptDir & '\S-Settings.ini','##Font##','Size',$Font[3])
        IniWrite(@ScriptDir & '\S-Settings.ini','##Font##','Style',$Font[5])
        IniWrite(@ScriptDir & '\S-Settings.ini','##Font##','Color',$Font[7])
        GUICtrlSetFont($Send,$Font[3],$Font[5],'',$Font[2])
        GUICtrlSetColor($Send,$Font[7])
        GUICtrlSetFont($Main,$Font[3],$Font[5],'',$Font[2])
        GUICtrlSetColor($Main,$Font[7])
    
    EndIf

EndFunc

Func Help() ;Help GUI.
    
    If WinActive($Server_GUI) Then
        
        GUISetState(@SW_SHOW,$Help_GUI)
        
    Else
        
        GUISetState(@SW_HIDE,$Help_GUI)
        
    EndIf
    
EndFunc

Func Kill($_Socket) ;Kills All Sockets And ALL Data And Variables.
    
    For $i = 0 To $MaxConnections
        
        If $Clients[$i][0] = $_Socket Then
            
            For $j = 0 to 9
                
                $Clients[$i][$j] = 0
                
            Next
            
            Return TCPCloseSocket($_Socket)
        
        EndIf
        
    Next
    
EndFunc 

Func Maxi_Mini() ;Minimizes OR Restores MAIN GUI Window Status.
    
    If WinActive($Server_GUI) Then
        
        GUISetState(@SW_MINIMIZE,$Server_GUI)
        
    Else
        
        GUISetState(@SW_RESTORE,$Server_GUI)
        
    EndIf
    
EndFunc

Func NewNotif($Name) ;Notifies Server Of Incomming Connection.
    
    GUICtrlSetData($NewClientLabel,$Name & ' Has Connected...')
    GUISetState(@SW_SHOW,$NewClientGUI)
    Sleep(1000)
    GUISetState(@SW_HIDE,$NewClientGUI) 
    
EndFunc

Func Preferences() ;Settings GUI.
    
    If WinActive($Server_GUI) = 1 Then 
        
        GUISetState(@SW_SHOW,$Preferences_GUI)
        
    Else
        
        GUISetState(@SW_HIDE,$Preferences_GUI)
        
    EndIf
    
EndFunc

Func Recieve() ;Recved MSG From Clients.
    For $i = 0 To $MaxConnections
        
        $Recv = TCPRecv($Clients[$i][0],1000000)
        
        If $Recv <> '' Then
            If StringInStr($Recv,'^/Is_Now_An_Admin') Then ;Checks For Administrative Rights.               
                $Clients[$i][2] = 'Administrator'               
                IniWrite(@ScriptDir & '/S-Settings.ini','##Client=Admin##',$Clients[$i][1],$Clients[$i][2])
                Broadcast('[ Server Message ]' & @CRLF & $Clients[$i][1] & ' Is Now An Administrator.')
                GUICtrlSetData($Main, GUICtrlRead($Main) & @CRLF & '[ Server Message ]' & @CRLF &   $Clients[$i][1] & ' Is An Administrator.')
                $Recv = ''
            EndIf
            
            If StringInStr($Recv,'^/ClientList=') Then ;Sends List To Requesting Client.
                
                TCPSend($Clients[$i][0],'ClientList-Online(' & $Clients[0][1] & ')') 
                $Recv = ''
                
            EndIf
            
            If StringInStr($Recv,'^/ClientName=(') Then ;Resets $Clients[$i][1] Of The Changed Clientname.
                
                
                $Recv = StringReplace(StringReplace($Recv,'^/ClientName=(',''),')','')
                GUICtrlSetData($Main, GUICtrlRead($Main) & @CRLF & $Clients[$i][1] & ' Has Changed Its Name To ' & $Recv )
                Broadcast($Clients[$i][1] & ' Has Changed Its Name To ' & $Recv)
                $Clients[$i][1] = $Recv
                $Recv = ''
                                
            EndIf
                        
            If StringInStr($Recv,'^/DisconnectClient=(') Then ;Allows\Denies Client Disconnect Other Client Abilities.
                
                $Recv = StringReplace(StringReplace($Recv,'^/DisconnectClient=(',''),')','')
                
                If $Clients[$i][2] = 'Administrator' Then
                
                    If $Recv = $Clients[0][1] Then
                        
                        If $Clients[0][1] <> 'Administrator' Then
                    
                            For $i = 0 To $MaxConnections
                            
                                If $Recv = $Clients[$i][1] Then
                                
                                    TCPSend($Clients[$i][0], '^/Disconnect.')
                                
                                EndIf
                                                    
                            Next
                                        
                        Else
                                    
                            TCPSend($Clients[$i][0],'[ Server Message ]' & @CRLF &'Cannot Disconnect An Administrator, PLease Contact Your Server Host To Disconnect The Administrator In Question.')
                                                
                        EndIf
                
                    EndIf
                
                EndIf
                
                $Recv = ''
                
            EndIf
                
            If StringInStr($Recv,'^/Username=(') Then ;Assigns A Socket\Client A Username\The Username They Have Chosen.
                
                $Recv = StringReplace(StringReplace($Recv,'^/Username=(',''),')','')
                $Clients[$i][1] = $Recv 
                $Recv = '[ Server Message ]' & @CRLF & $Recv & ' has joined' & @CRLF
                GUICtrlSetData($Main, GUICtrlRead($Main) & @CRLF & $Recv)
                Broadcast($Recv)
                $Recv = ''
                
            EndIf
            
            If $Recv <> '' Then ;If It Isnt Any Of The Above.
                
                GUICtrlSetData($Main, GUICtrlRead($Main) & @CRLF & $Clients[$i][1] & ' Says : ' & @CRLF & $Recv)
                Broadcast($Clients[$i][1] & ' Says :' & @CRLF & $Recv)
                SoundPlay(@ScriptDir & '\Alert.wma')
                
            EndIf
        
        EndIf
    
    Next

EndFunc

Func Sent() ;Sends A Msg To ALL Clients
    
    If GUICtrlRead($Send) <> '' Then
        
        GUICtrlSetData($Main, GUICtrlRead($Main) & @CRLF & $Server_Name & ' : ' & @CRLF & GUICtrlRead($Send))
        Broadcast($Server_Name & ' Says : ' & @CRLF & GUICtrlRead($Send))
        GUICtrlSetData($Send,'')
        GUICtrlSetState($Send,$GUI_FOCUS)
    
    EndIf

EndFunc

Func Wipe() ;Wipes The Variables The Past Server Start Have Assigned.
    
    For $i = 0 To $MaxConnections
        
        If $Clients[$i][0] <> 0 Then Kill($Clients[$i][0])
        
        For $j = 0 to 9
            
            $Clients[$i][$j] = 0
            
        Next
        
    Next
    
EndFunc

Func _EXIT() ;On Exit
    
    For $i = 0 To $MaxConnections
        
            Broadcast('^/Disconnect')
            Sleep(100)
            TCPCloseSocket($Clients[0][0])
        
    Next
    
    Sleep(1000)
    TCPShutdown()   
    Exit
    
EndFunc

Share this post


Link to post
Share on other sites



Bad installer. You FileInstall a couple of files 66 times in the same place from the same source just because it looks better on the progress bar?

I don't see any OnEventMode and I don't see you checking for GUIGetMsg either. You need to do either of the two. If anything is unclear, then please ask.

Share this post


Link to post
Share on other sites

well uhh fileinstall() im using that.. i guess i could move them and the iniwrite OUTSIDE of the loops ill try that thanks.. its just i wanted it to look Profestional withought making it complicated

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0