`
sunnymoon
  • 浏览: 90123 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

和Sun一起开源(武林外传游戏外挂Java源代码) - 论坛版

阅读更多

      以下是我在大三时,武林外传游戏还在公测时写的一个外挂,辅助玩游戏。以前在大学时用着很好用,和大家共享出来。希望有朋友能够进行重构,发布一些更好用的JAVA实现的外挂程序。

 

      由于这是本人的处女做,所以代码结构有些乱,但由于程序本身并不是很复杂,有心人是一定会看懂的,此外还有一些简单的注释。

 

      由于当时不会使用IDE,仅用记事本写的,所以写得比较辛苦,也花费了较长时间。希望对大家能够有所帮助。

 

package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*; 

//主类
public class Action
{
 static int TimeNumber=0;
 public static void main(String[] args)
 {
  ViewFlow vf=new ViewFlow();
  vf.addActionlistener();
  }
 }

 

  

package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;


class MyActionListener2 implements ActionListener//核心类(实现主要功能)
 {
  static int ip=0;
  public void actionPerformed(ActionEvent e2)
  {
    try
    {
      Robot robot=new Robot();
     int x=73,y=23,
         x2=ViewFlow.slider1.getValue(),
             y2=23,
         x3=228,y3=26,
         x4=0,y4=0;
/*
int i=ViewFlow.slider1.getValue(),j=23,k=0;
    {
      try
      {
       Robot rb=new Robot();
       while(k<1)
         { 
          rb.mouseMove(i,j);
         rb.getPixelColor(i,j);
         System.out.print((k++)+": "+rb.getPixelColor(i,j)+": ");
         System.out.println("(i="+(i++)+",j="+j+");");
           }
          }
          catch(AWTException e3){}
    }
*/
   if(robot.getPixelColor(x,y).equals(new Color(255,75,53))&&MyActionListener2.ip==1)//自动打怪
         {
       robot.keyPress(KeyEvent.VK_5);//捡东西
          if(  robot.getPixelColor(x3,y3).equals(new Color(255,107,87))
                                                   ||robot.getPixelColor(x3,y3).equals(new Color(255,107,86)))
          {
           robot.keyPress(KeyEvent.VK_1);//技能1
           //robot.keyPress(KeyEvent.VK_2);//技能2
           //robot.keyPress(KeyEvent.VK_3);//技能3
           //robot.keyPress(KeyEvent.VK_4);//打怪1
           }
          else
          {
           robot.keyPress(KeyEvent.VK_TAB);
           robot.keyRelease(KeyEvent.VK_TAB);
           }
          }
          
          
              //System.out.println(MyActionListener.myTimer.getDelay());//改变加血速度测试
   if(!robot.getPixelColor(x,y).equals(new Color(255,75,53)))
   {
    ViewFlow.setText1("提示:请启动游戏");
    //System.out.println(ViewFlow.slider1.getValue());//测试1
    //System.out.println(ViewFlow.slider2.getValue());//测试2
    }                                        
   else if(  robot.getPixelColor(x2,y2).equals(new Color(255,75,53))       //加血位置与血的颜色相等
             ||robot.getPixelColor(x,y).equals(robot.getPixelColor(x2,y2))   //加血位置与指定的理想的血的位置的颜色相等
           /*
           ||robot.getPixelColor(x2,y2).equals(new Color(255,159,147))     //加血位置与指血的颜色1比较 
              ||robot.getPixelColor(x2,y2).equals(new Color(247,193,186))     //加血位置与指血的颜色2比较 
              ||robot.getPixelColor(x2,y2).equals(new Color(228,103,88))      //加血位置与指血的颜色3比较 
              ||robot.getPixelColor(x2,y2).equals(new Color(245,72,51))       //加血位置与指血的颜色4比较 
              ||robot.getPixelColor(x2,y2).equals(new Color(255,183,174))     //加血位置与指血的颜色5比较 
              ||robot.getPixelColor(x2,y2).equals(new Color(228,91,75))       //加血位置与指血的颜色6比较 
              ||robot.getPixelColor(x2,y2).equals(new Color(248,73,52))       //加血位置与指血的颜色7比较 
              ||robot.getPixelColor(x2,y2).equals(new Color(225,195,188))     //加血位置与指血的颜色8比较 
              ||robot.getPixelColor(x2,y2).equals(new Color(235,141,130))     //加血位置与指血的颜色9比较 
              ||robot.getPixelColor(x2,y2).equals(new Color(235,69,49))       //加血位置与指血的颜色10比较
              ||robot.getPixelColor(x2,y2).equals(new Color(239,154,144))     //加血位置与指血的颜色11比较
              */
           )
   {
    ViewFlow.setText1("不需加血");
    }
    
   else if(  robot.getPixelColor(x,y).equals(new Color(255,75,53))//加血
             &&!robot.getPixelColor(x,y).equals(robot.getPixelColor(x2,y2))
           )
    {
       robot.keyPress(KeyEvent.VK_F8);//加血的键位
       //ViewFlow.setText1("自动加血开始");   
       }
   
   }
    catch(AWTException eException1){}
   
   }
  
  }

 

 

   

package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;

class MyActionListener3 implements ActionListener
   {
    public void actionPerformed(ActionEvent e3)
    {
       MyActionListener.myTimer.stop();
       ViewFlow.setText1("       外挂程序已停止");
     }
    }

 

 

 

   

package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;

class MyActionListener4 implements ActionListener
    {
     public void actionPerformed(ActionEvent e7)
     {
       if(e7.getSource()==ViewFlow.helpMenuItem1)//打开使用帮助网页
       {
         try
        {
          Runtime.getRuntime().exec("\"C:\\Program  Files\\Internet  Explorer\\iexplore.exe\"http://blog.csdn.net/sunnyjavamoon/archive/2006/10/27/1352772.aspx");  
         }
         catch(IOException eIO){}
        }
       
       else if(e7.getSource()==ViewFlow.helpMenuItem2)//打开在线更新网页
       {
         try
        {
          Runtime.getRuntime().exec("\"C:\\Program  Files\\Internet  Explorer\\iexplore.exe\"http://blog.csdn.net/sunnyjavamoon/archive/2006/11/04/1366552.aspx");  
         }
         catch(IOException eIO){}
        }
        
       else if(e7.getSource()==ViewFlow.helpMenuItem3)//打开作者主页网页
       {
         try
        {
          Runtime.getRuntime().exec("\"C:\\Program  Files\\Internet  Explorer\\iexplore.exe\"http://blog.csdn.net/SunnyJavaMoon/");  
         }
         catch(IOException eIO){}
        }
       
       else if(e7.getSource()==ViewFlow.helpMenuItem4)//打开关于网页
       {
         try
        {
          Runtime.getRuntime().exec("\"C:\\Program  Files\\Internet  Explorer\\iexplore.exe\"http://blog.csdn.net/sunnyjavamoon/archive/2006/10/27/1352772.aspx");  
         }
         catch(IOException eIO){}
        }
        
       else if(e7.getSource()==ViewFlow.exchangeItem1)//论坛交流
       {
         try
        {
          Runtime.getRuntime().exec("\"C:\\Program  Files\\Internet  Explorer\\iexplore.exe\"http://vip3.getbbs.com/Board/TList.aspx?BID=5177");  
         }
         catch(IOException eIO){}
        }
       
       else if(e7.getSource()==ViewFlow.exchangeItem2)//论坛主页
       {
         try
        {
          Runtime.getRuntime().exec("\"C:\\Program  Files\\Internet  Explorer\\iexplore.exe\"http://ljf365.getbbs.com");  
         }
         catch(IOException eIO){}
        }
       else if(e7.getSource()==ViewFlow.jbt3)//论坛主页
       {
         try
        {
          Runtime.getRuntime().exec("\"C:\\Program  Files\\Internet  Explorer\\iexplore.exe\"http://blog.csdn.net/sunnyjavamoon/archive/2006/11/04/1366552.aspx");  
         }
         catch(IOException eIO){}
        }
       }
      }

 

 

 

   

package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;

class MyActionListener implements ActionListener
 {
  static Timer myTimer=new Timer(1500,new MyActionListener2());//速度控制    
  public void actionPerformed(ActionEvent e)
  {
   ViewFlow.setText1("        外挂程序启动中......");                               
   MyActionListener.myTimer.start();                      
   }
  }

 

 

 

   

package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;

class MyChangeListener1 implements ChangeListener
   {
    public void stateChanged(ChangeEvent e4)
    {
     ViewFlow.setText2("加血位置:"+ViewFlow.slider1.getValue()+"/170");
     }
    }

 

 

 

   

package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;

class MyChangeListener2 implements ChangeListener
   {
    public void stateChanged(ChangeEvent e5)
    {
     ViewFlow.setText3("加血速度:"+ViewFlow.slider2.getValue()+" 毫秒/次");
     MyActionListener.myTimer.setDelay(ViewFlow.slider2.getValue());
     }
    }

 

 

   

package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;

//界面类
class ViewFlow
{
 Container jfContainer=null;
 JButton jbt1=null;
 JButton jbt2=null;
 static JButton jbt3=null;
 JPanel jp1=null;
 JPanel jp2=null;
 JPanel jp3=null;
 JPanel jp4=null;
 static JSlider slider1=null;
 static JSlider slider2=null;
 static JTextField jf1=new JTextField("请启动游戏",15);
 static JTextField jf2=new JTextField("加血位置:100"+"/170",15);
 static JTextField jf3=new JTextField("加血速度:1500"+" 毫秒/次",15);
 static JRadioButton jrb1=null;
 static JRadioButton jrb2=null;
 
 JMenuBar jmb=null;
 JMenu helpMenu=null;
 static JMenuItem helpMenuItem1=null;
 static JMenuItem helpMenuItem2=null;
  static JMenuItem helpMenuItem3=null;
  static JMenuItem helpMenuItem4=null;
  JMenu hightSet=null;
  static JMenuItem hightSetItem1=null;
  static JMenuItem hightSetItem2=null;
  static JMenuItem hightSetItem3=null;
  JMenu exchangeMenu=null;
  static JMenuItem exchangeItem1=null;
  static JMenuItem exchangeItem2=null;

 ButtonGroup bg=null;
 ViewFlow()
 {
  JFrame jf=new JFrame("武林外挂1.0");
  jf.setSize(218,490);
  jf.setLocation(550,70);
  
  jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  jfContainer=jf.getContentPane();
  jfContainer.setLayout(new GridLayout(4,1,10,15));
  //面版
  jp1=new JPanel();
  jp2=new JPanel();
  jp3=new JPanel();
  jp4=new JPanel();
  
  //jp1.setSize(20,5);
  //jp2.setSize(30,30);

  jp1.setLayout(new FlowLayout(FlowLayout.CENTER,20,5));
  jp2.setLayout(new FlowLayout(FlowLayout.CENTER,20,5));
  jp3.setLayout(new FlowLayout(FlowLayout.CENTER,20,5));
  
  jp1.setBorder(BorderFactory.createTitledBorder("主控制区"));
  jp2.setBorder(BorderFactory.createTitledBorder("加血位置调整"));
  jp3.setBorder(BorderFactory.createTitledBorder("加血速度调整"));
  jp4.setBorder(BorderFactory.createTitledBorder("打怪模式设定"));
  
  jbt1=new JButton("开启");
  jbt2=new JButton("停止");
  jbt3=new JButton("在线升级");
  jbt3.setSize(10,20);
  
   jfContainer.add(jp1);//框架加入面版1
   jfContainer.add(jp2);//框架加入面版2
   jfContainer.add(jp3);//框架加入面版3 
   jfContainer.add(jp4);//框架加入面版4
   //滑杆1
   
   slider1=new JSlider(75,170,100);
  slider1.setPaintTicks(true);
  slider1.setMajorTickSpacing(20);
  slider1.setMinorTickSpacing(2);
  slider1.setSnapToTicks(true);
  //slider1.setPaintLabels(true);//显示刻度数字
  slider1.setPaintTrack(true);
  
  //滑杆2
  slider2=new JSlider(300,3000,1500);
  slider2.setPaintTicks(true);
  slider2.setMajorTickSpacing(300);
  slider2.setMinorTickSpacing(50);
  slider2.setSnapToTicks(true);
  //slider2.setPaintLabels(true);//显示刻度数字
  slider2.setPaintTrack(true);
  //单选按键
  jrb1=new JRadioButton("手动打怪");
  jrb2=new JRadioButton("自动打怪");
  bg=new ButtonGroup();
  //菜单
  jmb=new JMenuBar();
  jmb.setOpaque(true);
  jf.setJMenuBar(jmb);
  
  hightSet=buildHeightFileNenu();//生成高级选项菜单
  jmb.add(buildHeightFileNenu());//加载菜单
  
  exchangeMenu=builExchangeFileNenu();//生成问题交流菜单
  jmb.add(exchangeMenu);//加载菜单
  
  helpMenu=buildHelpFileMenu();//生成帮助菜单
  jmb.add(helpMenu);//加载菜单
 
  //面版
  jp1.add(jbt1);//面版1加入按键
   jp1.add(jbt2);//面版1加入按键
   jp1.add(jf1);
   bg.add(jrb1);
    bg.add(jrb2);
    jp2.add(slider1);
   jp2.add(jf2);
   jp3.add(slider2);   
   jp3.add(jf3);
   jp4.add(jrb1);
   jp4.add(jrb2);
   jp4.add(jbt3);
   jf.setVisible(true);
  }
  //  
  public JMenu buildHeightFileNenu()
  {
   JMenu file2=new JMenu("高级设置");//菜单1
   hightSetItem1=new JMenuItem("加血速度");//菜单2_菜单项1   
   hightSetItem2=new JMenuItem("加血位置");//菜单2_菜单项2
   hightSetItem3=new JMenuItem("打怪模式");//菜单3_菜单项3
   file2.add(hightSetItem1);
   file2.addSeparator();
   file2.add(hightSetItem2);
   file2.addSeparator();
   file2.add(hightSetItem3);
   return file2;
   } 
  public JMenu builExchangeFileNenu()
  {
   JMenu file2=new JMenu("问题交流");//菜单2
   exchangeItem1=new JMenuItem("论坛交流");//菜单2_菜单项1   
   exchangeItem2=new JMenuItem("龙旋风论坛");//菜单2_菜单项2
   file2.add(exchangeItem1);
   file2.addSeparator();
   file2.add(exchangeItem2);
   return file2;
   } 
  public JMenu buildHelpFileMenu()//菜单内容生成
  {
   JMenu file1=new JMenu("帮助");//菜单3
   helpMenuItem1=new JMenuItem("使用帮助");//菜单1_菜单项1   
   helpMenuItem2=new JMenuItem("在线更新");//菜单1_菜单项2
   helpMenuItem3=new JMenuItem("作者主页");//菜单1_菜单项2
   helpMenuItem4=new JMenuItem("关于");//菜单1_菜单项3
   file1.add(helpMenuItem1);
   file1.addSeparator();
   file1.add(helpMenuItem2);
   file1.addSeparator();
   file1.add(helpMenuItem3);
   file1.addSeparator();
   file1.add(helpMenuItem4);
   return file1;
   }
 public void addActionlistener()
 {
  jbt1.addActionListener(new MyActionListener());      
  jbt2.addActionListener(new MyActionListener3());
  jbt3.addActionListener(new MyActionListener4());
  
  slider1.addChangeListener(new MyChangeListener1());
  slider2.addChangeListener(new MyChangeListener2());
  
  jrb1.addItemListener(new MyItemListener1());
  jrb2.addItemListener(new MyItemListener1());
  
  MyActionListener4 MenuItemListener=new MyActionListener4();//菜单监视器
  //帮助菜单
  helpMenuItem1.addActionListener(MenuItemListener);
  helpMenuItem2.addActionListener(MenuItemListener);
  helpMenuItem3.addActionListener(MenuItemListener);
  helpMenuItem4.addActionListener(MenuItemListener);
  //高级设置
   hightSetItem1.addActionListener(MenuItemListener);
   hightSetItem2.addActionListener(MenuItemListener);
   hightSetItem3.addActionListener(MenuItemListener);
   //问题交流
   exchangeItem1.addActionListener(MenuItemListener);   
  exchangeItem2.addActionListener(MenuItemListener);
  }
  
 public static void setText1(String str)
 {
  jf1.setText(str);
  }
  
 public static void setText2(String str)
 {
  jf2.setText(str);
  }
  
 public static void setText3(String str)
 {
  jf3.setText(str);
  }
  
  }

 

   

package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;
class MyItemListener1 implements ItemListener
    {
     public void itemStateChanged(ItemEvent e6)
     {
      if(e6.getSource()==ViewFlow.jrb1)
      {
       MyActionListener2.ip=0;//手动
       //System.out.println(ViewFlow.ip);//测试单选键1
       }
      else if(e6.getSource()==ViewFlow.jrb2)
      {
       MyActionListener2.ip=1;//自动
       //System.out.println(ViewFlow.ip);//测试单选键2
       }
      }
     }

 

 

分享到:
评论
95 楼 sunnymoon 2009-08-20  
smalltiger1984 写道
这种外挂没什么意思,实现方式太笨了,为什么不用模拟发包的方式实现呢,这样一台机子都可跑N多个帐号


当时学java不久,还是学生时代!
94 楼 smalltiger1984 2009-08-19  
这种外挂没什么意思,实现方式太笨了,为什么不用模拟发包的方式实现呢,这样一台机子都可跑N多个帐号
93 楼 sunnymoon 2009-04-07  
循环执行单独的一个线程,指定一个循环的时间,如果想停止时点击可以停止。
多线程控制!~
92 楼 erlengleng 2009-04-07  
too  水手 seaman 
大学没毕业就能做出这样的东西,还是用记事本,虽说不能算成很NB的选手,但是相信现在很多现役的程序员纵然有1-2年经验的,都不能快速的做出类似的“挂”来,这个应该不叫挂,这个是解放双手的小程序。
91 楼 erlengleng 2009-04-07  
awary 写道
貌似和按键精灵的原理差不多..

好像差的多一点
90 楼 feng88724 2009-02-24  
你这个外挂点了“开始”后只执行一次?

应该是循环执行核心程序才是,在哪控制了?
89 楼 seaman 2009-01-17  
原以为Java做不了外挂,原来是我自己功力不够,长见识了
88 楼 sunnymoon 2009-01-14  
只需把它当个玩具。
87 楼 alee007 2009-01-13  
你這個不就是個按鍵精靈實現的功能嘛。。
86 楼 sonic10101 2009-01-09  
很大收获,令我开始了解了外挂。。。支持楼主
85 楼 exo905 2008-12-30  
楼主能不能把游戏画面的截图贴一下哈
没玩过那个游戏的,不知道血条啊
贴一下图,多直观哈
84 楼 iovy 2008-12-26  
呵呵~我也写了个webgame的外挂~不过是发包的~其实webgame的外挂是很好写的~用个httpanalyzer抓包就可以了~不过麻烦的就是验证码~不知道大家有没什么好的办法可以抓取验证码的
83 楼 sunnymoon 2008-12-26  
xiaobaitu7788 写道
楼主啊。。。你把源代码提供个下载的吧。。。
这么看太累了。。。。

好吧~~~
我的邮箱xiaobaitu7788@sina.com


真是太不好意思了,前几天同学也向我要。工作好久了,上大学的时候连电脑都买了,仅能找到代码。自己贴到IDE里编译一下吧。呵
82 楼 sunnymoon 2008-12-23  
自动打
xiaobaitu7788 写道

支持。。。 但是没有那些可以自动打怪,自动回城的外挂来的直接哦~~~ 不过很好拉~


可以自动打怪。但回城什么的就没有了。有性趣你加上吧。
81 楼 xiaobaitu7788 2008-12-23  
支持。。。
但是没有那些可以自动打怪,自动回城的外挂来的直接哦~~~

不过很好拉~
80 楼 xiaobaitu7788 2008-12-23  
楼主啊。。。你把源代码提供个下载的吧。。。
这么看太累了。。。。

好吧~~~
我的邮箱xiaobaitu7788@sina.com
79 楼 aidiyuxin 2008-12-22  
哈哈不错
我大学的时候写过一个热血江湖的外挂
嘎嘎
78 楼 pro 2008-12-22  
不错
兄弟们向你看起.
77 楼 ofamber 2008-12-22  
还是很不错
76 楼 sunnymoon 2008-12-21  
ReaiJava 写道
哥们 代码贴出来了  顺便打个包呀!

当被我用InstallAnyWhere打包的,把运行时环境都把进去大概28M,不带环境才几M。但是很久了,打包后的没了,只有代码。
哥们有性趣自已弄吧,帖出来的是全部的,可以正常运行。编译时只需编译那个主类就可以。

相关推荐

    DeepSeek入门宝典:赋能开发者实战的高性能AI解决方案

    内容概要:本文档详细介绍了 DeepSeek 这一高效、经济的人工智能解决方案,旨在为企业端、产品端以及开发者提供深度技术支持。对于企业而言,DeepSeek 带来了显著的成本效益和生产效率提升;而对于具体的产品和服务,它增强了用户体验的质量。特别是针对开发者,文档深入浅出地讲解了如何利用 DeepSeek 实现自动化代码生成、改写等辅助开发功能,并且提供了具体的步骤指导以满足不同环境下的部署需求,包括直接通过官方API接入、本地私有化部署或借助云平台进行托管的方式。 适合人群:希望降低开发门槛,提高工作效率的软件工程师和技术团队。 使用场景及目标:开发者可以根据自身条件选择最适合自己的部署方案来整合 DeepSeek 技术,进而达到优化编码过程、减少人为错误的目的。 其他说明:文中还包括了许多实际操作的例子,如通过代码改写的实例来展示如何改进现有程序段落,还有详细的API使用指南帮助初学者快速上手DeepSeek。此外,还提供了大量外部参考资料链接以便进一步扩展知识和技能范围。

    lusted_3cd_01_0318.pdf

    lusted_3cd_01_0318

    开源AI工具下载——Cherry-Studio-1.0.1-MACOS arm64版

    Cherry Studio是一款支持多模型服务的 Windows/macOS GPT 客户端。通过与Ollama搭配,搭建个人本地AI大模型

    chromedriver-win64-136.0.7058.0.zip

    chromedriver-win64-136.0.7058.0.zip

    matlab程序代码项目案例:使用 Simulink 进行自适应 MPC 设计

    matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    mellitz_3cd_01_1116.pdf

    mellitz_3cd_01_1116

    基于MATLAB的牛顿迭代法实现

    基于MATLAB的牛顿迭代法实现

    steenman_01_0908.pdf

    steenman_01_0908

    [AB PLC例程源码][MMS_047737]System Time 64Bit Interpreted AOI.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    stone_3ck_01a_0518.pdf

    stone_3ck_01a_0518

    [AB PLC例程源码][MMS_041473]Input Time Stamping.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    lusted_3cd_01_1117.pdf

    lusted_3cd_01_1117

    2010-2023年 上市公司-管理层情感语调数据.zip

    管理层情感语调,或称为管理层语调,是一个在财务与会计领域中常用的概念,特别是在分析上市公司信息披露质量时。它主要指的是管理层在上市公司文字信息披露过程中,用词所体现出的情感倾向和可理解性。 本数据复刻了《财经研究》《中南财经政法大学学报》等顶级期刊的核心解释变量的做法。情感语调对企业未来盈余和未来绩效具有较强解释力、降低会计信息误定价、为分析师预测提供增量信息,而投资者也会对管理层情感语调做出积极反应。 情感语调1=(正面词汇数量-负面词汇数量)/词汇总量;数值越大,情感倾向越偏向正面积极。 情感语调2=(正面词汇数量-负面词汇数量)/(正面词汇数量+负面词汇数量);数值越大,情感倾向越偏向正面积极。 指标 证券代码、企业代码、年份、证券简称、行业代码、行业名称、正面词汇数量、负面词汇数量、词汇总量、句子数量、文字数量、情感语调1、情感语调2。

    mellitz_3cd_02_0318.pdf

    mellitz_3cd_02_0318

    moore_01_0909.pdf

    moore_01_0909

    lusted_3ck_02a_0119.pdf

    lusted_3ck_02a_0119

    pimpinella_3cd_01_0916.pdf

    pimpinella_3cd_01_0916

    [AB PLC例程源码][MMS_041392]Mill feed and Auxilary Control.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    li_3ck_03_0919.pdf

    li_3ck_03_0919

Global site tag (gtag.js) - Google Analytics