fixed Crash issue added serverVehicleID and gameVehicleID

This commit is contained in:
Anonymous275 2020-02-06 23:20:09 +02:00
parent 4503338378
commit e2cae1da59
5 changed files with 24 additions and 13 deletions

View File

@ -9,14 +9,16 @@ void NameRequest(ENetPeer*peer){
strlen ("NameRequest") + 1,
ENET_PACKET_FLAG_RELIABLE); //Create A reliable packet using the data
enet_peer_send(peer, 0, packet);
}
void SendToAll(ENetHost *server,ENetEvent event){
ENetPacket* packet;
for (int i = 0; i < server->connectedPeers; i++) {
//if (&server->peers[i] != event.peer) { if you don't want to send it to the person ho just connected
char Data[30];
char Data[500];
sprintf(Data,"There is %d Players Connected!",server->connectedPeers);
printf("test %d\n",server->peers[i].serverVehicleID);
packet = enet_packet_create(Data, strlen(Data)+1, 0);
enet_peer_send(&server->peers[i], 0, packet);
enet_host_flush(server);

View File

@ -8,11 +8,14 @@ using namespace std;
char Name[20] = "";
void ParseData(ENetPacket*packet,ENetPeer*peer){ //here we will parse the data
enet_uint8* Data = packet->data;
if(strcmp((char*)peer->data,"Client information")==0){ //Checks if the Client has no name
if(strcmp((char*)peer->Name,"Client information")==0){ //Checks if the Client has no name
sprintf(Name,"%s",Data);
peer->data = (void *)Name;
peer->Name = (void *)Name;
char Info[100];
sprintf(Info,"Client Name is %s ID : %u\n",Name,peer->connectID); //ID System
info(Info); //Logs the data
peer->serverVehicleID = (int)peer->connectID; //test to see if it works
sprintf(Info,"%s ServerVehicleID : %d GameVehicleID : %d",Name,peer->serverVehicleID,peer->gameVehicleID[0]);
info(Info);
}
}

View File

@ -21,7 +21,9 @@ void host_server(ENetHost *server) {
printf("A new client connected from %x:%u.\n", event.peer->address.host, event.peer->address.port); //Help xD
//the data should be the client info could be name for now it's Client information
NameRequest(event.peer);
event.peer->data = (void *)"Client information";
event.peer->Name = (void *)"Client information";
event.peer->gameVehicleID[0] = 15;
event.peer->serverVehicleID = 17;
SendToAll(server,event);
@ -33,14 +35,14 @@ void host_server(ENetHost *server) {
break;
case ENET_EVENT_TYPE_DISCONNECT:
printf ("%s disconnected.\n", (char *)event.peer->data);
printf ("%s disconnected.\n", (char *)event.peer->Name);
// Reset the peer's client information.
event.peer->data = NULL;
event.peer->Name = NULL;
break;
case ENET_EVENT_TYPE_DISCONNECT_TIMEOUT:
printf ("%s timed out.\n", (char *)event.peer->data);
event.peer->data = NULL;
printf ("%s timed out.\n", (char *)event.peer->Name);
event.peer->Name = NULL;
break;
case ENET_EVENT_TYPE_NONE: break;

View File

@ -637,7 +637,9 @@ extern "C" {
enet_uint8 outgoingSessionID;
enet_uint8 incomingSessionID;
ENetAddress address; /**< Internet address of the peer */
void * data; /**< Application private data, may be freely modified */
void * Name; /**< Application private data, may be freely modified */
int gameVehicleID[50]; //added By Anonymous275
int serverVehicleID; //added By Anonymous275
ENetPeerState state;
ENetChannel * channels;
size_t channelCount; /**< Number of channels allocated for communication with peer */
@ -3438,11 +3440,11 @@ extern "C" {
}
void * enet_peer_get_data(ENetPeer *peer) {
return (void *) peer->data;
return (void *) peer->Name;
}
void enet_peer_set_data(ENetPeer *peer, const void *data) {
peer->data = (enet_uint32 *) data;
void enet_peer_set_data(ENetPeer *peer, const void *Name) {
peer->Name = (enet_uint32 *) Name;
}
void * enet_packet_get_data(ENetPacket *packet) {
@ -4417,7 +4419,7 @@ extern "C" {
currentPeer->host = host;
currentPeer->incomingPeerID = currentPeer - host->peers;
currentPeer->outgoingSessionID = currentPeer->incomingSessionID = 0xFF;
currentPeer->data = NULL;
currentPeer->Name = NULL;
enet_list_clear(&currentPeer->acknowledgements);
enet_list_clear(&currentPeer->sentReliableCommands);

View File

@ -32,6 +32,8 @@ int main() {
DebugData(); //Prints Debug Data
}
setLoggerLevel("ALL");
ServerMain(Port, MaxPlayers);
}