GAMING
ПЛАГІН
Опис:бібліотека GooglePlay Servicesтаблиця лідерів - leaderboards,
досягнення achievements,
хмара cloud saves (не працює)
і мультиплеер multiplayer. (працюють не всі функції)
Приклади:
Методи, евенти та властивості:
Методи
print_r (t) -- друк таблиць -- функція в кінці сторінки
- Gaming.new(framework)
- -- ініціалізувати framework
require "gaming"
gaming=Gaming.new("googleplay")
- Gaming.login(param1, param2, ..., paramn)
- -- автентифікація користувача
if not gaming:isLoggedIn() then --якщо незалогінений
print("login")
gaming:login() --LOGIN_COMPLETE
end
- Gaming.logout()
- -- розлогінити користувача
gaming:logout()
- Gaming:showLeaderboard(id) -
- -Показати вікно дошки лідерів (string leaderboard id)
gaming:showLeaderboard("CgkIwqXCmPkEEAIQAQ") --показати топ
- Gaming:showAchievements()
- --Показати вікно досягнень
gaming:showAchievements() --показати досягнення
- Gaming:reportScore(id, score, immediate)
- --записати новий рекорд (string leaderboard Id, number score, bool immediate (true will usually provide events))
відправити рекорд гравця.
gaming:reportScore("CgkIwqIQAQ", 13, true)
--REPORT_SCORE_COMPLETE,
- Gaming:reportAchievement(id, steps, immediate) --записати нове досягнення (string achievement Id, number steps - progress of achievement, bool immediate (true will usually provide events))
--, встановити кількість пройдених кроків досягнення
----REPORT_ACHIEVEMENT_COMPLETE,REPORT_ACHIEVEMENT_ERROR
gaming:reportAchievement("CgkIwqEEAIQAg",1,true)
--,відкрити непокрокове досягнення
gaming:reportAchievement("CgkIwqXCmPkEEAIQAw")- Gaming:loadAchievements()
- --Завантажити досягнення, завершиться LOAD_ACHIEVEMENTS_COMPLETE або LOAD_ACHIEVEMENTS_ERROR
--скачати всі досягнення //status(0-Gaming.UNLOCKED, 1-Gaming.REVEALED, 2-Gaming.HIDDEN)
gaming:loadAchievements()
- Gaming:loadScores(id)
- --завантажити рекорди по leaderboard Id, raises LOAD_SCORES_COMPLETE or LOAD_SCORES_ERROR
--loadScores(final String id, int timeSpan, int collection, int maxResults)
--https://developers.google.com/games/services/web/api/scores/list
gaming:loadScores("CgkIwqXCmPQAQ",gaming.ALL_TIME,gaming.ALL_PLAYERS,25)
- ЦІ КОМАНДИ НЕ ПРАЦЮЮТЬ
- Gaming:loadState(key)
- --numeric key, raised STATE_LOADED or STATE_ERROR
- Gaming:updateState(key, data[, immediate])
- --update data, numeric key, can raise STATE_CONFLICT or STATE_ERROR
- Gaming:deleteState(key)
- --delete data for numeric key, can raise STATE_DELETED or STATE_ERROR
- Gaming:resolveState(key, version, data)
- --resolve state conflict for slot key with version and data, should be called if STATE_CONFLICT event was dispatched, may raise STATE_LOADED event for new resolved data
Додаткові методи
gaming:getPlayerInfo() --PLAYER_INFORMATION_COMPLETE
gaming:incrementAchievement("ID покрокового досягнення",число скільки додати кроків,true)
--REPORT_ACHIEVEMENT_COMPLETE,REPORT_ACHIEVEMENT_ERROR,
gaming:incrementAchievement("CgkIwqXCAIQBQ",100,true)
--Розкрити приховані досягнення
--REPORT_ACHIEVEMENT_COMPLETE,
gaming:revealAchievement("CgkIwEEAIQAw")
отримати Дані
print(gaming:getPlayerId())
print(gaming:getPlayerName())
print(gaming:getPlayerPicture()) --content://com.google.android.gms.games.background/images/732bba7755
print(gaming:isLoggedIn()) --true
Події
- Event.LOGIN_COMPLETE
gaming:addEventListener(Event.LOGIN_COMPLETE, function(e) --gaming:login()
my_PlayerName=gaming:getPlayerName()
print(my_PlayerName,"LOGIN_COMPLETE")
end)
- Event.LOGIN_ERROR
- e.error - error message
gaming:addEventListener(Event.LOGIN_ERROR, function(e)
print(my_PlayerName,"LOGIN_ERROR")
print_r(e)
end)
- Event.LOAD_ACHIEVEMENTS_COMPLETE
- event.achievements
- event.achievements[].id
- event.achievements[].name
- event.achievements[].description
- event.achievements[].status
- event.achievements[].currentSteps
- event.achievements[].totalSteps
- event.achievements[].lastUpdate
gaming:addEventListener(Event.LOAD_ACHIEVEMENTS_COMPLETE, function(e) -- gaming:loadAchievements()
print(my_PlayerName,"LOAD_ACHIEVEMENTS_COMPLETE")
print_r(e.achievements) --id,description,currentSteps,status,lastUpdate,totalSteps,name
end)
- Event.LOAD_ACHIEVEMENTS_ERROR
- e.error - error message
gaming:addEventListener(Event.REPORT_ACHIEVEMENT_ERROR , function(e) --gaming:incrementAchievement("CgkIwqEEAIQAg",1,true)
print(my_PlayerName,"REPORT_ACHIEVEMENT_ERROR ")
print("id",e.id)
print("error",e.error) --com.google.android.gms.common.api.ApiException: 26562: ACHIEVEMENT_NOT_INCREMENTAL
end)
- Event.REPORT_ACHIEVEMENT_COMPLETE
- e.id -- achievement id
gaming:addEventListener(Event.REPORT_ACHIEVEMENT_COMPLETE , function(e)
print(my_PlayerName,"REPORT_ACHIEVEMENT_COMPLETE ")
print("id",e.id)
end)
- Event.REPORT_ACHIEVEMENT_ERROR
- e.id -- achievement id
- e.error - error message
gaming:addEventListener(Event.LOAD_ACHIEVEMENTS_ERROR, function(e)
print(my_PlayerName,"LOAD_ACHIEVEMENTS_ERROR" )
print_r(e)
end)
- Event.LOAD_SCORES_COMPLETE
- event.name -- leader board name
- event.id -- leader board ID
- event.scores
- event.scores[].name
- event.scores[].timestamp
- event.scores[].score
- event.scores[].rank
- event.scores[].playerId
gaming:addEventListener(Event.LOAD_SCORES_COMPLETE, function(e) -- gaming:loadScores("CgkIwEAIQAQ")
print(my_PlayerName,"LOAD_SCORES_COMPLETE")
print("name=",e.name)
print("id= ",e.id)
print_r(e.scores)
end)
- Event.LOAD_SCORES_ERROR
- e.error - error message
- e.id -- leader board ID
gaming:addEventListener(Event.LOAD_SCORES_ERROR, function(e) -- gaming:loadScores("CgkIwAIQAQ")
print(my_PlayerName,"LOAD_SCORES_ERROR")
--print_r(e)
--print("name=",e.name)
--print("id= ",e.id)
--print_r(e.scores)
end)
- Event.REPORT_SCORE_COMPLETE
- e.id - leaderboard id
- e.score -- score reported
gaming:addEventListener(Event.REPORT_SCORE_COMPLETE , function(e) -- gaming:reportScore("CgAIQAQ", 12, true)
print(my_PlayerName,"REPORT_SCORE_COMPLETE ")
print("id= ",e.id)
print("score=",e.score)
end)
- Event.REPORT_SCORE_ERROR
- e.id - leaderboard id
- e.score -- score reported
- e.error -- error message
gaming:addEventListener(Event.REPORT_SCORE_ERROR , function(e)
print(my_PlayerName,"REPORT_SCORE_ERROR ")
print_r(e)
end)
- Додаткові події
gaming:addEventListener(Event.PLAYER_INFORMATION_COMPLETE, function(e) -- gaming:getPlayerInfo()
print(my_PlayerName,"PLAYER_INFORMATION_COMPLETE")
print("picture",e.picture) --content://com.google.android.gms.games.background/images/732b755
print("id",e.id) --g0849136037847
print("name",e.name) --
end)
gaming:addEventListener(Event.PLAYER_INFORMATION_ERROR, function(e)
print(my_PlayerName,"PLAYER_INFORMATION_ERROR")
print_r(e)
end)
gaming:addEventListener(Event.PLAYER_SCORE_COMPLETE, function(e)
print(my_PlayerName,"PLAYER_SCORE_COMPLETE")
print_r(e)
end)
gaming:addEventListener(Event.PLAYER_SCORE_ERROR, function(e)
print(my_PlayerName,"PLAYER_SCORE_ERROR")
print_r(e)
end)
Події Хмари
- Event.STATE_LOADED
- event.key
- event.data
- Event.STATE_ERROR
- event.key
- Event.STATE_CONFLICT
- event.key
- event.version
- event.localData
- event.serverData
- Event.STATE_DELETED
- event.key
НАЛАШТУВАННЯ КОНСОЛІ ГУГЛ
консоль гугл>ігрові сервіси>додати нову гру
Запам'ятайте> айді номер гри
може знадобитись увімкнути апі диска гугл :
введіть айді номер в налаштуваннях плагіна GAMING
також в файлах :
C:\Program Files (x86)\Gideros\All Plugins\gaming\bin\Android\res\values\ids.xml
C:\Program Files (x86)\Gideros\All Plugins\gaming\source\Android\res\values\ids.xmlпотрібно замінити app_id - на ваш
ІГРОВІ СЕРВІСИ ЗАПРАЦЮЮТЬ НЕ ОДРАЗУ, А ЧЕРЕЗ 24 ГОДИНИ ПІСЛЯ
ДОДАВАННЯ В КОНСОЛІ ГУГЛ
ГРА ПОВИННА БУТИ ОПУБЛІКОВАНА ЯК АЛЬФА АБО ВИЩЕ
тема на форумі Gideros http://forum.giderosmobile.com/discussion/6700/how-to-use-gaming-plugin/p2
ФУНКЦІЯ
--ДРУК ТАБЛИЦЬ В КОНСОЛЬ print_r (ТАБЛИЦЯ)function print_r (t, indent, done)
done = done or {}
indent = indent or ''
local nextIndent -- Storage for next indentation value
for key, value in pairs (t) do
if type (value) == "table" and not done [value] then
nextIndent = nextIndent or
(indent .. string.rep(' ',string.len(tostring (key))+2))
-- Shortcut conditional allocation
done [value] = true
print (indent .. "[" .. tostring (key) .. "] => Table {");
print (nextIndent .. "{");
print_r (value, nextIndent .. string.rep(' ',2), done)
print (nextIndent .. "}");
else
print (indent .. "[" .. tostring (key) .. "] => " .. tostring (value).."")
end
end
end
great site you have here oleg :-)
ВідповістиВидалитиWelcome =)
Видалити