UMUX Reference_11 - HonestSquare/UMUX GitHub Wiki

개요

  • 본 문서는 API 레벨 11(5.0 Evry)를 기반으로 작성된 UMUX 레퍼런스입니다.
  • Ctrl + F 또는 F3을 통해 개별 열람이 가능합니다.

변수 및 함수 위치

  • 변수 및 함수 위치는 이름의 접두사를 우선하되 로마자(A-Z) 순대로 정렬하였습니다.
접두사 목록
  • on
  • init
  • is(has), get(find)
  • set
  • add
  • update, check
  • clear, delete, reset
  • show
  • 상기 목록에서 일치하는 접두사가 없는 경우, show 접두사보다도 아래에 위치해 두었습니다.
  • 다만 일부는 편의상을 이유로 예외 정렬한 곳도 있어, 소스 코드의 모든 객체가 위치를 이 규칙에 따라 정렬된 건 아닙니다.

목차

초기 설정

const ROOMNAME

ROOMNAME: String

  • 서버 이름을 저장합니다

const DESCRIPTION

DESCRIPTION: String

  • 서버 설명을 저장합니다

const MAXLIMIT

MAXLIMIT: Int

  • 최대 인원을 저장합니다

const HOSTNAME

HOSTNAME: String

  • 호스트 이름을 결정합니다

const PUBLIC

PUBLIC: Bool

  • 서버 공개 여부를 결정합니다

const TOKEN

TOKEN: String

  • 만료되지 않은 값을 지정하면 서버 초기화 직후 recaptcha 인증을 건너뜁니다
  • token여기서 발급 받을 수 있습니다

const NOPLAYER

NOPLAYER: Int

  • 호스트 공개 여부를 결정합니다

const LANG_CODE

LANG_CODE: String

  • 언어 코드를 결정합니다

const REGION_CODE

REGION_CODE: String

  • 지역 코드를 결정합니다

const LAT

LAT: Float

  • 시스템의 위도를 결정합니다

const LON

LON: Float

  • 시스템의 경도를 결정합니다

let PASSWORD

PASSWORD: String

  • 시스템 비밀번호를 저장합니다

const MAXPLAYERS

MAXPLAYERS: Int

  • 최대 인원을 결정합니다

const INITSERVER(str)

INITSERVER(str: String)

  • 서버를 초기화 합니다

const ROOM

ROOM: RoomObject

  • INITSERVER(PASSWORD)HBInit()를 호출합니다
  • RoomObject를 반환합니다

const requestExternalFile(ln)

requestExternalFile(ln: String)

  • 외부 파일을 호출하여 반환합니다

const convertScript(ln)

convertScript(ln: String)

  • 오브젝트를 json 형식으로 반환합니다
  • requestExternalFile()를 호출합니다

상수

const c_ADMIN_TYPE

c_ADMIN_TYPE: Object

  • 권한 유형을 저장합니다

const c_TEAM

c_TEAM: Object

  • 팀 유형을 저장합니다

const c_GAME_STATS

c_GAME_STATS: Object

  • 경기 진행 상태를 저장합니다

const c_PLAYERINFO_TYPE

c_PLAYERINFO_TYPE: Object

  • 플레이어 정보 유형을 저장합니다

const c_LIST_ICON

c_LIST_ICON: Object

  • 제목 아이콘 목록을 저장합니다

const c_LIST_COLOR

c_LIST_COLOR: Object

  • 색상 목록을 저장합니다

const c_LIST_STYLE

c_LIST_STYLE: Object

  • 메시지 서식 목록을 저장합니다

const c_LIST_SOUND

c_LIST_SOUND: Object

  • 메시지 소리 목록을 저장합니다

const c_LIST_EMOTION

c_LIST_EMOTION: Array<String>

  • 이모티콘 목록을 저장합니다

const c_TIME_TYPE

c_TIME_TYPE: Object

  • 시간 출력 형식 목록을 저장합니다

const c_TAG_NOTFCN

c_TAG_NOTFCN: Object

  • 알림 태그 목록을 저장합니다

const c_TAG_GRADE

c_TAG_GRADE: Array<String>

  • 권한 및 블랙리스트 마크 목록을 저장합니다

const c_TAG_TEAM

c_TAG_TEAM: Object

  • 팀 마크 목록을 저장합니다

const c_LOG_TYPE

c_LOG_TYPE: Object

  • 로그 유형 목록을 저장합니다

const c_ERROR_TYPE

c_ERROR_TYPE: Object

  • 오류 유형 목록을 저장합니다

맵 초기화

let defaultStadiumList

defaultStadiumList: Array<String>

  • 기본 맵 데이터베이스를 저장합니다

let customStadiumList

customStadiumList: Array<String>

  • 커스텀 맵 데이터베이스를 저장합니다

const initStadiums(links)

initStadiums(links: Array<String>)

  • 맵 데이터베이스를 초기화합니다

Class GameManager

#afkLimitTime

#gameEventStats

#gameLink

#firstTimeNotified

#isRecording

#lastTimeNotified

#repeatedLimitTime

#timeLimit

#timeLimitReached

#totalMatch

constructor(afkLimitTime, rptLimitTime, timeLimit)

get afkTime()

get gameLink()

get gameStats()

get recStats()

get rptTime()

get sumMatch()

set afkTime(v)

set gameLink(v)

set gameStats(v)

set recStats(v)

onGamePause(player)

onGameStart(player)

onGameStop(player)

onGameTick()

onGameUnpause(player)

onKickRateLimitSet(min, rate, burst, player)

onPlayerBallKick(player)

onPlayerJoin(player)

onPlayerLeave(player)

onPositionsReset()

onRoomLink(address)

onStadiumChange(newMap, byPlayer)

onTeamGoal(team)

onTeamVictory(scores)

handleGameStart()

handleGameTick(currentTime)

findStadiumNameList(target)

findTeamName(value, abr)

checkPublicId(msg, player, hasAllRange)

loadMap(target, player)

reorderPlayers(playerIdList, moveToTop)

startRecording(hideAnchor)

stopRecording()


Class Administration

#blacklist

#defaultStadium

#enableDynamicAdmin

#isAllowTeamSwitch

#isLockStadium

#maxAdminLimit

#pinHost

constructor(dynamicAdmin, isAllowJoin, isLockStadium, defaultStadium, maxAdmin, pinHost, ...blacklist)

onPlayerAdminChange(givenPlayer, byPlayer)

onPlayerKicked(kickedPlayer, reason, ban, byPlayer)

get allowJoin()

get bl()

get defStdm()

get dynmcAdmin()

get lockStadium()

get maxAdmin()

get password()

get pinHost()

get rstrStadium()

set allowJoin(bool)

set dynmcAdmin(bool)

set lockStadium(bool)

set password(value)

initBlacklist(isSuper, name, conn, reason)

isBlacklist(player, isSuper)

isMute(target)

hasAdmin(player, level)

hasMatchedConnection(player)

findAddress(target)

findAdminList(level)

findBlacklistByAddress(conn)

findBlacklistByName(str)

findBlacklistByPlayer(player, isSuper)

findMutedList(isPublic)

findNetwork(target)

addBlacklist(isSuper, name, conn, reason)

addBlacklistByPlayer(target, isSuper, reason)

updateAdmins()

updateDefaultStadium(st)

updatePassword(pass)

clearBans(player)

clearMutedList(player)

clearPassword(byPlayer)

deleteAdmin(player, isSub)

resetGame(player)

showAdminList(target)

showPassword(player)

cntAdmins(level)

enablePinHost(bool)

giveAdmin(player, isSub)

kickPlayer(target, msg, ban, ...replace)

limitScore(value, byPlayer)

limitTime(value, byPlayer)

logonAdmin(player, msg, type)

missPassword(player, msg, type)

mutePlayer(target, time, byPlayer)

swapGame(player)

unmutePlayer(target, byPlayer)


Class BlacklistSystem

#address

#address: PlayerObject.conn

  • 공용 주소를 저장합니다

#nickname

#nickname: String

  • 이름을 저장합니다

#super

#super: Bool

  • 접속 불가 유무를 저장합니다

#reason

#reason: String

  • 등록 사유를 저장합니다

constructor(isSuper, name, conn, reason)

constructor(isSuper: Bool, name: String, conn: PlayerObject.conn, reason: String)

get addr()

  • #address의 값을 반환합니다

get name()

  • #nickname의 값을 반환합니다

get sup()

  • #super의 값을 반환합니다

get rsn()

  • #reason의 값을 반환합니다

set addr(v)

set addr(v: String)

  • #address의 값을 변경합니다

set rsn(v)

set rsn(v: String)

  • #reason의 값을 변경합니다

hasMatchedAddress(conn)

hasMatchedAddress(conn: PlayerObject.conn)

  • 공용 주소 데이터 일치 여부를 확인합니다

hasMatchedDatabase(name, address, isSuper)

hasMatchedDatabase(name: String, address: PlayerObject.conn, isSuper: Bool)

  • 데이터베이스 일치 여부를 확인합니다

hasMatchedName(str)

hasMatchedName(str: String)

  • 이름 데이터 일치 여부를 확인합니다

Class NotificationManager

#c_LIST_MSG_COLOR

#notiList

#send()

constructor(common, access, caution, info, locked, notice, warning)

get MSC()

get ntl()

initNoti(name, tag, string, style, color, time, targets)

isColor(color)

findChatHistoryByPlayer(player)

findColor(color, hasRaw)

findNotiHistoryByPlayer(player)

findSound(sound)

findStyle(style)

addNotiList(name, tag, string, style, color, targets)

showNotiHistory(title, notiList, targets, maxLines)

announce(name, msg, targets, color, style, sound, delay, ...replace)

extMsg(title, content, targets, advCom, titleColor, contentColor, delay, ...replace)

uniMsg(title, content, targets, advCom, delay, ...replace)

access(targets, reason, advCom, ...replace)

alert(player)

caution()

cmndList(title, content, targets, advCom, ...replace)

fmtStr(str, rep, target)

help(msg, exCom, targets, advCom, ...replace)

info()

locked(isLock, msg, targets, advCom, ...replace)

message(string, targets, ...replace)

notice(msg, targets, advCom, ...replace)

warning(msg, targets, advCom, ...replace)


Class NotificationSystem

#id

#id: String

  • 알림 ID를 저장합니다

#name

#name: String

  • 알림 이름을 저장합니다

#targets

#targets: Array<Int>

  • 알림 대상을 저장합니다

#tag

#tag: Int

  • 알림 분류를 저장합니다

#stringTitle

#stringTitle: String

  • 제목 문자열을 저장합니다

#stringContent

#stringContent: String

  • 내용 문자열을 저장합니다

#styleTitle

#styleTitle: String

  • 제목 서식을 저장합니다

#styleContent

#styleContent: String

  • 내용 서식을 저장합니다

#colorTitle

#colorTitle: Int

  • 제목 색상을 저장합니다

#colorContent

#colorContent: Int

  • 내용 색상을 저장합니다

#time

#time: Int

  • 생성 시간을 저장합니다

#findColors(t, n)

#findColors(t: Int, n: Int)

  • 특정 색상을 반환합니다

#sendAnnouncement(string, color, style, sound)

#sendAnnouncement(string: String, color: Int, style: String, sound: String)

  • 메시지를 생성합니다

constructor(name, tag, string, style, color, time, targets)

constructor(name: String, tag: Int, string: String, style: String, color: Int, time: Int, targets: Array<Int>)

get id()

#id의 값을 반환합니다

get name()

#name의 값을 반환합니다

get targets()

#targets의 값을 반환합니다

get tag()

#tag의 값을 반환합니다

get strTit()

#stringTitle의 값을 반환합니다

get strCtn()

#stringContent의 값을 반환합니다

get styTit()

#styleTitle의 값을 반환합니다

get styCtn()

#styleContent의 값을 반환합니다

get colTit()

#colorTitle의 값을 반환합니다

get colCtn()

#colorContent의 값을 반환합니다

get time()

#time의 값을 반환합니다

hasTitle()

hasTitle(void)

  • 제목 포함 여부를 반환합니다

out(delay, sound)

out(delay: Int, sound: String)

  • 알림을 출력합니다

Class ChatManager

#forbiddenWordList

#isFreezeChat

#isLockPrivateChat

#maxForbiddenWordCount

#maxRepeatedCount

#playerList

#strictLevel

constructor(isFreeze, isLockPrivateChat, strictLevel, maxForbiddenWordCount, maxRepeatedCount, ...bannedWords)

get fwl()

get isFreezeChat()

get isLockPrvChat()

get maxFwdCount()

get maxRptCount()

get pyl()

get strctLev()

set isFreezeChat(bool)

set isLockPrvChat(bool)

set maxFwdCount(limit)

set maxRptCount(limit)

set strctLev(targetLev)

onPlayerChat(player, msg)

initPlayer(player, time)

isWhiteSpace(str)

hasForbiddenWord(msg)

hasMutedChat(player)

hasRepeatedChat(player)

findChatLogsByPlayer(target)

findPlayerById(target)

addPlayerList(player, time)

updateChatLog(player, msg, time)

showHelpCommandList(title, cml, player)

freezeChat(time, player)

lockPrivateChat(bool, player)

sendAlert(msg, targets, ...replace)

sendAllChat(player, msg)

sendEmojiChat(player, msg)

sendMsg(msg, targets, ...replace)

sendPrivateChat(toPlayer, fromPlayer, msg)

sendTeamChat(teamId, msg, player)

unfreezeChat(player)


Class ChatSystem

#id

#id: Int

  • 플레이어의 공용 ID를 저장합니다

#forbiddenWordCount

#forbiddenWordCount: Int

  • 금지어 누적 감지량을 저장합니다

#logList

#logList: Array<String>

  • 채팅 기록을 저장합니다

#repeatedCount

#repeatedCount: Int

  • 반복 채팅 누적 감지량을 저장합니다

#time

#time: Int

  • 입력 시간을 저장합니다

#timeList

#timeList: Array<Int>

  • 시간 기록을 저장합니다

constructor(id, time)

constructor(id: Int, time: Int)

get id()

  • #id의 값을 반환합니다

get cntFwd()

  • #forbiddenWordCount의 값을 반환합니다

get cntRpt()

  • #repeatedCount의 값을 반환합니다

get lgs()

  • #logList의 값을 반환합니다

get lgt()

  • #timeList의 값을 반환합니다

get time()

  • #time의 값을 반환합니다

set cntFwd(v)

set cntFwd(v: Int)

  • #forbiddenWordCount의 값을 변경합니다

set cntRpt(v)

set cntRpt(v: Int)

  • #repeatedCount의 값을 변경합니다

hasMutedChat()

hasMutedChat(void)

  • 채팅 금지 여부를 반환합니다

hasRepeatedChat()

hasRepeatedChat(void)

  • 반복 채팅 감지 여부를 반환합니다

findChatLogs(max)

findChatLogs(max: Int)

  • 채팅 로그 목록을 반환합니다

addChatLog(msg, time)

addChatLog(msg: String, time: Int)

  • 채팅 로그 데이터베이스를 추가합니다

updateChatLog(msg, time)

updateChatLog(msg: String, time: Int)

  • 채팅 로그 데이터베이스를 갱신합니다

deleteChatLog()

deleteChatLog(void)

  • 채팅 로그 데이터베이스를 삭제합니다

Class CommandManager

#c_headerList

#maxStringLength

constructor(maxMsgLength)

get HDL()

get maxMsgLen()

set maxMsgLen(n)

onPlayerChat(player, msg)

initCommand(readOnly, name, func, ...val)

initCommands(readOnly, cml)

hasCommand(cl, fn)

hasMatchedCommand(cl, ct)

findCommand(cl, fn)

findCommandTypeByNumber(str, cmtx)

findMatchedCommand(cl, ct)

alertSpam(player, msg, type)

comAdminList(player, msg, type)

comMutedList(player, msg, type)

comFreezeChat(player, msg, type)

comUnfreezeChat(player, msg, type)

comMute(player, msg, type)

comUnmute(player, msg, type)

comKick(player, msg, type)

comClearBans(player, msg, type)

comLockPrivateChat(player, msg, type)

comSetPassword(player, msg, type)

comShowPassword(player, msg, type)

comClearPassword(player, msg, type)

comPinHost(player, msg, type)

comRecaptcha(player, msg, type)

comAvatar(player, msg, type)

comResetAvatar(player, msg, type)

comUpdateUniform(player, msg, type)

comClearUniform(player, msg, type)

comAllChat(player, msg, type)

comPrivateChat(player, msg, type)

comTeamChat(player, msg, type)

comChatHistory(player, msg, type)

comChatMode(player, msg, type)

comAfk(player, msg, type)

comSleepList(player, msg, type)

comAllowJoin(player, msg, type)

comJoin(player, msg, type)

comNotiHistory(player, msg, type)

comRecording(player, msg, type)

comResetGame(player, msg, type)

comSwapGame(player, msg, type)

comUpdateScore(player, msg, type)

comUpdateTime(player, msg, type)

helpBot(player, msg, type)

helpChat(player, msg, type)

helpCom(player, msg, type)

helpJoin(player, msg, type)

helpMap(player, msg, type)

helpRank(player, msg, type)

helpScore(player, msg, type)

helpMisc(player, msg, type)

infoLink(player, msg, type)

infoMaps(player, msg, type)

infoRanking(player, msg, type)

infoRoom(player, msg, type)

infoStats(player, msg, type)

joinPlayer(player, msg)

loadMap(player, msg, type)

runCommand(src, type, player)


Class CommandSystem

  • 명령어 데이터베이스를 처리합니다

#linkedFunction

#linkedFunction: Object

  • 연결된 함수를 저장합니다

#name

#name: String

  • 명령어 이름을 저장합니다

#readOnly

#readOnly: Bool

  • 명령어 데이터베이스의 읽기 전용 모드 여부를 저장합니다

#values

#values: Array<String>

  • 입력 문자열을 저장합니다

constructor(readOnly, name, func, ...val)

get name()

  • #name의 값을 반환합니다

get lkfn()

  • #linkedFunction의 값을 반환합니다

get strct()

  • #readOnly의 값을 반환합니다

get val()

  • #values의 값을 반환합니다

set val(v)

set val(v: Array<String>)

  • #values의 값을 변경합니다

Class PlayerManager

#playerList

constructor()

get pyl()

onPlayerActivity(player)

onPlayerInactivity(player)

onPlayerTeamChange(player, byPlayer)

initPlayer(player, region, language)

isAfkPlayer(player, time)

isValid(target, includeHost)

hasCommonRange(player, ball, range)

hasJoined(player)

findDiscProp(target)

findLocalId(publicId)

findPlayerById(target)

findPlayerList(isPublic)

findPlayerListByTeam(team)

findTagGrade(player)

findTagTeam(team)

addPlayerList(player, region, language)

addSleepPlayer(player)

updateAccount(player)

updateTime(player, time)

updateUniform(team, angle, textColor, bgColor)

clearPlayerById(player)

clearUniform(team)

deleteSleepPlayer(player)

resetAvatar(player)

showMutedList(player, isPublic)

showSleepList(player, isPublic)

cntPlayers(team)

enableSleepMode(player, bool)

giveAvatar(player, msg)

moveTeam(player, team)


Class PlayerSystem

#id

#nickname

#team

#address

#admin

#region

#language

#chatmode

#totalWarn

#hasKicked

#isMute

#isSleep

#network

#time

#joinedTime

#leftTime

#uniqueAvatar

constructor(id, name, team, admin, conn, auth, region, language)

get id()

get name()

get team()

get addr()

get admin()

get rgn()

get lng()

get totalWarn()

get chmd()

get discProp()

get dpPosition()

get dpGraVect()

get dpSpdVect()

get hasKicked()

get isMute()

get isSleep()

get ntwk()

get time()

get jndTime()

get lftTime()

get localId()

get tagGrade()

get unqAvtr()

set admin(value)

set rgn(value)

set lng(value)

set chmd(value)

set totalWarn(value)

set discProp(value)

set hasKicked(value)

set unqAvtr(value)

isAfk(time)

hasCommonRange(ball, range)

hasJoined()

findChatHistory()

findNotiHistory()

addSleepList()

updateTeam(v)

updateTime(t)

clearPlayer()

deleteAdmin(isSub)

deleteSleepList()

resetAvatar()

showPlayerInfo(type)

adjustGraVect(x, y)

adjustSpdVect(x, y)

giveAdmin(isSub)

giveAvatar(str)

movePosition(dx, dy)

moveTeam(t)

mute(bool)

teleportPosition(tx, ty)


Class ScoreManager

#totalGoals

#rankList

#touchedList

#collisionRange

#win

#goal

#lost

#ownGoal

#assist

constructor(collisionSensitivity, win, lost, goal, ownGoal, assist)

get collRange()

get gameTime()

get lastTouchedPlayer()

get limitScore()

get limitTime()

get scores()

get totalRedGoals()

get totalBlueGoals()

get wn()

get lst()

get gl()

get og()

get ast()

get tchdLst()

get rnkLst()

set collRange(v)

set totalRedGoals(v)

set totalBlueGoals(v)

onPlayerTeamChange(player, byPlayer)

onPositionsReset()

initRankList(player)

initTouchedList(player)

hasCommonRange(da, db, range)

findAssist(target)

findDiscColor(target)

findDiscProp(target)

findRankListByGrade(grade)

findRankListByPlayer(target)

findTouchedListByPlayer(target)

findWinner(scores)

addTouchedList(player)

updateAccount(op, np)

updateGoals(team)

updateTouchedList(target)

clearRankListByPlayer(player)

clearTouchedList()

clearTouchedListByPlayer(player)

sendRanking(target, player)

calcDistance(a, b)

calcGoalsByTeam(team)

calcGravityVector(target)

calcPosition(target)

calcSpeedVector(target)

calcTotalGoalsByTeam(team)


Class StatusSystem

  • 전적 데이터베이스를 처리합니다

#id

#id: Int

  • 플레이어의 공용 ID를 저장합니다

#win

#win: Int

  • 승리한 경기 횟수를 저장합니다

#lost

#lost: Int

  • 패배한 경기 횟수를 저장합니다

#goal

#goal: Int

  • 득점한 골의 수를 저장합니다

#ownGoal

#ownGoal: Int

  • 실점한 골의 수를 저장합니다

#assist

#assist: Int

  • 도움 횟수를 저장합니다

constructor(id)

constructor(id: Int)

get asst()

  • #assist의 값을 반환합니다

get goal()

  • #goal의 값을 반환합니다

get grade()

  • 전적 순위를 계산하여 반환합니다

get id()

  • #id의 값을 반환합니다

get lost()

  • #lost의 값을 반환합니다

get owgl()

  • #ownGoal의 값을 반환합니다

get scores()

  • 전적 점수를 계산하여 반환합니다

get status()

  • 전적 기록을 문자열로 반환합니다

get about()

  • 플레이어의 상세 기록 정보를 반환합니다

get records()

  • 플레이어의 순위 정보를 반환합니다

get win()

-#win의 값을 반환합니다

get winPct()

  • 승률 값을 반환합니다

set asst(v)

set assist: Int

  • #assist의 값을 변경합니다

set goal(v)

set goal: Int

  • #goal의 값을 변경합니다

set lost(v)

set lost: Int

  • #lost의 값을 변경합니다

set owgl(v)

set ownGoal: Int

  • #ownGoal의 값을 변경합니다

set win(v)

set win: Int

  • #win의 값을 변경합니다

clearPlayer()

clearPlayer(void)

  • 플레이어의 전적 데이터베이스를 지웁니다

Class TouchedPlayer

  • 선두자 데이터베이스를 처리합니다

#id

#id: Int

  • 플레이어의 공용 ID를 저장합니다

#disc

#disc: Object

  • 0번째 디스크의 속성을 저장합니다

#pos

#pos: Object

  • 플레이어의 좌표를 저장합니다

#team

#team: Int

  • 플레이어의 팀을 저장합니다

#time

#time: Int

  • 감지 시간을 저장합니다

constructor(id)

constructor(id: Int)

get id()

  • #id의 값을 반환합니다

get disc()

  • #disc의 값을 반환합니다

get pos()

  • #pos의 값을 반환합니다

get team()

  • #team의 값을 반환합니다

get time()

  • #time의 값을 반환합니다

hasCommonRange(ball, range)

hasCommonRange(ball: Int, range: Int)

  • 플레이어와 디스크 간의 충돌 여부를 반환합니다

Class TimeManager

  • 시간 및 타이머 데이터베이스를 전반적으로 제어합니다

#timeFormats

#timeFormats: Int

  • 시간 출력 형식을 저장합니다

#timerList

#timerList: Array<TimerSystem>

  • 타이머 데이터베이스를 저장합니다

constructor(timeFormats)

constructor(timeFormats: Int)

get date()

  • 날짜 및 시간 데이터베이스를 반환합니다
  • initDate()를 호출합니다

get fmtTime()

  • 시간 출력 형식을 반환합니다

get meridiem()

  • 오후 및 오전을 2 또는 1의 값으로 반환합니다

get tml()

  • 타이머 데이터베이스를 반환합니다

set fmtTime(index)

set fmtTime(index: Int)

  • 시간 출력 형식을 변경합니다

initDate(milliseconds)

initDate(milliseconds: Int)

  • 시간 데이터베이스를 초기화합니다

initTimer(name, id, func, player, delay, isRepeat, preId, seq)

initTimer(name: String, id: String, func: Object, player: Int, delay: Int, isRepeat: Bool, preId: String, seq: Int)

  • 타이머 데이터베이스를 초기화합니다

findTimer(findId)

findTimer(findId: String)

  • 특정 ID를 가진 타이머의 데이터베이스를 반환합니다

findTimerByName(name, player)

findTimerByName(name: String, player: Int)

  • 특정 이름을 가진 타이머의 데이터베이스를 반환합니다

findTimerByPlayer(target)

findTimerByPlayer(target: Int)

  • 특정 플레이어의 타이머 데이터베이스를 반환합니다

findTimers(target, hasTarget)

findTimers(target: Int, hasTarget: Bool)

  • 타이머 목록을 반환합니다

addTimer(name, func, player, delay, isRepeat, runDirectly, seq)

addTimer(name: String, func: Object, player: Int, delay: Int, isRepeat: Bool, runDirectly: Bool, seq: Int)

  • 타이머 데이터베이스를 추가합니다

clearTimer(findId, skipTrmnFn)

clearTimer(findId: Int, skipTrmnFn: Bool)

  • 타이머 데이터베이스를 삭제합니다

clearTimerByName(name, player)

clearTimerByName(name: String, player: Int)

  • 특정 이름을 가진 타이머의 데이터베이스를 삭제합니다

clearTimerByPlayer(player)

clearTimerByPlayer(player: Int)

  • 특정 플레이어의 타이머 데이터베이스를 삭제합니다

resetTimers()

resetTimers(void)

  • 타이머 데이터베이스를 모두 삭제합니다

Class DateSystem

  • 시간 시스템을 처리합니다

#milliseconds

#milliseconds: Int

  • 밀리초를 저장합니다

constructor(milliseconds)

constructor(milliseconds: Int)

get date()

  • 날짜 데이터를 반환합니다

get time()

  • 시간을 밀리초 단위로 반환합니다

get year()

  • 연도 단위를 반환합니다

get month()

  • 월 단위를 반환합니다

get day()

  • 일 단위를 반환합니다

get hours()

  • 시간 단위를 반환합니다

get minutes()

  • 분 단위를 반환합니다

get secs()

  • 초 단위를 반환합니다

get meridiem()

  • 오전 및 오후에 따라 2 또는 1의 값을 반환합니다

showCurrentTime(type)

showCurrentTime(type: Int)

  • 현재 시간을 출력합니다

showDate()

showDate(void)

  • 현재 날짜 및 시간을 출력합니다

showNormalTime()

showNormalTime(void)

  • 현재 시간을 간단히 출력합니다

showTime()

showTime(void)

  • 현재 시간을 자세히 출력합니다

Class TimerSystem

  • 타이머 시스템을 처리합니다

#id

#id: String

  • 타이머의 ID를 저장합니다

#name

#name: String

  • 타이머의 이름을 저장합니다

#player

#player: Int

  • 플레이어의 ID를 저장합니다

#time

#time: Int

  • 등록 시간을 저장합니다

#delay

#delay: Int

  • 지연 시간을 저장합니다

#exctFn

#exctFn: Object

  • 실행 함수를 저장합니다

#trmnFn

#trmnFn: Object

  • 종료 함수를 저장합니다

#proc

#proc: Object

  • 처리 함수를 저장합니다

#sequence

#sequence: Int

  • 진행 순서를 저장합니다

#isRepeat

#isRepeat: Bool

  • 반복 여부를 저장합니다

constructor(name, id, exct, trmn, delay, preId, target, seq)

constructor(name: String, id: String, exct: Object, trmn: Object, delay: Int, preId: String, target: Int, seq: Int)

  • 추가로 호출된 타이머를 지우고 데이터베이스를 갱신합니다

get id()

  • #id의 값을 반환합니다

get name()

  • #name의 값을 반환합니다

get player()

  • #player의 값을 반환합니다

get time()

  • #time의 값을 반환합니다

get delay()

  • #delay의 값을 반환합니다

get exctFn()

  • #exctFn의 값을 반환합니다

get trmnFn()

  • #trmnFn의 값을 반환합니다

get proc()

  • #proc의 값을 반환합니다

get seq()

  • #sequence의 값을 반환합니다

get isRepeat()

  • #isRepeat의 값을 반환합니다

findTimerByName()

findTimerByName(void)

  • 특정 이름을 가진 타이머 데이터베이스를 반환합니다

findTimerByPlayer()

findTimerByPlayer(void)

  • 특정 플레이어의 타이머 데이터베이스를 반환합니다

clearTimer(bypass)

clearTimer(bypass: Bool)

  • 타이머 데이터베이스를 지웁니다

clearTimerByName()

clearTimerByName(void)

  • 특정 이름을 가진 타이머의 데이터베이스를 지웁니다

clearTimerByPlayer()

clearTimerByPlayer(void)

  • 특정 플레이어의 타이머 데이터베이스를 지웁니다

calcCurrentSequence(mx, mn)

calcCurrentSequence(mx: Int, mn: Int)

  • 반복 타이머의 현재 진행 순서를 반환합니다

calcTotalSequence(seq)

calcTotalSequence(seq: Int)

  • 반복 타이머의 누적 진행 순서를 반환합니다

Class GameSystem

#defaultFontFamily

#securityPatchLevel

#versionUMUX

#maxNotiIcons

#cssStyleList

#isDeveloperMode

#hasInitServer

#hasInitDashboard

#lockedPassword

#releaseDate

#startupTime

#versionRoom

constructor(versionRoom, releaseDate, isDev, lockedPassword)

get csl()

get verRoom()

get verUMUX()

get maxNtcn()

get frmbd()

get scrPtcLvl()

get isDevMode()

get hasInitSrv()

get hasInitDsb()

get lockedPswd()

get rsDate()

get stpTime()

set stpTime(v)

set isDevMode(v)

onClickBtnSendLog()

onKeyDownLogInput(e)

initAttributeColors(obj, colBg, colText, colShd, str, isGradient, brd)

initAttributeId(obj, cssName, id)

initCssClass(elm, str)

initElement(tag, id, cssName)

initDashboard()

initSystem(url)

hasInRange(num, min, max, excludeMin)

findInfo()

addEventInput(obj, ev)

addDashboardEle(pe, ce)

addPlayerById(player)

updateDashboard()

updatePlayerById(player)

clearPlayerById(player)

showPlayerInfo(player, type)

enableDevMode(bool)

enableRecaptcha(isActive, player)

fillLine(num, line)

generateNumberArray(max, min, multiple)

lockPassword(bool)

pickRandomNumber(num, min, multiple)

printMsg(msg, targets, ...replace)


Class LogManager

  • 로그 데이터베이스를 전반적으로 제어합니다

#logTagList

#logTagList: Array<LogTagSystem>

  • 로그 태그 데이터베이스를 저장합니다

#errorTagList

#errorTagList: Array<Object>

  • 오류 태그 데이터베이스를 저장합니다

#logList

#logList: Array<LogSystem>

  • 로그 데이터베이스를 저장합니다

constructor()

constructor(void)

  • 오류 태그 데이터베이스를 불러옵니다
  • convertScript()를 호출합니다

get lts()

  • #logTagList의 값을 반환합니다

get ets()

  • #errorTagList의 값을 반환합니다

get lgs()

  • #logList의 값을 반환합니다

initLog(id, time, io, tag, content)

initLog(id: Int, time: Int, io: Bool, tag: Int, content: String)

  • 로그 데이터베이스를 초기화합니다
  • LogSystem 클래스를 호출하고 반환합니다

initLogTag(id, textColor, backgroundColor, borderColor)

initLogTag(id, textColor, backgroundColor, borderColor)

  • 로그 태그 데이터베이스를 초기화합니다
  • LogTagSystem 클래스를 호출하고 반환합니다

findErrorTagById(target)

findErrorTagById(target: Int)

  • 특정 ID를 가진 오류 태그 데이터베이스를 반환합니다

findLogById(target)

findLogById(target: Int)

  • 특정 ID를 가진 로그 데이터베이스를 반환합니다

findLogTagById(target)

findLogTagById(target: Int)

  • 특정 ID를 가진 로그 태그 데이터베이스를 반환합니다

addLogList(id, time, io, tag, content)

addLogList(id, time, io, tag, content)

  • 로그 데이터베이스를 추가합니다
  • 로그 데이터베이스 초기화를 위해 initLog()를 호출합니다

addLogTagList(id, textColor, backgroundColor, borderColor)

addLogTagList(id, textColor, backgroundColor, borderColor)

  • 로그 태그 데이터베이스를 추가합니다
  • 로그 태그 데이터베이스 초기화를 위해 initLogTag()를 호출합니다

sendConsole(c, a, t, m)

sendConsole(c: Int, a: String, t: Int, m: String)

  • 콘솔로 전송합니다

error(type, ...replace)

error(type: Int, ...replace: Array<String>)

  • 로그 오류를 전달합니다

log(io, msg, type, ...replace)

log(io: Bool, msg: String, type: Int, ...replace: Array<String>)

  • 로그를 전달합니다

Class LogSystem

  • 로그 시스템을 처리합니다

#id

#id: Int

  • 로그의 ID를 저장합니다

#time

#time: Int

  • 로그 기록 시간을 저장합니다

#io

#io: Bool

  • 로그의 입출력 유형을 저장합니다

#tag

#tag: Int

  • 로그 태그 유형을 저장합니다

#content

#content: String

  • 로그 내용을 저장합니다

#hasFinished

#hasFinished: Bool

  • 로그 전송 여부를 저장합니다

#hasExpired

#hasExpired: Bool

  • 로그 만료 여부를 저장합니다

#expire()

#expire(void)

  • 로그를 만료 처리합니다

#record(str, time, arrow, txc, bgc, brd)

#record(str: String, time: Int, arrow: String, txc: Int, bgc: Int, brd: Int)

  • 로그 기록을 처리합니다

constructor(id, time, io, tag, content)

constructor(id: Int, time: Int, io: Bool, tag: Int, content: String)

get id()

  • #id의 값을 반환합니다

get time()

  • #time의 값을 반환합니다

get io()

  • #io의 값을 반환합니다

get tag()

  • #tag의 값을 반환합니다

get ctn()

  • #ctn의 값을 반환합니다

get hasFinished()

  • #hasFinished의 값을 반환합니다

get hasExpired()

  • #hasExpired의 값을 반환합니다

set hasFinished(v)

set hasFinished(v: Bool)

  • #hasFinished의 값을 변경합니다

send()

send(void)

  • 로그를 전달합니다

Class LogTagSystem

  • 로그 태그 시스템을 처리합니다

#id

#id: Int

  • 태그의 ID를 저장합니다

#textColor

#textColor: Int

  • 로그 출력시 텍스트 색상을 저장합니다

#backgroundColor

#backgroundColor: Int

  • 로그 출력시 배경 색상을 저장합니다

#borderColor

#borderColor: Int

  • 로그 출력시 테두리 색상을 저장합니다

constructor(id, textColor, backgroundColor, borderColor)

constructor(id: Int, textColor: Int, backgroundColor: Int, borderColor: Int)

get id()

  • #id의 값을 반환합니다

get txc()

  • #textColor의 값을 반환합니다

get bgc()

  • #backgroundColor의 값을 반환합니다

get brc()

  • #borderColor의 값을 반환합니다

명령어

  • 명령어 입력을 통해 특정 기능을 시스템에서 수행합니다
  • ChatManager 클래스의 onPlayerChat()가 명령어 입력을 감지하기 위해 이 데이터베이스를 호출합니다
  • GameManager 클래스의 runCommand()가 이 데이터베이스로부터 기능을 수행할 수 있도록 연결합니다
  • CommandManager 클래스의 initCommand()가 명령어 데이터베이스를 초기화합니다.
  • 명령어 추가는 아래와 같이 작성합니다
// 게임 채팅에서 `!1234`, '!!1234', '?1234' 중에 하나를 입력하면
// AMN.logonAdmin()를 실행합니다
[AMN.logonAdmin] :	["1234"]


// 하나의 함수에 여러 개의 문자열을 대응할 수 있습니다
// 아래와 같은 경우 `1234`, `4321`, `1111`, `2222` 중에 하나를 골라서 `!` 및 `!!` 또는 `?`를 앞에 두면
// AMN.logonAdmin()를 실행합니다
[AMN.logonAdmin] :	["1234", "4321", "1111", "2222"]

const internalCommands

  • UMUX 내부 시스템을 접근하는 명령어입니다.
  • 기존 명령어 삭제 및 신규 명령어 추가는 금지합니다.
  • 기존 명령어 접근을 막거나 주석 처리는 권장하지 않습니다.
  • 명령어 목록 초기화를 위해 CommandManager 클래스의 initCommands()를 호출합니다.

const standardCommands

  • UMUX 표준 명령어입니다.
  • 기존 명령어 삭제 및 신규 명령어 추가는 권장하지 않습니다.
  • 기존 명령어 접근을 막거나 주석 처리는 권장하지 않습니다.
  • 명령어 목록 초기화를 위해 CommandManager 클래스의 initCommands()를 호출합니다.

let customCommands

  • UMUX 커스텀 명령어입니다.
  • 신규 명령어 추가에 적합하며, 권장합니다.
  • 명령어 목록 초기화를 위해 CommandManager 클래스의 initCommands()를 호출합니다.

이벤트

room.onGameStart

onGameStart(byPlayer: PlayerObject)

  • 경기가 시작되면 호출합니다
  • GameManager 클래스의 onGameStart()를 호출합니다

room.onGameTick

onGameTick(void)

  • 경기가 진행되는 동안 호출합니다
  • GameManager 클래스의 onGameTick()를 호출합니다

room.onGameStop

onGameStop(byPlayer: PlayerObject)

  • 경기가 종료되면 호출합니다
  • GameManager 클래스의 onGameStop()를 호출합니다

room.onGamePause

onGamePause(byPlayer: PlayerObject)

  • 경기가 중지되면 호출합니다
  • GameManager 클래스의 onGamePause()를 호출합니다

room.onGameUnpause

onGameUnpause(byPlayer: PlayerObject)

  • 경기가 재개되면 호출합니다
  • GameManager 클래스의 onGameUnpause()를 호출합니다

room.onKickRateLimitSet

onKickRateLimitSet(min: Int, rate: Int, burst: Int, player: PlayerObject)

  • 킥 제한이 설정되면 호출합니다
  • GameManager 클래스의 onKickRateLimitSet()를 호출합니다

room.onPlayerActivity

onPlayerActivity(player: PlayerObject)

  • 플레이어의 키 입력이 감지되면 호출합니다
  • 선두자 데이터베이스 갱신을 위해 PlayerManager 클래스의 onPlayerActivity()를 호출합니다

room.onPlayerAdminChange

onPlayerAdminChange(givenPlayer: PlayerObject, byPlayer: PlayerObject)

  • 플레이어의 권한이 변경되면 호출합니다
  • 권한 데이터베이스 갱신을 위해 Administration 클래스의 onPlayerAdminChange()를 호출합니다

room.onPlayerBallKick

onPlayerBallKick(player: PlayerObject)

  • 플레이어가 공을 차면 호출합니다
  • 선두자 데이터베이스 추가를 위해 GameManager 클래스의 onPlayerBallKick()를 호출합니다

room.onPlayerChat

onPlayerChat(player: PlayerObject, msg: String)

  • 플레이어가 채팅을 전송하면 호출합니다
  • 채팅 내용을 확인하기 위해 ChatSystem 클래스의 onPlayerChat()를 호출합니다
  • 명령어 입력 기록을 남기지 않기 위해 false의 값을 반환합니다

room.onPlayerJoin

onPlayerJoin(player: PlayerObject)

  • 신규 플레이어가 접속하면 호출합니다
  • 플레이어 데이터베이스 추가를 위해 GameManager 클래스의 onPlayerJoin()를 호출합니다

room.onPlayerLeave

onPlayerLeave(player: PlayerObject)

  • 접속자가 퇴장하면 호출합니다
  • 강제 퇴장 직후 이벤트를 제어하는 gm_onPlayerLeave 타이머를 생성하기 위해 TimeManager 클래스의 addTimer()를 호출합니다
    • 플레이어 데이터베이스 갱신을 위해 GameManager 클래스의 onPlayerLeave()를 호출합니다

room.onPlayerKicked

onPlayerKicked(kickedPlayer: PlayerObject, reason: String, ban: Bool, byPlayer: PlayerObject)

  • 접속자가 강제 퇴장되면 호출합니다
  • 플레이어 데이터베이스 갱신을 위해 Administration 클래스의 onPlayerKicked()를 호출합니다

room.onPlayerTeamChange

onPlayerTeamChange(player: PlayerObject, byPlayer: PlayerObject)

  • 플레이어의 팀이 변경되면 호출합니다
  • 플레이어 데이터베이스 갱신을 위해 PlayerManager 클래스의 onPlayerTeamChange()를 호출합니다
  • 선두자 데이터베이스 갱신을 위해 ScoreManager 클래스의 onPlayerTeamChange()를 호출합니다

room.onPositionsReset

onPositionsReset(void)

  • 골 판정 직후 포지션이 초기화되면 호출합니다
  • GameManager 클래스의 onPositionsReset()를 호출합니다

room.onStadiumChange

onStadiumChange(newMap: String, byPlayer: PlayerObject)

  • 경기장이 교체되면 호출합니다
  • 경기장 유효 확인을 위해 GameManager 클래스의 onStadiumChange()를 호출합니다

room.onRoomLink

onRoomLink(url: String)

  • 시스템에서 링크가 생성되면 호출합니다
  • GameManager 클래스의 onRoomLink()를 호출합니다

room.onTeamGoal

onTeamGoal(team: TeamID)

  • 골이 판정되면 호출합니다
  • GameManager 클래스의 onTeamGoal()를 호출합니다

room.onTeamVictory

onTeamVictory(scores: ScoresObject)

  • 경기 승패가 결정되면 호출합니다
  • GameManager 클래스의 onTeamVictory()를 호출합니다

기타

타이머 작성

...
class GameManager{              /*** 게임 매니저 클래스 ***/
	...
	onTeamGoal(team){ 					/* 골 판정 이벤트 */
		...
		let goalTimer = TM.addTimer("goal", {
			EXECUTE : () => {					// 실행 함수
				let showAvatar = function(s, t, c){
					...
					// s: 타이머의 현재 진행 순서
					// t: 플레이어의 ID
					// c: 변경할 등번호의 문자(열)
				}
				let target = goalTimer.findTimerByName().at(-1);
				if(target == undefined) return false;
				let currentOrder = goalTimer.calcCurrentSequence(target.seq, 2);
				let totalSequence = goalTimer.calcTotalSequence(target.seq);
				showAvatar(currentOrder, goalTimer.player, '⚽');
				if(PM.isValid(assist)) showAvatar(currentOrder, assist, '👍');
				if(totalSequence > 5) return goalTimer.clearTimerByName();
			},
			TERMINATE : () => {					// 종료 함수
				PM.resetAvatar(goalTimer.player);
				if(PM.isValid(assist)) PM.resetAvatar(assist);
			}
		}, player, SEC_TO_MS / 2, true, true);
		...
	}
	...
}
...
  • 이 타이머는 골 판정 직후부터 일정한 간격의 반복을 몇 초 동안, 득점자/어시스트의 등번호를 변경하는 기능을 수행합니다
  • goalTimer의 값은 이 타이머의 데이터베이스를 저장합니다

let goalTimer = TM.addTimer("goal", {

let goalTimer = TM.addTimer("goal", {
	EXECUTE : () => {		// 실행 함수
		...
	},
	TERMINATE : () => {		// 종료 함수
		...
	}
}, player, SEC_TO_MS / 2, true, true);
/*
	(SEC_TO_MS / 2)의 값은 500ms와 같습니다
*/
  • EXECUTE 기능은 타이머가 목표 시간에 도달하면 실행합니다

     EXECUTE : () => {					// 실행 함수
     	let showAvatar = function(s, t, c){
     		...
     		// s: 타이머의 현재 진행 순서
     		// t: 플레이어의 ID
     		// c: 변경할 등번호의 문자(열)
     	}
     	let target = goalTimer.findTimerByName().at(-1);
     	if(target == undefined) return false;
     	let currentOrder = goalTimer.calcCurrentSequence(target.seq, 2);
     	let totalSequence = goalTimer.calcTotalSequence(target.seq);
     	showAvatar(currentOrder, goalTimer.player, '⚽');
     	if(PM.isValid(assist)) showAvatar(currentOrder, assist, '👍');
     	if(totalSequence > 5) return goalTimer.clearTimerByName();
     },
    • target의 값에 상주 중인 최신 타이머의 데이터베이스를 저장합니다

    let target = goalTimer.findTimerByName().at(-1);

    • currentOrder의 값에 타이머의 현재 순서를 저장합니다. 여기서는 순서의 최댓값으로 2가 지정되었습니다

    let currentOrder = goalTimer.calcCurrentSequence(target.seq, 2);

    • 값은 0, 1 중에 하나로 결정됩니다
    • 누적 진행 순서가 5를 초과한 경우 타이머를 삭제합니다
      • 이때 종료 함수를 실행합니다
  • TERMINATE 기능은 EXECUTE 실행 직후, 또는 타이머가 종료되는 순간에 실행합니다

     TERMINATE : () => {					// 종료 함수
     	PM.resetAvatar(goalTimer.player);
     	if(PM.isValid(assist)) PM.resetAvatar(assist);
     }
    • 이 타이머의 종료 함수에서는 득점자/어시스트를 타이머 실행 직전의 등번호로 되돌리는 기능을 수행합니다
    • 종료 함수는 생략할 수 있습니다
      let goalTimer = TM.addTimer("goal", () => {		// 실행 함수만
      	...
      }, player, SEC_TO_MS / 2, true, true);
⚠️ **GitHub.com Fallback** ⚠️