载入数据.bas
上传用户:pcw2004
上传日期:2022-02-02
资源大小:743k
文件大小:12k
源码类别:

DirextX编程

开发平台:

Visual Basic

  1. Attribute VB_Name = "载入数据"
  2. Option Explicit
  3. ' Download by http://www.codefans.net
  4. Public Sub LoadChrSelTexData(FileName As String)
  5.     Dim i As Long, TexCount As Long
  6.     On Error GoTo Err
  7.     Close #1
  8.     Open FileName For Binary As #1
  9.         Get #1, 45, TexCount
  10.         TexCount = TexCount - 1
  11.         ReDim ChrSelTex(TexCount)
  12.         Get #1, 49, ChrSelTex(i).StartPos
  13.         Get #1, , ChrSelTex(i).EndPos
  14.         For i = 2 To TexCount Step 2
  15.             Get #1, , ChrSelTex(i).StartPos
  16.             Get #1, , ChrSelTex(i).EndPos
  17.             ChrSelTex(i - 1).StartPos = ChrSelTex(i - 2).EndPos
  18.             ChrSelTex(i - 1).EndPos = ChrSelTex(i).StartPos
  19.         Next
  20.     Close #1
  21.     Exit Sub
  22. Err:
  23.     MsgBox "载入文件失败" & FileName, , "载入失败"
  24. End Sub
  25. Public Sub LoadNpcTexData(FileName As String)
  26.     Dim i As Long, TexCount As Long
  27.     On Error GoTo Err
  28.     Close #1
  29.     Open FileName For Binary As #1
  30.         Get #1, 45, TexCount
  31.         TexCount = TexCount - 1
  32.         ReDim NpcTex(TexCount)
  33.         Get #1, 49, NpcTex(0).StartPos
  34.         Get #1, , NpcTex(0).EndPos
  35.         For i = 2 To TexCount Step 2
  36.             Get #1, , NpcTex(i).StartPos
  37.             Get #1, , NpcTex(i).EndPos
  38.             NpcTex(i - 1).StartPos = NpcTex(i - 2).EndPos
  39.             NpcTex(i - 1).EndPos = NpcTex(i).StartPos
  40.         Next
  41.     Close #1
  42.     Exit Sub
  43. Err:
  44.     MsgBox "载入文件失败" & FileName, , "载入失败"
  45. End Sub
  46. Public Sub LoadMonTexData()
  47.     Dim i As Integer, j As Long
  48.     Dim MonTexNum As Integer, TexCount As Long
  49.     MonTexNum = 23
  50.     ReDim MonPic(MonTexNum)
  51.     For i = 1 To MonTexNum
  52.         Open ResPath & "DataMon" & i & ".wix" For Binary As #1
  53.             Get #1, 45, TexCount
  54.             TexCount = TexCount - 1
  55.             ReDim MonPic(i).MonTex(TexCount)
  56.             Get #1, 49, MonPic(i).MonTex(0).StartPos
  57.             Get #1, , MonPic(i).MonTex(0).EndPos
  58.             For j = 2 To TexCount Step 2
  59.                 Get #1, , MonPic(i).MonTex(j).StartPos
  60.                 Get #1, , MonPic(i).MonTex(j).EndPos
  61.                 MonPic(i).MonTex(j - 1).StartPos = MonPic(i).MonTex(j - 2).EndPos
  62.                 MonPic(i).MonTex(j - 1).EndPos = MonPic(i).MonTex(j).StartPos
  63.             Next
  64.         Close #1
  65.     Next
  66. End Sub
  67. Public Sub LoadMonDBData()
  68.     Dim i As Integer
  69.     Open App.Path & "DBMonDB.DB" For Input As #1
  70.         Input #1, MonDBCount
  71.         ReDim MonDB(MonDBCount)
  72.         For i = 1 To MonDBCount
  73.             Input #1, MonDB(i).Name_名称
  74.             Input #1, MonDB(i).Race_种族
  75.             Input #1, MonDB(i).RaceImage_种族图像
  76.             Input #1, MonDB(i).Appr_形象代码
  77.             Input #1, MonDB(i).Level_等级
  78.             Input #1, MonDB(i).UnDead_不死系
  79.             Input #1, MonDB(i).CoolEye_视觉范围
  80.             Input #1, MonDB(i).Exp_经验值
  81.             Input #1, MonDB(i).HP
  82.             Input #1, MonDB(i).MP
  83.             Input #1, MonDB(i).AC
  84.             Input #1, MonDB(i).MAC
  85.             Input #1, MonDB(i).DC_攻击力
  86.             Input #1, MonDB(i).DCMax_最大攻击力
  87.             Input #1, MonDB(i).MC_魔法力
  88.             Input #1, MonDB(i).SC_道术力
  89.             Input #1, MonDB(i).Speed_速度
  90.             Input #1, MonDB(i).Hit_命中率
  91.             Input #1, MonDB(i).WalkSpeed_行走速度
  92.             Input #1, MonDB(i).WalkStep_行走步伐
  93.             Input #1, MonDB(i).WalkWait_行走等待
  94.             Input #1, MonDB(i).AttactSpeed_攻击速度
  95.         Next
  96.     Close #1
  97.     
  98. End Sub
  99. Public Function GetMonDBNum(MonName As String) As Integer
  100.     Dim i As Integer
  101.     For i = 1 To MonDBCount
  102.         If MonName = MonDB(i).Name_名称 Then
  103.             GetMonDBNum = i
  104.             Exit For
  105.         End If
  106.     Next
  107. End Function
  108. Public Function GetMagicDBNum(MagicName As String) As Integer
  109.     Dim i As Integer
  110.     For i = 1 To MagicDBCount
  111.         If MagicDB(i).MagName_名称 = MagicName Then
  112.             GetMagicDBNum = i
  113.             Exit For
  114.         End If
  115.     Next
  116. End Function
  117. '///////  载入物品数据
  118. Public Sub LoadItemDBData()
  119.     Dim i As Integer
  120.     Open App.Path & "DBStdItemDB.DB" For Input As #1
  121.         Input #1, ItemDBCount
  122.         ReDim ItemDB(ItemDBCount)
  123.         If ItemDBCount > 0 Then
  124.             For i = 1 To ItemDBCount
  125.                 Input #1, ItemDB(i).Idx
  126.                 Input #1, ItemDB(i).Name
  127.                 Input #1, ItemDB(i).StdMode
  128.                 Input #1, ItemDB(i).Shape
  129.                 Input #1, ItemDB(i).Weight
  130.                 Input #1, ItemDB(i).Anicount
  131.                 Input #1, ItemDB(i).Source
  132.                 Input #1, ItemDB(i).Reserved
  133.                 Input #1, ItemDB(i).Looks
  134.                 Input #1, ItemDB(i).DuraMax
  135.                 Input #1, ItemDB(i).AC
  136.                 Input #1, ItemDB(i).AC2
  137.                 Input #1, ItemDB(i).MAC
  138.                 Input #1, ItemDB(i).MAC2
  139.                 Input #1, ItemDB(i).Dc
  140.                 Input #1, ItemDB(i).DC2
  141.                 Input #1, ItemDB(i).MC
  142.                 Input #1, ItemDB(i).MC2
  143.                 Input #1, ItemDB(i).sc
  144.                 Input #1, ItemDB(i).SC2
  145.                 Input #1, ItemDB(i).Need
  146.                 Input #1, ItemDB(i).NeedLevel
  147.                 Input #1, ItemDB(i).Price
  148.             Next
  149.         End If
  150.     Close #1
  151.         
  152. End Sub
  153. '///////  载入魔法数据
  154. Public Sub LoadMagicDBData()
  155.     Dim i As Integer
  156.     Open App.Path & "DBMagicDB.DB" For Input As #1
  157.         Input #1, MagicDBCount
  158.         ReDim MagicDB(MagicDBCount)
  159.         If MagicDBCount > 0 Then
  160.             For i = 1 To MagicDBCount
  161.                 Input #1, MagicDB(i).MagID_序号
  162.                 Input #1, MagicDB(i).MagName_名称
  163.                 Input #1, MagicDB(i).EffectType_动作效果
  164.                 Input #1, MagicDB(i).Effect_魔法效果
  165.                 Input #1, MagicDB(i).Spell_魔法消耗
  166.                 Input #1, MagicDB(i).Power_基本威力
  167.                 Input #1, MagicDB(i).MaxPower_最大威力
  168.                 Input #1, MagicDB(i).DefSpell_升级魔法
  169.                 Input #1, MagicDB(i).DefPower_升级威力
  170.                 Input #1, MagicDB(i).DefMaxPower_升最大威力
  171.                 Input #1, MagicDB(i).Job_职业
  172.                 Input #1, MagicDB(i).NeedL1_1级等级
  173.                 Input #1, MagicDB(i).L1Train_1级经验
  174.                 Input #1, MagicDB(i).NeedL2_2级等级
  175.                 Input #1, MagicDB(i).L2Train_2级经验
  176.                 Input #1, MagicDB(i).NeedL3_3级等级
  177.                 Input #1, MagicDB(i).L3Train_3级经验
  178.                 Input #1, MagicDB(i).Delay_技能延时
  179.             Next
  180.         End If
  181.     Close #1
  182.             
  183. End Sub
  184. '//////////  载入其它贴图数据
  185. Public Sub LoadPrguseTexData(FileName As String)
  186.     Dim i As Long, TexCount As Long
  187.     Open FileName For Binary As #1
  188.         Get #1, 45, TexCount
  189.         TexCount = TexCount - 1
  190.         ReDim PrguseTex(TexCount)
  191.         Get #1, 49, PrguseTex(0).StartPos
  192.         Get #1, , PrguseTex(0).EndPos
  193.         For i = 2 To TexCount Step 2
  194.             Get #1, , PrguseTex(i).StartPos
  195.             Get #1, , PrguseTex(i).EndPos
  196.             PrguseTex(i - 1).StartPos = PrguseTex(i - 2).EndPos
  197.             PrguseTex(i - 1).EndPos = PrguseTex(i).StartPos
  198.         Next
  199.     Close #1
  200.     
  201. End Sub
  202. Public Sub LoadPrguse2TexData(FileName As String)
  203.     Dim i As Long, TexCount As Long
  204.     Open FileName For Binary As #1
  205.         Get #1, 45, TexCount
  206.         TexCount = TexCount - 1
  207.         ReDim Prguse2Tex(TexCount)
  208.         Get #1, 49, Prguse2Tex(0).StartPos
  209.         Get #1, , Prguse2Tex(0).EndPos
  210.         For i = 2 To TexCount Step 2
  211.             Get #1, , Prguse2Tex(i).StartPos
  212.             Get #1, , Prguse2Tex(i).EndPos
  213.             Prguse2Tex(i - 1).StartPos = Prguse2Tex(i - 2).EndPos
  214.             Prguse2Tex(i - 1).EndPos = Prguse2Tex(i).StartPos
  215.         Next
  216.     Close #1
  217. End Sub
  218. Public Sub LoadPrguse3TexData(FileName As String)
  219.     Dim i As Long, TexCount As Long
  220.     Open FileName For Binary As #1
  221.         Get #1, 45, TexCount
  222.         TexCount = TexCount - 1
  223.         ReDim Prguse3Tex(TexCount)
  224.         Get #1, 49, Prguse3Tex(0).StartPos
  225.         Get #1, , Prguse3Tex(0).EndPos
  226.         For i = 2 To TexCount Step 2
  227.             Get #1, , Prguse3Tex(i).StartPos
  228.             Get #1, , Prguse3Tex(i).EndPos
  229.             Prguse3Tex(i - 1).StartPos = Prguse3Tex(i - 2).EndPos
  230.             Prguse3Tex(i - 1).EndPos = Prguse3Tex(i).StartPos
  231.         Next
  232.     Close #1
  233. End Sub
  234. '//////////  载入魔法贴图数据
  235. Public Sub LoadMagicTexData()
  236.     Dim i As Long, j As Long, TexCount As Long, mFileNum As String
  237.     ReDim MagicPic(6)
  238.     For j = 1 To 2
  239.         mFileNum = j
  240.         If j = 1 Then mFileNum = ""
  241.         Open ResPath & "DataMagic" & mFileNum & ".wix" For Binary As #1
  242.             Get #1, 45, TexCount
  243.             TexCount = TexCount - 1
  244.             ReDim MagicPic(j).MagicTex(TexCount)
  245.             Get #1, 49, MagicPic(j).MagicTex(0).StartPos
  246.             Get #1, , MagicPic(j).MagicTex(0).EndPos
  247.             For i = 2 To TexCount Step 2
  248.                 Get #1, , MagicPic(j).MagicTex(i).StartPos
  249.                 Get #1, , MagicPic(j).MagicTex(i).EndPos
  250.                 MagicPic(j).MagicTex(i - 1).StartPos = MagicPic(j).MagicTex(i - 2).EndPos
  251.                 MagicPic(j).MagicTex(i - 1).EndPos = MagicPic(j).MagicTex(i).StartPos
  252.             Next
  253.         Close #1
  254.     Next
  255.     
  256. End Sub
  257. '//////////  载入衣服贴图数据
  258. Public Sub LoadHumTexData(FileName As String)
  259.     Dim i As Long, TexCount As Long
  260.     On Error GoTo Err
  261.     Close #1
  262.     Open FileName For Binary As #1
  263.         Get #1, 45, TexCount
  264.         TexCount = TexCount - 1
  265.         ReDim HumTex(TexCount)
  266.         Get #1, 49, HumTex(0).StartPos
  267.         Get #1, , HumTex(0).EndPos
  268.         For i = 2 To TexCount Step 2
  269.             Get #1, , HumTex(i).StartPos
  270.             Get #1, , HumTex(i).EndPos
  271.             HumTex(i - 1).StartPos = HumTex(i - 2).EndPos
  272.             HumTex(i - 1).EndPos = HumTex(i).StartPos
  273.         Next
  274.     Close #1
  275.     Exit Sub
  276. Err:
  277.     MsgBox "载入文件失败" & FileName, , "载入失败"
  278. End Sub
  279. '/////////  载入武器贴图数据
  280. Public Sub LoadWeaponTexData(FileName As String)
  281.     Dim i As Long, TexCount As Long
  282.     Open FileName For Binary As #1
  283.         Get #1, 45, TexCount                              '##
  284.         TexCount = TexCount - 1                           '##
  285.         ReDim WeaponTex(TexCount)                       '##
  286. '###############  载入图片数量结束 ####################
  287.         Get #1, 49, WeaponTex(0).StartPos
  288.         Get #1, , WeaponTex(0).EndPos
  289.         For i = 2 To TexCount Step 2
  290.             Get #1, , WeaponTex(i).StartPos
  291.             Get #1, , WeaponTex(i).EndPos
  292.             WeaponTex(i - 1).StartPos = WeaponTex(i - 2).EndPos
  293.             WeaponTex(i - 1).EndPos = WeaponTex(i).StartPos
  294.         Next
  295.     Close #1
  296. End Sub
  297. '/////////  载入物品贴图数据
  298. Public Sub LoadItemsTexData(FileName As String)
  299.     Dim i As Long, TexCount As Long
  300.     Open FileName For Binary As #1
  301.         Get #1, 45, TexCount                              '##
  302.         TexCount = TexCount - 1                           '##
  303.         ReDim ItemsTex(TexCount)                       '##
  304. '###############  载入图片数量结束 ####################
  305.         Get #1, 49, ItemsTex(0).StartPos
  306.         Get #1, , ItemsTex(0).EndPos
  307.         For i = 2 To TexCount Step 2
  308.             Get #1, , ItemsTex(i).StartPos
  309.             Get #1, , ItemsTex(i).EndPos
  310.             ItemsTex(i - 1).StartPos = ItemsTex(i - 2).EndPos
  311.             ItemsTex(i - 1).EndPos = ItemsTex(i).StartPos
  312.         Next
  313.     Close #1
  314. End Sub
  315. '/////////  载入装备物品贴图数据
  316. Public Sub LoadStateItemTexData(FileName As String)
  317.     Dim i As Long, TexCount As Long
  318.     Open FileName For Binary As #1
  319.         Get #1, 45, TexCount                              '##
  320.         TexCount = TexCount - 1                           '##
  321.         ReDim StateItemTex(TexCount)                       '##
  322. '###############  载入图片数量结束 ####################
  323.         Get #1, 49, StateItemTex(0).StartPos
  324.         Get #1, , StateItemTex(0).EndPos
  325.         For i = 2 To TexCount Step 2
  326.             Get #1, , StateItemTex(i).StartPos
  327.             Get #1, , StateItemTex(i).EndPos
  328.             StateItemTex(i - 1).StartPos = StateItemTex(i - 2).EndPos
  329.             StateItemTex(i - 1).EndPos = StateItemTex(i).StartPos
  330.         Next
  331.     Close #1
  332. End Sub