lots of work

This commit is contained in:
Anonymous275
2020-05-04 01:17:16 +03:00
parent 2d360610fc
commit b0c6c2bac4
11 changed files with 68 additions and 107 deletions

View File

@@ -34,7 +34,7 @@ void UpdatePlayers(ENetHost *server, ENetPeer*peer){
}
void OnDisconnect(ENetHost *server,ENetPeer*peer,bool Timed){
std::string Packet = "Od:" + std::to_string(peer->serverVehicleID[0]);
std::string Packet = "Od:" + std::to_string(peer->PlayerID);
SendToAll(server,peer, Packet,false,true);
if(Timed)Packet = "L"+peer->Name+" Timed out!";
else Packet = "L"+peer->Name+" Left the server!";
@@ -47,8 +47,8 @@ void OnDisconnect(ENetHost *server,ENetPeer*peer,bool Timed){
void OnConnect(ENetHost *server,ENetPeer*peer){
Respond("NR",peer);
peer->serverVehicleID[0] = FindID(server,peer); ///TODO: WHAT IF IT IS THE SECOND VEHICLE?
std::string ID = "P" + std::to_string(peer->serverVehicleID[0]);
peer->PlayerID = FindID(server,peer); ///TODO: WHAT IF IT IS THE SECOND VEHICLE?
std::string ID = "P" + std::to_string(peer->PlayerID);
Respond(ID,peer);
if(Debug)debug(peer->Name + " ID : " + std::to_string(peer->serverVehicleID[0]));
if(Debug)debug(peer->Name + " ID : " + std::to_string(peer->PlayerID));
}

View File

@@ -1,12 +1,11 @@
///
/// Created by Anonymous275 on 4/2/2020
///
#include <set>
#include <string>
#include "enet.hpp"
#include <vector>
#include <iostream>
#include <thread>
#include <iostream>
#include "enet.hpp"
#include "../logger.h"
#include "../Settings.hpp"
@@ -20,7 +19,7 @@ void FindAndSync(ENetPeer*peer,ENetHost*server,int VehID){
for (int i = 0; i < server->connectedPeers; i++) {
ENetClient = &server->peers[i];
if (ENetClient != peer){
if(ENetClient->serverVehicleID[0] == VehID){
if(ENetClient->PlayerID == VehID){ /////mark
Respond(ENetClient->VehicleData,peer);
}
}
@@ -34,7 +33,7 @@ void VehicleParser(std::string Packet,ENetPeer*peer,ENetHost*server){
switch(Code){ //Spawned Destroyed Switched/Moved NotFound Reset
case 's':
if(Data.at(0) == '0'){
Packet = "Os:"+peer->Role+":"+peer->Name+":"+std::to_string(peer->serverVehicleID[0])+Packet.substr(4);
Packet = "Os:"+peer->Role+":"+peer->Name+":"+std::to_string(peer->PlayerID)+Packet.substr(4);
peer->VehicleData = Packet;
}
SendToAll(server,peer,Packet,true,true);
@@ -44,7 +43,7 @@ void VehicleParser(std::string Packet,ENetPeer*peer,ENetHost*server){
ID = stoi(Packet.substr(3));
}
peer->VehicleData.clear();
if(ID != -1 && ID == peer->serverVehicleID[0]){
if(ID != -1 && ID == peer->PlayerID){
SendToAll(server,peer,Packet,true,true);
}
break;

View File

@@ -9,25 +9,23 @@
#include "../logger.h"
#include "../Settings.hpp"
void ParseData(ENetPacket*packet,ENetPeer*peer,ENetHost *server); //Data Parser
void ParseData(ENetPacket*packet,ENetPeer*peer,ENetHost *server);
void OnDisconnect(ENetHost *server,ENetPeer*peer,bool Timed);
void OnConnect(ENetHost *server,ENetPeer*peer);
ENetPacket* packet;
int PlayerCount = 0;
int FindID(ENetHost *server,ENetPeer*peer){
int OpenID = 1, *p;
int OpenID = 1;
bool Found;
do {
Found = true;
for (int i = 0; i < server->connectedPeers; i++) {
if (&server->peers[i] != peer) {
for(p=server->peers[i].serverVehicleID; p<(&server->peers[i].serverVehicleID)[1]; p++){
if(*p == OpenID) {
Found = false;
OpenID++;
break;
}
if(server->peers[i].PlayerID == OpenID) {
Found = false;
OpenID++;
break;
}
}
}
@@ -39,7 +37,7 @@ int FindID(ENetHost *server,ENetPeer*peer){
void host_server(ENetHost *server) {
ENetEvent event;
PlayerCount = server->connectedPeers;
while (enet_host_service(server, &event, 2) > 0) {
while (enet_host_service(server, &event, 1) > 0) {
switch (event.type) {
case ENET_EVENT_TYPE_CONNECT:
printf("A new client connected from %x:%u.\n", event.peer->address.host, event.peer->address.port);

View File

@@ -35,10 +35,9 @@
#ifndef ENET_INCLUDE_H
#define ENET_INCLUDE_H
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>
#include <time.h>
#include <cstdlib>
#include <cstdint>
#include <ctime>
#define ENET_VERSION_MAJOR 2
#define ENET_VERSION_MINOR 2
@@ -640,7 +639,7 @@ typedef struct _ENetPeer {
std::string DID;
std::string Role = "USER";
std::string VehicleData;
int gameVehicleID[10] = {0}; //added By Anonymous275
int PlayerID;
int serverVehicleID[10] = {0}; //added By Anonymous275
ENetPeerState state;
ENetChannel * channels;

View File

@@ -14,4 +14,4 @@ std::vector<std::string> Split(const std::string& String,const std::string& deli
}
Val.push_back(s);
return Val;
}
}