Skip to content
This repository has been archived by the owner on Jun 5, 2024. It is now read-only.

Commit

Permalink
5.1.0 - Tracking Branch (#414)
Browse files Browse the repository at this point in the history
- Athena.systems.plugins.useAPI
- Athena.systems.plugins.addAPI
- AthenaClient.systems.plugins.useAPI
- AthenaClient.systems.plugins.addAPI

- Athena.database.singleton.get
- Athena.database.singleton.create
- Athena.database.singleton.updateField
- Athena.database.singleton.updateBulk

- Athena.document.character.getAllOnline
- Athena.document.vehicle.getAllOnline

- Athena.getters.players.asCharacters
- Athena.getters.vehicles.asOwnedVehicles

- Athena.vehicles.get.ownedVehicles -> vehiclesWithOwnership
- Athena.vehicles.get.playerOwnedVehicles -> vehiclesSpawnedByPlayer
- Athena.vehicles.get.spawnedVehicleByEntityID
- Athena.vehicles.get.spawnedVehicleByDatabaseID
- Athena.vehicles.get.spawnedVehicleByDocumentID
- Athena.vehicles.get.ownedVehicleByDocumentID
- Athena.vehicles.get.ownedVehicleByDatabaseID
- Athena.vehicles.get.ownedVehiclesByPlayer

- Athena.player.get.accountPermissions
- Athena.player.get.bank
- Athena.player.get.cash
- Athena.player.get.food
- Athena.player.get.groups
- Athena.player.get.inventory
- Athena.player.get.isDead
- Athena.player.get.job
- Athena.player.get.name
- Athena.player.get.permissions
- Athena.player.get.toolbar
- Athena.player.get.water

Sessions
- Sessions are a common key value pair mapping that are used across Athena.
- Creating this wrapper will allow session data to be stored in memory.
- This allows for small things to be checked against a player easily.
- Athena.session.player.set
- Athena.session.player.get
- Athena.session.player.has
- Athena.session.player.clearKey
- Athena.session.player.clearAll
- Athena.session.vehicle.set
- Athena.session.vehicle.get
- Athena.session.vehicle.has
- Athena.session.vehicle.clearKey
- Athena.session.vehicle.clearAll

- AthenaClient.utility.DirectionVector -> AthenaClient.utility.vector.DirectionVector
- Athena.utility.vector.DirectionVector

Bugs
- Fix vehicles not spawning with dimension
- Fix JSON Parse error for all documents, when setting bulk with previous data being undefined
---- Error: Unexpected token u in JSON at position 0
- Fix Clothing Crafting Removing Wrong Items
- Fix Various rmlui Menu Bugs
- Fix Bug where if object.rot was not set, it would not spawn. Defaulted to 0,0,0

attachment editor plugin
- Added an attachment editor plugin
- Command '/attachmenteditor'

rmlui Menu
- Added new text 'input' option
- Added various fixes
- Fixed controls

ColShapes
- Added onEnterCallback to the interface. Triggers when player enters the ColShape.
- This allows for dual functionality for Callbacks.

Rebind Default Keybinds
- In a shared plugin folder, you can overwrite a default keybind.
- import { overwriteDefaultKeybind } from '@AthenaShared/enums/keyBinds';
- overwriteDefaultKeybind('INTERACT', 76);

Dynamic Doors
- Create a two way door for vehicles, or players.
- Automatically moves passengers in a vehicle on vehicle teleport.
- Dynamic doors can teleport to any dimension, or position.
- Dynamic doors also have onEnter, or beforeEnter callbacks for additional door functionality.
- Includes better handling of ytyp, and ipl loading; no more falling through map.
- Utilizes Session Storage

Drop Tables
- Create a drop table and pull random loot from it.
- Athena.systems.dropTable.get

Documents (Account, Character, Vehicle)
- Utilizes Session Storage

Athena.commands
- Just a wrapper of Athena.system.messenger.commands
- Gives it a shorter pathway, for the sake of ease of use

Equip Namespace
- Used to listen to unequip / equip from specific item types
Athena.systems.inventory.equip.on
Athena.systems.invnetory.equip.invoke 

Basic Authentication
- username/password based login
- uses bip39 for recovery phrases

/additem
- added ability to fuzzy search for matching name, or dbname

---------

Co-authored-by: Dav-Renz <[email protected]>
Co-authored-by: ItsSpencer <[email protected]>
Co-authored-by: skyvzla <[email protected]>
  • Loading branch information
4 people committed Jun 9, 2023
1 parent b220a6f commit 01dffad
Show file tree
Hide file tree
Showing 115 changed files with 3,740 additions and 768 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- name: Install and Build 🔧
run: |
npm install
npm i --save-dev typedoc typedoc-plugin-external-resolver typedoc-plugin-missing-exports typedoc-plugin-markdown --force
npm i --save-dev typedoc@0.23.28 typedoc-plugin-external-resolver@1.0.2 typedoc-plugin-missing-exports@1.0.0 typedoc-plugin-markdown@3.14.0
npm run docs
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@v4
Expand Down
117 changes: 117 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,122 @@
# Changelog

## 5.1.0

```
- Athena.systems.plugins.useAPI
- Athena.systems.plugins.addAPI
- AthenaClient.systems.plugins.useAPI
- AthenaClient.systems.plugins.addAPI
- Athena.database.singleton.get
- Athena.database.singleton.create
- Athena.database.singleton.updateField
- Athena.database.singleton.updateBulk
- Athena.document.character.getAllOnline
- Athena.document.vehicle.getAllOnline
- Athena.getters.players.asCharacters
- Athena.getters.vehicles.asOwnedVehicles
- Athena.vehicles.get.ownedVehicles -> vehiclesWithOwnership
- Athena.vehicles.get.playerOwnedVehicles -> vehiclesSpawnedByPlayer
- Athena.vehicles.get.spawnedVehicleByEntityID
- Athena.vehicles.get.spawnedVehicleByDatabaseID
- Athena.vehicles.get.spawnedVehicleByDocumentID
- Athena.vehicles.get.ownedVehicleByDocumentID
- Athena.vehicles.get.ownedVehicleByDatabaseID
- Athena.vehicles.get.ownedVehiclesByPlayer
- Athena.player.get.accountPermissions
- Athena.player.get.bank
- Athena.player.get.cash
- Athena.player.get.food
- Athena.player.get.groups
- Athena.player.get.inventory
- Athena.player.get.isDead
- Athena.player.get.job
- Athena.player.get.name
- Athena.player.get.permissions
- Athena.player.get.toolbar
- Athena.player.get.water
Sessions
- Sessions are a common key value pair mapping that are used across Athena.
- Creating this wrapper will allow session data to be stored in memory.
- This allows for small things to be checked against a player easily.
- Athena.session.player.set
- Athena.session.player.get
- Athena.session.player.has
- Athena.session.player.clearKey
- Athena.session.player.clearAll
- Athena.session.vehicle.set
- Athena.session.vehicle.get
- Athena.session.vehicle.has
- Athena.session.vehicle.clearKey
- Athena.session.vehicle.clearAll
- AthenaClient.utility.DirectionVector -> AthenaClient.utility.vector.DirectionVector
- Athena.utility.vector.DirectionVector
Bugs
- Fix vehicles not spawning with dimension
- Fix JSON Parse error for all documents, when setting bulk with previous data being undefined
---- Error: Unexpected token u in JSON at position 0
- Fix Clothing Crafting Removing Wrong Items
- Fix Various rmlui Menu Bugs
- Fix Bug where if object.rot was not set, it would not spawn. Defaulted to 0,0,0
attachment editor plugin
- Added an attachment editor plugin
- Command '/attachmenteditor'
rmlui Menu
- Added new text 'input' option
- Added various fixes
- Fixed controls
ColShapes
- Added onEnterCallback to the interface. Triggers when player enters the ColShape.
- This allows for dual functionality for Callbacks.
Rebind Default Keybinds
- In a shared plugin folder, you can overwrite a default keybind.
- import { overwriteDefaultKeybind } from '@AthenaShared/enums/keyBinds';
- overwriteDefaultKeybind('INTERACT', 76);
Dynamic Doors
- Create a two way door for vehicles, or players.
- Automatically moves passengers in a vehicle on vehicle teleport.
- Dynamic doors can teleport to any dimension, or position.
- Dynamic doors also have onEnter, or beforeEnter callbacks for additional door functionality.
- Includes better handling of ytyp, and ipl loading; no more falling through map.
- Utilizes Session Storage
Drop Tables
- Create a drop table and pull random loot from it.
- Athena.systems.dropTable.get
Documents (Account, Character, Vehicle)
- Utilizes Session Storage
Athena.commands
- Just a wrapper of Athena.system.messenger.commands
- Gives it a shorter pathway, for the sake of ease of use
Equip Namespace
- Used to listen to unequip / equip from specific item types
Athena.systems.inventory.equip.on
Athena.systems.invnetory.equip.invoke
Basic Authentication
- username/password based login
- uses bip39 for recovery phrases
/additem
- added ability to fuzzy search for matching name, or dbname
```

## 5.0.0

```
Expand Down
13 changes: 7 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "altv-athena",
"version": "5.0.0",
"version": "5.1.0",
"description": "a roleplay framework for alt:V",
"author": "stuyk",
"type": "module",
Expand All @@ -23,10 +23,10 @@
"test": ""
},
"devDependencies": {
"@altv/types-client": "^2.4.4",
"@altv/types-natives": "^1.4.8",
"@altv/types-server": "^2.5.7",
"@altv/types-shared": "^1.3.6",
"@altv/types-client": "^2.6.3",
"@altv/types-natives": "^1.5.3",
"@altv/types-server": "^2.7.3",
"@altv/types-shared": "^1.4.8",
"@altv/types-webview": "^1.0.5",
"@altv/types-worker": "1.0.7",
"@babel/types": "^7.17.0",
Expand All @@ -38,7 +38,7 @@
"@types/node": "^14.6.1",
"@types/sockjs": "^0.3.33",
"@types/sockjs-client": "^1.5.1",
"altv-pkg": "^2.0.10",
"altv-pkg": "^2.0.11",
"fkill": "^8.0.1",
"fs-extra": "^10.1.0",
"glob": "^8.0.3",
Expand All @@ -53,6 +53,7 @@
"@stuyk/ezmongodb": "3.0.0",
"@vitejs/plugin-vue": "^4.1.0",
"axios": "0.26.1",
"bip39": "^3.1.0",
"elliptic": "6.5.4",
"njwt": "^1.2.0",
"sjcl": "1.0.8",
Expand Down
22 changes: 22 additions & 0 deletions src/core/client/controllers/dynamicDoor.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import * as alt from 'alt-client';
import * as AthenaClient from '@AthenaClient/api';
import * as native from 'natives';

AthenaClient.systems.rpc.on('load-ipl', (iplName: string) => {
alt.requestIpl(iplName);
alt.Utils.waitFor(() => native.isIplActive(iplName));
return native.isIplActive(iplName);
});

AthenaClient.systems.rpc.on('unload-ipl', (iplName: string) => {
alt.removeIpl(iplName);
alt.Utils.waitFor(() => native.isIplActive(iplName) === false);
});

AthenaClient.systems.rpc.on('load-ytyp', (ytypPath: string) => {
alt.loadYtyp(ytypPath);
});

AthenaClient.systems.rpc.on('unload-ytyp', (ytypPath: string) => {
alt.unloadYtyp(ytypPath);
});
4 changes: 3 additions & 1 deletion src/core/client/menus/vehicle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,9 @@ export function open(vehicle: alt.Vehicle) {
name: isLocked ? 'Unlock' : 'Lock',
color: isLocked ? 'green' : 'red',
icon: isLocked ? 'icon-lock-open' : 'icon-lock',
emitServer: VEHICLE_EVENTS.SET_LOCK,
callback() {
alt.emitServer(VEHICLE_EVENTS.SET_LOCK, vehicle);
},
});

// Not Pushing & Vehicle is Currently Unlocked
Expand Down
Loading

0 comments on commit 01dffad

Please sign in to comment.