首页 dota游戏改键程序war3key的源码

dota游戏改键程序war3key的源码

举报
开通vip

dota游戏改键程序war3key的源码dota游戏改键程序war3key的源码 ;War3Key 源代码 ;作者 : lwjiee ;日期 : 2008年8月30日 ;代码说明 ;m_开头表示自定义标量 ;f_开头表示自定义标号/子程序 ;详见注释 ;编译器版本 ; ;软件功能详细说明 /* 1.War3中显血条 2.程序间切换,不改变显血状态 3.自定义技能/物品栏/英雄快捷键 4.支持聊天,聊天模式下,自动取消自定义键盘。采用的是,判断像素点的方法。 该方法局限性巨大,准备工作量大。目前技能支持 800*600*32...

dota游戏改键程序war3key的源码
dota游戏改键程序war3key的源码 ;War3Key 源代码 ;作者 : lwjiee ;日期 : 2008年8月30日 ;代码说明 ;m_开头表示自定义标量 ;f_开头表示自定义标号/子程序 ;详见注释 ;编译器版本 ; ;软件功能详细说明 /* 1.War3中显血条 2.程序间切换,不改变显血状态 3.自定义技能/物品栏/英雄快捷键 4.支持聊天,聊天模式下,自动取消自定义键盘。采用的是,判断像素点的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。 该方法局限性巨大,准备工作量大。目前技能支持 800*600*32 模式及 1024*786*32 模式。并且,魔兽中 选项(O)->图像(V) 下面都要调成高。 5.屏蔽左Win 6.ScrollLock 手动取消/启动自定义键盘,因为比如在BN聊天室,或者局域网主 机等人界面,没有游戏中黄色的聊天对话框,但是用户想聊天的情况。 启动显血功能 7.End,Home 手动取消/ 8.用户设置自动保存,以隐藏文件war3key.ini的方法,因此,用户移动war3key 到其它目录,需要重新设置。 9.如果感觉我描述不清晰,使用该软件,在游戏环境中体会即可。 */ ;---------------------------------------------------------------- ;主程序 ;---------------------------------------------------------------- Gosub, f_EnvironmentSetting ;脚本环境设置 Gosub, f_Initialize ;初始化变量 Gosub, f_ShowMainWindow ;显示用户界面 Gosub, f_ShowTray ;显示托盘图标 Gosub, f_UserDefineKeyboard ;自定义键盘 SetScrollLockState, On ;打开指示灯 Loop ;进入循环 { ;不停检测War3是否为活动程序 IfWinActive, Warcraft III ahk_class Warcraft III { ;切入到War3程序 If (m_bInWarCraft == False) { ;显血 If (m_bAllyHealthBarOn == True) { ;从其它程序切回War3,需要重新发送 [ 和 ] 显血,刷新War3显示 Send, {[ Up} Send, {[ Down} } If (m_bEnemyHealthBarOn == True) { Send, {] Up} Send, {] Down} } m_bInWarCraft := True } Gosub, f_CheckChatFrame } Else ;如果不再war3程序里 { ;如果是从war3里切出来的 If (m_bInWarCraft == True) { m_bInWarCraft := False } } ;时间间隔100ms Sleep 100 } ;---------------------------------------------------------------- ;主程序结束 ;---------------------------------------------------------------- ;---------------------------------------------------------------- ;子程序定义 ;---------------------------------------------------------------- ;设置脚本环境 f_EnvironmentSetting: { #SingleInstance force #NoEnv #IfWinActive, Warcraft III ahk_class Warcraft III ;仅在war3下有效 SendMode, Play SetMouseDelay, 0 SetKeyDelay, 0 CoordMode, Pixel, Screen Return } ;初始化变量 f_Initialize: { ;初始化自定义变量 m_bAllyHealthBarOn := True ;友方血条 m_bEnemyHealthBarOn := True ;敌方血条 m_bInWarCraft := False ;是否在war3程序中 m_bUseHotKey := True ;是否开启了自定义快捷键 m_Data=2008年8月30日 ;日期 ;800*600模式下标志点的坐标 m_SmallPointX = 375 m_SmallPointY = 468 ;1024*786模式下标志点的坐标 m_LargePointX = 499 m_LargePointY = 599 ;系统屏幕尺寸 m_SmallScreenSize = 800 m_LargeScreenSize = 1024 ;标志点颜色,4个数组元素分别是NE,UD,HUM,ORC,800*600模式下,32位模式 m_SmallPointColorNE = 0x101916 m_SmallPointColorUD = 0x111519 m_SmallPointColorHUM = 0x10141A m_SmallPointColorORC = 0x11161C ;标志点颜色,4个数组元素分别是NE,UD,HUM,ORC,1024*786模式下,32位模式 m_LargePointColorNE = 0x685309 m_LargePointColorUD = 0x654F09 m_LargePointColorHUM = 0x67510C m_LargePointColorORC = 0x68510C m_HelpText = ( . 提示 该工具读像素点颜色值,判断是否处于聊天状态,因此具有一定局限性。 仅在 800*600*32 或 1024*786*32 图像模式下有效,且【选项】-> 【图像】->下各选项需均为高。 BN 聊天室里,或者局域网主机等人时聊天,请使用 ScrollLock 键手动 开启/取消 自定义键盘。 Fighting! ) Return } ;设置用户输入界面主窗口 f_ShowMainWindow: { Gui, -MaximizeBox -MinimizeBox +ToolWindow Gui, Font, s16 bold, Matisse ITC ;组合框 Gui, Add, GroupBox, x186 y13 w170 h150, 物品栏 Gui, Add, GroupBox, x6 y93 w170 h110, 技能 Gui, Add, GroupBox, x6 y13 w170 h70, 英雄 ;静态文本显示 Gui, Add, Text, x296 y48 w40 h20, ->8 Gui, Add, Text, x296 y88 w40 h20, ->5 Gui, Add, Text, x296 y128 w40 h20, ->2 Gui, Add, Text, x216 y48 w40 h20, ->7 Gui, Add, Text, x216 y88 w40 h20, ->4 Gui, Add, Text, x216 y128 w40 h20, ->1 Gui, Add, Text, x36 y48 w50 h20, ->F1 Gui, Add, Text, x116 y48 w50 h20, ->F2 Gui, Add, Text, x36 y128 w25 h20, -> Gui, Add, Text, x36 y168 w25 h20, -> Gui, Add, Text, x116 y128 w25 h20, -> Gui, Add, Text, x116 y168 w25 h20, -> ;英雄编辑框 Gui, Add, Edit, x16 y43 w20 h30 vm_Hero1 Limit1, Gui, Add, Edit, x96 y43 w20 h30 vm_Hero2 Limit1, ;物品栏编辑框 Gui, Add, Edit, x196 y43 w20 h30 vm_Item7 Limit1, Gui, Add, Edit, x276 y43 w20 h30 vm_Item8 Limit1, Gui, Add, Edit, x196 y83 w20 h30 vm_Item4 Limit1, Gui, Add, Edit, x276 y83 w20 h30 vm_Item5 Limit1, Gui, Add, Edit, x196 y123 w20 h30 vm_Item1 Limit1, Gui, Add, Edit, x276 y123 w20 h30 vm_Item2 Limit1, ;技能编辑框 Gui, Add, Edit, x16 y123 w20 h30 vm_OldSkill1 Limit1, Gui, Add, Edit, x61 y123 w20 h30 vm_NewSkill1 Limit1, Gui, Add, Edit, x96 y123 w20 h30 vm_OldSkill2 Limit1, Gui, Add, Edit, x141 y123 w20 h30 vm_NewSkill2 Limit1, Gui, Add, Edit, x16 y163 w20 h30 vm_OldSkill3 Limit1, Gui, Add, Edit, x61 y163 w20 h30 vm_NewSkill3 Limit1, Gui, Add, Edit, x96 y163 w20 h30 vm_OldSkill4 Limit1, Gui, Add, Edit, x141 y163 w20 h30 vm_NewSkill4 Limit1, ;按钮 Gui, Add, Button, x196 y173 w60 h30, 帮助 Gui, Add, Button, default x286 y173 w60 h30, 确定 ;读取INI文件,初始化这些编辑框控件 GoSub, f_ReadSetting Return } ;设置托盘图标 f_ShowTray: { Menu, Tray, NoStandard Menu, Tray, Add, 设置 Menu, Tray, Add, 说明 Menu, Tray, Add, 退出 Menu, Tray, Default, 设置 Menu, Tray, Click, 1 ;单击打开托盘图标 Menu, Tray, Tip, 魔兽自定义快捷键 Menu, Tray, Icon, , , 1 ;保持不变 Return } ;自定义键盘 f_UserDefineKeyboard: { if m_Item7 { HotKey, %m_Item7%, f_OnItem7 } if m_Item4 { HotKey, %m_Item4%, f_OnItem4 } if m_Item1 { HotKey, %m_Item1%, f_OnItem1 } if m_Item8 { HotKey, %m_Item8%, f_OnItem8 } if m_Item5 { HotKey, %m_Item5%, f_OnItem5 } if m_Item2 { HotKey, %m_Item2%, f_OnItem2 } if m_Hero1 { HotKey, %m_Hero1%, f_OnHero1 } if m_Hero2 { HotKey, %m_Hero2%, f_OnHero2 } if m_OldSkill1 { if m_NewSkill1 { Hotkey, %m_NewSkill1%, f_OnSkill1 } } if m_OldSkill2 { if m_NewSkill2 { Hotkey, %m_NewSkill2%, f_OnSkill2 } } if m_OldSkill3 { if m_NewSkill3 { Hotkey, %m_NewSkill3%, f_OnSkill3 } } if m_OldSkill4 { if m_NewSkill4 { Hotkey, %m_NewSkill4%, f_OnSkill4 } } Return } ;保存用户设置 f_SaveSetting: { Gui, Submit ;获取用户输入 m_FileText= ;INI文件的内容 ( [Item] Item8=%m_Item8% Item7=%m_Item7% Item5=%m_Item5% Item4=%m_Item4% Item2=%m_Item2% Item1=%m_Item1% [Hero] Hero1=%m_Hero1% Hero2=%m_Hero2% [Skill] OldSkill1=%m_OldSkill1% NewSkill1=%m_NewSkill1% OldSkill2=%m_OldSkill2% NewSkill2=%m_NewSkill2% OldSkill3=%m_OldSkill3% NewSkill3=%m_NewSkill3% OldSkill4=%m_OldSkill4% NewSkill4=%m_NewSkill4% ) FileDelete, %A_ScriptDir%\War3key.ini ;存在该文件,删除先 FileAppend, %m_FileText%, %A_ScriptDir%\War3key.ini ;写入 FileSetAttrib, +H, %A_ScriptDir%\War3key.ini ;设置为隐藏属性 Return } ;读取用户设置 f_ReadSetting: { m_SettingFile =%A_ScriptDir%\War3key.ini ;INI文件名 if FileExist( m_SettingFile ) ;读入到相应变量 { ;物品栏 IniRead, m_Item8, %A_ScriptDir%\War3key.ini, Item, Item8 IniRead, m_Item7, %A_ScriptDir%\War3key.ini, Item, Item7 IniRead, m_Item5, %A_ScriptDir%\War3key.ini, Item, Item5 IniRead, m_Item4, %A_ScriptDir%\War3key.ini, Item, Item4 IniRead, m_Item2, %A_ScriptDir%\War3key.ini, Item, Item2 IniRead, m_Item1, %A_ScriptDir%\War3key.ini, Item, Item1 ;英雄 IniRead, m_Hero1, %A_ScriptDir%\War3key.ini, Hero, Hero1 IniRead, m_Hero2, %A_ScriptDir%\War3key.ini, Hero, Hero2 ;技能 IniRead, m_OldSkill1, %A_ScriptDir%\War3key.ini, Skill, OldSkill1 IniRead, m_OldSkill2, %A_ScriptDir%\War3key.ini, Skill, OldSkill2 IniRead, m_OldSkill3, %A_ScriptDir%\War3key.ini, Skill, OldSkill3 IniRead, m_OldSkill4, %A_ScriptDir%\War3key.ini, Skill, OldSkill4 IniRead, m_NewSkill1, %A_ScriptDir%\War3key.ini, Skill, NewSkill1 IniRead, m_NewSkill2, %A_ScriptDir%\War3key.ini, Skill, NewSkill2 IniRead, m_NewSkill3, %A_ScriptDir%\War3key.ini, Skill, NewSkill3 IniRead, m_NewSkill4, %A_ScriptDir%\War3key.ini, Skill, NewSkill4 ;刷新用户界面显示,更新控件 ;物品栏 GuiControl, , m_Item8, %m_Item8% GuiControl, , m_Item7, %m_Item7% GuiControl, , m_Item5, %m_Item5% GuiControl, , m_Item4, %m_Item4% GuiControl, , m_Item2, %m_Item2% GuiControl, , m_Item1, %m_Item1% ;英雄 GuiControl, , m_Hero1, %m_Hero1% GuiControl, , m_Hero2, %m_Hero2% ;技能 GuiControl, , m_OldSkill1, %m_OldSkill1% GuiControl, , m_OldSkill2, %m_OldSkill2% GuiControl, , m_OldSkill3, %m_OldSkill3% GuiControl, , m_OldSkill4, %m_OldSkill4% GuiControl, , m_NewSkill1, %m_NewSkill1% GuiControl, , m_NewSkill2, %m_NewSkill2% GuiControl, , m_NewSkill3, %m_NewSkill3% GuiControl, , m_NewSkill4, %m_NewSkill4% } Return } ;判断是否有聊天框 f_CheckChatFrame: { If(A_ScreenWidth = m_SmallScreenSize) ;如果是 800*600*32 显示模式 { PixelGetColor, m_Color, m_SmallPointX, m_SmallPointY, RGB ;获取标志点颜色值 If(m_Color = m_SmallPointColorNE Or m_Color = m_SmallPointColorUD Or m_Color = m_SmallPointColorHUM Or m_Color = m_SmallPointColorORC) { ;如果出现聊天框 SetScrollLockState, Off ;关 ScrollLock 灯 Suspend, On ;挂起脚本 } Else ;如果没有聊天框 { If(m_bUseHotkey == True) ;愿意使用自定义键盘,在游戏中 { SetScrollLockState, On Suspend, Off ; MsgBox,hellp } Else ;不愿意使用自定义键盘,在局域网聊天频道,或者 BN 聊天频道, 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 ,黄色的)聊天框,大家还是不希望使用自定义键盘 { ;虽然没有( SetScrollLockState, Off Suspend, On } } } Else { If(A_ScreenWidth = m_LargeScreenSize) ;如果是 1024*786*32 显示模式 { PixelGetColor, m_Color, m_LargePointX, m_LargePointY, RGB If(m_Color = m_LargePointColorNE Or m_Color = m_LargePointColorUD Or m_Color = m_LargePointColorHUM Or m_Color = m_LargePointColorORC) { SetScrollLockState, Off Suspend, On } Else { If(m_bUseHotkey == True) { SetScrollLockState, On Suspend, Off ;MsgBox,hellp } Else { SetScrollLockState, Off Suspend, On } } } } Return } ;---------------------------------------------------------------- ;子程序定义结束 ;---------------------------------------------------------------- ;---------------------------------------------------------------- ;快捷键定义开始 ;---------------------------------------------------------------- ;Home键开启/关闭友方血条显示 Home:: Suspend, Permit { if ( m_bAllyHealthBarOn == False ) { Send, {[ Down} } else { Send, {[ Up} } m_bAllyHealthBarOn := Not m_bAllyHealthBarOn return } ;End键开启/关闭敌方血条显示 End:: Suspend, Permit { if ( m_bEnemyHealthBarOn == False ) { Send, {] Down} } else { Send, {] Up} } m_bEnemyHealthBarOn := Not m_bEnemyHealthBarOn return } ;ScrollLock键开启/关闭自定义键盘 ScrollLock:: Suspend, Permit { m_bUseHotkey := Not m_bUseHotkey return } ;屏蔽左Win键 LWin:: Suspend, Permit Return ;---------------------------------------------------------------- ;快捷键定义结束 ;---------------------------------------------------------------- ;---------------------------------------------------------------- ;用户界面响应 ;---------------------------------------------------------------- ;按钮动作——帮助 Button帮助: { ;显示帮助文件 MsgBox, , War3Key - Help,%m_HelpText%, return } ;按钮动作——确定 Button确定: { ;读取用户设置,保存到INI文件 GoSub, f_SaveSetting ;重启脚本 Reload return } ;按钮动作——关闭 GuiClose: { ExitApp return } ;托盘按钮动作——设置 设置: { Gui, Show, , War3Key ;显示主界面-设置界面 return } ;托盘按钮动作——说明 说明: { GoSub, Button帮助 ;作用同Button帮助按钮相同 return } ;托盘按钮动作——退出 退出: { ExitApp return } ;---------------------------------------------------------------- ;用户界面响应结束 ;---------------------------------------------------------------- ;---------------------------------------------------------------- ;自定义键盘相关子程序 ;---------------------------------------------------------------- f_OnItem7: { Send, {Numpad7} return } f_OnItem4: { Send, {Numpad4} return } f_OnItem1: { Send, {Numpad1} return } f_OnItem8: { Send, {Numpad8} return } f_OnItem5: { Send, {Numpad5} Return } f_OnItem2: { Send, {Numpad2} return } f_OnHero1: { Send, {F1} return } f_OnHero2: { Send, {F2} return } f_OnSkill1: { Send, %m_OldSkill1% return } f_OnSkill2: { Send, %m_OldSkill2% return } f_OnSkill3: { Send, %m_OldSkill3% return } f_OnSkill4: { Send, %m_OldSkill4% return } ;---------------------------------------------------------------- ;自定义键盘相关子程序结束 ;---------------------------------------------------------------- ;---------------------------------------------------------------- ;注释: lwjiee ;日期: 2008年8月30日 ;程序结束 ;----------------------------------------------------------------
本文档为【dota游戏改键程序war3key的源码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_348501
暂无简介~
格式:doc
大小:49KB
软件:Word
页数:24
分类:生活休闲
上传时间:2017-10-22
浏览量:49