Edit object problem..
#7

Quote:
Originally Posted by JasonRiggs
Посмотреть сообщение
Show us the function
Код:
AddVehicleCarToy(carid, toyidx, nosql = 0) {
	new Float:CX, Float:CY, Float:CZ;
	new Float:Angle;
	GetVehicleZAngle(carid, Angle);
	
	GetVehiclePos(carid, CX, CY, CZ);
	new playerid = GetVehicleDriver(carid);
	new slot = findFreeCarToySlot(carid);
	if(slot == -1) {
		SendClientMessage(playerid, X11_TOMATO_2, "* You have enough vehicle toys already");
		return -1;
	}
	if(playerid == INVALID_PLAYER_ID && nosql != 2) {
		return -1;
	}
	new objid = CreateDynamicObject(CarToys[toyidx][ECarToy_ModelID], CX, CY, CZ+2.5, 0.0, 0.0, 0.0);
	VehicleCarToys[carid][slot][EVehCarToy_ObjID] = objid;
	VehicleCarToys[carid][slot][EVehCarToy_ToyIdx] = toyidx;
	if(nosql > 0) {
		VehicleCarToys[carid][slot][EVehCarToy_SQLID] = -1;
	} else {
		VehicleCarToys[carid][slot][EVehCarToy_SQLID] = 0;
	}
	if(nosql != 2) { //attaching is handled elsewhere
		EditDynamicObject(playerid, objid);
		EditingCarToy[playerid] = 1;
		SendClientMessage(playerid, COLOR_GREEN, "* Move the object to where you want it on the car.");
	}
	return slot;
}
RespawnCarObjectForMoving(objectid) {
	new carid;
	new cartoy = findCarToyByObjID(objectid,carid);
	
	new Float:CX, Float:CY, Float:CZ;
	new Float:Angle;
	GetVehicleZAngle(carid, Angle);

	GetVehiclePos(carid, CX, CY, CZ);
	DestroyDynamicObject(objectid);
	new playerid = GetVehicleDriver(carid);
	
	new toyidx = VehicleCarToys[carid][cartoy][EVehCarToy_ToyIdx];
	objectid = CreateDynamicObject(CarToys[toyidx][ECarToy_ModelID], CX, CY, CZ+2.5, 0.0, 0.0, 0.0);
	
	VehicleCarToys[carid][cartoy][EVehCarToy_ObjID] = objectid;
	
	if(playerid != INVALID_PLAYER_ID) {
		EditDynamicObject(playerid, objectid);
		EditingCarToy[playerid] = 1;
	} else {
		SetCarObjectPos(carid, cartoy, objectid, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
	}
	return 1;
	
}
carToysOnEditObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz) {
	if(EditingCarToy[playerid] == 1) {
		new pcarid = GetPlayerVehicleID(playerid), carid;
		new cartoy = findCarToyByObjID(objectid,carid);
		if(pcarid == INVALID_VEHICLE_ID || pcarid != carid) {
			DestroyCarToy(objectid);
			SendClientMessage(playerid, X11_TOMATO_2, "You are not in a vehicle, car toy destroyed!");
			return 1;
		}
		if(response == EDIT_RESPONSE_FINAL || response == EDIT_RESPONSE_CANCEL) {
			EditingCarToy[playerid] = 0;
			new Float:cx, Float:cy, Float:cz;
			GetVehiclePos(pcarid, cx, cy, cz);
			
			if(GetPointDistance(x,y,z, cx, cy, cz) > 3.5) {
				RespawnCarObjectForMoving(objectid);
				SendClientMessage(playerid, X11_TOMATO_2, "* Vehicle toy is too far, please reposition it.");
				return 1;
			}
			ObjectPosToCarSpace(carid, x, y, z, rx, ry, rz);
			SetCarObjectPos(carid, cartoy, objectid, x, y, z, rx, ry, rz);
			if(VehicleCarToys[carid][cartoy][EVehCarToy_SQLID] != -1)
				SaveVehicleCarToy(carid, cartoy, VehicleCarToys[carid][cartoy][EVehCarToy_SQLID] != 0);
		}/* else if(response == EDIT_RESPONSE_CANCEL) {
			if(VehicleCarToys[carid][cartoy][EVehCarToy_SQLID] == 0) {
				SendClientMessage(playerid, X11_TOMATO_2, "* Vehicle Toy adding cancelled");
				DestroyCarToy(objectid);
			} else {
				SetCarObjectPos(carid, cartoy, objectid, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
			}
		}*/
	}
	return 0;
}
Reply


Messages In This Thread
Edit object problem.. - by Puff - 05.09.2017, 09:03
Re: Edit object problem.. - by Kane - 05.09.2017, 09:07
Re: Edit object problem.. - by Puff - 05.09.2017, 09:13
Re: Edit object problem.. - by Kane - 05.09.2017, 09:14
Re: Edit object problem.. - by Puff - 05.09.2017, 09:19
Re: Edit object problem.. - by JasonRiggs - 05.09.2017, 09:25
Re: Edit object problem.. - by Puff - 05.09.2017, 09:28
Re: Edit object problem.. - by Puff - 05.09.2017, 09:37

Forum Jump:


Users browsing this thread: 2 Guest(s)