Skip to content

Commit 7c28031

Browse files
committed
fix: roles
1 parent 77049f9 commit 7c28031

1 file changed

Lines changed: 25 additions & 22 deletions

File tree

src/lib/roles.ts

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -143,30 +143,33 @@ world.afterEvents.playerSpawn.subscribe(({ player, initialSpawn }) => {
143143
/* istanbul ignore next */
144144
if (!__VITEST__) {
145145
// Allow recieving roles from scriptevent function run by console
146-
system.afterEvents.scriptEventReceive.subscribe(event => {
147-
if (event.id.toLowerCase().startsWith('role:')) {
148-
if (event.sourceType === ScriptEventSource.Server) {
149-
// Allow
150-
} else {
151-
if (Player.database.values().find(e => WHO_CAN_CHANGE.includes(e.role))) {
152-
return console.error(`(SCRIPTEVENT::${event.id}) Admin already set.`)
146+
system.afterEvents.scriptEventReceive.subscribe(
147+
event => {
148+
if (event.id.toLowerCase().startsWith('role:')) {
149+
if (event.sourceType === ScriptEventSource.Server) {
150+
// Allow
151+
} else {
152+
if (Player.database.values().find(e => WHO_CAN_CHANGE.includes(e.role))) {
153+
return console.error(`(SCRIPTEVENT::${event.id}) Admin already set.`)
154+
}
153155
}
154-
}
155156

156-
const role = event.id.toLowerCase().replace('role:', '')
157-
if (!isKeyof(role, ROLES)) {
158-
return console.error(
159-
`(SCRIPTEVENT::${event.id}) Unkown role: ${role}, allowed roles:\n${Object.entries(ROLES)
160-
.map(e => noI18n`${e[0]}: ${e[1]}`)
161-
.join('\n')}`,
162-
)
163-
}
157+
const role = event.id.toLowerCase().replace('role:', '')
158+
if (!isKeyof(role, ROLES)) {
159+
return console.error(
160+
`(SCRIPTEVENT::${event.id}) Unkown role: ${role}, allowed roles:\n${Object.entries(ROLES)
161+
.map(e => noI18n`${e[0]}: ${e[1]}`)
162+
.join('\n')}`,
163+
)
164+
}
164165

165-
const player = Player.getByName(event.message)
166-
if (!player) return console.error(`(SCRIPTEVENT::${event.id}) PLAYER NOT FOUND`)
166+
const player = [...Player.database.entriesImmutable()].find(e => e[1].name === event.message)?.[0]
167+
if (!player) return console.error(`(SCRIPTEVENT::${event.id}) PLAYER NOT FOUND`)
167168

168-
setRole(player, role)
169-
console.warn(`(SCRIPTEVENT::${event.id}) ROLE HAS BEEN SET`)
170-
}
171-
})
169+
setRole(player, role)
170+
console.warn(`(SCRIPTEVENT::${event.id}) ROLE HAS BEEN SET`)
171+
}
172+
},
173+
{ namespaces: ['role'] },
174+
)
172175
}

0 commit comments

Comments
 (0)