You've already forked KF-MMO-Server
projectile sync
This commit is contained in:
5
Classes/inventoryItemTransaction.ts
Normal file
5
Classes/inventoryItemTransaction.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
export class inventoryItemTransaction{
|
||||
type : number
|
||||
itemId : number
|
||||
amount : number
|
||||
}
|
||||
3
Classes/projectileInfo.ts
Normal file
3
Classes/projectileInfo.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export class projectileInfo{
|
||||
//unneeded
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import { itemRequest } from "../Classes/itemRequest";
|
||||
import { lobbyMessage } from "../Classes/lobbyMessage";
|
||||
import { game } from "../game";
|
||||
import { playerData } from "../Classes/playerData";
|
||||
import { inventoryItemTransaction } from "../Classes/inventoryItemTransaction";
|
||||
|
||||
export function registerItemCallbacks(socket){
|
||||
socket.on('item/pickup', (data) => {
|
||||
@@ -86,6 +87,26 @@ export function registerItemCallbacks(socket){
|
||||
player.inventory.items.splice(item, 1)
|
||||
});
|
||||
|
||||
socket.on('item/deleteMany', (data) => {
|
||||
if(!socket.hasOwnProperty("user")) return;
|
||||
|
||||
let buff = Buffer.from(data, 'base64');
|
||||
let data1 : inventoryItemTransaction[] = JSON.parse(buff.toString('utf-8'));
|
||||
|
||||
let player : playerData = socket.player
|
||||
data1.forEach(t=>{
|
||||
switch(t.type){
|
||||
case 0:
|
||||
player.inventory.items.find(i=>i.id == t.itemId).count += t.amount;
|
||||
break;
|
||||
case 2:
|
||||
let item = player.inventory.items.findIndex(i=>i.id == t.itemId);
|
||||
player.inventory.items.splice(item, 1)
|
||||
break;
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
socket.on('item/request', (data) => {
|
||||
if(!socket.hasOwnProperty("user")) return;
|
||||
|
||||
|
||||
@@ -25,4 +25,13 @@ export function registerLevelCallbacks(socket){
|
||||
room.enemies = data1.enemies
|
||||
room.objects = data1.objects
|
||||
});
|
||||
|
||||
socket.on('level/projectile', (data) => {
|
||||
if(!socket.hasOwnProperty("user")) return;
|
||||
|
||||
let buff = Buffer.from(data, 'base64');
|
||||
//let data1 = JSON.parse();
|
||||
|
||||
game.socketIO.emit('level/projectile', buff.toString('utf-8'))
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user