LoadPlayerVehicle
#1

Hello,
I have a dealership and I need to connect the player vehicle unhide and at disconnected hide.
I only have that when loading the spawn all vehicles.

Spawn code for all
Код:
LoadVehicles()
{
	new string[64];
	new File:handle, count;
	new filename[64], line[256], s, key[64];
	for(new i=1; i < MAX_DVEHICLES; i++)
	{
		format(filename, sizeof(filename), VEHICLE_FILE_PATH "v%d.ini", i);
		if(!fexist(filename)) continue;
		handle = fopen(filename, io_read);
		while(fread(handle, line))
		{
			StripNL(line);
			s = strfind(line, "=");
			if(!line[0] || s < 1) continue;
			strmid(key, line, 0, s++);
			if(strcmp(key, "Created") == 0) VehicleCreated[i] = strval(line[s]);
			else if(strcmp(key, "Model") == 0) VehicleModel[i] = strval(line[s]);
			else if(strcmp(key, "Pos") == 0) sscanf(line[s], "p,ffff", VehiclePos[i][0], VehiclePos[i][1], 
				VehiclePos[i][2], VehiclePos[i][3]);
			else if(strcmp(key, "Colors") == 0) sscanf(line[s], "p,dd", VehicleColor[i][0], VehicleColor[i][1]);
			else if(strcmp(key, "Interior") == 0) VehicleInterior[i] = strval(line[s]);
			else if(strcmp(key, "VirtualWorld") == 0) VehicleWorld[i] = strval(line[s]);
			else if(strcmp(key, "Owner") == 0) strmid(VehicleOwner[i], line, s, sizeof(line));
			else if(strcmp(key, "NumberPlate") == 0) strmid(VehicleNumberPlate[i], line, s, sizeof(line));
			else if(strcmp(key, "Value") == 0) VehicleValue[i] = strval(line[s]);
			else if(strcmp(key, "Lock") == 0) VehicleLock[i] = strval(line[s]);
			else if(strcmp(key, "Alarm") == 0) VehicleAlarm[i] = strval(line[s]);
			else if(strcmp(key, "Paintjob") == 0) VehiclePaintjob[i] = strval(line[s]);
			else
			{
				for(new t=0; t < sizeof(VehicleTrunk[]); t++)
				{
					format(string, sizeof(string), "Trunk%d", t+1);
					if(strcmp(key, string) == 0) sscanf(line[s], "p,dd", VehicleTrunk[i][t][0], VehicleTrunk[i][t][1]);
				}
				for(new m=0; m < sizeof(VehicleMods[]); m++)
				{
					format(string, sizeof(string), "Mod%d", m);
					if(strcmp(key, string) == 0) VehicleMods[i][m] = strval(line[s]);
				}
			}
		}
		fclose(handle);
		if(VehicleCreated[i]) count++;
	}
	printf("  Loaded %d vehicles", count);
}
Reply
#2

Just set all the player vehicles to another virtual world, when a player joins, get all his cars and set to the virtual world 0, when the player disconnects, get them in another virtual world again.
Reply
#3

It would be better to destroy the vehicle when the player disconnects, then you wouldn't have a lot of vehicles created. Don't create the vehicle when you load the vehicles, when a player logs in, loop through the vehicle data and compare the name with the vehicle owner, and then load it from there. Then when the player disconnects, loop through the data again and destroy vehicle's with the owner.
Reply
#4

But I do not know how to do that when you connect the player so he created his vehicle.
If I knew you did it so well for disconnection.
I use filterscritp AVS only re-make auto shop.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)