请选择 进入手机版 | 继续访问电脑版
查看: 3374|回复: 3

[BUG反馈] 1.31 编辑器支持DZAPI吗? 为什么我写DZAPI 后触发器报错?

[复制链接]

1

主题

1

帖子

15

积分

新手上路

Rank: 1

积分
15
 楼主| 发表于 2019-12-18 10:01:22 | 显示全部楼层 |阅读模式
1.31 编辑器支持DZAPI吗? 为什么我写DZAPI 后触发器报错?
回复

使用道具 举报

5

主题

15

帖子

51

积分

注册会员

Rank: 2

积分
51
发表于 2020-1-9 23:13:06 | 显示全部楼层
  1. library LibSaveLevel initializer save_level_init
  2.     globals
  3.         constant string RED="|cffff0000"
  4.         constant string BLUE="|cff0000ff"
  5.         constant string GREEN="|cff00ff00"
  6.         constant string KEY_LVL="hlvl"
  7.         constant string KEY_G_KEY="gkey1"
  8.         constant string KEY_S_KEY="skey1"
  9.         integer hero1_lvl = 1
  10.     endglobals

  11.     //获取integer数据
  12.     native function RequestExtraIntegerData takes integer dataType, player whichPlayer, string param1, string param2, boolean param3, integer param4, integer param5, integer param6 returns integer

  13.     //获取boolean数据
  14.     native function RequestExtraBooleanData takes integer dataType, player whichPlayer, string param1, string param2, boolean param3, integer param4, integer param5, integer param6 returns boolean

  15.     //获取string数据
  16.     native function RequestExtraStringData takes integer dataType, player whichPlayer, string param1, string param2, boolean param3, integer param4, integer param5, integer param6 returns string

  17.     //获取real数据
  18.     native function RequestExtraRealData takes integer dataType, player whichPlayer, string param1, string param2, boolean param3, integer param4, integer param5, integer param6 returns real

  19.     // GlobalArchive,                 //读取公共存档
  20.     function DzAPI_Map_GlobalArchive takes string key returns string
  21.         return RequestExtraStringData(36, null, key, null, false, 0, 0, 0)
  22.     endfunction

  23.     // SaveGlobalArchive,             //保存公共存档
  24.     function DzAPI_Map_SaveGlobalArchive takes player whichPlayer, string key, string value returns boolean
  25.         return RequestExtraBooleanData(37, whichPlayer, key, value, false, 0, 0, 0)
  26.     endfunction

  27.     // SaveServerArchive,             //保存服务器存档(区分大小写)
  28.     function DzAPI_Map_SaveServerArchive takes player whichPlayer, string key, string value returns boolean
  29.         return RequestExtraBooleanData(39, whichPlayer, key, value, false, 0, 0, 0)
  30.     endfunction

  31.     // SaveServerValue,               //保存服务器存档
  32.     function DzAPI_Map_SaveServerValue takes player whichPlayer, string key, string value returns boolean
  33.         return RequestExtraBooleanData(4, whichPlayer, key, value, false, 0, 0, 0)
  34.     endfunction

  35.     // GetServerValue,                //读取服务器存档
  36.     function DzAPI_Map_GetServerValue takes player whichPlayer, string key returns string
  37.         return RequestExtraStringData(5, whichPlayer, key, null, false, 0, 0, 0)
  38.     endfunction

  39.     // GetMapLevelRank,               //提供给地图的接口,用与取地图等级排名
  40.     function DzAPI_Map_GetMapLevelRank takes player whichPlayer returns integer
  41.         return RequestExtraIntegerData(18, whichPlayer, null, null, false, 0, 0, 0)
  42.     endfunction

  43.     // GetUserID,                     //获取玩家ID
  44.     function DzAPI_Map_GetUserID takes player whichPlayer returns integer
  45.         return RequestExtraIntegerData(29, whichPlayer, null, null, false, 0, 0, 0)
  46.     endfunction

  47.     // FriendCount,                   //玩家的好友数量
  48.     function DzAPI_Map_FriendCount takes player whichPlayer returns integer
  49.         return RequestExtraIntegerData(47, whichPlayer, null, null, false, 0, 0, 0)
  50.     endfunction

  51.     // IsAuthor,                      //是否本图作者
  52.     function DzAPI_Map_IsAuthor takes player whichPlayer returns boolean
  53.         return RequestExtraBooleanData(50, whichPlayer, null, null, false, 0, 0, 0)
  54.     endfunction

  55.     // PlayedGames,                   //游戏局数
  56.     function DzAPI_Map_PlayedGames takes player whichPlayer returns integer
  57.         return RequestExtraIntegerData(45, whichPlayer, null, null, false, 0, 0, 0)
  58.     endfunction

  59.     function doSomeSave takes nothing returns nothing
  60.         local player p = GetLocalPlayer()
  61.         call BJDebugMsg(" > doSomeSave for: "+GetPlayerName(p))

  62.         if DzAPI_Map_SaveGlobalArchive(p, KEY_G_KEY, "317")  then
  63.             call BJDebugMsg("全局存储成功")
  64.         else
  65.             call BJDebugMsg("全局存储失败")
  66.         endif

  67.         if DzAPI_Map_SaveServerArchive(p, KEY_S_KEY, "318")  then
  68.             call BJDebugMsg("服务器存储成功")
  69.         else
  70.             call BJDebugMsg("服务器存储失败")
  71.         endif
  72.         
  73.     endfunction

  74.     function TFunMapInit takes nothing returns nothing
  75.         local player p = GetLocalPlayer()
  76.         local string lvlStr = DzAPI_Map_GetServerValue(p, KEY_LVL)
  77.         local integer hero1_lvl = S2I(lvlStr)
  78.         local string global_value = DzAPI_Map_GlobalArchive(KEY_G_KEY)
  79.         local integer map_level = DzAPI_Map_GetMapLevelRank(p)
  80.         local integer friend_count = DzAPI_Map_FriendCount(p)
  81.         local boolean is_author = DzAPI_Map_IsAuthor(p)
  82.         local integer pid = DzAPI_Map_GetUserID(p)
  83.         local integer play_count = DzAPI_Map_PlayedGames(p)

  84.         call BJDebugMsg(" > TFunMapInit called")
  85.         call BJDebugMsg("hero1_lvl="+I2S(hero1_lvl))
  86.         call BJDebugMsg("global_value="+global_value)
  87.         call BJDebugMsg("map_level="+I2S(map_level))
  88.         call BJDebugMsg("friend_count="+I2S(friend_count))
  89.         call BJDebugMsg("pid="+I2S(pid))
  90.         call BJDebugMsg("play_count="+I2S(play_count))

  91.         if (is_author) then
  92.             call BJDebugMsg("is_author=true")
  93.         else
  94.             call BJDebugMsg("is_author=false")
  95.         endif


  96.         set p = null
  97.         set lvlStr = null
  98.     endfunction

  99.     function TFunHeroLevelUp takes nothing returns nothing
  100.         local unit uu = GetLevelingUnit()
  101.         local player p = GetOwningPlayer(uu)
  102.         local integer lvl = GetHeroLevel(uu)
  103.         call BJDebugMsg(RED+GetUnitName(uu)+"|r: "+GREEN+I2S(lvl)+"|r"+BLUE+"!|r")

  104.         
  105.         if DzAPI_Map_SaveServerValue(p, KEY_LVL, I2S(lvl)) then
  106.             call BJDebugMsg("存储成功")
  107.         else
  108.             call BJDebugMsg("存储失败")
  109.         endif
  110.         

  111.         set uu = null
  112.         set p = null
  113.     endfunction



  114.     function save_level_init takes nothing returns nothing
  115.         local trigger trglvlup = CreateTrigger()
  116.         local string ver = "V15"
  117.         call BJDebugMsg(" > save_level_init called "+ver+" 01")
  118.         debug call BJDebugMsg("[debug] > save_level_init called "+ver+" 02")

  119.         call TriggerRegisterAnyUnitEventBJ( trglvlup, EVENT_PLAYER_HERO_LEVEL )
  120.         call TriggerAddAction( trglvlup, function TFunHeroLevelUp )
  121.         set trglvlup = null

  122.         call doSomeSave()
  123.         call TFunMapInit()
  124.         call BJDebugMsg(" > save_level_init called "+ver+" 06, libraty LibSaveLevel Done!")
  125.     endfunction
  126. endlibrary
复制代码


我的不报错,可是完全不工作!
回复 支持 反对

使用道具 举报

37

主题

233

帖子

15万

积分

超级版主

Rank: 8Rank: 8

积分
153471
发表于 2020-2-17 13:18:55 | 显示全部楼层
支持,建议看看是不是用法问题
回复 支持 反对

使用道具 举报

5

主题

15

帖子

51

积分

注册会员

Rank: 2

积分
51
发表于 2020-2-25 13:53:59 | 显示全部楼层
凤凰院凶真 发表于 2020-2-17 13:18
支持,建议看看是不是用法问题

能给个支持的示例地图吗,老大?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

魔兽争霸官方对战平台 ( 互联网违法和不良信息举报电话:0571-28090163 )

GMT+8, 2022-5-21 13:10 , Processed in 0.046443 second(s), 6 queries , Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表