Project1

标题: 给rm加上按钮 [打印本页]

作者: sizz123    时间: 2008-5-26 05:25
标题: 给rm加上按钮
   偶尔看到:"从外部导入脚本"的文章,联想到用api可以实现rm与vb间的信息传输-----如果vb输出的是一段rm脚本,rm又能读那脚本,那么是完全可以用vb的按钮来执行rm的命令.
比如:当我按下vb的存档按钮的时候,传输1个命令"$scene=scene_save".....当然,这个论题还在研究中.

ps:前几天看网络上vb文章的时候,发现可以用它播放影音文件,好象是用风暴的dll----我不清楚用SetParent的方式会不会有效果



作者: yangff    时间: 2008-5-26 06:03
      if FileTest.exist?("waitorun.list")
        a = []
        f = File.open("waitorun.list")
          f.each {|line|
                a.push(line)
          }
        f.close
        File.delete("waitorun.list")
        for i in 0...a.size
          eval(a)
        end
      end

作者: yangff    时间: 2008-5-26 06:03
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetFocusapi Lib "user32" Alias "SetFocus" (ByVal hWnd As Long) As Long
Private Sub Command1_Click()
Dim hWnd As Long
hWnd = FindWindow(vbNullString, Text1.Text)
If hWnd <> 0 Then
    Open App.Path & "\waitorun.list" For Output As #1
    Print #1, Text2.Text
    Close
    SetFocusapi (hWnd)
Else
    MsgBox ("无法取得句柄?请自行给予窗体焦点")
    Open App.Path & "\waitorun.list" For Output As #1
    Print #1, Text2.Text
    Close
End If
End Sub

作者: yangff    时间: 2008-5-26 06:03
窗口句柄获得不能
作者: 小lim    时间: 2008-5-26 07:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: yangff    时间: 2008-5-26 19:41
以下引用小lim于2008-5-25 23:22:57的发言:

楼主的思路完全能够做到,而且还有更省事的方法,自写一个API就好了,简单很多……
网络上有很多参考,不难的。

有吗?发个给我?
作者: sizz123    时间: 2008-5-27 03:54
   不需要用相对路径的,把vb和rm放在同一个文件夹中,直接写文件名就好了
作者: psyo    时间: 2008-5-27 22:34
{/fd}貌似是RM的外挂一样.......到外挂技术网站去看看,应该能写出来的,比较期待~~~~~~ 楼主可以用 <<易语言>>+小烦外挂海模块试试,很强大的外挂专用编写模块,会VB因该很容易看懂...
作者: sizz123    时间: 2008-5-28 04:14

以下引用psyo于2008-5-27 14:34:28的发言:

貌似是RM的外挂一样.......到外挂技术网站去看看,应该能写出来的,比较期待~~~~~~ 楼主可以用 <<易语言>>+小烦外挂海模块试试,很强大的外挂专用编写模块,会VB因该很容易看懂...


[本贴由作者于 2008-5-27 14:36:51 最后编辑]

谢谢关心,不过我没有用过易语言.
-------------------------------------------------------------------------------
有个问题:如何获得窗体的大小和位置,用什么函数?
作者: yangff    时间: 2008-5-28 04:41
大小不就是640*480,至于位子我记得有API
作者: sizz123    时间: 2008-5-30 02:54
以下引用yangff于2008-5-27 20:41:44的发言:

大小不就是640*480,至于位子我记得有API


暂时找不到那个函数,不过也容易改变----统一用setwindowpos将vb和rm定位.


作者: sizz123    时间: 2008-5-30 03:42
基本过程已经出来了
1,写入rm窗体句柄到rmjb.txt
2,写入rm窗体坐标到rmjb.txt第二行
2,vb读那个句柄,已经用skipline读第二行,获得rm窗体的位置
3,用setwindpos根据rm窗体的位置设置vb的窗体的位置
4,输出脚本命令到rgss.txt

然后是rm部分
  假如:读外部脚本的命令是:$read.scr(里头包括读外部脚本的语句)
  写个并行事件
  当开关1为开的时候,执行$read.scr(执行完后,要关闭开关,避免反复读入.比如调用的存档,就要在存档脚本后加上开关关闭的语句)

  开关1(读外部脚本的开关)的开启条件,自然是玩家调用vb的时候开启了
  

作者: psyo    时间: 2008-5-30 04:46
{/fd}直接象指定句柄的窗口发送文本不是更简单?
作者: yangff    时间: 2008-5-30 05:28
不过ms直接用鼠标相应图片更方便。
ruby阿,我对你又爱又恨
作者: bububinghe    时间: 2008-5-30 07:08
只知道VB可以做封包...别的不晓得...
作者: sizz123    时间: 2008-5-30 07:16
以下引用psyo于2008-5-29 20:46:51的发言:
直接象指定句柄的窗口发送文本不是更简单?


能告诉我方法吗?

作者: sizz123    时间: 2008-5-30 07:21
以下引用yangff于2008-5-29 21:28:14的发言:

不过ms直接用鼠标相应图片更方便。
ruby阿,我对你又爱又恨

   鼠标脚本调用图片显示程序?呵呵,考虑过右键菜单问题.
   不过,我还不想做那个

作者: orochi2k    时间: 2008-5-30 07:49
呃...我其实感觉在RMXP里面做图片状的按钮更方便...-_-0
作者: sizz123    时间: 2008-5-30 19:14
以下引用orochi2k于2008-5-29 23:49:54的发言:

呃...我其实感觉在RMXP里面做图片状的按钮更方便...-_-0


你那个东西测试完了吗?

作者: 禾西    时间: 2008-5-30 19:27
以下引用orochi2k于2008-5-29 23:49:54的发言:

呃...我其实感觉在RMXP里面做图片状的按钮更方便...-_-0

同感...禾西手上這個維持在37~39FPS
作者: sizz123    时间: 2008-5-31 00:26
   鼠标脚本+图片事件...基本上就是外挂脚本拼凑
作者: yangff    时间: 2008-5-31 01:12
图片的话。。。
http://rpg.blue/viewthread.php?tid=88346




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1