|
发表于 2020-1-9 23:13:06
|
显示全部楼层
- library LibSaveLevel initializer save_level_init
- globals
- constant string RED="|cffff0000"
- constant string BLUE="|cff0000ff"
- constant string GREEN="|cff00ff00"
- constant string KEY_LVL="hlvl"
- constant string KEY_G_KEY="gkey1"
- constant string KEY_S_KEY="skey1"
- integer hero1_lvl = 1
- endglobals
- //获取integer数据
- native function RequestExtraIntegerData takes integer dataType, player whichPlayer, string param1, string param2, boolean param3, integer param4, integer param5, integer param6 returns integer
- //获取boolean数据
- native function RequestExtraBooleanData takes integer dataType, player whichPlayer, string param1, string param2, boolean param3, integer param4, integer param5, integer param6 returns boolean
- //获取string数据
- native function RequestExtraStringData takes integer dataType, player whichPlayer, string param1, string param2, boolean param3, integer param4, integer param5, integer param6 returns string
- //获取real数据
- native function RequestExtraRealData takes integer dataType, player whichPlayer, string param1, string param2, boolean param3, integer param4, integer param5, integer param6 returns real
- // GlobalArchive, //读取公共存档
- function DzAPI_Map_GlobalArchive takes string key returns string
- return RequestExtraStringData(36, null, key, null, false, 0, 0, 0)
- endfunction
- // SaveGlobalArchive, //保存公共存档
- function DzAPI_Map_SaveGlobalArchive takes player whichPlayer, string key, string value returns boolean
- return RequestExtraBooleanData(37, whichPlayer, key, value, false, 0, 0, 0)
- endfunction
- // SaveServerArchive, //保存服务器存档(区分大小写)
- function DzAPI_Map_SaveServerArchive takes player whichPlayer, string key, string value returns boolean
- return RequestExtraBooleanData(39, whichPlayer, key, value, false, 0, 0, 0)
- endfunction
- // SaveServerValue, //保存服务器存档
- function DzAPI_Map_SaveServerValue takes player whichPlayer, string key, string value returns boolean
- return RequestExtraBooleanData(4, whichPlayer, key, value, false, 0, 0, 0)
- endfunction
- // GetServerValue, //读取服务器存档
- function DzAPI_Map_GetServerValue takes player whichPlayer, string key returns string
- return RequestExtraStringData(5, whichPlayer, key, null, false, 0, 0, 0)
- endfunction
- // GetMapLevelRank, //提供给地图的接口,用与取地图等级排名
- function DzAPI_Map_GetMapLevelRank takes player whichPlayer returns integer
- return RequestExtraIntegerData(18, whichPlayer, null, null, false, 0, 0, 0)
- endfunction
- // GetUserID, //获取玩家ID
- function DzAPI_Map_GetUserID takes player whichPlayer returns integer
- return RequestExtraIntegerData(29, whichPlayer, null, null, false, 0, 0, 0)
- endfunction
- // FriendCount, //玩家的好友数量
- function DzAPI_Map_FriendCount takes player whichPlayer returns integer
- return RequestExtraIntegerData(47, whichPlayer, null, null, false, 0, 0, 0)
- endfunction
- // IsAuthor, //是否本图作者
- function DzAPI_Map_IsAuthor takes player whichPlayer returns boolean
- return RequestExtraBooleanData(50, whichPlayer, null, null, false, 0, 0, 0)
- endfunction
- // PlayedGames, //游戏局数
- function DzAPI_Map_PlayedGames takes player whichPlayer returns integer
- return RequestExtraIntegerData(45, whichPlayer, null, null, false, 0, 0, 0)
- endfunction
- function doSomeSave takes nothing returns nothing
- local player p = GetLocalPlayer()
- call BJDebugMsg(" > doSomeSave for: "+GetPlayerName(p))
- if DzAPI_Map_SaveGlobalArchive(p, KEY_G_KEY, "317") then
- call BJDebugMsg("全局存储成功")
- else
- call BJDebugMsg("全局存储失败")
- endif
- if DzAPI_Map_SaveServerArchive(p, KEY_S_KEY, "318") then
- call BJDebugMsg("服务器存储成功")
- else
- call BJDebugMsg("服务器存储失败")
- endif
-
- endfunction
- function TFunMapInit takes nothing returns nothing
- local player p = GetLocalPlayer()
- local string lvlStr = DzAPI_Map_GetServerValue(p, KEY_LVL)
- local integer hero1_lvl = S2I(lvlStr)
- local string global_value = DzAPI_Map_GlobalArchive(KEY_G_KEY)
- local integer map_level = DzAPI_Map_GetMapLevelRank(p)
- local integer friend_count = DzAPI_Map_FriendCount(p)
- local boolean is_author = DzAPI_Map_IsAuthor(p)
- local integer pid = DzAPI_Map_GetUserID(p)
- local integer play_count = DzAPI_Map_PlayedGames(p)
- call BJDebugMsg(" > TFunMapInit called")
- call BJDebugMsg("hero1_lvl="+I2S(hero1_lvl))
- call BJDebugMsg("global_value="+global_value)
- call BJDebugMsg("map_level="+I2S(map_level))
- call BJDebugMsg("friend_count="+I2S(friend_count))
- call BJDebugMsg("pid="+I2S(pid))
- call BJDebugMsg("play_count="+I2S(play_count))
- if (is_author) then
- call BJDebugMsg("is_author=true")
- else
- call BJDebugMsg("is_author=false")
- endif
- set p = null
- set lvlStr = null
- endfunction
- function TFunHeroLevelUp takes nothing returns nothing
- local unit uu = GetLevelingUnit()
- local player p = GetOwningPlayer(uu)
- local integer lvl = GetHeroLevel(uu)
- call BJDebugMsg(RED+GetUnitName(uu)+"|r: "+GREEN+I2S(lvl)+"|r"+BLUE+"!|r")
-
- if DzAPI_Map_SaveServerValue(p, KEY_LVL, I2S(lvl)) then
- call BJDebugMsg("存储成功")
- else
- call BJDebugMsg("存储失败")
- endif
-
- set uu = null
- set p = null
- endfunction
- function save_level_init takes nothing returns nothing
- local trigger trglvlup = CreateTrigger()
- local string ver = "V15"
- call BJDebugMsg(" > save_level_init called "+ver+" 01")
- debug call BJDebugMsg("[debug] > save_level_init called "+ver+" 02")
- call TriggerRegisterAnyUnitEventBJ( trglvlup, EVENT_PLAYER_HERO_LEVEL )
- call TriggerAddAction( trglvlup, function TFunHeroLevelUp )
- set trglvlup = null
- call doSomeSave()
- call TFunMapInit()
- call BJDebugMsg(" > save_level_init called "+ver+" 06, libraty LibSaveLevel Done!")
- endfunction
- endlibrary
复制代码
我的不报错,可是完全不工作!     |
|