AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[Alpha] AHK RPG
Goto page Previous  1, 2
 
Post new topic   Reply to topic    AutoHotkey Community Forum Index -> Scripts & Functions
View previous topic :: View next topic  
Author Message
Fry



Joined: 01 Nov 2007
Posts: 689

PostPosted: Tue Apr 22, 2008 8:25 pm    Post subject: Reply with quote

Cool when your core engine is almost perfect makes some graphics it will draw lots more peoples attention.

Also I have to admit it does get boring. Maybe you should make quests and youll get money Experience to get you more level etc.
_________________
check out my site
www.eliteknifesquad.com
Back to top
View user's profile Send private message
Rhys



Joined: 17 Apr 2007
Posts: 736
Location: Florida

PostPosted: Tue Apr 22, 2008 8:33 pm    Post subject: Reply with quote

Fry wrote:
Also I have to admit it does get boring. Maybe you should make quests and youll get money Experience to get you more level etc.
This alpha is practically designed to be boring... The interesting stuff will come later. Right now I'm leaning more towards a PvP-centric game but there are lots of ways I can go. I'm just laying the foundations now... I can't have a level/experience system until I have a stats system that affects damage/hit/crit/dodge/etc...

And no need for money to buy better gear until that gear actually does something Cool
_________________
[Join IRC!]

http://www.codeforcure.org/
Back to top
View user's profile Send private message
SoggyDog



Joined: 02 May 2006
Posts: 280
Location: Greeley, CO

PostPosted: Tue Apr 22, 2008 8:36 pm    Post subject: Reply with quote

imapow wrote:
yeah just look at my game "BluemanShoot" if it had a good engine it wodent suck so bad Sad

a) wouldn't, not wodent (quick English lesson)
b) It doesn't suck; It's a Proof of Concept Very Happy

Rhys wrote:
Alpha 3 will be attached soon.

Looking forward to it. Shocked

[edit] I got sidetracked and didn't get this posted as quickly as I should've. Embarassed
I see that Alpha 3 is already up. Thanks!
_________________

SoggyDog
Download AutoHotKey Wallpaper
Does 'Fuzzy Logic' tickle?
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Trikster



Joined: 15 Jul 2007
Posts: 1224
Location: Enterprise, Alabama

PostPosted: Wed Apr 23, 2008 2:30 am    Post subject: Reply with quote

Here's my version I made:



Code:
My_HP      = 100
Op_HP      = 100
My_Potions = 3
My_Arrows  = 25
My_Energy  = 100
My_Manta   = 100
Attacks    = Melee,Magic,Range
StringSplit, Attacks, Attacks, `,


Gui, Add, Progress, x5 y29 w150 h30 vMy_HP cRed BackgroundBlack, %My_HP%
Gui, Add, Progress, x175 y29 w150 h10 vOp_HP cRed BackgroundBlack, %Op_HP%
Gui, Add, Text, x5 y4 w150 h20 , You
Gui, Add, Text, x175 y4 w150 h20 , Opponent
Gui, Add, Button, x176 y50 w150 h20 gRun, Run
Gui, Add, Button, x176 y80 w150 h20 gHeal_Me, Heal
Gui, Add, DropDownList, x5 y109 w150 h500 vAttack, Attack Type||----------------|Melee|Magic|Ranged
Gui, Add, Edit, x6 y140 w320 h100 vCombat_Log,
Gui, Add, Button, x176 y110 w150 h20 gAttack, Attack
Gui, Add, Progress, x6 y70 w150 h10 vMy_Energy cGreen BackgroundBlack, %My_Energy%
Gui, Add, Progress, x6 y90 w150 h10 vMy_Manta cBlue BackgroundBlack, %My_Manta%
Gui, Show,, Ian's RPG
Return

Run:
Combat_Log := "You retreat form battle.`n" . Combat_Log
Set("Combat_Log", Combat_Log)
Gosub, Heal_Op
Return

Heal_Me_Full:
Loop {
   If (My_HP = My_Old_HP + To_Heal) {
      Break
   }
   Else
      Set("My_HP", My_HP := My_HP + 1)
      Sleep 10
}
Return

Heal_Me:
If (!My_Potions) {
   Combat_Log := "You attempt to heal only to find that you are out of potions.`n" . Combat_Log
   Set("Combat_Log", Combat_Log)
} Else {
   Random, To_Heal, 20, 45
   My_Old_HP := My_HP
   Combat_Log := "You drink a potion.`n" . Combat_Log
   Set("Combat_Log", Combat_Log)
   Loop {
      If (My_HP = My_Old_HP + To_Heal) {
         Break
      }
      Else
         Set("My_HP", My_HP := My_HP + 1)
         Sleep 10
   }
   My_Potions--
   Combat_Log := "You now have " . My_Potions . " potions left.`nIt heals " . To_Heal . " hitpoints`n" . Combat_Log
   Set("Combat_Log", Combat_Log)
}
Return

Attack:
Range_Hit =
Melee_Hit =
Magic_Hit =
Gui, Submit, NoHide
If (Attack = "Melee") {
   Random, Does_Hit, 0, 3
   If (!Does_Hit) {
      Combat_Log := "You attempt to hit the opponent and miss.`n" . Combat_Log
      Set("Combat_Log", Combat_Log)
      Gosub, Op_Turn
   }
   Random, Melee_Hit, 0, 25
   Op_Old_HP := Op_HP
   Loop {
      If (Op_HP = (Op_Old_HP - Melee_Hit) || Op_HP = 0) {
         Break
      }
      Else
         Set("Op_HP", Op_HP := Op_HP - 1)
         Sleep, 10
   }
   Combat_Log := "You hit a " . Melee_Hit . " on the opponent`n" . Combat_Log
   Set("Combat_Log", Combat_Log)
   Gosub, Op_Turn
   If (!Op_HP) {
      Combat_Log := "Your opponent is dead. Here comes another.`n" . Combat_Log
      Set("Combat_Log", Combat_Log)
      Gosub, Heal_Op
   }
}   
If (Attack = "Magic") {
   If (My_Manta / 13 < 1) {
      Combat_Log := "You don't have enough manta to cast a spall.`n" . Combat_Log
      Set("Combat_Log", Combat_Log)
      Gosub, Op_Turn
   } Else {
      Random, Does_Hit, 0, 3
      If (!Does_Hit) {
         Gosub, Magic_Attack
         Combat_Log := "You cast a spell and miss.`n" . Combat_Log
         Set("Combat_Log", Combat_Log)
      } Else {
         Random, Magic_Hit, 0, 30
            Op_Old_HP := Op_HP
            Loop {
               If (Op_HP = (Op_Old_HP - Magic_Hit) || Op_HP = 0) {
                  Break
               }
               Else
                  Set("Op_HP", Op_HP := Op_HP - 1)
                  Sleep, 10
            }
         Gosub, Magic_Attack
         Combat_Log := "You cast a spell and hit a " . Magic_Hit . " on the opponent`n" . Combat_Log
         Set("Combat_Log", Combat_Log)
         Gosub, Op_Turn
         If (!Op_HP) {
            Combat_Log := "Your opponent is dead. Here comes another.`n" . Combat_Log
            Set("Combat_Log", Combat_Log)
            Gosub, Heal_Op
         }
      }
   }
}
If (Attack = "Ranged") {
   If (!My_Arrows) {
      Combat_Log := "You don't have enough arrows to attack.`n" . Combat_Log
      Set("Combat_Log", Combat_Log)
   } Else {
      Random, Does_Hit, 0, 3
      If (!Does_Hit) {
         Combat_Log := "You shoot an arrow and miss.`n" . Combat_Log
         Set("Combat_Log", Combat_Log)
         Gosub, Op_Turn
      } Else {
         Random, Range_Hit, 0, 35
         Op_Old_HP := Op_HP
         Loop {
            If (Op_HP = (Op_Old_HP - Range_Hit) || Op_HP = 0) {
               Break
            }
            Else
               Set("Op_HP", Op_HP := Op_HP - 1)
               Sleep, 10
         }
         Combat_Log := "You shoot an arrow and hit a " . Range_Hit . " on the opponent`n" . Combat_Log
         Set("Combat_Log", Combat_Log)
         Gosub, Op_Turn
         If (!Op_HP) {
            Combat_Log := "Your opponent is dead. Here comes another.`n" . Combat_Log
            Set("Combat_Log", Combat_Log)
            Gosub, Heal_Op
         }
      }
   }
}
Return

Op_Turn:
Type         =
Op_Melee_Hit =
Op_Magic_Hit =
Op_Range_Hit =
Random, Type, 1, 3
Type := Attacks%Type%
If (Type = "Melee") {
   Random, Op_Does_Hit, 0, 3
   If (!Op_Does_Hit) {
      Combat_Log := "The opponent attempts to hit you, and misses.`n" . Combat_Log
      Set("Combat_Log", Combat_Log)
   } Else {
      Random, Op_Melee_Hit, 0, 25
      My_Old_HP := My_HP
         Loop {
         If (My_HP = (My_Old_HP - Op_Melee_Hit) || My_HP = 0) {
            Break
         }
         Else
            Set("My_HP", My_HP := My_HP - 1)
            Sleep, 10
         }
      Combat_Log := "The opponent hits a " . Op_Melee_Hit . " on you.`n" . Combat_Log
      Set("Combat_Log", Combat_Log)
      If (!My_HP) {
         Combat_Log := "You are dead.`n" . Combat_Log
         Set("Combat_Log", Combat_Log)
         Gosub, Heal_Me_Full
         Gosub, Heal_Op
      }
   }
}   
If (Type = "Magic") {
   Random, Op_Does_Hit, 0, 3
   If (!Op_Does_Hit) {
      Combat_Log := "The opponent casts a spell and misses.`n" . Combat_Log
      Set("Combat_Log", Combat_Log)
   } Else {
      Random, Op_Magic_Hit, 0, 30
      My_Old_HP := My_HP
         Loop {
            If (My_HP = (My_Old_HP - Op_Magic_Hit) || My_HP = 0) {
               Break
            }
         Else
            Set("My_HP", My_HP := My_HP - 1)
            Sleep, 10
         }
      Combat_Log := "The opponent casts a spell and hits a " . Op_Magic_Hit . " on you.`n" . Combat_Log
      Set("Combat_Log", Combat_Log)
      If (!My_HP) {
         Combat_Log := "You are dead.`n" . Combat_Log
         Set("Combat_Log", Combat_Log)
         Gosub, Heal_Me_Full
         Gosub, Heal_Op
      }
   }
}
If (Type = "Range") {
   Random, Op_Does_Hit, 0, 3
   If (!Op_Does_Hit) {
      Combat_Log := "The opponent shoots an arrow and misses.`n" . Combat_Log
      Set("Combat_Log", Combat_Log)
   } Else {
      Random, Op_Range_Hit, 0, 30
      My_Old_HP := My_HP
         Loop {
            If (My_HP = (My_Old_HP - Op_Range_Hit) || My_HP = 0) {
               Break
            }
         Else
            Set("My_HP", My_HP := My_HP - 1)
            Sleep, 10
         }
      Combat_Log := "The opponent shoots an arrow and hits a " . Op_Range_Hit . " on you.`n" . Combat_Log
      Set("Combat_Log", Combat_Log)
      If (!My_HP) {
         Combat_Log := "You are dead.`n" . Combat_Log
         Set("Combat_Log", Combat_Log)
         Gosub, Heal_Me_Full
         Gosub, Heal_Op
      }
   }
}
Gui, -Disable
Return

Magic_Attack:
Loop 13 {
   Set("My_Manta", My_Manta := My_Manta - 1)
   Sleep, 10
}
Return

Heal_Op:
Loop {
   If (Op_HP = 100) {
      Break
   }
   Else
      Set("Op_HP", Op_HP := Op_HP + 1)
      Sleep 10
}
Return


Set(Control, Text, Sub = "") {
   GuiControl, %Sub%, %Control%, %Text%
   Return Text
}


Last edited by Trikster on Wed Apr 23, 2008 2:41 am; edited 1 time in total
Back to top
View user's profile Send private message
SoggyDog



Joined: 02 May 2006
Posts: 280
Location: Greeley, CO

PostPosted: Wed Apr 23, 2008 2:39 am    Post subject: Reply with quote

Nice!
_________________

SoggyDog
Download AutoHotKey Wallpaper
Does 'Fuzzy Logic' tickle?
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Z Gecko
Guest





PostPosted: Wed Apr 23, 2008 4:31 am    Post subject: Reply with quote

Nice Idea, indeed!

But i see lot´s of work for you,
especially if it is goes PvP(what would be really cool).


Once i have started to make a simple RPG-Book-Style-game. But i did never get very far with it.
Although i will post it here. It deals mostly with the "story" of a game.
It uses an ini-files to display different simple multiple-choice "adventures". I hope this will help you to avoid some of the errors i made.


Code:
;-------Directives and Constants--------------
#SingleInstance Force
RPGFile = rpg.ini
ScreenPosX = 240
ScreenPosY = 300
;-------Main Section (Auto-Execute)-----------
IsRPGCardSet := ReadConfig(RPGFile)
If IsRPGCardSet != VALID
{
   MsgBox, No valid RPG Card-Game-Set
   ExitApp
}
else
{
   ActiveCard = %GameStartPoint%
   GoSub, PlayGame
}
return

;--------Game Logic Section-------------------

PlayGame:
   ParseCard(ActiveCard)
   If CardStyle = END
      GoSub, EndGame
   CreateMainGUI()
return


Choice1:
   ActiveCard = %CardNext1%
   GoSub, PlayGame
return

Choice2:
   ActiveCard = %CardNext2%
   GoSub, PlayGame
return

Choice3:
   ActiveCard = %CardNext3%
   GoSub, PlayGame
return

Choice4:
   ActiveCard = %CardNext4%
   GoSub, PlayGame
return

EndGame:
GuiClose:
   ExitApp
return
;--------GUI Creation Functions---------------
CreateMainGUI()
{
   global
   Gui, 1: Destroy
   
   Gui, 1: +Border
   Gui, 1:font, s11 c%GameTextColor% bold
   Gui, 1:Color, %GameBackgroundColor%
   Gui, 1:Add, Text, w500 Center, %CardTitle%
   Gui, 1:font, s11 norm
   Gui, 1:Add, Text, w250 Section, %CardStory%
   Gui, 1:font, s11 italic
   Gui, 1:Add, Text, ys w240, %CardQuest%
   Gui, 1:font, s11 norm
   Loop, %CardOptionNumber%
   {
      Gui, 1:Add, Button, w240 gChoice%A_Index%, % CardOption%A_Index%
   }
   Gui, 1:Show, x%ScreenPosX% y%ScreenPosY% , %GameName%
}

;-------- File Parsing Functions--------------

ReadConfig(FileName)
{
   global GameName, GameStartPoint, GameImage, GameBackgroundColor, GameTextColor, CardFileName
   IniRead, GameType, %FileName%, Config, Type, NOTVALID
   if GameType != RPGCARDSET
      return "NOTVALID"
   IniRead, GameVersion, %FileName%, Config, Version, NOTVALID
   if GameVersion != 1
      return "NOTVALID"
   IniRead, GameName, %FileName%, Config, Name
   IniRead, GameStartPoint, %FileName%, Config, StartPoint
   IniRead, GameImage, %FileName%, Config, Image
   IniRead, GameBackgroundColor, %FileName%, Config, BackgroundColor, white
   IniRead, GameTextColor, %FileName%, Config, TextColor, black
   CardFileName = %FileName%
   return "VALID"
}

ParseCard(CardNr)
{
   global CardFileName, CardStyle, CardTitle, CardStory, CardQuest, CardOption1, CardNext1, CardOption2, CardNext2, CardOption3, CardNext3, CardOption4, CardNext4, CardOptionNumber
   
   IniRead, CardStyle, %CardFileName%, %CardNr%, Style, Standard
   IniRead, CardTitle, %CardFileName%, %CardNr%, Title, %CardNr%
   IniRead, CardStory, %CardFileName%, %CardNr%, Story
   IniRead, CardQuest, %CardFileName%, %CardNr%, Quest

   CardOptionNumber = 4
   IniRead, CardOption4, %CardFileName%, %CardNr%, Option4, EMPTY
   IniRead, CardNext4, %CardFileName%, %CardNr%, Next4, %CardNr%
   if CardOption4 = EMPTY
      CardOptionNumber = 3
   IniRead, CardOption3, %CardFileName%, %CardNr%, Option3, EMPTY
   IniRead, CardNext3, %CardFileName%, %CardNr%, Next3, %CardNr%
   if CardOption3 = EMPTY
      CardOptionNumber = 2
   IniRead, CardOption2, %CardFileName%, %CardNr%, Option2, EMPTY
   IniRead, CardNext2, %CardFileName%, %CardNr%, Next2, %CardNr%
   if CardOption2 = EMPTY
      CardOptionNumber = 1
   IniRead, CardOption1, %CardFileName%, %CardNr%, Option1, EMPTY
   IniRead, CardNext1, %CardFileName%, %CardNr%, Next1, %CardNr%
   if CardOption1 = EMPTY
      CardOptionNumber = 0
}



the content is in an ini-file like this(rpg.ini):
Code:
[Config]
Type=RPGCARDSET
Version=1
Name=Die ersten Schritte
StartPoint=1
BackgroundColor=white
TextColor=black

[Default]
Style=Standard
Title=
Story=
Quest=Was willst Du tun?
Option1=
Next1=
Option2=
Next2=
Option3=
Next3=
Option4=
Next4=

[1]
Style=Standard
Title=Erwachen
Story=Du wachst auf, deine Augen öffnen sich langsam und blicken auf eine unerträglich helle Fläche, dein Kopf schmerzt.
Quest=Was willst Du tun?
Option1=Ich drehe mich um und schlafe noch eine Runde.
Next1=2
Option2=Ich versuche zu erkennen, was meine Augen da eigentlich erblicken.
Next2=3
Option3=Ich setzte mich erstmal auf, um mich in Ruhe zu orientieren.
Next3=4

[2]
Style=Standard
Title=In Morpheus Armen
Story= Oh welch süßer Traum! Die schönsten Dinge kommen einem im Schlaf, doch bleiben sie nie lange genug, um sie festzuhalten. Bis auf das komische Summen vieleicht.
Quest=Hä?
Option1=...
Next1=1

[3]
Style=Standard
Title=Grelles Licht
Story=Du kannst eigentlich nur eine sehr helle, weiße, wabernde Fläche sehen. Du bist Dir nichtmal sicher, ob Du wirklich was siehst. Soweit das Auge reicht (das heißt vom linken bis zum rechten Augenwinkel) nur weißes Wabern.
Quest=Was willst Du tun?
Option1=Ich drehe den Kopf langsam zur Seite, um mal eine andere Perspektive zu bekommen.
Next1=6
Option2=Ich setzte mich erstmal auf, um mich in Ruhe zu orientieren.
Next2=4

[4]
Style=Standard
Title=Aua!
Story=Sich einfach unvermittelt aufzusetzen kann ärgerlich sein. Man kann sich ganz heftig den Kopf stoßen, oder man kann festellen, daß einem eigentlich ganz schön schwindelig ist, oder ...
Quest=...
Option1=Oder was?
Next1=5

[5]
Style=Standard
Title=Oder
Story=... oder man schiebt seinen Oberkörper durch ein Kraftfeld, das 50cm über einem schwebt. Beim Passieren des Kraftfeldes verlieren deine Moleküle leider jeden Zusammenhalt, ärgerlich.
Quest=Du bist tot!
Option1=Wie ärgerlich!
Next1=99
Option2=Was solls, ich bin Buddhist!
Next2=99

[6]
Style=Standard
Title=So viel Weiß!
Story=Du drehst deinen Kopf zu Seite. Zunächst ändert sich nichts an dem Anblick, doch dann kommen ein paar Dinge in dein Blickfeld, die Du wiedererkennst.
Quest=Ist das nicht?
Option1=Mein Schrank?
Next1=7

[7]
Style=Standard
Title=Ein halber Schrank...
Story=In der Tat, dein Schrank. Er steht da wo er stehen soll. Aber irgendwie scheint er kürzer zu sein als er sollte. Es sieht so aus, als würde der Schrank von der weißen wabernden Fläche oben abgeschnitten.
Quest=Äh!
Option1=...
Next1=8

[8]
Style=Standard
Title=...in einem halben Zimmer
Story=Und nicht nur der Schrank leidet unter Zwergenwuchs. Dem ganzen Zimmer scheint die obere Hälfte zu fehlen. Es sieht fast so aus, als hätte ein Team besoffener Bauarbeiter in deinem Zimmer eine Zwischendecke aus Milchglas eingezogen, und zwar in Hüfthöhe!
Quest=Interessant. War Ich das etwa? So viel hab ich gestern doch gar nicht gesoffen.
Option1=Komische Deckenhöhe, und komisches Material, sehr komisches Material. Was das wohl ist?
Next1=9
Option2=Und warum summt das hier so? Der Fernseher kann es nicht sein, der ist aus. Zumindest die untere Hälfte.
Next2=10

[9]
Style=Standard
Title=Weiß, hell und wabernd...
Story=Das Material sieht eigentlich gar nicht wie ein Material aus, jedenfalls nicht wie ein Material, daß Du kennst, oder von dem Du Dir vorstellen könntest, daß es existieren könnte.
Quest=Wie sich das wohl anfühlt?
Option1=Mal anfassen!
Next1=11
Option2=Besser nicht anfassen!
Next2=12


[99]
Style=Standard
Title=ENDE!
Story=Das Spiel ist aus!
Quest=Spiel neu starten oder beenden?
Option1=Neustart!
Next1=1
Option2=Beenden!
Next2=999

[999]
Style=END

sorry the ini-file is in german
Back to top
Fry



Joined: 01 Nov 2007
Posts: 689

PostPosted: Thu Apr 24, 2008 1:35 am    Post subject: Reply with quote

@Ian i like your rpg
_________________
check out my site
www.eliteknifesquad.com
Back to top
View user's profile Send private message
BLooM2



Joined: 05 May 2008
Posts: 19
Location: China

PostPosted: Mon May 05, 2008 5:41 am    Post subject: Reply with quote

Funny scrip
_________________
Fantasy OnLine
Back to top
View user's profile Send private message Visit poster's website
Fry



Joined: 01 Nov 2007
Posts: 689

PostPosted: Fri May 30, 2008 9:08 pm    Post subject: Reply with quote

So is this discontinued?
_________________
check out my site
www.eliteknifesquad.com
Back to top
View user's profile Send private message
Trikster



Joined: 15 Jul 2007
Posts: 1224
Location: Enterprise, Alabama

PostPosted: Fri May 30, 2008 10:14 pm    Post subject: Reply with quote

I am working on one.
_________________
ScriptPad | ~dieom | dieom | izwian2k7 | Ian | God
Back to top
View user's profile Send private message
Fry



Joined: 01 Nov 2007
Posts: 689

PostPosted: Sat May 31, 2008 12:24 am    Post subject: Reply with quote

Sweet, When will it be done?
_________________
check out my site
www.eliteknifesquad.com
Back to top
View user's profile Send private message
Trikster



Joined: 15 Jul 2007
Posts: 1224
Location: Enterprise, Alabama

PostPosted: Sun Jun 01, 2008 5:19 pm    Post subject: Reply with quote

There is no set release date, but I would say in the next month or so.
_________________
ScriptPad | ~dieom | dieom | izwian2k7 | Ian | God
Back to top
View user's profile Send private message
Rhys



Joined: 17 Apr 2007
Posts: 736
Location: Florida

PostPosted: Mon Jun 02, 2008 12:40 pm    Post subject: Reply with quote

Fry wrote:
So is this discontinued?
Not discontinued, but I haven't had any time to work on it (and probably won't for a while...).
_________________
[Join IRC!]

http://www.codeforcure.org/
Back to top
View user's profile Send private message
Deller



Joined: 21 Nov 2007
Posts: 214
Location: 0x01101110

PostPosted: Tue Jun 03, 2008 8:58 pm    Post subject: Reply with quote

Great start.

IMHO you should go for the Attack types instead of the rock paper scissors.
The rock paper scissors might seems too much like the original game.

You should definatly have money and weapon/supply shops and maybe later on even armor.

More types of enimies and developing a story would make the game much more interesting.

Quests and maps can come later. Something like a grip map might work with buttons to walk.Regions can turn into others you walk out of them. Paths would be less likely to encounter enimies. You could put shops and questgivers in the map too.

I know this cant be done overnight but with time it could be done.
All in all, a very good start.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AutoHotkey Community Forum Index -> Scripts & Functions All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group