Sign in to follow this  
Followers 0
mini

[SOLVED] Question about autoload INI settings

8 posts in this topic




Pack some pre-written ini files with your program then use iniread to define whatever it is you want set


010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

i didn't understand what you meant??

I put like what?

Can you show me an example please?

I got my GUI like this:

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=..\..\..\My Documents\Autoit\Autoit_tests\iBot_Starter\bkp\is.ico
#AutoIt3Wrapper_Outfile=Sbot Training Swapper.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>

;<==================================================================================
Opt("TrayMenuMode", 1) ; Default tray menu items (Script Paused/Exit) will not be shown.
Opt("TrayOnEventMode", 1)
TraySetOnEvent($TRAY_EVENT_PRIMARYUP, "On_Show")
;<==================================================================================
TrayCreateItem("")
$StartItem = TrayCreateItem("Start")
$StopItem = TrayCreateItem("Stop")
TrayCreateItem("")
$RestoreSbotItem = TrayCreateItem("Show Sbot")
$HideSbotItem = TrayCreateItem("Hide Sbot")
TrayCreateItem("")
$RestoreItem = TrayCreateItem("Restore Swapper")
$HideItem = TrayCreateItem("Hide Swapper")
TrayCreateItem("")
$ExitItem = TrayCreateItem("Exit")
TrayCreateItem("")
;<==================================================================================
$TrayStartItem = TrayItemSetOnEvent($StartItem, "_Check4Start")
$TrayStopItem = TrayItemSetOnEvent($StopItem, "_Check4Stop")
$TrayRestoreSbotItem = TrayItemSetOnEvent($RestoreSbotItem, "_Check4ShowSbot")
$TrayHideSbotItem = TrayItemSetOnEvent($HideSbotItem, "_Check4HideSbot")
$TrayRestoreItem = TrayItemSetOnEvent($RestoreItem, "_Check4Restore")
$TrayHideItem = TrayItemSetOnEvent($HideItem, "_Check4Hide")
$TrayExitItem = TrayItemSetOnEvent($ExitItem, "_Check4CLOSEClicked")
;~ <==================================================================================
$sINI = @ScriptDir & "\"
$Form1 = GUICreate("Sbot Training Swapper", 373, 305)
$Button_Search = GUICtrlCreateButton("Search", 20, 270, 50, 25)
$Button_Start = GUICtrlCreateButton("Start", 75, 270, 50, 25)
$Button_Stop = GUICtrlCreateButton("Stop", 130, 270, 50, 25)
$training1 = GUICtrlCreateCheckbox("Training place 1", 16, 16, 97, 17)
$training2 = GUICtrlCreateCheckbox(" Training place 2", 136, 16, 97, 17)
$training3 = GUICtrlCreateCheckbox("Training place 3", 264, 16, 97, 17)
$Input1A = GUICtrlCreateInput("", 8, 48, 105, 21)
$Input2A = GUICtrlCreateInput("", 8, 88, 105, 21)
$Input3A = GUICtrlCreateInput("", 8, 128, 105, 21)
$Input4A = GUICtrlCreateInput("", 8, 168, 105, 21)
$Input1B = GUICtrlCreateInput("", 136, 48, 105, 21)
$Input2B = GUICtrlCreateInput("", 136, 88, 105, 21)
$Input3B = GUICtrlCreateInput("", 136, 128, 105, 21)
$Input4B = GUICtrlCreateInput("", 136, 168, 105, 21)
$Input1C = GUICtrlCreateInput("", 264, 48, 105, 21)
$Input2C = GUICtrlCreateInput("", 264, 88, 105, 21)
$Input3C = GUICtrlCreateInput("", 264, 128, 105, 21)
$Input4C = GUICtrlCreateInput("", 264, 168, 105, 21)
$Input_Sbot_Name = GUICtrlCreateInput("", 73, 200, 289, 21)
$Label1 = GUICtrlCreateLabel("Sbot Name", 13, 205, 57, 17)
$Label2 = GUICtrlCreateLabel("Time to switch traning place, time in ms, 3 600 000ms = 1H", 15, 225, 289, 17)
$Sleep_Time = GUICtrlCreateInput("", 250, 240, 60, 21)
GUISetState(@SW_SHOW)

;<==================================================================================

Dim $Start = 0

While 1 ;Code

    Switch GUIGetMsg()
        Case -3
            _Check4CLOSEClicked()
        Case $GUI_EVENT_MINIMIZE
            GUISetState(@SW_HIDE, $Form1)
        Case $Button_Stop
            _Check4Stop()
        Case $Button_Start
            _Check4Start()
        Case $Button_Search
            _Check4Search()
    EndSwitch

    If $Start = 1 And GUICtrlRead($training1) = 1 Then ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        ConsoleWrite("Trg1" & @CRLF)
        ;#cs
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{DEL 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{BS 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", GUICtrlRead($Input1A))
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{DEL 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{BS 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", GUICtrlRead($Input2A))
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{DEL 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{BS 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", GUICtrlRead($Input3A))
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{DEL 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{BS 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", GUICtrlRead($Input4A))
        WinSetState(GUICtrlRead($Input_Sbot_Name), "", @SW_MINIMIZE)
        WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Save settings", "[CLASS:Button; INSTANCE:192]", "{SPACE 5}"))
        WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Stop training", "[CLASS:Button; INSTANCE:195]", "{SPACE 5}"))
        WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Start training", "[CLASS:Button; INSTANCE:194]", "{SPACE 5}"))
        WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Start training", "[CLASS:Button; INSTANCE:191]", "{SPACE 5}"))
        WinSetState(GUICtrlRead($Input_Sbot_Name), "", @SW_HIDE)
        ;#ce
        _Delayer()

    EndIf
    If $Start = 1 And GUICtrlRead($training2) = 1 Then ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        ConsoleWrite("Trg2" & @CRLF)
        ;#cs
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{DEL 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{BS 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", GUICtrlRead($Input1B))
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{DEL 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{BS 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", GUICtrlRead($Input2B))
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{DEL 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{BS 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", GUICtrlRead($Input3B))
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{DEL 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{BS 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", GUICtrlRead($Input4B))
        WinSetState(GUICtrlRead($Input_Sbot_Name), "", @SW_MINIMIZE)
        WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Save settings", "[CLASS:Button; INSTANCE:192]", "{SPACE 5}"))
        WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Stop training", "[CLASS:Button; INSTANCE:195]", "{SPACE 5}"))
        WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Start training", "[CLASS:Button; INSTANCE:194]", "{SPACE 5}"))
        WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Start training", "[CLASS:Button; INSTANCE:191]", "{SPACE 5}"))
        WinSetState(GUICtrlRead($Input_Sbot_Name), "", @SW_HIDE)
        ;#ce
        _Delayer()
    EndIf
    If $Start = 1 And GUICtrlRead($training3) = 1 Then ; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        ConsoleWrite("Trg3" & @CRLF)
        ;#cs
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{DEL 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", "{BS 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:40]", GUICtrlRead($Input1C))
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{DEL 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", "{BS 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:42]", GUICtrlRead($Input2C))
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{DEL 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", "{BS 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:43]", GUICtrlRead($Input3C))
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{DEL 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", "{BS 10}")
        ControlSend(GUICtrlRead($Input_Sbot_Name), "", "[CLASS:Edit; INSTANCE:41]", GUICtrlRead($Input4C))
        WinSetState(GUICtrlRead($Input_Sbot_Name), "", @SW_MINIMIZE)
        WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Save settings", "[CLASS:Button; INSTANCE:192]", "{SPACE 5}"))
        WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Stop training", "[CLASS:Button; INSTANCE:195]", "{SPACE 5}"))
        WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Start training", "[CLASS:Button; INSTANCE:194]", "{SPACE 5}"))
        WinActivate(ControlSend(GUICtrlRead($Input_Sbot_Name), "Start training", "[CLASS:Button; INSTANCE:191]", "{SPACE 5}"))
        WinSetState(GUICtrlRead($Input_Sbot_Name), "", @SW_HIDE)
        ;#ce
        _Delayer()
    EndIf

WEnd
;<==================================================================================
Func _Check4Restore()
    WinSetState("Sbot Training Swapper", "", @SW_RESTORE)
EndFunc   ;==>_Check4Restore
;<==================================================================================
Func _Check4Hide()
    WinSetState("Sbot Training Swapper", "", @SW_HIDE)
EndFunc   ;==>_Check4Hide
;<==================================================================================
Func _Delayer()

    $iBegin = TimerInit() ; Get a timestamp
    Do ; Loop until
        Switch GUIGetMsg() ; Check the valid events (no point in looking for Start as we are already running!)
            Case -3
                Exit
            Case $Button_Stop
                _Check4Stop()
                ExitLoop
        EndSwitch
    Until TimerDiff($iBegin) > GUICtrlRead($Sleep_Time) ; Check if 5 secs have elapsed

EndFunc   ;==>_Delayer
;<==================================================================================
Func _Check4Search()
    GUICtrlSetData($Input1A, IniRead("Sbot Training Swapper.ini", "TrainingA", "$Input1A", "Coor. X"))
    GUICtrlSetData($Input2A, IniRead("Sbot Training Swapper.ini", "TrainingA", "$Input2A", "Coor. Y"))
    GUICtrlSetData($Input3A, IniRead("Sbot Training Swapper.ini", "TrainingA", "$Input3A", "Coor. Z"))
    GUICtrlSetData($Input4A, IniRead("Sbot Training Swapper.ini", "TrainingA", "$Input4A", "Range"))
    GUICtrlSetData($Input1B, IniRead("Sbot Training Swapper.ini", "TrainingB", "$Input1B", "Coor. X"))
    GUICtrlSetData($Input2B, IniRead("Sbot Training Swapper.ini", "TrainingB", "$Input2B", "Coor. Y"))
    GUICtrlSetData($Input3B, IniRead("Sbot Training Swapper.ini", "TrainingB", "$Input3B", "Coor. Z"))
    GUICtrlSetData($Input4B, IniRead("Sbot Training Swapper.ini", "TrainingB", "$Input4B", "Range"))
    GUICtrlSetData($Input1C, IniRead("Sbot Training Swapper.ini", "TrainingC", "$Input1C", "Coor. X"))
    GUICtrlSetData($Input2C, IniRead("Sbot Training Swapper.ini", "TrainingC", "$Input2C", "Coor. Y"))
    GUICtrlSetData($Input3C, IniRead("Sbot Training Swapper.ini", "TrainingC", "$Input3C", "Coor. Z"))
    GUICtrlSetData($Input4C, IniRead("Sbot Training Swapper.ini", "TrainingC", "$Input4C", "Range"))
    GUICtrlSetData($Input_Sbot_Name, IniRead("Sbot Training Swapper.ini", "$Input_Sbot_Name", "$Input_Sbot_Name", "[CHAR NAME] SBot v1.66 (C)2008,2009 by bot-cave.net"))
    GUICtrlSetData($Sleep_Time, IniRead("Sbot Training Swapper.ini", "$Sleep_Time", "$Sleep_Time", "3600000"))
EndFunc   ;==>_Check4Search
;<==================================================================================
Func _Check4HideSbot()
    WinSetState(GUICtrlRead($Input_Sbot_Name), "", @SW_HIDE)
EndFunc   ;==>_Check4HideSbot
;<==================================================================================
Func _Check4ShowSbot()
    WinSetState(GUICtrlRead($Input_Sbot_Name), "", @SW_MINIMIZE)
EndFunc   ;==>_Check4ShowSbot
;<==================================================================================
Func _Check4Start()
    $Start = 1
    TrayTip("", "Started", 3, 0)
    IniWrite("Sbot Training Swapper.ini", "TrainingA", "$Input1A", GUICtrlRead($Input1A))
    IniWrite("Sbot Training Swapper.ini", "TrainingA", "$Input2A", GUICtrlRead($Input2A))
    IniWrite("Sbot Training Swapper.ini", "TrainingA", "$Input3A", GUICtrlRead($Input3A))
    IniWrite("Sbot Training Swapper.ini", "TrainingA", "$Input4A", GUICtrlRead($Input4A))
    IniWrite("Sbot Training Swapper.ini", "TrainingB", "$Input1B", GUICtrlRead($Input1B))
    IniWrite("Sbot Training Swapper.ini", "TrainingB", "$Input2B", GUICtrlRead($Input2B))
    IniWrite("Sbot Training Swapper.ini", "TrainingB", "$Input3B", GUICtrlRead($Input3B))
    IniWrite("Sbot Training Swapper.ini", "TrainingB", "$Input4B", GUICtrlRead($Input4B))
    IniWrite("Sbot Training Swapper.ini", "TrainingC", "$Input1C", GUICtrlRead($Input1C))
    IniWrite("Sbot Training Swapper.ini", "TrainingC", "$Input2C", GUICtrlRead($Input2C))
    IniWrite("Sbot Training Swapper.ini", "TrainingC", "$Input3C", GUICtrlRead($Input3C))
    IniWrite("Sbot Training Swapper.ini", "TrainingC", "$Input4C", GUICtrlRead($Input4C))
    IniWrite("Sbot Training Swapper.ini", "$Input_Sbot_Name", "$Input_Sbot_Name", GUICtrlRead($Input_Sbot_Name))
    IniWrite("Sbot Training Swapper.ini", "$Sleep_Time", "$Sleep_Time", GUICtrlRead($Sleep_Time))
EndFunc   ;==>_Check4Start
;<==================================================================================
Func _Check4Stop()
    $Start = 0
    TrayTip("", "Stopped", 3, 0)
EndFunc   ;==>_Check4Stop
;<==================================================================================
Func _Check4CLOSEClicked();Exit
    Opt("WinTitleMatchMode", 2) ; Match substring
    WinSetTrans("Sbot Training Swapper", "", 0)
    $answer = MsgBox(36, "Warning", "Close??", 8)
    WinSetTrans("Sbot Training Swapper", "", 255)
    If $answer = 6 Then
        WinSetState(GUICtrlRead($Input_Sbot_Name), "", @SW_MINIMIZE)
        Exit
    EndIf
EndFunc   ;==>_Check4CLOSEClicked
;<==================================================================================
Func On_Show()
    GUISetState(@SW_SHOW, $Form1)
EndFunc   ;==>On_Show
;<==================================================================================
Edited by mini

Share this post


Link to post
Share on other sites

create your Sbot Training Swapper.ini file in advance with the values you want as default, at the beginning of your code set your variables for what you want to be default by iniread.

Example ini

[example]
1=first
2=second
3=third

then in your code, something like

$first=iniread(@scriptdir&"\example.ini","example",1,"")
$second=iniread(@scriptdir&"\example.ini","example",2,"")
$third=iniread(@scriptdir&"\example.ini","example",1,"")

Then when you do your inputs (or GuiCtrlCreateInput, or whatever you want to use) you can simply do

inputbox("","",$first)
inputbox("","",$second)
inputbox("","",$third)

It starts with the default value of the iniread, but the user can change it. If they wish to make their input the default, then just add an iniwrite to save the new settings to the ini, then next time the program is run, the efault will be what they entered previously.


010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

Hi Kaotkbliss...

Or I'm a real failure on coding and i must start thinking that i must stop from now on, or I'm Dumb....

I can't make your example to work...

Here's what i have:

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 153, 114, 192, 124)
$first = GUICtrlCreateInput("", 16, 8, 121, 21)
$second = GUICtrlCreateInput("", 16, 48, 121, 21)
$third = GUICtrlCreateInput("", 16, 80, 121, 21)

$first = IniRead(@ScriptDir & "\example.ini", "example", 1, "")
$second = IniRead(@ScriptDir & "\example.ini", "example", 2, "")
$third = IniRead(@ScriptDir & "\example.ini", "example", 3, "")

;inputbox("","",$first)
;inputbox("","",$second)
;inputbox("","",$third)


GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

    EndSwitch
WEnd

Help me on that please.

EDIT:

I cant figure out where I put on my "GuiCtrlInput" the "$first"

Edited by mini

Share this post


Link to post
Share on other sites

Solution

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=

$Form1 = GUICreate("AUTO LOAD INI", 373, 305)

$hInput1 = GUICtrlCreateInput("", 16, 8, 121, 21)
$hInput2 = GUICtrlCreateInput("", 16, 48, 121, 21)
$hInput3 = GUICtrlCreateInput("", 16, 80, 121, 21)

$Button_Save = GUICtrlCreateButton("Save", 75, 270, 50, 25)

$iRead = GUICtrlSetData($hInput1, IniRead("example.ini", "example", "First_name", "N/A"))
$iRead = GUICtrlSetData($hInput2, IniRead(@ScriptDir & "\example.ini", "example", "Data", "N/A"))
$iRead = GUICtrlSetData($hInput3, IniRead(@ScriptDir & "\example.ini", "example", 3, "N/A"))

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button_Save
            _Check4Start()
    EndSwitch
WEnd

Func _Check4Start()
    IniWrite("example.ini", "example", "First_name", GUICtrlRead($hInput1))
    IniWrite(@ScriptDir & "\example.ini", "example", "Data", GUICtrlRead($hInput2))
    IniWrite("example.ini", "example", "3", GUICtrlRead($hInput3))
EndFunc   ;==>_Check4Start

Share this post


Link to post
Share on other sites

Things are learned and remembered so much better when figured out alone. Sometimes though, we just need a little point in the right dirrection :(


010101000110100001101001011100110010000001101001011100110010000

001101101011110010010000001110011011010010110011100100001

My Android cat and mouse game
https://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek

We're gonna need another Timmy!

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